ezux 1.1.13 → 1.1.18

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 (513) hide show
  1. package/README.md +58 -15
  2. package/dist/DeleteConfirmationModal-CukNDgtX.cjs +1 -0
  3. package/dist/DeleteConfirmationModal-p8XGDGIw.js +38 -0
  4. package/dist/EzContextMenu-BCUoEQp5.cjs +1 -0
  5. package/dist/EzContextMenu-srLxujt8.js +287 -0
  6. package/dist/EzErrorBoundary-C7a6VisX.js +74 -0
  7. package/dist/EzErrorBoundary-d_2g-_EK.cjs +1 -0
  8. package/dist/EzEventModal-C079wLjP.js +725 -0
  9. package/dist/EzEventModal-CAA9cAM0.cjs +1 -0
  10. package/dist/EzFlow-C74NbZA9.js +2545 -0
  11. package/dist/EzFlow-CQFeY7DL.cjs +5 -0
  12. package/dist/EzGroupingPanel-BVaAJaVU.js +107 -0
  13. package/dist/EzGroupingPanel-BwWDWEuW.cjs +1 -0
  14. package/dist/EzKanban-BlJWybKe.js +1575 -0
  15. package/dist/EzKanban-DdKODRRv.cjs +2 -0
  16. package/dist/EzLayout-BGnqFtvO.cjs +1 -0
  17. package/dist/EzLayout-CiaPLniV.js +7005 -0
  18. package/dist/EzProvider-AlmsYIDk.js +982 -0
  19. package/dist/EzProvider-L2qQMq-v.cjs +1 -0
  20. package/dist/EzScheduler-C1Jtvvju.js +2700 -0
  21. package/dist/EzScheduler-CkqTngI6.cjs +1 -0
  22. package/dist/EzSchedulerQuickAdd-BIC8xbSn.js +124 -0
  23. package/dist/EzSchedulerQuickAdd-BeNfGdWs.cjs +1 -0
  24. package/dist/EzSchedulerToolbar-BJwTpgas.cjs +1 -0
  25. package/dist/EzSchedulerToolbar-Ba4gbvUg.js +305 -0
  26. package/dist/EzSignature-7UHO5lSP.js +386 -0
  27. package/dist/EzSignature-Df7UZ-IS.cjs +1 -0
  28. package/dist/EzTable-CEXvJR1t.cjs +3 -0
  29. package/dist/EzTable-D2p1IWHc.js +4290 -0
  30. package/dist/EzTableEditDialog-BXnnYSSy.cjs +1 -0
  31. package/dist/EzTableEditDialog-Ccd5XoHm.js +84 -0
  32. package/dist/EzTableFooter-CtexeDAC.cjs +1 -0
  33. package/dist/EzTableFooter-DrLoWelo.js +35 -0
  34. package/dist/EzTableToolbar-BH5z9fSJ.js +160 -0
  35. package/dist/EzTableToolbar-DwuumvWP.cjs +1 -0
  36. package/dist/EzTreeView-D1G0Aomc.js +818 -0
  37. package/dist/EzTreeView-KMGlU4ax.cjs +1 -0
  38. package/dist/HighlightText-BViuwe03.cjs +1 -0
  39. package/dist/HighlightText-DNA2R2uf.js +56 -0
  40. package/dist/KanbanBoard-B7_Z5sh1.js +1697 -0
  41. package/dist/KanbanBoard-CyitudI1.cjs +1 -0
  42. package/dist/Modal-BmX1C448.cjs +1 -0
  43. package/dist/Modal-CrzpKyjK.js +74 -0
  44. package/dist/NotificationPanel-BzpDc10Q.js +54 -0
  45. package/dist/NotificationPanel-CFME00wq.cjs +1 -0
  46. package/dist/TooltipWrapper-BSAmUx9H.js +44 -0
  47. package/dist/TooltipWrapper-DfbFAZ1U.cjs +1 -0
  48. package/dist/advanced.cjs +10 -0
  49. package/dist/advanced.d.ts +44 -0
  50. package/dist/advanced.es.js +400 -0
  51. package/dist/avatar-BSdRHETK.cjs +1 -0
  52. package/dist/avatar-BvCUJ-_r.js +27 -0
  53. package/dist/button-BBMwzUtG.cjs +1 -0
  54. package/dist/button-CYyNwV8S.js +44 -0
  55. package/dist/calendar-DEHX32Cp.cjs +1 -0
  56. package/dist/calendar-DOIPGsyI.js +112 -0
  57. package/dist/card-CPlRZxbq.cjs +1 -0
  58. package/dist/card-ZUNxcdIM.js +60 -0
  59. package/dist/checkbox-BrCh_Iid.cjs +1 -0
  60. package/dist/checkbox-DRkQuB4W.js +21 -0
  61. package/dist/components/EzFlow/EzConnectionLine.d.ts +5 -0
  62. package/dist/components/EzFlow/EzFlow.examples.d.ts +5 -0
  63. package/dist/components/EzFlow/EzFlow.types.d.ts +260 -0
  64. package/dist/components/EzFlow/EzFlowBackground.d.ts +5 -0
  65. package/dist/components/EzFlow/EzFlowCanvas.d.ts +3 -0
  66. package/dist/components/EzFlow/EzFlowControls.d.ts +5 -0
  67. package/dist/components/EzFlow/EzFlowEdge.d.ts +5 -0
  68. package/dist/components/EzFlow/EzFlowHeader.d.ts +6 -0
  69. package/dist/components/EzFlow/EzFlowToolbox.d.ts +6 -0
  70. package/dist/components/EzFlow/EzWorkflow.d.ts +5 -0
  71. package/dist/components/EzFlow/EzWorkflowPerformance.d.ts +3 -0
  72. package/dist/components/EzFlow/EzWorkflowServiceAdapters.d.ts +24 -0
  73. package/dist/components/EzFlow/EzWorkflowValidation.d.ts +95 -0
  74. package/dist/components/EzFlow/index.d.ts +13 -0
  75. package/dist/components/EzFlow/nodes/ActionNode.d.ts +3 -0
  76. package/dist/components/EzFlow/nodes/ApprovalNode.d.ts +3 -0
  77. package/dist/components/EzFlow/nodes/DecisionNode.d.ts +3 -0
  78. package/dist/components/EzFlow/nodes/DelayNode.d.ts +3 -0
  79. package/dist/components/EzFlow/nodes/EndNode.d.ts +3 -0
  80. package/dist/components/EzFlow/nodes/GroupNode.d.ts +3 -0
  81. package/dist/components/EzFlow/nodes/LoopNode.d.ts +3 -0
  82. package/dist/components/EzFlow/nodes/RequestNode.d.ts +3 -0
  83. package/dist/components/EzFlow/nodes/StartNode.d.ts +3 -0
  84. package/dist/components/EzFlow/nodes/index.d.ts +9 -0
  85. package/dist/components/EzKanban/EzKanban.types.d.ts +808 -0
  86. package/dist/components/EzKanban/components/CardEditorModal.d.ts +23 -0
  87. package/dist/components/EzKanban/components/EzKanbanErrorFallback.d.ts +1 -0
  88. package/dist/components/EzKanban/components/FilterPopover.d.ts +10 -0
  89. package/dist/components/EzKanban/components/KanbanBoard.d.ts +59 -0
  90. package/dist/components/EzKanban/components/KanbanCard.d.ts +46 -0
  91. package/dist/components/EzKanban/components/KanbanColumn.d.ts +55 -0
  92. package/dist/components/EzKanban/components/KanbanSwimlane.d.ts +45 -0
  93. package/dist/components/EzKanban/components/KanbanToolbar.d.ts +41 -0
  94. package/dist/components/EzKanban/exports.d.ts +4 -0
  95. package/dist/components/EzKanban/hooks/useKanbanCards.d.ts +36 -0
  96. package/dist/components/EzKanban/hooks/useKanbanColumns.d.ts +27 -0
  97. package/dist/components/EzKanban/hooks/useKanbanDragDrop.d.ts +31 -0
  98. package/dist/components/EzKanban/hooks/useKanbanFilters.d.ts +23 -0
  99. package/dist/components/EzKanban/hooks/useKanbanState.d.ts +79 -0
  100. package/dist/components/EzKanban/hooks/useKanbanSwimlanes.d.ts +27 -0
  101. package/dist/components/EzKanban/hooks/useKanbanVirtualization.d.ts +16 -0
  102. package/dist/components/EzKanban/index.d.ts +51 -0
  103. package/dist/components/EzKanban/services/KanbanService.d.ts +31 -0
  104. package/dist/components/EzKanban/state/kanban.store.d.ts +33 -0
  105. package/dist/components/EzKanban/useEzKanban.d.ts +87 -0
  106. package/dist/components/EzKanban/views/KanbanTimelineView.d.ts +15 -0
  107. package/dist/components/EzLayout/Authentication/AuthSlider.d.ts +13 -0
  108. package/dist/components/EzLayout/Authentication/InputPassword.d.ts +7 -0
  109. package/dist/components/EzLayout/Authentication/SignInForm.d.ts +21 -0
  110. package/dist/components/EzLayout/Authentication/SignUpForm.d.ts +20 -0
  111. package/dist/components/EzLayout/EzHeader.d.ts +48 -0
  112. package/dist/components/EzLayout/EzLanguageSwitcher.d.ts +4 -0
  113. package/dist/components/EzLayout/EzLayout.types.d.ts +261 -0
  114. package/dist/components/EzLayout/EzOrganizationSwitcher.d.ts +14 -0
  115. package/dist/components/EzLayout/EzSidebar.d.ts +24 -0
  116. package/dist/components/EzLayout/EzThemeColorChanger.d.ts +9 -0
  117. package/dist/components/EzLayout/EzThemeSwitcher.d.ts +8 -0
  118. package/dist/components/EzLayout/EzUserProfile.d.ts +27 -0
  119. package/dist/components/EzLayout/components/EzSidebarFooter.d.ts +8 -0
  120. package/dist/components/EzLayout/components/EzSidebarNav.d.ts +10 -0
  121. package/dist/components/EzLayout/components/EzSidebarNavItem.d.ts +11 -0
  122. package/dist/components/EzLayout/components/MainContent.d.ts +13 -0
  123. package/dist/components/EzLayout/hooks/useLayoutImperative.d.ts +17 -0
  124. package/dist/components/EzLayout/hooks/useLayoutState.d.ts +25 -0
  125. package/dist/components/EzLayout/index.d.ts +23 -0
  126. package/dist/components/EzLayout/useEzLayout.d.ts +34 -0
  127. package/dist/components/EzScheduler/EzScheduler.types.d.ts +1252 -0
  128. package/dist/components/EzScheduler/EzSchedulerToolbar.d.ts +117 -0
  129. package/dist/components/EzScheduler/components/EzEventModal.d.ts +23 -0
  130. package/dist/components/EzScheduler/components/EzOverlapAlert.d.ts +12 -0
  131. package/dist/components/EzScheduler/components/EzQuickInfoPopup.d.ts +22 -0
  132. package/dist/components/EzScheduler/components/EzResourceSidebar.d.ts +33 -0
  133. package/dist/components/EzScheduler/components/EzSchedulerContent.d.ts +111 -0
  134. package/dist/components/EzScheduler/components/EzSchedulerQuickAdd.d.ts +17 -0
  135. package/dist/components/EzScheduler/components/RecurrenceEditor.d.ts +7 -0
  136. package/dist/components/EzScheduler/components/SchedulerLoadingSpinner.d.ts +2 -0
  137. package/dist/components/EzScheduler/components/dnd/DraggableEvent.d.ts +24 -0
  138. package/dist/components/EzScheduler/components/dnd/DroppableSlot.d.ts +19 -0
  139. package/dist/components/EzScheduler/hooks/useRecurrence.d.ts +2 -0
  140. package/dist/components/EzScheduler/hooks/useSchedulerEventHandlers.d.ts +15 -0
  141. package/dist/components/EzScheduler/hooks/useSchedulerEvents.d.ts +27 -0
  142. package/dist/components/EzScheduler/hooks/useSchedulerImperative.d.ts +19 -0
  143. package/dist/components/EzScheduler/hooks/useSchedulerNavigation.d.ts +9 -0
  144. package/dist/components/EzScheduler/hooks/useSchedulerResources.d.ts +10 -0
  145. package/dist/components/EzScheduler/hooks/useSchedulerState.d.ts +14 -0
  146. package/dist/components/EzScheduler/hooks/useSchedulerVirtualization.d.ts +9 -0
  147. package/dist/components/EzScheduler/index.d.ts +43 -0
  148. package/dist/components/EzScheduler/models/EventSettings.d.ts +11 -0
  149. package/dist/components/EzScheduler/models/View.d.ts +49 -0
  150. package/dist/components/EzScheduler/models/index.d.ts +2 -0
  151. package/dist/components/EzScheduler/services/AttendeeService.d.ts +15 -0
  152. package/dist/components/EzScheduler/services/AuditService.d.ts +15 -0
  153. package/dist/components/EzScheduler/services/CollisionDetectionService.d.ts +19 -0
  154. package/dist/components/EzScheduler/services/DragAndDropService.d.ts +16 -0
  155. package/dist/components/EzScheduler/services/HistoryService.d.ts +31 -0
  156. package/dist/components/EzScheduler/services/ICalendarImportService.d.ts +16 -0
  157. package/dist/components/EzScheduler/services/PrintService.d.ts +7 -0
  158. package/dist/components/EzScheduler/services/RecurrenceEngine.d.ts +7 -0
  159. package/dist/components/EzScheduler/services/ReminderService.d.ts +17 -0
  160. package/dist/components/EzScheduler/services/SchedulerService.d.ts +71 -0
  161. package/dist/components/EzScheduler/services/SearchService.d.ts +11 -0
  162. package/dist/components/EzScheduler/services/SecurityService.d.ts +25 -0
  163. package/dist/components/EzScheduler/services/TimezoneService.d.ts +20 -0
  164. package/dist/components/EzScheduler/services/VirtualScrollingService.d.ts +34 -0
  165. package/dist/components/EzScheduler/state/scheduler.store.d.ts +27 -0
  166. package/dist/components/EzScheduler/templates/CellTemplate.d.ts +42 -0
  167. package/dist/components/EzScheduler/templates/EditorTemplate.d.ts +32 -0
  168. package/dist/components/EzScheduler/templates/HeaderTemplate.d.ts +36 -0
  169. package/dist/components/EzScheduler/useEzScheduler.d.ts +104 -0
  170. package/dist/components/EzScheduler/utils/createDragConstraint.d.ts +7 -0
  171. package/dist/components/EzScheduler/utils/getWeekNumber.d.ts +8 -0
  172. package/dist/components/EzScheduler/utils/sanitizeHtml.d.ts +18 -0
  173. package/dist/components/EzScheduler/views/AgendaView.d.ts +28 -0
  174. package/dist/components/EzScheduler/views/DayWeekView.d.ts +177 -0
  175. package/dist/components/EzScheduler/views/MonthView.d.ts +60 -0
  176. package/dist/components/EzScheduler/views/TimelineView.d.ts +116 -0
  177. package/dist/components/EzSignature/EzSignature.d.ts +42 -0
  178. package/dist/components/EzSignature/EzSignature.types.d.ts +132 -0
  179. package/dist/components/EzSignature/index.d.ts +2 -0
  180. package/dist/components/EzTable/EzColumnMenu.d.ts +7 -0
  181. package/dist/components/EzTable/EzDateFilterTree.d.ts +7 -0
  182. package/dist/components/EzTable/EzExcelFilter.d.ts +8 -0
  183. package/dist/components/EzTable/EzFilterBuilder.d.ts +12 -0
  184. package/dist/components/EzTable/EzGroupingPanel.d.ts +9 -0
  185. package/dist/components/EzTable/EzHeaderContextMenu.d.ts +8 -0
  186. package/dist/components/EzTable/EzPagination.d.ts +19 -0
  187. package/dist/components/EzTable/EzTable.types.d.ts +1 -0
  188. package/dist/components/EzTable/EzTableEditDialog.d.ts +15 -0
  189. package/dist/components/EzTable/EzTableFooter.d.ts +10 -0
  190. package/dist/components/EzTable/EzTableOverlays.d.ts +11 -0
  191. package/dist/components/EzTable/EzTableStatusBar.d.ts +10 -0
  192. package/dist/components/EzTable/EzTableToolbar.d.ts +60 -0
  193. package/dist/components/EzTable/SmartCell.d.ts +7 -0
  194. package/dist/components/EzTable/components/AdvancedColumnFilter.d.ts +16 -0
  195. package/dist/components/EzTable/components/BooleanFilterSection.d.ts +7 -0
  196. package/dist/components/EzTable/components/EzDraggableHeader.d.ts +10 -0
  197. package/dist/components/EzTable/components/EzHeaderDragPreview.d.ts +7 -0
  198. package/dist/components/EzTable/components/EzTableBodySection.d.ts +72 -0
  199. package/dist/components/EzTable/components/EzTableCell.d.ts +46 -0
  200. package/dist/components/EzTable/components/EzTableHeaderSection.d.ts +23 -0
  201. package/dist/components/EzTable/components/EzTablePaginationSection.d.ts +31 -0
  202. package/dist/components/EzTable/components/EzTableRow.d.ts +58 -0
  203. package/dist/components/EzTable/components/FilterActionButtons.d.ts +16 -0
  204. package/dist/components/EzTable/components/FilterRuleSelect.d.ts +26 -0
  205. package/dist/components/EzTable/components/SelectAllCheckbox.d.ts +21 -0
  206. package/dist/components/EzTable/components/SelectFilterSection.d.ts +18 -0
  207. package/dist/components/EzTable/components/VirtualizedFilterList.d.ts +21 -0
  208. package/dist/components/EzTable/constants/filterOptions.d.ts +47 -0
  209. package/dist/components/EzTable/context/EzTableContext.d.ts +10 -0
  210. package/dist/components/EzTable/context/TableConfigContext.d.ts +13 -0
  211. package/dist/components/EzTable/context/TableStore.d.ts +17 -0
  212. package/dist/components/EzTable/filterUtils.d.ts +5 -0
  213. package/dist/components/EzTable/hooks/useAutoFit.d.ts +4 -0
  214. package/dist/components/EzTable/hooks/useCellEventHandlers.d.ts +16 -0
  215. package/dist/components/EzTable/hooks/useColumnSizeVars.d.ts +6 -0
  216. package/dist/components/EzTable/hooks/useContainerResize.d.ts +11 -0
  217. package/dist/components/EzTable/hooks/useDialogStateInitialization.d.ts +8 -0
  218. package/dist/components/EzTable/hooks/useFilterSelection.d.ts +12 -0
  219. package/dist/components/EzTable/hooks/useTableFiltering.d.ts +23 -0
  220. package/dist/components/EzTable/hooks/useTableHistory.d.ts +87 -0
  221. package/dist/components/EzTable/hooks/useTableImperative.d.ts +42 -0
  222. package/dist/components/EzTable/hooks/useTableSelection.d.ts +32 -0
  223. package/dist/components/EzTable/hooks/useTableState.d.ts +33 -0
  224. package/dist/components/EzTable/hooks/useTableVirtualization.d.ts +35 -0
  225. package/dist/components/EzTable/index.d.ts +54 -0
  226. package/dist/components/EzTable/renderers/index.d.ts +6 -0
  227. package/dist/components/EzTable/services/TableService.d.ts +29 -0
  228. package/dist/components/EzTable/types/EzTableColumn.types.d.ts +146 -0
  229. package/dist/components/EzTable/types/EzTableEdit.types.d.ts +58 -0
  230. package/dist/components/EzTable/types/EzTableFilter.types.d.ts +50 -0
  231. package/dist/components/EzTable/types/EzTableProps.d.ts +750 -0
  232. package/dist/components/EzTable/types/index.d.ts +4 -0
  233. package/dist/components/EzTable/useEzTable.d.ts +17 -0
  234. package/dist/components/EzTable/utils/SizingUtils.d.ts +11 -0
  235. package/dist/components/EzTable/utils/TextMeasurer.d.ts +1 -0
  236. package/dist/components/EzTable/utils/TruncatedTooltip.d.ts +7 -0
  237. package/dist/components/EzTable/utils/columnTypeDetector.d.ts +5 -0
  238. package/dist/components/EzTable/utils/filterTypeGuards.d.ts +3 -0
  239. package/dist/components/EzTable/utils/index.d.ts +1 -0
  240. package/dist/components/EzTreeView/EzTreeView.types.d.ts +364 -0
  241. package/dist/components/EzTreeView/EzTreeViewItem.d.ts +89 -0
  242. package/dist/components/EzTreeView/EzVirtualTree.d.ts +84 -0
  243. package/dist/components/EzTreeView/components/EzTreeViewLoadingSpinner.d.ts +2 -0
  244. package/dist/components/EzTreeView/hooks/useTreeDragDrop.d.ts +31 -0
  245. package/dist/components/EzTreeView/hooks/useTreeExpansion.d.ts +21 -0
  246. package/dist/components/EzTreeView/hooks/useTreeImperative.d.ts +28 -0
  247. package/dist/components/EzTreeView/hooks/useTreeSelection.d.ts +31 -0
  248. package/dist/components/EzTreeView/hooks/useTreeState.d.ts +21 -0
  249. package/dist/components/EzTreeView/hooks/useTreeVirtualization.d.ts +18 -0
  250. package/dist/components/EzTreeView/index.d.ts +40 -0
  251. package/dist/components/EzTreeView/services/TreeService.d.ts +11 -0
  252. package/dist/components/EzTreeView/useEzTreeView.d.ts +50 -0
  253. package/dist/components/EzTreeView/utils/treeUtils.d.ts +17 -0
  254. package/dist/components/shared/components/EzErrorBoundary.d.ts +18 -0
  255. package/dist/components/shared/components/EzLayoutErrorFallback.d.ts +2 -0
  256. package/dist/components/shared/components/EzLoadingSpinner.d.ts +8 -0
  257. package/dist/components/shared/components/EzSchedulerErrorFallback.d.ts +2 -0
  258. package/dist/components/shared/components/EzSortableList.d.ts +12 -0
  259. package/dist/components/shared/components/EzTableErrorFallback.d.ts +2 -0
  260. package/dist/components/shared/components/EzTreeViewErrorFallback.d.ts +2 -0
  261. package/dist/components/ui/avatar.d.ts +10 -0
  262. package/dist/components/ui/badge.d.ts +9 -0
  263. package/dist/components/ui/breadcrumb.d.ts +19 -0
  264. package/dist/components/ui/button.d.ts +13 -0
  265. package/dist/components/ui/calendar.d.ts +15 -0
  266. package/dist/components/ui/card.d.ts +10 -0
  267. package/dist/components/ui/checkbox.d.ts +7 -0
  268. package/dist/components/ui/combobox.d.ts +19 -0
  269. package/dist/components/ui/command.d.ts +78 -0
  270. package/dist/components/ui/context-menu.d.ts +27 -0
  271. package/dist/components/ui/date-time-picker.d.ts +14 -0
  272. package/dist/components/ui/dropdown-menu.d.ts +31 -0
  273. package/dist/components/ui/index.d.ts +27 -0
  274. package/dist/components/ui/input.d.ts +5 -0
  275. package/dist/components/ui/label.d.ts +9 -0
  276. package/dist/components/ui/modal.d.ts +9 -0
  277. package/dist/components/ui/password-input.d.ts +5 -0
  278. package/dist/components/ui/popover.d.ts +10 -0
  279. package/dist/components/ui/progress.d.ts +7 -0
  280. package/dist/components/ui/radio-group.d.ts +5 -0
  281. package/dist/components/ui/resizable.d.ts +8 -0
  282. package/dist/components/ui/scroll-area.d.ts +5 -0
  283. package/dist/components/ui/select.d.ts +26 -0
  284. package/dist/components/ui/skeleton.d.ts +2 -0
  285. package/dist/components/ui/switch.d.ts +6 -0
  286. package/dist/components/ui/table.d.ts +10 -0
  287. package/dist/components/ui/tabs.d.ts +22 -0
  288. package/dist/components/ui/textarea.d.ts +5 -0
  289. package/dist/components/ui/tooltip.d.ts +10 -0
  290. package/dist/date-time-picker-Bs-7XzHD.cjs +1 -0
  291. package/dist/date-time-picker-fUzf4TnU.js +127 -0
  292. package/dist/dropdown-menu-BRP0tyR_.cjs +1 -0
  293. package/dist/dropdown-menu-B_7_K13o.js +78 -0
  294. package/dist/ezux.css +2 -1
  295. package/dist/flow.cjs +1 -0
  296. package/dist/flow.d.ts +2 -0
  297. package/dist/flow.es.js +2 -0
  298. package/dist/index.cjs +3 -12
  299. package/dist/index.d.ts +66 -6404
  300. package/dist/index.es.js +229 -1041
  301. package/dist/input-CYlvlbF7.cjs +1 -0
  302. package/dist/input-Cj3sQK3M.js +14 -0
  303. package/dist/kanban.cjs +1 -1
  304. package/dist/kanban.d.ts +2 -1343
  305. package/dist/kanban.es.js +4 -17
  306. package/dist/label-BGgvoZWD.cjs +1 -0
  307. package/dist/label-DWEV--5W.js +16 -0
  308. package/dist/layout.cjs +1 -1
  309. package/dist/layout.d.ts +2 -690
  310. package/dist/layout.es.js +2 -20
  311. package/dist/lib/perfect-freehand.d.ts +221 -0
  312. package/dist/lib/utils.d.ts +2 -0
  313. package/dist/mock-services.cjs +1 -0
  314. package/dist/mock-services.d.ts +8 -0
  315. package/dist/mock-services.es.js +161 -0
  316. package/dist/popover-D1akYj0W.js +17 -0
  317. package/dist/popover-wZKNvYM5.cjs +1 -0
  318. package/dist/scheduler.cjs +1 -1
  319. package/dist/scheduler.d.ts +2 -1430
  320. package/dist/scheduler.es.js +2 -11
  321. package/dist/scroll-area-BJs87d45.js +35 -0
  322. package/dist/scroll-area-DSkE2KB_.cjs +1 -0
  323. package/dist/select-D4tFaSai.js +43 -0
  324. package/dist/select-sVieKbLu.cjs +1 -0
  325. package/dist/shared/components/AnimatedText.d.ts +44 -0
  326. package/dist/shared/components/BaseCell.d.ts +14 -0
  327. package/dist/shared/components/BooleanRenderer.d.ts +34 -0
  328. package/dist/shared/components/ChartRenderer.d.ts +19 -0
  329. package/dist/shared/components/DeleteConfirmationModal.d.ts +11 -0
  330. package/dist/shared/components/EzContextMenu.d.ts +12 -0
  331. package/dist/shared/components/EzNotificationDropdown.d.ts +2 -0
  332. package/dist/shared/components/HighlightText.d.ts +4 -0
  333. package/dist/shared/components/Modal.d.ts +13 -0
  334. package/dist/shared/components/NotificationPanel.d.ts +2 -0
  335. package/dist/shared/components/PrimitiveRenderer.d.ts +39 -0
  336. package/dist/shared/components/SearchableSelect.d.ts +13 -0
  337. package/dist/shared/components/SelectRenderer.d.ts +33 -0
  338. package/dist/shared/components/StatusBadge.d.ts +21 -0
  339. package/dist/shared/components/TooltipWrapper.d.ts +12 -0
  340. package/dist/shared/components/index.d.ts +9 -0
  341. package/dist/shared/contexts/EzProvider.d.ts +56 -0
  342. package/dist/shared/hooks/index.d.ts +56 -0
  343. package/dist/shared/hooks/useBaseComponent.d.ts +59 -0
  344. package/dist/shared/hooks/useComponentImperativeAPI.d.ts +11 -0
  345. package/dist/shared/hooks/useComponentState.d.ts +39 -0
  346. package/dist/shared/hooks/useCurrentTime.d.ts +6 -0
  347. package/dist/shared/hooks/useDataChangeEvents.d.ts +53 -0
  348. package/dist/shared/hooks/useDebounce.d.ts +10 -0
  349. package/dist/shared/hooks/useDeleteConfirmation.d.ts +9 -0
  350. package/dist/shared/hooks/useDialogState.d.ts +21 -0
  351. package/dist/shared/hooks/useDndHandlers.d.ts +19 -0
  352. package/dist/shared/hooks/useEditing.d.ts +107 -0
  353. package/dist/shared/hooks/useEventHandlers.d.ts +61 -0
  354. package/dist/shared/hooks/useEzTheme.d.ts +22 -0
  355. package/dist/shared/hooks/useFieldValidation.d.ts +24 -0
  356. package/dist/shared/hooks/useHistory.d.ts +13 -0
  357. package/dist/shared/hooks/useI18n.d.ts +8 -0
  358. package/dist/shared/hooks/useImperativeAPI.d.ts +8 -0
  359. package/dist/shared/hooks/useInitCoreServices.d.ts +5 -0
  360. package/dist/shared/hooks/useKeyboardNavigation.d.ts +36 -0
  361. package/dist/shared/hooks/useKeyboardShortcuts.d.ts +14 -0
  362. package/dist/shared/hooks/useLifecycleEvents.d.ts +22 -0
  363. package/dist/shared/hooks/useLoadingState.d.ts +17 -0
  364. package/dist/shared/hooks/useMediaQuery.d.ts +6 -0
  365. package/dist/shared/hooks/useNotificationService.d.ts +8 -0
  366. package/dist/shared/hooks/usePerformanceMonitor.d.ts +22 -0
  367. package/dist/shared/hooks/useRowSelectionEvents.d.ts +44 -0
  368. package/dist/shared/hooks/useSelection.d.ts +73 -0
  369. package/dist/shared/hooks/useService.d.ts +12 -0
  370. package/dist/shared/hooks/useServiceState.d.ts +1 -0
  371. package/dist/shared/hooks/useStateChangeEvents.d.ts +61 -0
  372. package/dist/shared/hooks/useTheme.d.ts +13 -0
  373. package/dist/shared/hooks/useVirtualization.d.ts +85 -0
  374. package/dist/shared/services/BaseService.d.ts +57 -0
  375. package/dist/shared/services/ContextMenuService.d.ts +58 -0
  376. package/dist/shared/services/ExportService.d.ts +35 -0
  377. package/dist/shared/services/FocusManagerService.d.ts +33 -0
  378. package/dist/shared/services/HierarchyService.d.ts +43 -0
  379. package/dist/shared/services/I18nService.d.ts +84 -0
  380. package/dist/shared/services/LayoutService.d.ts +80 -0
  381. package/dist/shared/services/NotificationService.d.ts +44 -0
  382. package/dist/shared/services/PersistenceService.d.ts +69 -0
  383. package/dist/shared/services/ServiceRegistry.d.ts +52 -0
  384. package/dist/shared/services/ThemeService.d.ts +49 -0
  385. package/dist/shared/services/VirtualizationService.d.ts +51 -0
  386. package/dist/shared/state/store.d.ts +10 -0
  387. package/dist/shared/themes.d.ts +25 -0
  388. package/dist/shared/types/BaseProps.d.ts +17 -0
  389. package/dist/shared/types/common.d.ts +373 -0
  390. package/dist/shared/types/index.d.ts +2 -0
  391. package/dist/shared/utils/canvasUtils.d.ts +16 -0
  392. package/dist/shared/utils/commonUtils.d.ts +28 -0
  393. package/dist/shared/utils/csvUtils.d.ts +7 -0
  394. package/dist/shared/utils/dateUtils.d.ts +5 -0
  395. package/dist/shared/utils/dndUtils.d.ts +16 -0
  396. package/dist/shared/utils/formatUtils.d.ts +20 -0
  397. package/dist/shared/utils/imperativeApiUtils.d.ts +36 -0
  398. package/dist/shared/utils/index.d.ts +11 -0
  399. package/dist/shared/utils/renderUtils.d.ts +6 -0
  400. package/dist/shared/utils/serviceUtils.d.ts +10 -0
  401. package/dist/shared/utils/styleUtils.d.ts +121 -0
  402. package/dist/shared/utils/validationUtils.d.ts +16 -0
  403. package/dist/signature.cjs +1 -1
  404. package/dist/signature.d.ts +2 -410
  405. package/dist/signature.es.js +2 -4
  406. package/dist/table.cjs +1 -1
  407. package/dist/table.d.ts +2 -1059
  408. package/dist/table.es.js +2 -17
  409. package/dist/theme-vars.css +143 -135
  410. package/dist/tooltip-B1wC9m05.js +16 -0
  411. package/dist/tooltip-Qmzrg5u5.cjs +1 -0
  412. package/dist/treeview.cjs +1 -1
  413. package/dist/treeview.d.ts +2 -656
  414. package/dist/treeview.es.js +2 -954
  415. package/dist/useComponentState-DiSFLYju.js +57 -0
  416. package/dist/useComponentState-Wcz6pjd6.cjs +1 -0
  417. package/dist/useImperativeAPI-Dbx2hMTb.js +7 -0
  418. package/dist/useImperativeAPI-VrgLwXEO.cjs +1 -0
  419. package/dist/useInitCoreServices-CuBrviDM.js +40 -0
  420. package/dist/useInitCoreServices-DlALVDNx.cjs +1 -0
  421. package/dist/useService-CnCBGG3G.js +10 -0
  422. package/dist/useService-CyF782jv.cjs +1 -0
  423. package/dist/useServiceState-CkrJZm1D.js +21 -0
  424. package/dist/useServiceState-PyYQWxHi.cjs +1 -0
  425. package/package.json +76 -56
  426. package/dist/EzContextMenu-B6HBUjWv.cjs +0 -5
  427. package/dist/EzContextMenu-BSA_B6Pr.js +0 -3500
  428. package/dist/EzErrorBoundary-CEdz_hDo.cjs +0 -41
  429. package/dist/EzErrorBoundary-D4NBadES.js +0 -3727
  430. package/dist/EzEventModal-BUMp_BFi.js +0 -689
  431. package/dist/EzEventModal-xzHfzi0O.cjs +0 -1
  432. package/dist/EzGroupingPanel-BUsIYDRi.js +0 -143
  433. package/dist/EzGroupingPanel-D0HdSomF.cjs +0 -1
  434. package/dist/EzSchedulerQuickAdd-C653LTGh.js +0 -118
  435. package/dist/EzSchedulerQuickAdd-UnOWCpJd.cjs +0 -1
  436. package/dist/EzSchedulerToolbar-C-5OdRY6.cjs +0 -1
  437. package/dist/EzSchedulerToolbar-CO5jjDQg.js +0 -240
  438. package/dist/EzSignature-BaNesxwC.cjs +0 -1
  439. package/dist/EzSignature-D4EYwo9W.js +0 -419
  440. package/dist/EzTableEditDialog-Cd948V1C.js +0 -63
  441. package/dist/EzTableEditDialog-NiOubaMT.cjs +0 -1
  442. package/dist/EzTableFooter-CWjfGCjL.cjs +0 -1
  443. package/dist/EzTableFooter-DveD12RC.js +0 -54
  444. package/dist/EzTableToolbar-Bz8UWv6j.js +0 -246
  445. package/dist/EzTableToolbar-DHE7Bb1R.cjs +0 -1
  446. package/dist/HighlightText-8D6KEyBw.js +0 -68
  447. package/dist/HighlightText-LtZmzCle.cjs +0 -1
  448. package/dist/NotificationPanel-D2Y-_ahk.js +0 -68
  449. package/dist/NotificationPanel-zLxrtTGf.cjs +0 -1
  450. package/dist/TooltipWrapper-BrRTi5EJ.js +0 -2021
  451. package/dist/TooltipWrapper-DWts4bAI.cjs +0 -1
  452. package/dist/avatar-BeK0E4mn.js +0 -41
  453. package/dist/avatar-DZAaTK2f.cjs +0 -1
  454. package/dist/bell-DAz8P0BR.js +0 -14
  455. package/dist/bell-DOX2y38e.cjs +0 -1
  456. package/dist/calendar-BMZ8ddOf.cjs +0 -1
  457. package/dist/calendar-Dy3rVMW2.js +0 -90
  458. package/dist/checkbox-B0lGHUyy.cjs +0 -1
  459. package/dist/checkbox-boJRxICT.js +0 -46
  460. package/dist/chevron-down-C3s8jU6B.js +0 -5
  461. package/dist/chevron-down-DZVL7VHW.cjs +0 -1
  462. package/dist/chevron-left-BFr8XZyF.js +0 -5
  463. package/dist/chevron-left-HWhRo6IH.cjs +0 -1
  464. package/dist/circle-alert-77QqFR-z.cjs +0 -1
  465. package/dist/circle-alert-B2AMDd8N.js +0 -9
  466. package/dist/circle-x-Cv7bfIC_.js +0 -9
  467. package/dist/circle-x-DwVXxhXr.cjs +0 -1
  468. package/dist/date-time-picker-DTxHdPgQ.cjs +0 -1
  469. package/dist/date-time-picker-Dj2eftJI.js +0 -1636
  470. package/dist/download-0ZhO2XaW.cjs +0 -1
  471. package/dist/download-panVHmk6.js +0 -9
  472. package/dist/ellipsis-CuqNthAj.js +0 -9
  473. package/dist/ellipsis-CzlqJf-i.cjs +0 -1
  474. package/dist/grip-vertical-CSyDKBul.js +0 -12
  475. package/dist/grip-vertical-DZNBW1Dn.cjs +0 -1
  476. package/dist/index-B3ipEEhH.cjs +0 -2
  477. package/dist/index-BPPb7bcs.js +0 -3220
  478. package/dist/index-BQKw_Vho.js +0 -9604
  479. package/dist/index-C5STgBSy.js +0 -5203
  480. package/dist/index-C6NfgycP.js +0 -4644
  481. package/dist/index-D4f2ZdrG.cjs +0 -2
  482. package/dist/index-DUY1SqMo.cjs +0 -1
  483. package/dist/index-c1Zg--dt.cjs +0 -7
  484. package/dist/input-BgM_la4k.cjs +0 -1
  485. package/dist/input-jYQ5VKNR.js +0 -21
  486. package/dist/isBefore-C3Y_wbk3.js +0 -15
  487. package/dist/isBefore-Cp1ttk6q.cjs +0 -1
  488. package/dist/label-ClOW9UCt.js +0 -55
  489. package/dist/label-Dx6oDB-X.cjs +0 -1
  490. package/dist/layers-BA4i1fYX.js +0 -27
  491. package/dist/layers-xSPd-hz3.cjs +0 -1
  492. package/dist/popover-BJq1CKmi.cjs +0 -1
  493. package/dist/popover-Cmlb7w3R.js +0 -341
  494. package/dist/scroll-area-9fwpVNxT.js +0 -573
  495. package/dist/scroll-area-CwwZSSA4.cjs +0 -1
  496. package/dist/select-GxA46anr.cjs +0 -1
  497. package/dist/select-mDCun_IR.js +0 -35
  498. package/dist/settings-CvyjK75A.js +0 -31
  499. package/dist/settings-DKPknrt8.cjs +0 -1
  500. package/dist/sortable.esm-CsRPuXyD.cjs +0 -1
  501. package/dist/sortable.esm-CzMCDPet.js +0 -477
  502. package/dist/tooltip-B41iztKT.cjs +0 -1
  503. package/dist/tooltip-BCtrEe0z.js +0 -490
  504. package/dist/useComponentState-C87xXa5d.js +0 -64
  505. package/dist/useComponentState-DDgGbBXv.cjs +0 -1
  506. package/dist/useImperativeAPI-DXmCQvPL.js +0 -7
  507. package/dist/useImperativeAPI-DbZ3owSV.cjs +0 -1
  508. package/dist/useInitCoreServices-CwXv2p4S.cjs +0 -1
  509. package/dist/useInitCoreServices-D1WaWlaI.js +0 -3929
  510. package/dist/useService-8OoezWr8.cjs +0 -1
  511. package/dist/useService-BUi3uAqE.js +0 -10
  512. package/dist/useServiceState-BjpCjUn2.cjs +0 -1
  513. package/dist/useServiceState-VE-viK8b.js +0 -24
@@ -1,3929 +0,0 @@
1
- import He, { useContext as Ze, createContext as Ke, useEffect as Ae, useMemo as Ye, useState as ve, useCallback as X } from "react";
2
- import { jsx as qe } from "react/jsx-runtime";
3
- import { Store as Xe } from "@tanstack/store";
4
- function Te(e) {
5
- var t, r, o = "";
6
- if (typeof e == "string" || typeof e == "number") o += e;
7
- else if (typeof e == "object") if (Array.isArray(e)) {
8
- var s = e.length;
9
- for (t = 0; t < s; t++) e[t] && (r = Te(e[t])) && (o && (o += " "), o += r);
10
- } else for (r in e) e[r] && (o && (o += " "), o += r);
11
- return o;
12
- }
13
- function Je() {
14
- for (var e, t, r = 0, o = "", s = arguments.length; r < s; r++) (e = arguments[r]) && (t = Te(e)) && (o && (o += " "), o += t);
15
- return o;
16
- }
17
- const Qe = (e, t) => {
18
- const r = new Array(e.length + t.length);
19
- for (let o = 0; o < e.length; o++)
20
- r[o] = e[o];
21
- for (let o = 0; o < t.length; o++)
22
- r[e.length + o] = t[o];
23
- return r;
24
- }, et = (e, t) => ({
25
- classGroupId: e,
26
- validator: t
27
- }), Me = (e = /* @__PURE__ */ new Map(), t = null, r) => ({
28
- nextPart: e,
29
- validators: t,
30
- classGroupId: r
31
- }), ee = "-", ke = [], tt = "arbitrary..", rt = (e) => {
32
- const t = st(e), {
33
- conflictingClassGroups: r,
34
- conflictingClassGroupModifiers: o
35
- } = e;
36
- return {
37
- getClassGroupId: (n) => {
38
- if (n.startsWith("[") && n.endsWith("]"))
39
- return ot(n);
40
- const l = n.split(ee), c = l[0] === "" && l.length > 1 ? 1 : 0;
41
- return Re(l, c, t);
42
- },
43
- getConflictingClassGroupIds: (n, l) => {
44
- if (l) {
45
- const c = o[n], f = r[n];
46
- return c ? f ? Qe(f, c) : c : f || ke;
47
- }
48
- return r[n] || ke;
49
- }
50
- };
51
- }, Re = (e, t, r) => {
52
- if (e.length - t === 0)
53
- return r.classGroupId;
54
- const s = e[t], i = r.nextPart.get(s);
55
- if (i) {
56
- const f = Re(e, t + 1, i);
57
- if (f) return f;
58
- }
59
- const n = r.validators;
60
- if (n === null)
61
- return;
62
- const l = t === 0 ? e.join(ee) : e.slice(t).join(ee), c = n.length;
63
- for (let f = 0; f < c; f++) {
64
- const p = n[f];
65
- if (p.validator(l))
66
- return p.classGroupId;
67
- }
68
- }, ot = (e) => e.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
69
- const t = e.slice(1, -1), r = t.indexOf(":"), o = t.slice(0, r);
70
- return o ? tt + o : void 0;
71
- })(), st = (e) => {
72
- const {
73
- theme: t,
74
- classGroups: r
75
- } = e;
76
- return nt(r, t);
77
- }, nt = (e, t) => {
78
- const r = Me();
79
- for (const o in e) {
80
- const s = e[o];
81
- de(s, r, o, t);
82
- }
83
- return r;
84
- }, de = (e, t, r, o) => {
85
- const s = e.length;
86
- for (let i = 0; i < s; i++) {
87
- const n = e[i];
88
- it(n, t, r, o);
89
- }
90
- }, it = (e, t, r, o) => {
91
- if (typeof e == "string") {
92
- at(e, t, r);
93
- return;
94
- }
95
- if (typeof e == "function") {
96
- dt(e, t, r, o);
97
- return;
98
- }
99
- ct(e, t, r, o);
100
- }, at = (e, t, r) => {
101
- const o = e === "" ? t : Ie(t, e);
102
- o.classGroupId = r;
103
- }, dt = (e, t, r, o) => {
104
- if (lt(e)) {
105
- de(e(o), t, r, o);
106
- return;
107
- }
108
- t.validators === null && (t.validators = []), t.validators.push(et(r, e));
109
- }, ct = (e, t, r, o) => {
110
- const s = Object.entries(e), i = s.length;
111
- for (let n = 0; n < i; n++) {
112
- const [l, c] = s[n];
113
- de(c, Ie(t, l), r, o);
114
- }
115
- }, Ie = (e, t) => {
116
- let r = e;
117
- const o = t.split(ee), s = o.length;
118
- for (let i = 0; i < s; i++) {
119
- const n = o[i];
120
- let l = r.nextPart.get(n);
121
- l || (l = Me(), r.nextPart.set(n, l)), r = l;
122
- }
123
- return r;
124
- }, lt = (e) => "isThemeGetter" in e && e.isThemeGetter === !0, ut = (e) => {
125
- if (e < 1)
126
- return {
127
- get: () => {
128
- },
129
- set: () => {
130
- }
131
- };
132
- let t = 0, r = /* @__PURE__ */ Object.create(null), o = /* @__PURE__ */ Object.create(null);
133
- const s = (i, n) => {
134
- r[i] = n, t++, t > e && (t = 0, o = r, r = /* @__PURE__ */ Object.create(null));
135
- };
136
- return {
137
- get(i) {
138
- let n = r[i];
139
- if (n !== void 0)
140
- return n;
141
- if ((n = o[i]) !== void 0)
142
- return s(i, n), n;
143
- },
144
- set(i, n) {
145
- i in r ? r[i] = n : s(i, n);
146
- }
147
- };
148
- }, ae = "!", xe = ":", gt = [], Se = (e, t, r, o, s) => ({
149
- modifiers: e,
150
- hasImportantModifier: t,
151
- baseClassName: r,
152
- maybePostfixModifierPosition: o,
153
- isExternal: s
154
- }), mt = (e) => {
155
- const {
156
- prefix: t,
157
- experimentalParseClassName: r
158
- } = e;
159
- let o = (s) => {
160
- const i = [];
161
- let n = 0, l = 0, c = 0, f;
162
- const p = s.length;
163
- for (let S = 0; S < p; S++) {
164
- const k = s[S];
165
- if (n === 0 && l === 0) {
166
- if (k === xe) {
167
- i.push(s.slice(c, S)), c = S + 1;
168
- continue;
169
- }
170
- if (k === "/") {
171
- f = S;
172
- continue;
173
- }
174
- }
175
- k === "[" ? n++ : k === "]" ? n-- : k === "(" ? l++ : k === ")" && l--;
176
- }
177
- const h = i.length === 0 ? s : s.slice(c);
178
- let z = h, R = !1;
179
- h.endsWith(ae) ? (z = h.slice(0, -1), R = !0) : (
180
- /**
181
- * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
182
- * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
183
- */
184
- h.startsWith(ae) && (z = h.slice(1), R = !0)
185
- );
186
- const I = f && f > c ? f - c : void 0;
187
- return Se(i, R, z, I);
188
- };
189
- if (t) {
190
- const s = t + xe, i = o;
191
- o = (n) => n.startsWith(s) ? i(n.slice(s.length)) : Se(gt, !1, n, void 0, !0);
192
- }
193
- if (r) {
194
- const s = o;
195
- o = (i) => r({
196
- className: i,
197
- parseClassName: s
198
- });
199
- }
200
- return o;
201
- }, ft = (e) => {
202
- const t = /* @__PURE__ */ new Map();
203
- return e.orderSensitiveModifiers.forEach((r, o) => {
204
- t.set(r, 1e6 + o);
205
- }), (r) => {
206
- const o = [];
207
- let s = [];
208
- for (let i = 0; i < r.length; i++) {
209
- const n = r[i], l = n[0] === "[", c = t.has(n);
210
- l || c ? (s.length > 0 && (s.sort(), o.push(...s), s = []), o.push(n)) : s.push(n);
211
- }
212
- return s.length > 0 && (s.sort(), o.push(...s)), o;
213
- };
214
- }, pt = (e) => ({
215
- cache: ut(e.cacheSize),
216
- parseClassName: mt(e),
217
- sortModifiers: ft(e),
218
- ...rt(e)
219
- }), ht = /\s+/, bt = (e, t) => {
220
- const {
221
- parseClassName: r,
222
- getClassGroupId: o,
223
- getConflictingClassGroupIds: s,
224
- sortModifiers: i
225
- } = t, n = [], l = e.trim().split(ht);
226
- let c = "";
227
- for (let f = l.length - 1; f >= 0; f -= 1) {
228
- const p = l[f], {
229
- isExternal: h,
230
- modifiers: z,
231
- hasImportantModifier: R,
232
- baseClassName: I,
233
- maybePostfixModifierPosition: S
234
- } = r(p);
235
- if (h) {
236
- c = p + (c.length > 0 ? " " + c : c);
237
- continue;
238
- }
239
- let k = !!S, P = o(k ? I.substring(0, S) : I);
240
- if (!P) {
241
- if (!k) {
242
- c = p + (c.length > 0 ? " " + c : c);
243
- continue;
244
- }
245
- if (P = o(I), !P) {
246
- c = p + (c.length > 0 ? " " + c : c);
247
- continue;
248
- }
249
- k = !1;
250
- }
251
- const B = z.length === 0 ? "" : z.length === 1 ? z[0] : i(z).join(":"), j = R ? B + ae : B, O = j + P;
252
- if (n.indexOf(O) > -1)
253
- continue;
254
- n.push(O);
255
- const G = s(P, k);
256
- for (let E = 0; E < G.length; ++E) {
257
- const W = G[E];
258
- n.push(j + W);
259
- }
260
- c = p + (c.length > 0 ? " " + c : c);
261
- }
262
- return c;
263
- }, wt = (...e) => {
264
- let t = 0, r, o, s = "";
265
- for (; t < e.length; )
266
- (r = e[t++]) && (o = Pe(r)) && (s && (s += " "), s += o);
267
- return s;
268
- }, Pe = (e) => {
269
- if (typeof e == "string")
270
- return e;
271
- let t, r = "";
272
- for (let o = 0; o < e.length; o++)
273
- e[o] && (t = Pe(e[o])) && (r && (r += " "), r += t);
274
- return r;
275
- }, yt = (e, ...t) => {
276
- let r, o, s, i;
277
- const n = (c) => {
278
- const f = t.reduce((p, h) => h(p), e());
279
- return r = pt(f), o = r.cache.get, s = r.cache.set, i = l, l(c);
280
- }, l = (c) => {
281
- const f = o(c);
282
- if (f)
283
- return f;
284
- const p = bt(c, r);
285
- return s(c, p), p;
286
- };
287
- return i = n, (...c) => i(wt(...c));
288
- }, vt = [], b = (e) => {
289
- const t = (r) => r[e] || vt;
290
- return t.isThemeGetter = !0, t;
291
- }, Ee = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, Ne = /^\((?:(\w[\w-]*):)?(.+)\)$/i, kt = /^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/, xt = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, St = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, _t = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, zt = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, Ct = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, A = (e) => kt.test(e), m = (e) => !!e && !Number.isNaN(Number(e)), T = (e) => !!e && Number.isInteger(Number(e)), ie = (e) => e.endsWith("%") && m(e.slice(0, -1)), C = (e) => xt.test(e), De = () => !0, At = (e) => (
292
- // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
293
- // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
294
- // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
295
- St.test(e) && !_t.test(e)
296
- ), ce = () => !1, Tt = (e) => zt.test(e), Mt = (e) => Ct.test(e), Rt = (e) => !a(e) && !d(e), It = (e) => M(e, Ge, ce), a = (e) => Ee.test(e), D = (e) => M(e, Fe, At), _e = (e) => M(e, Ft, m), Pt = (e) => M(e, We, De), Et = (e) => M(e, je, ce), ze = (e) => M(e, Le, ce), Nt = (e) => M(e, Oe, Mt), J = (e) => M(e, Ue, Tt), d = (e) => Ne.test(e), U = (e) => L(e, Fe), Dt = (e) => L(e, je), Ce = (e) => L(e, Le), Lt = (e) => L(e, Ge), Ot = (e) => L(e, Oe), Q = (e) => L(e, Ue, !0), Gt = (e) => L(e, We, !0), M = (e, t, r) => {
297
- const o = Ee.exec(e);
298
- return o ? o[1] ? t(o[1]) : r(o[2]) : !1;
299
- }, L = (e, t, r = !1) => {
300
- const o = Ne.exec(e);
301
- return o ? o[1] ? t(o[1]) : r : !1;
302
- }, Le = (e) => e === "position" || e === "percentage", Oe = (e) => e === "image" || e === "url", Ge = (e) => e === "length" || e === "size" || e === "bg-size", Fe = (e) => e === "length", Ft = (e) => e === "number", je = (e) => e === "family-name", We = (e) => e === "number" || e === "weight", Ue = (e) => e === "shadow", jt = () => {
303
- const e = b("color"), t = b("font"), r = b("text"), o = b("font-weight"), s = b("tracking"), i = b("leading"), n = b("breakpoint"), l = b("container"), c = b("spacing"), f = b("radius"), p = b("shadow"), h = b("inset-shadow"), z = b("text-shadow"), R = b("drop-shadow"), I = b("blur"), S = b("perspective"), k = b("aspect"), P = b("ease"), B = b("animate"), j = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], O = () => [
304
- "center",
305
- "top",
306
- "bottom",
307
- "left",
308
- "right",
309
- "top-left",
310
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
311
- "left-top",
312
- "top-right",
313
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
314
- "right-top",
315
- "bottom-right",
316
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
317
- "right-bottom",
318
- "bottom-left",
319
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
320
- "left-bottom"
321
- ], G = () => [...O(), d, a], E = () => ["auto", "hidden", "clip", "visible", "scroll"], W = () => ["auto", "contain", "none"], u = () => [d, a, c], x = () => [A, "full", "auto", ...u()], ge = () => [T, "none", "subgrid", d, a], me = () => ["auto", {
322
- span: ["full", T, d, a]
323
- }, T, d, a], H = () => [T, "auto", d, a], fe = () => ["auto", "min", "max", "fr", d, a], te = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], F = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], _ = () => ["auto", ...u()], N = () => [A, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...u()], re = () => [A, "screen", "full", "dvw", "lvw", "svw", "min", "max", "fit", ...u()], oe = () => [A, "screen", "full", "lh", "dvh", "lvh", "svh", "min", "max", "fit", ...u()], g = () => [e, d, a], pe = () => [...O(), Ce, ze, {
324
- position: [d, a]
325
- }], he = () => ["no-repeat", {
326
- repeat: ["", "x", "y", "space", "round"]
327
- }], be = () => ["auto", "cover", "contain", Lt, It, {
328
- size: [d, a]
329
- }], se = () => [ie, U, D], y = () => [
330
- // Deprecated since Tailwind CSS v4.0.0
331
- "",
332
- "none",
333
- "full",
334
- f,
335
- d,
336
- a
337
- ], v = () => ["", m, U, D], Z = () => ["solid", "dashed", "dotted", "double"], we = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], w = () => [m, ie, Ce, ze], ye = () => [
338
- // Deprecated since Tailwind CSS v4.0.0
339
- "",
340
- "none",
341
- I,
342
- d,
343
- a
344
- ], K = () => ["none", m, d, a], Y = () => ["none", m, d, a], ne = () => [m, d, a], q = () => [A, "full", ...u()];
345
- return {
346
- cacheSize: 500,
347
- theme: {
348
- animate: ["spin", "ping", "pulse", "bounce"],
349
- aspect: ["video"],
350
- blur: [C],
351
- breakpoint: [C],
352
- color: [De],
353
- container: [C],
354
- "drop-shadow": [C],
355
- ease: ["in", "out", "in-out"],
356
- font: [Rt],
357
- "font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
358
- "inset-shadow": [C],
359
- leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
360
- perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"],
361
- radius: [C],
362
- shadow: [C],
363
- spacing: ["px", m],
364
- text: [C],
365
- "text-shadow": [C],
366
- tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"]
367
- },
368
- classGroups: {
369
- // --------------
370
- // --- Layout ---
371
- // --------------
372
- /**
373
- * Aspect Ratio
374
- * @see https://tailwindcss.com/docs/aspect-ratio
375
- */
376
- aspect: [{
377
- aspect: ["auto", "square", A, a, d, k]
378
- }],
379
- /**
380
- * Container
381
- * @see https://tailwindcss.com/docs/container
382
- * @deprecated since Tailwind CSS v4.0.0
383
- */
384
- container: ["container"],
385
- /**
386
- * Columns
387
- * @see https://tailwindcss.com/docs/columns
388
- */
389
- columns: [{
390
- columns: [m, a, d, l]
391
- }],
392
- /**
393
- * Break After
394
- * @see https://tailwindcss.com/docs/break-after
395
- */
396
- "break-after": [{
397
- "break-after": j()
398
- }],
399
- /**
400
- * Break Before
401
- * @see https://tailwindcss.com/docs/break-before
402
- */
403
- "break-before": [{
404
- "break-before": j()
405
- }],
406
- /**
407
- * Break Inside
408
- * @see https://tailwindcss.com/docs/break-inside
409
- */
410
- "break-inside": [{
411
- "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
412
- }],
413
- /**
414
- * Box Decoration Break
415
- * @see https://tailwindcss.com/docs/box-decoration-break
416
- */
417
- "box-decoration": [{
418
- "box-decoration": ["slice", "clone"]
419
- }],
420
- /**
421
- * Box Sizing
422
- * @see https://tailwindcss.com/docs/box-sizing
423
- */
424
- box: [{
425
- box: ["border", "content"]
426
- }],
427
- /**
428
- * Display
429
- * @see https://tailwindcss.com/docs/display
430
- */
431
- display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
432
- /**
433
- * Screen Reader Only
434
- * @see https://tailwindcss.com/docs/display#screen-reader-only
435
- */
436
- sr: ["sr-only", "not-sr-only"],
437
- /**
438
- * Floats
439
- * @see https://tailwindcss.com/docs/float
440
- */
441
- float: [{
442
- float: ["right", "left", "none", "start", "end"]
443
- }],
444
- /**
445
- * Clear
446
- * @see https://tailwindcss.com/docs/clear
447
- */
448
- clear: [{
449
- clear: ["left", "right", "both", "none", "start", "end"]
450
- }],
451
- /**
452
- * Isolation
453
- * @see https://tailwindcss.com/docs/isolation
454
- */
455
- isolation: ["isolate", "isolation-auto"],
456
- /**
457
- * Object Fit
458
- * @see https://tailwindcss.com/docs/object-fit
459
- */
460
- "object-fit": [{
461
- object: ["contain", "cover", "fill", "none", "scale-down"]
462
- }],
463
- /**
464
- * Object Position
465
- * @see https://tailwindcss.com/docs/object-position
466
- */
467
- "object-position": [{
468
- object: G()
469
- }],
470
- /**
471
- * Overflow
472
- * @see https://tailwindcss.com/docs/overflow
473
- */
474
- overflow: [{
475
- overflow: E()
476
- }],
477
- /**
478
- * Overflow X
479
- * @see https://tailwindcss.com/docs/overflow
480
- */
481
- "overflow-x": [{
482
- "overflow-x": E()
483
- }],
484
- /**
485
- * Overflow Y
486
- * @see https://tailwindcss.com/docs/overflow
487
- */
488
- "overflow-y": [{
489
- "overflow-y": E()
490
- }],
491
- /**
492
- * Overscroll Behavior
493
- * @see https://tailwindcss.com/docs/overscroll-behavior
494
- */
495
- overscroll: [{
496
- overscroll: W()
497
- }],
498
- /**
499
- * Overscroll Behavior X
500
- * @see https://tailwindcss.com/docs/overscroll-behavior
501
- */
502
- "overscroll-x": [{
503
- "overscroll-x": W()
504
- }],
505
- /**
506
- * Overscroll Behavior Y
507
- * @see https://tailwindcss.com/docs/overscroll-behavior
508
- */
509
- "overscroll-y": [{
510
- "overscroll-y": W()
511
- }],
512
- /**
513
- * Position
514
- * @see https://tailwindcss.com/docs/position
515
- */
516
- position: ["static", "fixed", "absolute", "relative", "sticky"],
517
- /**
518
- * Inset
519
- * @see https://tailwindcss.com/docs/top-right-bottom-left
520
- */
521
- inset: [{
522
- inset: x()
523
- }],
524
- /**
525
- * Inset Inline
526
- * @see https://tailwindcss.com/docs/top-right-bottom-left
527
- */
528
- "inset-x": [{
529
- "inset-x": x()
530
- }],
531
- /**
532
- * Inset Block
533
- * @see https://tailwindcss.com/docs/top-right-bottom-left
534
- */
535
- "inset-y": [{
536
- "inset-y": x()
537
- }],
538
- /**
539
- * Inset Inline Start
540
- * @see https://tailwindcss.com/docs/top-right-bottom-left
541
- * @todo class group will be renamed to `inset-s` in next major release
542
- */
543
- start: [{
544
- "inset-s": x(),
545
- /**
546
- * @deprecated since Tailwind CSS v4.2.0 in favor of `inset-s-*` utilities.
547
- * @see https://github.com/tailwindlabs/tailwindcss/pull/19613
548
- */
549
- start: x()
550
- }],
551
- /**
552
- * Inset Inline End
553
- * @see https://tailwindcss.com/docs/top-right-bottom-left
554
- * @todo class group will be renamed to `inset-e` in next major release
555
- */
556
- end: [{
557
- "inset-e": x(),
558
- /**
559
- * @deprecated since Tailwind CSS v4.2.0 in favor of `inset-e-*` utilities.
560
- * @see https://github.com/tailwindlabs/tailwindcss/pull/19613
561
- */
562
- end: x()
563
- }],
564
- /**
565
- * Inset Block Start
566
- * @see https://tailwindcss.com/docs/top-right-bottom-left
567
- */
568
- "inset-bs": [{
569
- "inset-bs": x()
570
- }],
571
- /**
572
- * Inset Block End
573
- * @see https://tailwindcss.com/docs/top-right-bottom-left
574
- */
575
- "inset-be": [{
576
- "inset-be": x()
577
- }],
578
- /**
579
- * Top
580
- * @see https://tailwindcss.com/docs/top-right-bottom-left
581
- */
582
- top: [{
583
- top: x()
584
- }],
585
- /**
586
- * Right
587
- * @see https://tailwindcss.com/docs/top-right-bottom-left
588
- */
589
- right: [{
590
- right: x()
591
- }],
592
- /**
593
- * Bottom
594
- * @see https://tailwindcss.com/docs/top-right-bottom-left
595
- */
596
- bottom: [{
597
- bottom: x()
598
- }],
599
- /**
600
- * Left
601
- * @see https://tailwindcss.com/docs/top-right-bottom-left
602
- */
603
- left: [{
604
- left: x()
605
- }],
606
- /**
607
- * Visibility
608
- * @see https://tailwindcss.com/docs/visibility
609
- */
610
- visibility: ["visible", "invisible", "collapse"],
611
- /**
612
- * Z-Index
613
- * @see https://tailwindcss.com/docs/z-index
614
- */
615
- z: [{
616
- z: [T, "auto", d, a]
617
- }],
618
- // ------------------------
619
- // --- Flexbox and Grid ---
620
- // ------------------------
621
- /**
622
- * Flex Basis
623
- * @see https://tailwindcss.com/docs/flex-basis
624
- */
625
- basis: [{
626
- basis: [A, "full", "auto", l, ...u()]
627
- }],
628
- /**
629
- * Flex Direction
630
- * @see https://tailwindcss.com/docs/flex-direction
631
- */
632
- "flex-direction": [{
633
- flex: ["row", "row-reverse", "col", "col-reverse"]
634
- }],
635
- /**
636
- * Flex Wrap
637
- * @see https://tailwindcss.com/docs/flex-wrap
638
- */
639
- "flex-wrap": [{
640
- flex: ["nowrap", "wrap", "wrap-reverse"]
641
- }],
642
- /**
643
- * Flex
644
- * @see https://tailwindcss.com/docs/flex
645
- */
646
- flex: [{
647
- flex: [m, A, "auto", "initial", "none", a]
648
- }],
649
- /**
650
- * Flex Grow
651
- * @see https://tailwindcss.com/docs/flex-grow
652
- */
653
- grow: [{
654
- grow: ["", m, d, a]
655
- }],
656
- /**
657
- * Flex Shrink
658
- * @see https://tailwindcss.com/docs/flex-shrink
659
- */
660
- shrink: [{
661
- shrink: ["", m, d, a]
662
- }],
663
- /**
664
- * Order
665
- * @see https://tailwindcss.com/docs/order
666
- */
667
- order: [{
668
- order: [T, "first", "last", "none", d, a]
669
- }],
670
- /**
671
- * Grid Template Columns
672
- * @see https://tailwindcss.com/docs/grid-template-columns
673
- */
674
- "grid-cols": [{
675
- "grid-cols": ge()
676
- }],
677
- /**
678
- * Grid Column Start / End
679
- * @see https://tailwindcss.com/docs/grid-column
680
- */
681
- "col-start-end": [{
682
- col: me()
683
- }],
684
- /**
685
- * Grid Column Start
686
- * @see https://tailwindcss.com/docs/grid-column
687
- */
688
- "col-start": [{
689
- "col-start": H()
690
- }],
691
- /**
692
- * Grid Column End
693
- * @see https://tailwindcss.com/docs/grid-column
694
- */
695
- "col-end": [{
696
- "col-end": H()
697
- }],
698
- /**
699
- * Grid Template Rows
700
- * @see https://tailwindcss.com/docs/grid-template-rows
701
- */
702
- "grid-rows": [{
703
- "grid-rows": ge()
704
- }],
705
- /**
706
- * Grid Row Start / End
707
- * @see https://tailwindcss.com/docs/grid-row
708
- */
709
- "row-start-end": [{
710
- row: me()
711
- }],
712
- /**
713
- * Grid Row Start
714
- * @see https://tailwindcss.com/docs/grid-row
715
- */
716
- "row-start": [{
717
- "row-start": H()
718
- }],
719
- /**
720
- * Grid Row End
721
- * @see https://tailwindcss.com/docs/grid-row
722
- */
723
- "row-end": [{
724
- "row-end": H()
725
- }],
726
- /**
727
- * Grid Auto Flow
728
- * @see https://tailwindcss.com/docs/grid-auto-flow
729
- */
730
- "grid-flow": [{
731
- "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
732
- }],
733
- /**
734
- * Grid Auto Columns
735
- * @see https://tailwindcss.com/docs/grid-auto-columns
736
- */
737
- "auto-cols": [{
738
- "auto-cols": fe()
739
- }],
740
- /**
741
- * Grid Auto Rows
742
- * @see https://tailwindcss.com/docs/grid-auto-rows
743
- */
744
- "auto-rows": [{
745
- "auto-rows": fe()
746
- }],
747
- /**
748
- * Gap
749
- * @see https://tailwindcss.com/docs/gap
750
- */
751
- gap: [{
752
- gap: u()
753
- }],
754
- /**
755
- * Gap X
756
- * @see https://tailwindcss.com/docs/gap
757
- */
758
- "gap-x": [{
759
- "gap-x": u()
760
- }],
761
- /**
762
- * Gap Y
763
- * @see https://tailwindcss.com/docs/gap
764
- */
765
- "gap-y": [{
766
- "gap-y": u()
767
- }],
768
- /**
769
- * Justify Content
770
- * @see https://tailwindcss.com/docs/justify-content
771
- */
772
- "justify-content": [{
773
- justify: [...te(), "normal"]
774
- }],
775
- /**
776
- * Justify Items
777
- * @see https://tailwindcss.com/docs/justify-items
778
- */
779
- "justify-items": [{
780
- "justify-items": [...F(), "normal"]
781
- }],
782
- /**
783
- * Justify Self
784
- * @see https://tailwindcss.com/docs/justify-self
785
- */
786
- "justify-self": [{
787
- "justify-self": ["auto", ...F()]
788
- }],
789
- /**
790
- * Align Content
791
- * @see https://tailwindcss.com/docs/align-content
792
- */
793
- "align-content": [{
794
- content: ["normal", ...te()]
795
- }],
796
- /**
797
- * Align Items
798
- * @see https://tailwindcss.com/docs/align-items
799
- */
800
- "align-items": [{
801
- items: [...F(), {
802
- baseline: ["", "last"]
803
- }]
804
- }],
805
- /**
806
- * Align Self
807
- * @see https://tailwindcss.com/docs/align-self
808
- */
809
- "align-self": [{
810
- self: ["auto", ...F(), {
811
- baseline: ["", "last"]
812
- }]
813
- }],
814
- /**
815
- * Place Content
816
- * @see https://tailwindcss.com/docs/place-content
817
- */
818
- "place-content": [{
819
- "place-content": te()
820
- }],
821
- /**
822
- * Place Items
823
- * @see https://tailwindcss.com/docs/place-items
824
- */
825
- "place-items": [{
826
- "place-items": [...F(), "baseline"]
827
- }],
828
- /**
829
- * Place Self
830
- * @see https://tailwindcss.com/docs/place-self
831
- */
832
- "place-self": [{
833
- "place-self": ["auto", ...F()]
834
- }],
835
- // Spacing
836
- /**
837
- * Padding
838
- * @see https://tailwindcss.com/docs/padding
839
- */
840
- p: [{
841
- p: u()
842
- }],
843
- /**
844
- * Padding Inline
845
- * @see https://tailwindcss.com/docs/padding
846
- */
847
- px: [{
848
- px: u()
849
- }],
850
- /**
851
- * Padding Block
852
- * @see https://tailwindcss.com/docs/padding
853
- */
854
- py: [{
855
- py: u()
856
- }],
857
- /**
858
- * Padding Inline Start
859
- * @see https://tailwindcss.com/docs/padding
860
- */
861
- ps: [{
862
- ps: u()
863
- }],
864
- /**
865
- * Padding Inline End
866
- * @see https://tailwindcss.com/docs/padding
867
- */
868
- pe: [{
869
- pe: u()
870
- }],
871
- /**
872
- * Padding Block Start
873
- * @see https://tailwindcss.com/docs/padding
874
- */
875
- pbs: [{
876
- pbs: u()
877
- }],
878
- /**
879
- * Padding Block End
880
- * @see https://tailwindcss.com/docs/padding
881
- */
882
- pbe: [{
883
- pbe: u()
884
- }],
885
- /**
886
- * Padding Top
887
- * @see https://tailwindcss.com/docs/padding
888
- */
889
- pt: [{
890
- pt: u()
891
- }],
892
- /**
893
- * Padding Right
894
- * @see https://tailwindcss.com/docs/padding
895
- */
896
- pr: [{
897
- pr: u()
898
- }],
899
- /**
900
- * Padding Bottom
901
- * @see https://tailwindcss.com/docs/padding
902
- */
903
- pb: [{
904
- pb: u()
905
- }],
906
- /**
907
- * Padding Left
908
- * @see https://tailwindcss.com/docs/padding
909
- */
910
- pl: [{
911
- pl: u()
912
- }],
913
- /**
914
- * Margin
915
- * @see https://tailwindcss.com/docs/margin
916
- */
917
- m: [{
918
- m: _()
919
- }],
920
- /**
921
- * Margin Inline
922
- * @see https://tailwindcss.com/docs/margin
923
- */
924
- mx: [{
925
- mx: _()
926
- }],
927
- /**
928
- * Margin Block
929
- * @see https://tailwindcss.com/docs/margin
930
- */
931
- my: [{
932
- my: _()
933
- }],
934
- /**
935
- * Margin Inline Start
936
- * @see https://tailwindcss.com/docs/margin
937
- */
938
- ms: [{
939
- ms: _()
940
- }],
941
- /**
942
- * Margin Inline End
943
- * @see https://tailwindcss.com/docs/margin
944
- */
945
- me: [{
946
- me: _()
947
- }],
948
- /**
949
- * Margin Block Start
950
- * @see https://tailwindcss.com/docs/margin
951
- */
952
- mbs: [{
953
- mbs: _()
954
- }],
955
- /**
956
- * Margin Block End
957
- * @see https://tailwindcss.com/docs/margin
958
- */
959
- mbe: [{
960
- mbe: _()
961
- }],
962
- /**
963
- * Margin Top
964
- * @see https://tailwindcss.com/docs/margin
965
- */
966
- mt: [{
967
- mt: _()
968
- }],
969
- /**
970
- * Margin Right
971
- * @see https://tailwindcss.com/docs/margin
972
- */
973
- mr: [{
974
- mr: _()
975
- }],
976
- /**
977
- * Margin Bottom
978
- * @see https://tailwindcss.com/docs/margin
979
- */
980
- mb: [{
981
- mb: _()
982
- }],
983
- /**
984
- * Margin Left
985
- * @see https://tailwindcss.com/docs/margin
986
- */
987
- ml: [{
988
- ml: _()
989
- }],
990
- /**
991
- * Space Between X
992
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
993
- */
994
- "space-x": [{
995
- "space-x": u()
996
- }],
997
- /**
998
- * Space Between X Reverse
999
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1000
- */
1001
- "space-x-reverse": ["space-x-reverse"],
1002
- /**
1003
- * Space Between Y
1004
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1005
- */
1006
- "space-y": [{
1007
- "space-y": u()
1008
- }],
1009
- /**
1010
- * Space Between Y Reverse
1011
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1012
- */
1013
- "space-y-reverse": ["space-y-reverse"],
1014
- // --------------
1015
- // --- Sizing ---
1016
- // --------------
1017
- /**
1018
- * Size
1019
- * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
1020
- */
1021
- size: [{
1022
- size: N()
1023
- }],
1024
- /**
1025
- * Inline Size
1026
- * @see https://tailwindcss.com/docs/width
1027
- */
1028
- "inline-size": [{
1029
- inline: ["auto", ...re()]
1030
- }],
1031
- /**
1032
- * Min-Inline Size
1033
- * @see https://tailwindcss.com/docs/min-width
1034
- */
1035
- "min-inline-size": [{
1036
- "min-inline": ["auto", ...re()]
1037
- }],
1038
- /**
1039
- * Max-Inline Size
1040
- * @see https://tailwindcss.com/docs/max-width
1041
- */
1042
- "max-inline-size": [{
1043
- "max-inline": ["none", ...re()]
1044
- }],
1045
- /**
1046
- * Block Size
1047
- * @see https://tailwindcss.com/docs/height
1048
- */
1049
- "block-size": [{
1050
- block: ["auto", ...oe()]
1051
- }],
1052
- /**
1053
- * Min-Block Size
1054
- * @see https://tailwindcss.com/docs/min-height
1055
- */
1056
- "min-block-size": [{
1057
- "min-block": ["auto", ...oe()]
1058
- }],
1059
- /**
1060
- * Max-Block Size
1061
- * @see https://tailwindcss.com/docs/max-height
1062
- */
1063
- "max-block-size": [{
1064
- "max-block": ["none", ...oe()]
1065
- }],
1066
- /**
1067
- * Width
1068
- * @see https://tailwindcss.com/docs/width
1069
- */
1070
- w: [{
1071
- w: [l, "screen", ...N()]
1072
- }],
1073
- /**
1074
- * Min-Width
1075
- * @see https://tailwindcss.com/docs/min-width
1076
- */
1077
- "min-w": [{
1078
- "min-w": [
1079
- l,
1080
- "screen",
1081
- /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1082
- "none",
1083
- ...N()
1084
- ]
1085
- }],
1086
- /**
1087
- * Max-Width
1088
- * @see https://tailwindcss.com/docs/max-width
1089
- */
1090
- "max-w": [{
1091
- "max-w": [
1092
- l,
1093
- "screen",
1094
- "none",
1095
- /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1096
- "prose",
1097
- /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1098
- {
1099
- screen: [n]
1100
- },
1101
- ...N()
1102
- ]
1103
- }],
1104
- /**
1105
- * Height
1106
- * @see https://tailwindcss.com/docs/height
1107
- */
1108
- h: [{
1109
- h: ["screen", "lh", ...N()]
1110
- }],
1111
- /**
1112
- * Min-Height
1113
- * @see https://tailwindcss.com/docs/min-height
1114
- */
1115
- "min-h": [{
1116
- "min-h": ["screen", "lh", "none", ...N()]
1117
- }],
1118
- /**
1119
- * Max-Height
1120
- * @see https://tailwindcss.com/docs/max-height
1121
- */
1122
- "max-h": [{
1123
- "max-h": ["screen", "lh", ...N()]
1124
- }],
1125
- // ------------------
1126
- // --- Typography ---
1127
- // ------------------
1128
- /**
1129
- * Font Size
1130
- * @see https://tailwindcss.com/docs/font-size
1131
- */
1132
- "font-size": [{
1133
- text: ["base", r, U, D]
1134
- }],
1135
- /**
1136
- * Font Smoothing
1137
- * @see https://tailwindcss.com/docs/font-smoothing
1138
- */
1139
- "font-smoothing": ["antialiased", "subpixel-antialiased"],
1140
- /**
1141
- * Font Style
1142
- * @see https://tailwindcss.com/docs/font-style
1143
- */
1144
- "font-style": ["italic", "not-italic"],
1145
- /**
1146
- * Font Weight
1147
- * @see https://tailwindcss.com/docs/font-weight
1148
- */
1149
- "font-weight": [{
1150
- font: [o, Gt, Pt]
1151
- }],
1152
- /**
1153
- * Font Stretch
1154
- * @see https://tailwindcss.com/docs/font-stretch
1155
- */
1156
- "font-stretch": [{
1157
- "font-stretch": ["ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded", ie, a]
1158
- }],
1159
- /**
1160
- * Font Family
1161
- * @see https://tailwindcss.com/docs/font-family
1162
- */
1163
- "font-family": [{
1164
- font: [Dt, Et, t]
1165
- }],
1166
- /**
1167
- * Font Feature Settings
1168
- * @see https://tailwindcss.com/docs/font-feature-settings
1169
- */
1170
- "font-features": [{
1171
- "font-features": [a]
1172
- }],
1173
- /**
1174
- * Font Variant Numeric
1175
- * @see https://tailwindcss.com/docs/font-variant-numeric
1176
- */
1177
- "fvn-normal": ["normal-nums"],
1178
- /**
1179
- * Font Variant Numeric
1180
- * @see https://tailwindcss.com/docs/font-variant-numeric
1181
- */
1182
- "fvn-ordinal": ["ordinal"],
1183
- /**
1184
- * Font Variant Numeric
1185
- * @see https://tailwindcss.com/docs/font-variant-numeric
1186
- */
1187
- "fvn-slashed-zero": ["slashed-zero"],
1188
- /**
1189
- * Font Variant Numeric
1190
- * @see https://tailwindcss.com/docs/font-variant-numeric
1191
- */
1192
- "fvn-figure": ["lining-nums", "oldstyle-nums"],
1193
- /**
1194
- * Font Variant Numeric
1195
- * @see https://tailwindcss.com/docs/font-variant-numeric
1196
- */
1197
- "fvn-spacing": ["proportional-nums", "tabular-nums"],
1198
- /**
1199
- * Font Variant Numeric
1200
- * @see https://tailwindcss.com/docs/font-variant-numeric
1201
- */
1202
- "fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
1203
- /**
1204
- * Letter Spacing
1205
- * @see https://tailwindcss.com/docs/letter-spacing
1206
- */
1207
- tracking: [{
1208
- tracking: [s, d, a]
1209
- }],
1210
- /**
1211
- * Line Clamp
1212
- * @see https://tailwindcss.com/docs/line-clamp
1213
- */
1214
- "line-clamp": [{
1215
- "line-clamp": [m, "none", d, _e]
1216
- }],
1217
- /**
1218
- * Line Height
1219
- * @see https://tailwindcss.com/docs/line-height
1220
- */
1221
- leading: [{
1222
- leading: [
1223
- /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1224
- i,
1225
- ...u()
1226
- ]
1227
- }],
1228
- /**
1229
- * List Style Image
1230
- * @see https://tailwindcss.com/docs/list-style-image
1231
- */
1232
- "list-image": [{
1233
- "list-image": ["none", d, a]
1234
- }],
1235
- /**
1236
- * List Style Position
1237
- * @see https://tailwindcss.com/docs/list-style-position
1238
- */
1239
- "list-style-position": [{
1240
- list: ["inside", "outside"]
1241
- }],
1242
- /**
1243
- * List Style Type
1244
- * @see https://tailwindcss.com/docs/list-style-type
1245
- */
1246
- "list-style-type": [{
1247
- list: ["disc", "decimal", "none", d, a]
1248
- }],
1249
- /**
1250
- * Text Alignment
1251
- * @see https://tailwindcss.com/docs/text-align
1252
- */
1253
- "text-alignment": [{
1254
- text: ["left", "center", "right", "justify", "start", "end"]
1255
- }],
1256
- /**
1257
- * Placeholder Color
1258
- * @deprecated since Tailwind CSS v3.0.0
1259
- * @see https://v3.tailwindcss.com/docs/placeholder-color
1260
- */
1261
- "placeholder-color": [{
1262
- placeholder: g()
1263
- }],
1264
- /**
1265
- * Text Color
1266
- * @see https://tailwindcss.com/docs/text-color
1267
- */
1268
- "text-color": [{
1269
- text: g()
1270
- }],
1271
- /**
1272
- * Text Decoration
1273
- * @see https://tailwindcss.com/docs/text-decoration
1274
- */
1275
- "text-decoration": ["underline", "overline", "line-through", "no-underline"],
1276
- /**
1277
- * Text Decoration Style
1278
- * @see https://tailwindcss.com/docs/text-decoration-style
1279
- */
1280
- "text-decoration-style": [{
1281
- decoration: [...Z(), "wavy"]
1282
- }],
1283
- /**
1284
- * Text Decoration Thickness
1285
- * @see https://tailwindcss.com/docs/text-decoration-thickness
1286
- */
1287
- "text-decoration-thickness": [{
1288
- decoration: [m, "from-font", "auto", d, D]
1289
- }],
1290
- /**
1291
- * Text Decoration Color
1292
- * @see https://tailwindcss.com/docs/text-decoration-color
1293
- */
1294
- "text-decoration-color": [{
1295
- decoration: g()
1296
- }],
1297
- /**
1298
- * Text Underline Offset
1299
- * @see https://tailwindcss.com/docs/text-underline-offset
1300
- */
1301
- "underline-offset": [{
1302
- "underline-offset": [m, "auto", d, a]
1303
- }],
1304
- /**
1305
- * Text Transform
1306
- * @see https://tailwindcss.com/docs/text-transform
1307
- */
1308
- "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
1309
- /**
1310
- * Text Overflow
1311
- * @see https://tailwindcss.com/docs/text-overflow
1312
- */
1313
- "text-overflow": ["truncate", "text-ellipsis", "text-clip"],
1314
- /**
1315
- * Text Wrap
1316
- * @see https://tailwindcss.com/docs/text-wrap
1317
- */
1318
- "text-wrap": [{
1319
- text: ["wrap", "nowrap", "balance", "pretty"]
1320
- }],
1321
- /**
1322
- * Text Indent
1323
- * @see https://tailwindcss.com/docs/text-indent
1324
- */
1325
- indent: [{
1326
- indent: u()
1327
- }],
1328
- /**
1329
- * Vertical Alignment
1330
- * @see https://tailwindcss.com/docs/vertical-align
1331
- */
1332
- "vertical-align": [{
1333
- align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", d, a]
1334
- }],
1335
- /**
1336
- * Whitespace
1337
- * @see https://tailwindcss.com/docs/whitespace
1338
- */
1339
- whitespace: [{
1340
- whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
1341
- }],
1342
- /**
1343
- * Word Break
1344
- * @see https://tailwindcss.com/docs/word-break
1345
- */
1346
- break: [{
1347
- break: ["normal", "words", "all", "keep"]
1348
- }],
1349
- /**
1350
- * Overflow Wrap
1351
- * @see https://tailwindcss.com/docs/overflow-wrap
1352
- */
1353
- wrap: [{
1354
- wrap: ["break-word", "anywhere", "normal"]
1355
- }],
1356
- /**
1357
- * Hyphens
1358
- * @see https://tailwindcss.com/docs/hyphens
1359
- */
1360
- hyphens: [{
1361
- hyphens: ["none", "manual", "auto"]
1362
- }],
1363
- /**
1364
- * Content
1365
- * @see https://tailwindcss.com/docs/content
1366
- */
1367
- content: [{
1368
- content: ["none", d, a]
1369
- }],
1370
- // -------------------
1371
- // --- Backgrounds ---
1372
- // -------------------
1373
- /**
1374
- * Background Attachment
1375
- * @see https://tailwindcss.com/docs/background-attachment
1376
- */
1377
- "bg-attachment": [{
1378
- bg: ["fixed", "local", "scroll"]
1379
- }],
1380
- /**
1381
- * Background Clip
1382
- * @see https://tailwindcss.com/docs/background-clip
1383
- */
1384
- "bg-clip": [{
1385
- "bg-clip": ["border", "padding", "content", "text"]
1386
- }],
1387
- /**
1388
- * Background Origin
1389
- * @see https://tailwindcss.com/docs/background-origin
1390
- */
1391
- "bg-origin": [{
1392
- "bg-origin": ["border", "padding", "content"]
1393
- }],
1394
- /**
1395
- * Background Position
1396
- * @see https://tailwindcss.com/docs/background-position
1397
- */
1398
- "bg-position": [{
1399
- bg: pe()
1400
- }],
1401
- /**
1402
- * Background Repeat
1403
- * @see https://tailwindcss.com/docs/background-repeat
1404
- */
1405
- "bg-repeat": [{
1406
- bg: he()
1407
- }],
1408
- /**
1409
- * Background Size
1410
- * @see https://tailwindcss.com/docs/background-size
1411
- */
1412
- "bg-size": [{
1413
- bg: be()
1414
- }],
1415
- /**
1416
- * Background Image
1417
- * @see https://tailwindcss.com/docs/background-image
1418
- */
1419
- "bg-image": [{
1420
- bg: ["none", {
1421
- linear: [{
1422
- to: ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
1423
- }, T, d, a],
1424
- radial: ["", d, a],
1425
- conic: [T, d, a]
1426
- }, Ot, Nt]
1427
- }],
1428
- /**
1429
- * Background Color
1430
- * @see https://tailwindcss.com/docs/background-color
1431
- */
1432
- "bg-color": [{
1433
- bg: g()
1434
- }],
1435
- /**
1436
- * Gradient Color Stops From Position
1437
- * @see https://tailwindcss.com/docs/gradient-color-stops
1438
- */
1439
- "gradient-from-pos": [{
1440
- from: se()
1441
- }],
1442
- /**
1443
- * Gradient Color Stops Via Position
1444
- * @see https://tailwindcss.com/docs/gradient-color-stops
1445
- */
1446
- "gradient-via-pos": [{
1447
- via: se()
1448
- }],
1449
- /**
1450
- * Gradient Color Stops To Position
1451
- * @see https://tailwindcss.com/docs/gradient-color-stops
1452
- */
1453
- "gradient-to-pos": [{
1454
- to: se()
1455
- }],
1456
- /**
1457
- * Gradient Color Stops From
1458
- * @see https://tailwindcss.com/docs/gradient-color-stops
1459
- */
1460
- "gradient-from": [{
1461
- from: g()
1462
- }],
1463
- /**
1464
- * Gradient Color Stops Via
1465
- * @see https://tailwindcss.com/docs/gradient-color-stops
1466
- */
1467
- "gradient-via": [{
1468
- via: g()
1469
- }],
1470
- /**
1471
- * Gradient Color Stops To
1472
- * @see https://tailwindcss.com/docs/gradient-color-stops
1473
- */
1474
- "gradient-to": [{
1475
- to: g()
1476
- }],
1477
- // ---------------
1478
- // --- Borders ---
1479
- // ---------------
1480
- /**
1481
- * Border Radius
1482
- * @see https://tailwindcss.com/docs/border-radius
1483
- */
1484
- rounded: [{
1485
- rounded: y()
1486
- }],
1487
- /**
1488
- * Border Radius Start
1489
- * @see https://tailwindcss.com/docs/border-radius
1490
- */
1491
- "rounded-s": [{
1492
- "rounded-s": y()
1493
- }],
1494
- /**
1495
- * Border Radius End
1496
- * @see https://tailwindcss.com/docs/border-radius
1497
- */
1498
- "rounded-e": [{
1499
- "rounded-e": y()
1500
- }],
1501
- /**
1502
- * Border Radius Top
1503
- * @see https://tailwindcss.com/docs/border-radius
1504
- */
1505
- "rounded-t": [{
1506
- "rounded-t": y()
1507
- }],
1508
- /**
1509
- * Border Radius Right
1510
- * @see https://tailwindcss.com/docs/border-radius
1511
- */
1512
- "rounded-r": [{
1513
- "rounded-r": y()
1514
- }],
1515
- /**
1516
- * Border Radius Bottom
1517
- * @see https://tailwindcss.com/docs/border-radius
1518
- */
1519
- "rounded-b": [{
1520
- "rounded-b": y()
1521
- }],
1522
- /**
1523
- * Border Radius Left
1524
- * @see https://tailwindcss.com/docs/border-radius
1525
- */
1526
- "rounded-l": [{
1527
- "rounded-l": y()
1528
- }],
1529
- /**
1530
- * Border Radius Start Start
1531
- * @see https://tailwindcss.com/docs/border-radius
1532
- */
1533
- "rounded-ss": [{
1534
- "rounded-ss": y()
1535
- }],
1536
- /**
1537
- * Border Radius Start End
1538
- * @see https://tailwindcss.com/docs/border-radius
1539
- */
1540
- "rounded-se": [{
1541
- "rounded-se": y()
1542
- }],
1543
- /**
1544
- * Border Radius End End
1545
- * @see https://tailwindcss.com/docs/border-radius
1546
- */
1547
- "rounded-ee": [{
1548
- "rounded-ee": y()
1549
- }],
1550
- /**
1551
- * Border Radius End Start
1552
- * @see https://tailwindcss.com/docs/border-radius
1553
- */
1554
- "rounded-es": [{
1555
- "rounded-es": y()
1556
- }],
1557
- /**
1558
- * Border Radius Top Left
1559
- * @see https://tailwindcss.com/docs/border-radius
1560
- */
1561
- "rounded-tl": [{
1562
- "rounded-tl": y()
1563
- }],
1564
- /**
1565
- * Border Radius Top Right
1566
- * @see https://tailwindcss.com/docs/border-radius
1567
- */
1568
- "rounded-tr": [{
1569
- "rounded-tr": y()
1570
- }],
1571
- /**
1572
- * Border Radius Bottom Right
1573
- * @see https://tailwindcss.com/docs/border-radius
1574
- */
1575
- "rounded-br": [{
1576
- "rounded-br": y()
1577
- }],
1578
- /**
1579
- * Border Radius Bottom Left
1580
- * @see https://tailwindcss.com/docs/border-radius
1581
- */
1582
- "rounded-bl": [{
1583
- "rounded-bl": y()
1584
- }],
1585
- /**
1586
- * Border Width
1587
- * @see https://tailwindcss.com/docs/border-width
1588
- */
1589
- "border-w": [{
1590
- border: v()
1591
- }],
1592
- /**
1593
- * Border Width Inline
1594
- * @see https://tailwindcss.com/docs/border-width
1595
- */
1596
- "border-w-x": [{
1597
- "border-x": v()
1598
- }],
1599
- /**
1600
- * Border Width Block
1601
- * @see https://tailwindcss.com/docs/border-width
1602
- */
1603
- "border-w-y": [{
1604
- "border-y": v()
1605
- }],
1606
- /**
1607
- * Border Width Inline Start
1608
- * @see https://tailwindcss.com/docs/border-width
1609
- */
1610
- "border-w-s": [{
1611
- "border-s": v()
1612
- }],
1613
- /**
1614
- * Border Width Inline End
1615
- * @see https://tailwindcss.com/docs/border-width
1616
- */
1617
- "border-w-e": [{
1618
- "border-e": v()
1619
- }],
1620
- /**
1621
- * Border Width Block Start
1622
- * @see https://tailwindcss.com/docs/border-width
1623
- */
1624
- "border-w-bs": [{
1625
- "border-bs": v()
1626
- }],
1627
- /**
1628
- * Border Width Block End
1629
- * @see https://tailwindcss.com/docs/border-width
1630
- */
1631
- "border-w-be": [{
1632
- "border-be": v()
1633
- }],
1634
- /**
1635
- * Border Width Top
1636
- * @see https://tailwindcss.com/docs/border-width
1637
- */
1638
- "border-w-t": [{
1639
- "border-t": v()
1640
- }],
1641
- /**
1642
- * Border Width Right
1643
- * @see https://tailwindcss.com/docs/border-width
1644
- */
1645
- "border-w-r": [{
1646
- "border-r": v()
1647
- }],
1648
- /**
1649
- * Border Width Bottom
1650
- * @see https://tailwindcss.com/docs/border-width
1651
- */
1652
- "border-w-b": [{
1653
- "border-b": v()
1654
- }],
1655
- /**
1656
- * Border Width Left
1657
- * @see https://tailwindcss.com/docs/border-width
1658
- */
1659
- "border-w-l": [{
1660
- "border-l": v()
1661
- }],
1662
- /**
1663
- * Divide Width X
1664
- * @see https://tailwindcss.com/docs/border-width#between-children
1665
- */
1666
- "divide-x": [{
1667
- "divide-x": v()
1668
- }],
1669
- /**
1670
- * Divide Width X Reverse
1671
- * @see https://tailwindcss.com/docs/border-width#between-children
1672
- */
1673
- "divide-x-reverse": ["divide-x-reverse"],
1674
- /**
1675
- * Divide Width Y
1676
- * @see https://tailwindcss.com/docs/border-width#between-children
1677
- */
1678
- "divide-y": [{
1679
- "divide-y": v()
1680
- }],
1681
- /**
1682
- * Divide Width Y Reverse
1683
- * @see https://tailwindcss.com/docs/border-width#between-children
1684
- */
1685
- "divide-y-reverse": ["divide-y-reverse"],
1686
- /**
1687
- * Border Style
1688
- * @see https://tailwindcss.com/docs/border-style
1689
- */
1690
- "border-style": [{
1691
- border: [...Z(), "hidden", "none"]
1692
- }],
1693
- /**
1694
- * Divide Style
1695
- * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
1696
- */
1697
- "divide-style": [{
1698
- divide: [...Z(), "hidden", "none"]
1699
- }],
1700
- /**
1701
- * Border Color
1702
- * @see https://tailwindcss.com/docs/border-color
1703
- */
1704
- "border-color": [{
1705
- border: g()
1706
- }],
1707
- /**
1708
- * Border Color Inline
1709
- * @see https://tailwindcss.com/docs/border-color
1710
- */
1711
- "border-color-x": [{
1712
- "border-x": g()
1713
- }],
1714
- /**
1715
- * Border Color Block
1716
- * @see https://tailwindcss.com/docs/border-color
1717
- */
1718
- "border-color-y": [{
1719
- "border-y": g()
1720
- }],
1721
- /**
1722
- * Border Color Inline Start
1723
- * @see https://tailwindcss.com/docs/border-color
1724
- */
1725
- "border-color-s": [{
1726
- "border-s": g()
1727
- }],
1728
- /**
1729
- * Border Color Inline End
1730
- * @see https://tailwindcss.com/docs/border-color
1731
- */
1732
- "border-color-e": [{
1733
- "border-e": g()
1734
- }],
1735
- /**
1736
- * Border Color Block Start
1737
- * @see https://tailwindcss.com/docs/border-color
1738
- */
1739
- "border-color-bs": [{
1740
- "border-bs": g()
1741
- }],
1742
- /**
1743
- * Border Color Block End
1744
- * @see https://tailwindcss.com/docs/border-color
1745
- */
1746
- "border-color-be": [{
1747
- "border-be": g()
1748
- }],
1749
- /**
1750
- * Border Color Top
1751
- * @see https://tailwindcss.com/docs/border-color
1752
- */
1753
- "border-color-t": [{
1754
- "border-t": g()
1755
- }],
1756
- /**
1757
- * Border Color Right
1758
- * @see https://tailwindcss.com/docs/border-color
1759
- */
1760
- "border-color-r": [{
1761
- "border-r": g()
1762
- }],
1763
- /**
1764
- * Border Color Bottom
1765
- * @see https://tailwindcss.com/docs/border-color
1766
- */
1767
- "border-color-b": [{
1768
- "border-b": g()
1769
- }],
1770
- /**
1771
- * Border Color Left
1772
- * @see https://tailwindcss.com/docs/border-color
1773
- */
1774
- "border-color-l": [{
1775
- "border-l": g()
1776
- }],
1777
- /**
1778
- * Divide Color
1779
- * @see https://tailwindcss.com/docs/divide-color
1780
- */
1781
- "divide-color": [{
1782
- divide: g()
1783
- }],
1784
- /**
1785
- * Outline Style
1786
- * @see https://tailwindcss.com/docs/outline-style
1787
- */
1788
- "outline-style": [{
1789
- outline: [...Z(), "none", "hidden"]
1790
- }],
1791
- /**
1792
- * Outline Offset
1793
- * @see https://tailwindcss.com/docs/outline-offset
1794
- */
1795
- "outline-offset": [{
1796
- "outline-offset": [m, d, a]
1797
- }],
1798
- /**
1799
- * Outline Width
1800
- * @see https://tailwindcss.com/docs/outline-width
1801
- */
1802
- "outline-w": [{
1803
- outline: ["", m, U, D]
1804
- }],
1805
- /**
1806
- * Outline Color
1807
- * @see https://tailwindcss.com/docs/outline-color
1808
- */
1809
- "outline-color": [{
1810
- outline: g()
1811
- }],
1812
- // ---------------
1813
- // --- Effects ---
1814
- // ---------------
1815
- /**
1816
- * Box Shadow
1817
- * @see https://tailwindcss.com/docs/box-shadow
1818
- */
1819
- shadow: [{
1820
- shadow: [
1821
- // Deprecated since Tailwind CSS v4.0.0
1822
- "",
1823
- "none",
1824
- p,
1825
- Q,
1826
- J
1827
- ]
1828
- }],
1829
- /**
1830
- * Box Shadow Color
1831
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color
1832
- */
1833
- "shadow-color": [{
1834
- shadow: g()
1835
- }],
1836
- /**
1837
- * Inset Box Shadow
1838
- * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
1839
- */
1840
- "inset-shadow": [{
1841
- "inset-shadow": ["none", h, Q, J]
1842
- }],
1843
- /**
1844
- * Inset Box Shadow Color
1845
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color
1846
- */
1847
- "inset-shadow-color": [{
1848
- "inset-shadow": g()
1849
- }],
1850
- /**
1851
- * Ring Width
1852
- * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
1853
- */
1854
- "ring-w": [{
1855
- ring: v()
1856
- }],
1857
- /**
1858
- * Ring Width Inset
1859
- * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings
1860
- * @deprecated since Tailwind CSS v4.0.0
1861
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
1862
- */
1863
- "ring-w-inset": ["ring-inset"],
1864
- /**
1865
- * Ring Color
1866
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color
1867
- */
1868
- "ring-color": [{
1869
- ring: g()
1870
- }],
1871
- /**
1872
- * Ring Offset Width
1873
- * @see https://v3.tailwindcss.com/docs/ring-offset-width
1874
- * @deprecated since Tailwind CSS v4.0.0
1875
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
1876
- */
1877
- "ring-offset-w": [{
1878
- "ring-offset": [m, D]
1879
- }],
1880
- /**
1881
- * Ring Offset Color
1882
- * @see https://v3.tailwindcss.com/docs/ring-offset-color
1883
- * @deprecated since Tailwind CSS v4.0.0
1884
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
1885
- */
1886
- "ring-offset-color": [{
1887
- "ring-offset": g()
1888
- }],
1889
- /**
1890
- * Inset Ring Width
1891
- * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
1892
- */
1893
- "inset-ring-w": [{
1894
- "inset-ring": v()
1895
- }],
1896
- /**
1897
- * Inset Ring Color
1898
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color
1899
- */
1900
- "inset-ring-color": [{
1901
- "inset-ring": g()
1902
- }],
1903
- /**
1904
- * Text Shadow
1905
- * @see https://tailwindcss.com/docs/text-shadow
1906
- */
1907
- "text-shadow": [{
1908
- "text-shadow": ["none", z, Q, J]
1909
- }],
1910
- /**
1911
- * Text Shadow Color
1912
- * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color
1913
- */
1914
- "text-shadow-color": [{
1915
- "text-shadow": g()
1916
- }],
1917
- /**
1918
- * Opacity
1919
- * @see https://tailwindcss.com/docs/opacity
1920
- */
1921
- opacity: [{
1922
- opacity: [m, d, a]
1923
- }],
1924
- /**
1925
- * Mix Blend Mode
1926
- * @see https://tailwindcss.com/docs/mix-blend-mode
1927
- */
1928
- "mix-blend": [{
1929
- "mix-blend": [...we(), "plus-darker", "plus-lighter"]
1930
- }],
1931
- /**
1932
- * Background Blend Mode
1933
- * @see https://tailwindcss.com/docs/background-blend-mode
1934
- */
1935
- "bg-blend": [{
1936
- "bg-blend": we()
1937
- }],
1938
- /**
1939
- * Mask Clip
1940
- * @see https://tailwindcss.com/docs/mask-clip
1941
- */
1942
- "mask-clip": [{
1943
- "mask-clip": ["border", "padding", "content", "fill", "stroke", "view"]
1944
- }, "mask-no-clip"],
1945
- /**
1946
- * Mask Composite
1947
- * @see https://tailwindcss.com/docs/mask-composite
1948
- */
1949
- "mask-composite": [{
1950
- mask: ["add", "subtract", "intersect", "exclude"]
1951
- }],
1952
- /**
1953
- * Mask Image
1954
- * @see https://tailwindcss.com/docs/mask-image
1955
- */
1956
- "mask-image-linear-pos": [{
1957
- "mask-linear": [m]
1958
- }],
1959
- "mask-image-linear-from-pos": [{
1960
- "mask-linear-from": w()
1961
- }],
1962
- "mask-image-linear-to-pos": [{
1963
- "mask-linear-to": w()
1964
- }],
1965
- "mask-image-linear-from-color": [{
1966
- "mask-linear-from": g()
1967
- }],
1968
- "mask-image-linear-to-color": [{
1969
- "mask-linear-to": g()
1970
- }],
1971
- "mask-image-t-from-pos": [{
1972
- "mask-t-from": w()
1973
- }],
1974
- "mask-image-t-to-pos": [{
1975
- "mask-t-to": w()
1976
- }],
1977
- "mask-image-t-from-color": [{
1978
- "mask-t-from": g()
1979
- }],
1980
- "mask-image-t-to-color": [{
1981
- "mask-t-to": g()
1982
- }],
1983
- "mask-image-r-from-pos": [{
1984
- "mask-r-from": w()
1985
- }],
1986
- "mask-image-r-to-pos": [{
1987
- "mask-r-to": w()
1988
- }],
1989
- "mask-image-r-from-color": [{
1990
- "mask-r-from": g()
1991
- }],
1992
- "mask-image-r-to-color": [{
1993
- "mask-r-to": g()
1994
- }],
1995
- "mask-image-b-from-pos": [{
1996
- "mask-b-from": w()
1997
- }],
1998
- "mask-image-b-to-pos": [{
1999
- "mask-b-to": w()
2000
- }],
2001
- "mask-image-b-from-color": [{
2002
- "mask-b-from": g()
2003
- }],
2004
- "mask-image-b-to-color": [{
2005
- "mask-b-to": g()
2006
- }],
2007
- "mask-image-l-from-pos": [{
2008
- "mask-l-from": w()
2009
- }],
2010
- "mask-image-l-to-pos": [{
2011
- "mask-l-to": w()
2012
- }],
2013
- "mask-image-l-from-color": [{
2014
- "mask-l-from": g()
2015
- }],
2016
- "mask-image-l-to-color": [{
2017
- "mask-l-to": g()
2018
- }],
2019
- "mask-image-x-from-pos": [{
2020
- "mask-x-from": w()
2021
- }],
2022
- "mask-image-x-to-pos": [{
2023
- "mask-x-to": w()
2024
- }],
2025
- "mask-image-x-from-color": [{
2026
- "mask-x-from": g()
2027
- }],
2028
- "mask-image-x-to-color": [{
2029
- "mask-x-to": g()
2030
- }],
2031
- "mask-image-y-from-pos": [{
2032
- "mask-y-from": w()
2033
- }],
2034
- "mask-image-y-to-pos": [{
2035
- "mask-y-to": w()
2036
- }],
2037
- "mask-image-y-from-color": [{
2038
- "mask-y-from": g()
2039
- }],
2040
- "mask-image-y-to-color": [{
2041
- "mask-y-to": g()
2042
- }],
2043
- "mask-image-radial": [{
2044
- "mask-radial": [d, a]
2045
- }],
2046
- "mask-image-radial-from-pos": [{
2047
- "mask-radial-from": w()
2048
- }],
2049
- "mask-image-radial-to-pos": [{
2050
- "mask-radial-to": w()
2051
- }],
2052
- "mask-image-radial-from-color": [{
2053
- "mask-radial-from": g()
2054
- }],
2055
- "mask-image-radial-to-color": [{
2056
- "mask-radial-to": g()
2057
- }],
2058
- "mask-image-radial-shape": [{
2059
- "mask-radial": ["circle", "ellipse"]
2060
- }],
2061
- "mask-image-radial-size": [{
2062
- "mask-radial": [{
2063
- closest: ["side", "corner"],
2064
- farthest: ["side", "corner"]
2065
- }]
2066
- }],
2067
- "mask-image-radial-pos": [{
2068
- "mask-radial-at": O()
2069
- }],
2070
- "mask-image-conic-pos": [{
2071
- "mask-conic": [m]
2072
- }],
2073
- "mask-image-conic-from-pos": [{
2074
- "mask-conic-from": w()
2075
- }],
2076
- "mask-image-conic-to-pos": [{
2077
- "mask-conic-to": w()
2078
- }],
2079
- "mask-image-conic-from-color": [{
2080
- "mask-conic-from": g()
2081
- }],
2082
- "mask-image-conic-to-color": [{
2083
- "mask-conic-to": g()
2084
- }],
2085
- /**
2086
- * Mask Mode
2087
- * @see https://tailwindcss.com/docs/mask-mode
2088
- */
2089
- "mask-mode": [{
2090
- mask: ["alpha", "luminance", "match"]
2091
- }],
2092
- /**
2093
- * Mask Origin
2094
- * @see https://tailwindcss.com/docs/mask-origin
2095
- */
2096
- "mask-origin": [{
2097
- "mask-origin": ["border", "padding", "content", "fill", "stroke", "view"]
2098
- }],
2099
- /**
2100
- * Mask Position
2101
- * @see https://tailwindcss.com/docs/mask-position
2102
- */
2103
- "mask-position": [{
2104
- mask: pe()
2105
- }],
2106
- /**
2107
- * Mask Repeat
2108
- * @see https://tailwindcss.com/docs/mask-repeat
2109
- */
2110
- "mask-repeat": [{
2111
- mask: he()
2112
- }],
2113
- /**
2114
- * Mask Size
2115
- * @see https://tailwindcss.com/docs/mask-size
2116
- */
2117
- "mask-size": [{
2118
- mask: be()
2119
- }],
2120
- /**
2121
- * Mask Type
2122
- * @see https://tailwindcss.com/docs/mask-type
2123
- */
2124
- "mask-type": [{
2125
- "mask-type": ["alpha", "luminance"]
2126
- }],
2127
- /**
2128
- * Mask Image
2129
- * @see https://tailwindcss.com/docs/mask-image
2130
- */
2131
- "mask-image": [{
2132
- mask: ["none", d, a]
2133
- }],
2134
- // ---------------
2135
- // --- Filters ---
2136
- // ---------------
2137
- /**
2138
- * Filter
2139
- * @see https://tailwindcss.com/docs/filter
2140
- */
2141
- filter: [{
2142
- filter: [
2143
- // Deprecated since Tailwind CSS v3.0.0
2144
- "",
2145
- "none",
2146
- d,
2147
- a
2148
- ]
2149
- }],
2150
- /**
2151
- * Blur
2152
- * @see https://tailwindcss.com/docs/blur
2153
- */
2154
- blur: [{
2155
- blur: ye()
2156
- }],
2157
- /**
2158
- * Brightness
2159
- * @see https://tailwindcss.com/docs/brightness
2160
- */
2161
- brightness: [{
2162
- brightness: [m, d, a]
2163
- }],
2164
- /**
2165
- * Contrast
2166
- * @see https://tailwindcss.com/docs/contrast
2167
- */
2168
- contrast: [{
2169
- contrast: [m, d, a]
2170
- }],
2171
- /**
2172
- * Drop Shadow
2173
- * @see https://tailwindcss.com/docs/drop-shadow
2174
- */
2175
- "drop-shadow": [{
2176
- "drop-shadow": [
2177
- // Deprecated since Tailwind CSS v4.0.0
2178
- "",
2179
- "none",
2180
- R,
2181
- Q,
2182
- J
2183
- ]
2184
- }],
2185
- /**
2186
- * Drop Shadow Color
2187
- * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color
2188
- */
2189
- "drop-shadow-color": [{
2190
- "drop-shadow": g()
2191
- }],
2192
- /**
2193
- * Grayscale
2194
- * @see https://tailwindcss.com/docs/grayscale
2195
- */
2196
- grayscale: [{
2197
- grayscale: ["", m, d, a]
2198
- }],
2199
- /**
2200
- * Hue Rotate
2201
- * @see https://tailwindcss.com/docs/hue-rotate
2202
- */
2203
- "hue-rotate": [{
2204
- "hue-rotate": [m, d, a]
2205
- }],
2206
- /**
2207
- * Invert
2208
- * @see https://tailwindcss.com/docs/invert
2209
- */
2210
- invert: [{
2211
- invert: ["", m, d, a]
2212
- }],
2213
- /**
2214
- * Saturate
2215
- * @see https://tailwindcss.com/docs/saturate
2216
- */
2217
- saturate: [{
2218
- saturate: [m, d, a]
2219
- }],
2220
- /**
2221
- * Sepia
2222
- * @see https://tailwindcss.com/docs/sepia
2223
- */
2224
- sepia: [{
2225
- sepia: ["", m, d, a]
2226
- }],
2227
- /**
2228
- * Backdrop Filter
2229
- * @see https://tailwindcss.com/docs/backdrop-filter
2230
- */
2231
- "backdrop-filter": [{
2232
- "backdrop-filter": [
2233
- // Deprecated since Tailwind CSS v3.0.0
2234
- "",
2235
- "none",
2236
- d,
2237
- a
2238
- ]
2239
- }],
2240
- /**
2241
- * Backdrop Blur
2242
- * @see https://tailwindcss.com/docs/backdrop-blur
2243
- */
2244
- "backdrop-blur": [{
2245
- "backdrop-blur": ye()
2246
- }],
2247
- /**
2248
- * Backdrop Brightness
2249
- * @see https://tailwindcss.com/docs/backdrop-brightness
2250
- */
2251
- "backdrop-brightness": [{
2252
- "backdrop-brightness": [m, d, a]
2253
- }],
2254
- /**
2255
- * Backdrop Contrast
2256
- * @see https://tailwindcss.com/docs/backdrop-contrast
2257
- */
2258
- "backdrop-contrast": [{
2259
- "backdrop-contrast": [m, d, a]
2260
- }],
2261
- /**
2262
- * Backdrop Grayscale
2263
- * @see https://tailwindcss.com/docs/backdrop-grayscale
2264
- */
2265
- "backdrop-grayscale": [{
2266
- "backdrop-grayscale": ["", m, d, a]
2267
- }],
2268
- /**
2269
- * Backdrop Hue Rotate
2270
- * @see https://tailwindcss.com/docs/backdrop-hue-rotate
2271
- */
2272
- "backdrop-hue-rotate": [{
2273
- "backdrop-hue-rotate": [m, d, a]
2274
- }],
2275
- /**
2276
- * Backdrop Invert
2277
- * @see https://tailwindcss.com/docs/backdrop-invert
2278
- */
2279
- "backdrop-invert": [{
2280
- "backdrop-invert": ["", m, d, a]
2281
- }],
2282
- /**
2283
- * Backdrop Opacity
2284
- * @see https://tailwindcss.com/docs/backdrop-opacity
2285
- */
2286
- "backdrop-opacity": [{
2287
- "backdrop-opacity": [m, d, a]
2288
- }],
2289
- /**
2290
- * Backdrop Saturate
2291
- * @see https://tailwindcss.com/docs/backdrop-saturate
2292
- */
2293
- "backdrop-saturate": [{
2294
- "backdrop-saturate": [m, d, a]
2295
- }],
2296
- /**
2297
- * Backdrop Sepia
2298
- * @see https://tailwindcss.com/docs/backdrop-sepia
2299
- */
2300
- "backdrop-sepia": [{
2301
- "backdrop-sepia": ["", m, d, a]
2302
- }],
2303
- // --------------
2304
- // --- Tables ---
2305
- // --------------
2306
- /**
2307
- * Border Collapse
2308
- * @see https://tailwindcss.com/docs/border-collapse
2309
- */
2310
- "border-collapse": [{
2311
- border: ["collapse", "separate"]
2312
- }],
2313
- /**
2314
- * Border Spacing
2315
- * @see https://tailwindcss.com/docs/border-spacing
2316
- */
2317
- "border-spacing": [{
2318
- "border-spacing": u()
2319
- }],
2320
- /**
2321
- * Border Spacing X
2322
- * @see https://tailwindcss.com/docs/border-spacing
2323
- */
2324
- "border-spacing-x": [{
2325
- "border-spacing-x": u()
2326
- }],
2327
- /**
2328
- * Border Spacing Y
2329
- * @see https://tailwindcss.com/docs/border-spacing
2330
- */
2331
- "border-spacing-y": [{
2332
- "border-spacing-y": u()
2333
- }],
2334
- /**
2335
- * Table Layout
2336
- * @see https://tailwindcss.com/docs/table-layout
2337
- */
2338
- "table-layout": [{
2339
- table: ["auto", "fixed"]
2340
- }],
2341
- /**
2342
- * Caption Side
2343
- * @see https://tailwindcss.com/docs/caption-side
2344
- */
2345
- caption: [{
2346
- caption: ["top", "bottom"]
2347
- }],
2348
- // ---------------------------------
2349
- // --- Transitions and Animation ---
2350
- // ---------------------------------
2351
- /**
2352
- * Transition Property
2353
- * @see https://tailwindcss.com/docs/transition-property
2354
- */
2355
- transition: [{
2356
- transition: ["", "all", "colors", "opacity", "shadow", "transform", "none", d, a]
2357
- }],
2358
- /**
2359
- * Transition Behavior
2360
- * @see https://tailwindcss.com/docs/transition-behavior
2361
- */
2362
- "transition-behavior": [{
2363
- transition: ["normal", "discrete"]
2364
- }],
2365
- /**
2366
- * Transition Duration
2367
- * @see https://tailwindcss.com/docs/transition-duration
2368
- */
2369
- duration: [{
2370
- duration: [m, "initial", d, a]
2371
- }],
2372
- /**
2373
- * Transition Timing Function
2374
- * @see https://tailwindcss.com/docs/transition-timing-function
2375
- */
2376
- ease: [{
2377
- ease: ["linear", "initial", P, d, a]
2378
- }],
2379
- /**
2380
- * Transition Delay
2381
- * @see https://tailwindcss.com/docs/transition-delay
2382
- */
2383
- delay: [{
2384
- delay: [m, d, a]
2385
- }],
2386
- /**
2387
- * Animation
2388
- * @see https://tailwindcss.com/docs/animation
2389
- */
2390
- animate: [{
2391
- animate: ["none", B, d, a]
2392
- }],
2393
- // ------------------
2394
- // --- Transforms ---
2395
- // ------------------
2396
- /**
2397
- * Backface Visibility
2398
- * @see https://tailwindcss.com/docs/backface-visibility
2399
- */
2400
- backface: [{
2401
- backface: ["hidden", "visible"]
2402
- }],
2403
- /**
2404
- * Perspective
2405
- * @see https://tailwindcss.com/docs/perspective
2406
- */
2407
- perspective: [{
2408
- perspective: [S, d, a]
2409
- }],
2410
- /**
2411
- * Perspective Origin
2412
- * @see https://tailwindcss.com/docs/perspective-origin
2413
- */
2414
- "perspective-origin": [{
2415
- "perspective-origin": G()
2416
- }],
2417
- /**
2418
- * Rotate
2419
- * @see https://tailwindcss.com/docs/rotate
2420
- */
2421
- rotate: [{
2422
- rotate: K()
2423
- }],
2424
- /**
2425
- * Rotate X
2426
- * @see https://tailwindcss.com/docs/rotate
2427
- */
2428
- "rotate-x": [{
2429
- "rotate-x": K()
2430
- }],
2431
- /**
2432
- * Rotate Y
2433
- * @see https://tailwindcss.com/docs/rotate
2434
- */
2435
- "rotate-y": [{
2436
- "rotate-y": K()
2437
- }],
2438
- /**
2439
- * Rotate Z
2440
- * @see https://tailwindcss.com/docs/rotate
2441
- */
2442
- "rotate-z": [{
2443
- "rotate-z": K()
2444
- }],
2445
- /**
2446
- * Scale
2447
- * @see https://tailwindcss.com/docs/scale
2448
- */
2449
- scale: [{
2450
- scale: Y()
2451
- }],
2452
- /**
2453
- * Scale X
2454
- * @see https://tailwindcss.com/docs/scale
2455
- */
2456
- "scale-x": [{
2457
- "scale-x": Y()
2458
- }],
2459
- /**
2460
- * Scale Y
2461
- * @see https://tailwindcss.com/docs/scale
2462
- */
2463
- "scale-y": [{
2464
- "scale-y": Y()
2465
- }],
2466
- /**
2467
- * Scale Z
2468
- * @see https://tailwindcss.com/docs/scale
2469
- */
2470
- "scale-z": [{
2471
- "scale-z": Y()
2472
- }],
2473
- /**
2474
- * Scale 3D
2475
- * @see https://tailwindcss.com/docs/scale
2476
- */
2477
- "scale-3d": ["scale-3d"],
2478
- /**
2479
- * Skew
2480
- * @see https://tailwindcss.com/docs/skew
2481
- */
2482
- skew: [{
2483
- skew: ne()
2484
- }],
2485
- /**
2486
- * Skew X
2487
- * @see https://tailwindcss.com/docs/skew
2488
- */
2489
- "skew-x": [{
2490
- "skew-x": ne()
2491
- }],
2492
- /**
2493
- * Skew Y
2494
- * @see https://tailwindcss.com/docs/skew
2495
- */
2496
- "skew-y": [{
2497
- "skew-y": ne()
2498
- }],
2499
- /**
2500
- * Transform
2501
- * @see https://tailwindcss.com/docs/transform
2502
- */
2503
- transform: [{
2504
- transform: [d, a, "", "none", "gpu", "cpu"]
2505
- }],
2506
- /**
2507
- * Transform Origin
2508
- * @see https://tailwindcss.com/docs/transform-origin
2509
- */
2510
- "transform-origin": [{
2511
- origin: G()
2512
- }],
2513
- /**
2514
- * Transform Style
2515
- * @see https://tailwindcss.com/docs/transform-style
2516
- */
2517
- "transform-style": [{
2518
- transform: ["3d", "flat"]
2519
- }],
2520
- /**
2521
- * Translate
2522
- * @see https://tailwindcss.com/docs/translate
2523
- */
2524
- translate: [{
2525
- translate: q()
2526
- }],
2527
- /**
2528
- * Translate X
2529
- * @see https://tailwindcss.com/docs/translate
2530
- */
2531
- "translate-x": [{
2532
- "translate-x": q()
2533
- }],
2534
- /**
2535
- * Translate Y
2536
- * @see https://tailwindcss.com/docs/translate
2537
- */
2538
- "translate-y": [{
2539
- "translate-y": q()
2540
- }],
2541
- /**
2542
- * Translate Z
2543
- * @see https://tailwindcss.com/docs/translate
2544
- */
2545
- "translate-z": [{
2546
- "translate-z": q()
2547
- }],
2548
- /**
2549
- * Translate None
2550
- * @see https://tailwindcss.com/docs/translate
2551
- */
2552
- "translate-none": ["translate-none"],
2553
- // ---------------------
2554
- // --- Interactivity ---
2555
- // ---------------------
2556
- /**
2557
- * Accent Color
2558
- * @see https://tailwindcss.com/docs/accent-color
2559
- */
2560
- accent: [{
2561
- accent: g()
2562
- }],
2563
- /**
2564
- * Appearance
2565
- * @see https://tailwindcss.com/docs/appearance
2566
- */
2567
- appearance: [{
2568
- appearance: ["none", "auto"]
2569
- }],
2570
- /**
2571
- * Caret Color
2572
- * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
2573
- */
2574
- "caret-color": [{
2575
- caret: g()
2576
- }],
2577
- /**
2578
- * Color Scheme
2579
- * @see https://tailwindcss.com/docs/color-scheme
2580
- */
2581
- "color-scheme": [{
2582
- scheme: ["normal", "dark", "light", "light-dark", "only-dark", "only-light"]
2583
- }],
2584
- /**
2585
- * Cursor
2586
- * @see https://tailwindcss.com/docs/cursor
2587
- */
2588
- cursor: [{
2589
- cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", d, a]
2590
- }],
2591
- /**
2592
- * Field Sizing
2593
- * @see https://tailwindcss.com/docs/field-sizing
2594
- */
2595
- "field-sizing": [{
2596
- "field-sizing": ["fixed", "content"]
2597
- }],
2598
- /**
2599
- * Pointer Events
2600
- * @see https://tailwindcss.com/docs/pointer-events
2601
- */
2602
- "pointer-events": [{
2603
- "pointer-events": ["auto", "none"]
2604
- }],
2605
- /**
2606
- * Resize
2607
- * @see https://tailwindcss.com/docs/resize
2608
- */
2609
- resize: [{
2610
- resize: ["none", "", "y", "x"]
2611
- }],
2612
- /**
2613
- * Scroll Behavior
2614
- * @see https://tailwindcss.com/docs/scroll-behavior
2615
- */
2616
- "scroll-behavior": [{
2617
- scroll: ["auto", "smooth"]
2618
- }],
2619
- /**
2620
- * Scroll Margin
2621
- * @see https://tailwindcss.com/docs/scroll-margin
2622
- */
2623
- "scroll-m": [{
2624
- "scroll-m": u()
2625
- }],
2626
- /**
2627
- * Scroll Margin Inline
2628
- * @see https://tailwindcss.com/docs/scroll-margin
2629
- */
2630
- "scroll-mx": [{
2631
- "scroll-mx": u()
2632
- }],
2633
- /**
2634
- * Scroll Margin Block
2635
- * @see https://tailwindcss.com/docs/scroll-margin
2636
- */
2637
- "scroll-my": [{
2638
- "scroll-my": u()
2639
- }],
2640
- /**
2641
- * Scroll Margin Inline Start
2642
- * @see https://tailwindcss.com/docs/scroll-margin
2643
- */
2644
- "scroll-ms": [{
2645
- "scroll-ms": u()
2646
- }],
2647
- /**
2648
- * Scroll Margin Inline End
2649
- * @see https://tailwindcss.com/docs/scroll-margin
2650
- */
2651
- "scroll-me": [{
2652
- "scroll-me": u()
2653
- }],
2654
- /**
2655
- * Scroll Margin Block Start
2656
- * @see https://tailwindcss.com/docs/scroll-margin
2657
- */
2658
- "scroll-mbs": [{
2659
- "scroll-mbs": u()
2660
- }],
2661
- /**
2662
- * Scroll Margin Block End
2663
- * @see https://tailwindcss.com/docs/scroll-margin
2664
- */
2665
- "scroll-mbe": [{
2666
- "scroll-mbe": u()
2667
- }],
2668
- /**
2669
- * Scroll Margin Top
2670
- * @see https://tailwindcss.com/docs/scroll-margin
2671
- */
2672
- "scroll-mt": [{
2673
- "scroll-mt": u()
2674
- }],
2675
- /**
2676
- * Scroll Margin Right
2677
- * @see https://tailwindcss.com/docs/scroll-margin
2678
- */
2679
- "scroll-mr": [{
2680
- "scroll-mr": u()
2681
- }],
2682
- /**
2683
- * Scroll Margin Bottom
2684
- * @see https://tailwindcss.com/docs/scroll-margin
2685
- */
2686
- "scroll-mb": [{
2687
- "scroll-mb": u()
2688
- }],
2689
- /**
2690
- * Scroll Margin Left
2691
- * @see https://tailwindcss.com/docs/scroll-margin
2692
- */
2693
- "scroll-ml": [{
2694
- "scroll-ml": u()
2695
- }],
2696
- /**
2697
- * Scroll Padding
2698
- * @see https://tailwindcss.com/docs/scroll-padding
2699
- */
2700
- "scroll-p": [{
2701
- "scroll-p": u()
2702
- }],
2703
- /**
2704
- * Scroll Padding Inline
2705
- * @see https://tailwindcss.com/docs/scroll-padding
2706
- */
2707
- "scroll-px": [{
2708
- "scroll-px": u()
2709
- }],
2710
- /**
2711
- * Scroll Padding Block
2712
- * @see https://tailwindcss.com/docs/scroll-padding
2713
- */
2714
- "scroll-py": [{
2715
- "scroll-py": u()
2716
- }],
2717
- /**
2718
- * Scroll Padding Inline Start
2719
- * @see https://tailwindcss.com/docs/scroll-padding
2720
- */
2721
- "scroll-ps": [{
2722
- "scroll-ps": u()
2723
- }],
2724
- /**
2725
- * Scroll Padding Inline End
2726
- * @see https://tailwindcss.com/docs/scroll-padding
2727
- */
2728
- "scroll-pe": [{
2729
- "scroll-pe": u()
2730
- }],
2731
- /**
2732
- * Scroll Padding Block Start
2733
- * @see https://tailwindcss.com/docs/scroll-padding
2734
- */
2735
- "scroll-pbs": [{
2736
- "scroll-pbs": u()
2737
- }],
2738
- /**
2739
- * Scroll Padding Block End
2740
- * @see https://tailwindcss.com/docs/scroll-padding
2741
- */
2742
- "scroll-pbe": [{
2743
- "scroll-pbe": u()
2744
- }],
2745
- /**
2746
- * Scroll Padding Top
2747
- * @see https://tailwindcss.com/docs/scroll-padding
2748
- */
2749
- "scroll-pt": [{
2750
- "scroll-pt": u()
2751
- }],
2752
- /**
2753
- * Scroll Padding Right
2754
- * @see https://tailwindcss.com/docs/scroll-padding
2755
- */
2756
- "scroll-pr": [{
2757
- "scroll-pr": u()
2758
- }],
2759
- /**
2760
- * Scroll Padding Bottom
2761
- * @see https://tailwindcss.com/docs/scroll-padding
2762
- */
2763
- "scroll-pb": [{
2764
- "scroll-pb": u()
2765
- }],
2766
- /**
2767
- * Scroll Padding Left
2768
- * @see https://tailwindcss.com/docs/scroll-padding
2769
- */
2770
- "scroll-pl": [{
2771
- "scroll-pl": u()
2772
- }],
2773
- /**
2774
- * Scroll Snap Align
2775
- * @see https://tailwindcss.com/docs/scroll-snap-align
2776
- */
2777
- "snap-align": [{
2778
- snap: ["start", "end", "center", "align-none"]
2779
- }],
2780
- /**
2781
- * Scroll Snap Stop
2782
- * @see https://tailwindcss.com/docs/scroll-snap-stop
2783
- */
2784
- "snap-stop": [{
2785
- snap: ["normal", "always"]
2786
- }],
2787
- /**
2788
- * Scroll Snap Type
2789
- * @see https://tailwindcss.com/docs/scroll-snap-type
2790
- */
2791
- "snap-type": [{
2792
- snap: ["none", "x", "y", "both"]
2793
- }],
2794
- /**
2795
- * Scroll Snap Type Strictness
2796
- * @see https://tailwindcss.com/docs/scroll-snap-type
2797
- */
2798
- "snap-strictness": [{
2799
- snap: ["mandatory", "proximity"]
2800
- }],
2801
- /**
2802
- * Touch Action
2803
- * @see https://tailwindcss.com/docs/touch-action
2804
- */
2805
- touch: [{
2806
- touch: ["auto", "none", "manipulation"]
2807
- }],
2808
- /**
2809
- * Touch Action X
2810
- * @see https://tailwindcss.com/docs/touch-action
2811
- */
2812
- "touch-x": [{
2813
- "touch-pan": ["x", "left", "right"]
2814
- }],
2815
- /**
2816
- * Touch Action Y
2817
- * @see https://tailwindcss.com/docs/touch-action
2818
- */
2819
- "touch-y": [{
2820
- "touch-pan": ["y", "up", "down"]
2821
- }],
2822
- /**
2823
- * Touch Action Pinch Zoom
2824
- * @see https://tailwindcss.com/docs/touch-action
2825
- */
2826
- "touch-pz": ["touch-pinch-zoom"],
2827
- /**
2828
- * User Select
2829
- * @see https://tailwindcss.com/docs/user-select
2830
- */
2831
- select: [{
2832
- select: ["none", "text", "all", "auto"]
2833
- }],
2834
- /**
2835
- * Will Change
2836
- * @see https://tailwindcss.com/docs/will-change
2837
- */
2838
- "will-change": [{
2839
- "will-change": ["auto", "scroll", "contents", "transform", d, a]
2840
- }],
2841
- // -----------
2842
- // --- SVG ---
2843
- // -----------
2844
- /**
2845
- * Fill
2846
- * @see https://tailwindcss.com/docs/fill
2847
- */
2848
- fill: [{
2849
- fill: ["none", ...g()]
2850
- }],
2851
- /**
2852
- * Stroke Width
2853
- * @see https://tailwindcss.com/docs/stroke-width
2854
- */
2855
- "stroke-w": [{
2856
- stroke: [m, U, D, _e]
2857
- }],
2858
- /**
2859
- * Stroke
2860
- * @see https://tailwindcss.com/docs/stroke
2861
- */
2862
- stroke: [{
2863
- stroke: ["none", ...g()]
2864
- }],
2865
- // ---------------------
2866
- // --- Accessibility ---
2867
- // ---------------------
2868
- /**
2869
- * Forced Color Adjust
2870
- * @see https://tailwindcss.com/docs/forced-color-adjust
2871
- */
2872
- "forced-color-adjust": [{
2873
- "forced-color-adjust": ["auto", "none"]
2874
- }]
2875
- },
2876
- conflictingClassGroups: {
2877
- overflow: ["overflow-x", "overflow-y"],
2878
- overscroll: ["overscroll-x", "overscroll-y"],
2879
- inset: ["inset-x", "inset-y", "inset-bs", "inset-be", "start", "end", "top", "right", "bottom", "left"],
2880
- "inset-x": ["right", "left"],
2881
- "inset-y": ["top", "bottom"],
2882
- flex: ["basis", "grow", "shrink"],
2883
- gap: ["gap-x", "gap-y"],
2884
- p: ["px", "py", "ps", "pe", "pbs", "pbe", "pt", "pr", "pb", "pl"],
2885
- px: ["pr", "pl"],
2886
- py: ["pt", "pb"],
2887
- m: ["mx", "my", "ms", "me", "mbs", "mbe", "mt", "mr", "mb", "ml"],
2888
- mx: ["mr", "ml"],
2889
- my: ["mt", "mb"],
2890
- size: ["w", "h"],
2891
- "font-size": ["leading"],
2892
- "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
2893
- "fvn-ordinal": ["fvn-normal"],
2894
- "fvn-slashed-zero": ["fvn-normal"],
2895
- "fvn-figure": ["fvn-normal"],
2896
- "fvn-spacing": ["fvn-normal"],
2897
- "fvn-fraction": ["fvn-normal"],
2898
- "line-clamp": ["display", "overflow"],
2899
- rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
2900
- "rounded-s": ["rounded-ss", "rounded-es"],
2901
- "rounded-e": ["rounded-se", "rounded-ee"],
2902
- "rounded-t": ["rounded-tl", "rounded-tr"],
2903
- "rounded-r": ["rounded-tr", "rounded-br"],
2904
- "rounded-b": ["rounded-br", "rounded-bl"],
2905
- "rounded-l": ["rounded-tl", "rounded-bl"],
2906
- "border-spacing": ["border-spacing-x", "border-spacing-y"],
2907
- "border-w": ["border-w-x", "border-w-y", "border-w-s", "border-w-e", "border-w-bs", "border-w-be", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
2908
- "border-w-x": ["border-w-r", "border-w-l"],
2909
- "border-w-y": ["border-w-t", "border-w-b"],
2910
- "border-color": ["border-color-x", "border-color-y", "border-color-s", "border-color-e", "border-color-bs", "border-color-be", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
2911
- "border-color-x": ["border-color-r", "border-color-l"],
2912
- "border-color-y": ["border-color-t", "border-color-b"],
2913
- translate: ["translate-x", "translate-y", "translate-none"],
2914
- "translate-none": ["translate", "translate-x", "translate-y", "translate-z"],
2915
- "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mbs", "scroll-mbe", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
2916
- "scroll-mx": ["scroll-mr", "scroll-ml"],
2917
- "scroll-my": ["scroll-mt", "scroll-mb"],
2918
- "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pbs", "scroll-pbe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
2919
- "scroll-px": ["scroll-pr", "scroll-pl"],
2920
- "scroll-py": ["scroll-pt", "scroll-pb"],
2921
- touch: ["touch-x", "touch-y", "touch-pz"],
2922
- "touch-x": ["touch"],
2923
- "touch-y": ["touch"],
2924
- "touch-pz": ["touch"]
2925
- },
2926
- conflictingClassGroupModifiers: {
2927
- "font-size": ["leading"]
2928
- },
2929
- orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"]
2930
- };
2931
- }, Wt = /* @__PURE__ */ yt(jt);
2932
- function Xt(...e) {
2933
- return Wt(Je(e));
2934
- }
2935
- class le {
2936
- store;
2937
- cleanupTasks = [];
2938
- debounceMs = 0;
2939
- debounceTimer = null;
2940
- constructor(t) {
2941
- this.store = new Xe(t);
2942
- }
2943
- /**
2944
- * Allows accessing the current state directly via getter
2945
- * to maintain backward compatibility.
2946
- */
2947
- get state() {
2948
- return this.store.state;
2949
- }
2950
- /** Returns the current active state of the service. @group Methods */
2951
- getState() {
2952
- return this.store.state;
2953
- }
2954
- /**
2955
- * Registers a task to be executed during service cleanup.
2956
- * Useful for clearing timers, removing event listeners, or closing connections.
2957
- * @group Methods
2958
- */
2959
- registerCleanup(t) {
2960
- this.cleanupTasks.push(t);
2961
- }
2962
- /**
2963
- * Subscribes to service state changes.
2964
- * @param listener Callback triggered on state updates.
2965
- * @returns Unsubscribe function.
2966
- * @group Methods
2967
- */
2968
- subscribe(t) {
2969
- const r = this.store.subscribe(() => {
2970
- t(this.store.state);
2971
- });
2972
- return typeof r == "function" ? r : () => r.unsubscribe();
2973
- }
2974
- /**
2975
- * Updates the service state.
2976
- * Supports both partial objects and functional updaters.
2977
- * @group Methods
2978
- */
2979
- setState(t) {
2980
- this.store.setState((r) => {
2981
- const o = typeof t == "function" ? t(r) : t;
2982
- return { ...r, ...o };
2983
- }), this.debounceMs > 0 && (this.debounceTimer && clearTimeout(this.debounceTimer), this.debounceTimer = setTimeout(() => {
2984
- }, this.debounceMs));
2985
- }
2986
- /**
2987
- * Sets a debounce time for notifications to prevent rapid re-renders in components.
2988
- * @param ms Delay in milliseconds. Set to 0 to disable (immediate).
2989
- * @group Methods
2990
- */
2991
- setDebounce(t) {
2992
- this.debounceMs = t;
2993
- }
2994
- /**
2995
- * Performs final cleanup for the service.
2996
- * Triggers all registered cleanup tasks and clears all subscribers.
2997
- * @group Methods
2998
- */
2999
- cleanup() {
3000
- this.debounceTimer && clearTimeout(this.debounceTimer), this.cleanupTasks.forEach((t) => {
3001
- try {
3002
- t();
3003
- } catch (r) {
3004
- console.error(`Error during service cleanup for ${this.name}:`, r);
3005
- }
3006
- }), this.cleanupTasks = [];
3007
- }
3008
- }
3009
- class Ut extends le {
3010
- name = "ServiceRegistry";
3011
- services = /* @__PURE__ */ new Map();
3012
- constructor() {
3013
- super({ serviceNames: [] }), this.registerCleanup(() => this.cleanupAll());
3014
- }
3015
- register(t, r) {
3016
- this.services.has(t) && (console.warn(`Service ${t} is already registered. Overwriting.`), this.unregister(t)), this.services.set(t, r), this.updateState();
3017
- }
3018
- get(t) {
3019
- return this.services.get(t);
3020
- }
3021
- getOrThrow(t) {
3022
- const r = this.get(t);
3023
- if (!r)
3024
- throw new Error(`Service ${t} not found in registry.`);
3025
- return r;
3026
- }
3027
- unregister(t) {
3028
- const r = this.services.get(t);
3029
- r?.cleanup && r.cleanup(), this.services.delete(t) && this.updateState();
3030
- }
3031
- cleanupAll() {
3032
- for (const t of this.services.values())
3033
- t.cleanup && t.cleanup();
3034
- this.services.clear(), this.updateState();
3035
- }
3036
- updateState() {
3037
- this.setState({ serviceNames: Array.from(this.services.keys()) });
3038
- }
3039
- }
3040
- const V = {
3041
- Orange: {
3042
- light: {
3043
- background: "98% 0.01 70deg",
3044
- foreground: "20% 0.02 70deg",
3045
- card: "100% 0 0deg",
3046
- "card-foreground": "20% 0.02 70deg",
3047
- popover: "100% 0 0deg",
3048
- "popover-foreground": "20% 0.02 70deg",
3049
- primary: "65% 0.18 70deg",
3050
- "primary-foreground": "100% 0 0deg",
3051
- secondary: "93% 0.03 70deg",
3052
- "secondary-foreground": "20% 0.02 70deg",
3053
- muted: "93% 0.03 70deg",
3054
- "muted-foreground": "40% 0.15 70deg",
3055
- accent: "93% 0.03 70deg",
3056
- "accent-foreground": "20% 0.02 70deg",
3057
- destructive: "69% 0.23 26deg",
3058
- "destructive-foreground": "100% 0 0deg",
3059
- border: "92% 0.05 70deg",
3060
- input: "92% 0.05 70deg",
3061
- ring: "65% 0.18 70deg",
3062
- radius: "0.5rem"
3063
- },
3064
- dark: {
3065
- background: "15% 0.02 70deg",
3066
- foreground: "95% 0.01 70deg",
3067
- card: "20% 0.02 70deg",
3068
- "card-foreground": "95% 0.01 70deg",
3069
- popover: "20% 0.02 70deg",
3070
- "popover-foreground": "95% 0.01 70deg",
3071
- primary: "75% 0.18 70deg",
3072
- "primary-foreground": "15% 0.02 70deg",
3073
- secondary: "27% 0.06 70deg",
3074
- "secondary-foreground": "95% 0.01 70deg",
3075
- muted: "27% 0.06 70deg",
3076
- "muted-foreground": "75% 0.15 70deg",
3077
- accent: "27% 0.06 70deg",
3078
- "accent-foreground": "95% 0.01 70deg",
3079
- destructive: "55% 0.22 26deg",
3080
- "destructive-foreground": "95% 0.01 70deg",
3081
- border: "27% 0.06 70deg",
3082
- input: "27% 0.06 70deg",
3083
- ring: "75% 0.18 70deg"
3084
- }
3085
- },
3086
- Blue: {
3087
- light: {
3088
- background: "98% 0.01 240deg",
3089
- foreground: "20% 0.02 240deg",
3090
- card: "100% 0 0deg",
3091
- "card-foreground": "20% 0.02 240deg",
3092
- popover: "100% 0 0deg",
3093
- "popover-foreground": "20% 0.02 240deg",
3094
- primary: "55% 0.18 260deg",
3095
- "primary-foreground": "100% 0 0deg",
3096
- secondary: "93% 0.03 270deg",
3097
- "secondary-foreground": "20% 0.02 240deg",
3098
- muted: "93% 0.03 270deg",
3099
- "muted-foreground": "40% 0.15 260deg",
3100
- accent: "93% 0.03 270deg",
3101
- "accent-foreground": "20% 0.02 240deg",
3102
- destructive: "69% 0.23 26deg",
3103
- "destructive-foreground": "100% 0 0deg",
3104
- border: "92% 0.05 259deg",
3105
- input: "92% 0.05 259deg",
3106
- ring: "55% 0.18 260deg",
3107
- radius: "0.5rem"
3108
- },
3109
- dark: {
3110
- background: "15% 0.02 260deg",
3111
- foreground: "90% 0.01 240deg",
3112
- card: "20% 0.02 260deg",
3113
- "card-foreground": "90% 0.01 240deg",
3114
- popover: "20% 0.02 260deg",
3115
- "popover-foreground": "90% 0.01 240deg",
3116
- primary: "65% 0.18 260deg",
3117
- "primary-foreground": "15% 0.02 260deg",
3118
- secondary: "27% 0.06 261deg",
3119
- "secondary-foreground": "90% 0.01 240deg",
3120
- muted: "27% 0.06 261deg",
3121
- "muted-foreground": "75% 0.15 260deg",
3122
- accent: "27% 0.06 261deg",
3123
- "accent-foreground": "90% 0.01 240deg",
3124
- destructive: "55% 0.22 26deg",
3125
- "destructive-foreground": "90% 0.01 240deg",
3126
- border: "27% 0.06 261deg",
3127
- input: "27% 0.06 261deg",
3128
- ring: "65% 0.18 260deg"
3129
- }
3130
- },
3131
- Green: {
3132
- light: {
3133
- background: "98% 0.01 150deg",
3134
- foreground: "20% 0.02 150deg",
3135
- card: "100% 0 0deg",
3136
- "card-foreground": "20% 0.02 150deg",
3137
- popover: "100% 0 0deg",
3138
- "popover-foreground": "20% 0.02 150deg",
3139
- primary: "60% 0.18 150deg",
3140
- "primary-foreground": "100% 0 0deg",
3141
- secondary: "93% 0.03 150deg",
3142
- "secondary-foreground": "20% 0.02 150deg",
3143
- muted: "93% 0.03 150deg",
3144
- "muted-foreground": "40% 0.15 150deg",
3145
- accent: "93% 0.03 150deg",
3146
- "accent-foreground": "20% 0.02 150deg",
3147
- destructive: "69% 0.23 26deg",
3148
- "destructive-foreground": "100% 0 0deg",
3149
- border: "92% 0.05 150deg",
3150
- input: "92% 0.05 150deg",
3151
- ring: "60% 0.18 150deg",
3152
- radius: "0.5rem"
3153
- },
3154
- dark: {
3155
- background: "15% 0.02 150deg",
3156
- foreground: "95% 0.01 150deg",
3157
- card: "20% 0.02 150deg",
3158
- "card-foreground": "95% 0.01 150deg",
3159
- popover: "20% 0.02 150deg",
3160
- "popover-foreground": "95% 0.01 150deg",
3161
- primary: "70% 0.18 150deg",
3162
- "primary-foreground": "15% 0.02 150deg",
3163
- secondary: "27% 0.06 150deg",
3164
- "secondary-foreground": "95% 0.01 150deg",
3165
- muted: "27% 0.06 150deg",
3166
- "muted-foreground": "75% 0.15 150deg",
3167
- accent: "27% 0.06 150deg",
3168
- "accent-foreground": "95% 0.01 150deg",
3169
- destructive: "55% 0.22 26deg",
3170
- "destructive-foreground": "95% 0.01 150deg",
3171
- border: "27% 0.06 150deg",
3172
- input: "27% 0.06 150deg",
3173
- ring: "70% 0.18 150deg"
3174
- }
3175
- },
3176
- Rose: {
3177
- light: {
3178
- background: "98% 0.01 350deg",
3179
- foreground: "20% 0.02 350deg",
3180
- card: "100% 0 0deg",
3181
- "card-foreground": "20% 0.02 350deg",
3182
- popover: "100% 0 0deg",
3183
- "popover-foreground": "20% 0.02 350deg",
3184
- primary: "60% 0.18 350deg",
3185
- "primary-foreground": "100% 0 0deg",
3186
- secondary: "93% 0.03 350deg",
3187
- "secondary-foreground": "20% 0.02 350deg",
3188
- muted: "93% 0.03 350deg",
3189
- "muted-foreground": "40% 0.15 350deg",
3190
- accent: "93% 0.03 350deg",
3191
- "accent-foreground": "20% 0.02 350deg",
3192
- destructive: "69% 0.23 26deg",
3193
- "destructive-foreground": "100% 0 0deg",
3194
- border: "92% 0.05 350deg",
3195
- input: "92% 0.05 350deg",
3196
- ring: "60% 0.18 350deg",
3197
- radius: "0.5rem"
3198
- },
3199
- dark: {
3200
- background: "15% 0.02 350deg",
3201
- foreground: "95% 0.01 350deg",
3202
- card: "20% 0.02 350deg",
3203
- "card-foreground": "95% 0.01 350deg",
3204
- popover: "20% 0.02 350deg",
3205
- "popover-foreground": "95% 0.01 350deg",
3206
- primary: "70% 0.18 350deg",
3207
- "primary-foreground": "15% 0.02 350deg",
3208
- secondary: "27% 0.06 350deg",
3209
- "secondary-foreground": "95% 0.01 350deg",
3210
- muted: "27% 0.06 350deg",
3211
- "muted-foreground": "75% 0.15 350deg",
3212
- accent: "27% 0.06 350deg",
3213
- "accent-foreground": "95% 0.01 350deg",
3214
- destructive: "55% 0.22 26deg",
3215
- "destructive-foreground": "95% 0.01 350deg",
3216
- border: "27% 0.06 350deg",
3217
- input: "27% 0.06 350deg",
3218
- ring: "70% 0.18 350deg"
3219
- }
3220
- },
3221
- Zinc: {
3222
- light: {
3223
- background: "98% 0 0deg",
3224
- foreground: "20% 0 0deg",
3225
- card: "100% 0 0deg",
3226
- "card-foreground": "20% 0 0deg",
3227
- popover: "100% 0 0deg",
3228
- "popover-foreground": "20% 0 0deg",
3229
- primary: "25% 0 0deg",
3230
- "primary-foreground": "100% 0 0deg",
3231
- secondary: "93% 0 0deg",
3232
- "secondary-foreground": "20% 0 0deg",
3233
- muted: "93% 0 0deg",
3234
- "muted-foreground": "45% 0 0deg",
3235
- accent: "93% 0 0deg",
3236
- "accent-foreground": "20% 0 0deg",
3237
- destructive: "69% 0.23 26deg",
3238
- "destructive-foreground": "100% 0 0deg",
3239
- border: "92% 0 0deg",
3240
- input: "92% 0 0deg",
3241
- ring: "25% 0 0deg",
3242
- radius: "0.5rem"
3243
- },
3244
- dark: {
3245
- background: "12% 0 0deg",
3246
- foreground: "95% 0 0deg",
3247
- card: "18% 0 0deg",
3248
- "card-foreground": "95% 0 0deg",
3249
- popover: "18% 0 0deg",
3250
- "popover-foreground": "95% 0 0deg",
3251
- primary: "90% 0 0deg",
3252
- "primary-foreground": "12% 0 0deg",
3253
- secondary: "25% 0 0deg",
3254
- "secondary-foreground": "95% 0 0deg",
3255
- muted: "25% 0 0deg",
3256
- "muted-foreground": "65% 0 0deg",
3257
- accent: "25% 0 0deg",
3258
- "accent-foreground": "95% 0 0deg",
3259
- destructive: "55% 0.22 26deg",
3260
- "destructive-foreground": "95% 0 0deg",
3261
- border: "25% 0 0deg",
3262
- input: "25% 0 0deg",
3263
- ring: "90% 0 0deg"
3264
- }
3265
- }
3266
- };
3267
- class Vt {
3268
- name = "ThemeService";
3269
- listeners = /* @__PURE__ */ new Set();
3270
- state = {
3271
- mode: "light",
3272
- themeColor: "Zinc",
3273
- radius: 0.5
3274
- };
3275
- /**
3276
- * Directly applies a color theme to the document root bypassing the service instance.
3277
- * Useful for initial hydration or static branding.
3278
- *
3279
- * @param mode Theme mode (light or dark).
3280
- * @param color The name of the color palette to apply.
3281
- * @group Methods
3282
- */
3283
- static setGlobalColorTheme(t, r) {
3284
- if (typeof document > "u") return;
3285
- const o = V[r][t], s = document.documentElement;
3286
- if (t === "dark" ? s.classList.add("dark") : s.classList.remove("dark"), r !== "Zinc") {
3287
- const i = V.Zinc[t];
3288
- for (const n in i)
3289
- s.style.setProperty(`--${n}`, i[n]);
3290
- }
3291
- for (const i in o)
3292
- s.style.setProperty(`--${i}`, o[i]);
3293
- }
3294
- constructor() {
3295
- if (typeof window < "u") {
3296
- const t = localStorage.getItem("ezux-theme-mode");
3297
- t && (t === "light" || t === "dark") ? this.state.mode = t : this.state.mode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
3298
- const r = localStorage.getItem("ezux-theme-color");
3299
- r && V[r] && (this.state.themeColor = r);
3300
- const o = localStorage.getItem("ezux-theme-radius");
3301
- o && (this.state.radius = parseFloat(o)), this.applyTheme();
3302
- }
3303
- }
3304
- /** Toggles between light and dark modes. @group Methods */
3305
- toggleMode() {
3306
- const t = this.state.mode === "light" ? "dark" : "light";
3307
- this.setMode(t);
3308
- }
3309
- /** Sets the explicit theme mode. @group Methods */
3310
- setMode(t) {
3311
- this.state.mode = t, typeof window < "u" && localStorage.setItem("ezux-theme-mode", t), this.applyTheme(), this.notify();
3312
- }
3313
- /** Updates the primary color palette. @group Methods */
3314
- setThemeColor(t) {
3315
- this.state.themeColor = t, typeof window < "u" && localStorage.setItem("ezux-theme-color", t), this.applyTheme(), this.notify();
3316
- }
3317
- /** Sets the global UI border radius (in rem). @group Methods */
3318
- setRadius(t) {
3319
- this.state.radius = t, typeof window < "u" && localStorage.setItem("ezux-theme-radius", t.toString()), this.applyTheme(), this.notify();
3320
- }
3321
- /** Returns the current active theme state. @group Methods */
3322
- getState() {
3323
- return this.state;
3324
- }
3325
- applyTheme() {
3326
- if (typeof document > "u") return;
3327
- const t = document.documentElement;
3328
- this.state.mode === "dark" ? t.classList.add("dark") : t.classList.remove("dark"), t.style.setProperty("--radius", `${this.state.radius}rem`);
3329
- const r = V[this.state.themeColor];
3330
- if (r) {
3331
- const o = r[this.state.mode];
3332
- if (this.state.themeColor !== "Zinc") {
3333
- const s = V.Zinc[this.state.mode];
3334
- for (const i in s)
3335
- t.style.setProperty(`--${i}`, s[i]);
3336
- }
3337
- for (const s in o)
3338
- t.style.setProperty(`--${s}`, o[s]);
3339
- }
3340
- t.setAttribute("data-theme", this.state.themeColor);
3341
- }
3342
- /**
3343
- * Subscribes to theme changes.
3344
- * @param listener Callback triggered on state updates.
3345
- * @returns Unsubscribe function.
3346
- * @group Methods
3347
- */
3348
- subscribe(t) {
3349
- return this.listeners.add(t), () => this.listeners.delete(t);
3350
- }
3351
- notify() {
3352
- this.listeners.forEach((t) => t(this.state));
3353
- }
3354
- }
3355
- function ue(e, t = {}) {
3356
- if (e == null) return "";
3357
- const {
3358
- format: r = "float",
3359
- decimals: o,
3360
- locale: s = "en-US",
3361
- currency: i = "USD"
3362
- } = t, n = o !== void 0 ? o : r === "integer" ? 0 : r === "percentage" ? 1 : 2;
3363
- try {
3364
- switch (r) {
3365
- case "currency":
3366
- return new Intl.NumberFormat(s, {
3367
- style: "currency",
3368
- currency: i,
3369
- minimumFractionDigits: n,
3370
- maximumFractionDigits: n
3371
- }).format(e);
3372
- case "percentage":
3373
- return new Intl.NumberFormat(s, {
3374
- style: "percent",
3375
- minimumFractionDigits: n,
3376
- maximumFractionDigits: n
3377
- }).format(e / 100);
3378
- case "integer":
3379
- return new Intl.NumberFormat(s, {
3380
- style: "decimal",
3381
- minimumFractionDigits: 0,
3382
- maximumFractionDigits: 0
3383
- }).format(Math.round(e));
3384
- default:
3385
- return new Intl.NumberFormat(s, {
3386
- style: "decimal",
3387
- minimumFractionDigits: n,
3388
- maximumFractionDigits: n
3389
- }).format(e);
3390
- }
3391
- } catch {
3392
- return typeof e == "number" ? e.toFixed(n) : String(e);
3393
- }
3394
- }
3395
- function $t(e, t = {}) {
3396
- if (!e) return "";
3397
- const r = e instanceof Date ? e : new Date(e);
3398
- if (isNaN(r.getTime())) return "Invalid Date";
3399
- const { format: o = "short", locale: s = "en-US" } = t;
3400
- switch (o) {
3401
- case "long":
3402
- return new Intl.DateTimeFormat(s, {
3403
- year: "numeric",
3404
- month: "long",
3405
- day: "numeric"
3406
- }).format(r);
3407
- case "iso":
3408
- return r.toISOString().split("T")[0];
3409
- case "relative":
3410
- return Bt(r, s);
3411
- default:
3412
- return new Intl.DateTimeFormat(s, {
3413
- year: "numeric",
3414
- month: "short",
3415
- day: "numeric"
3416
- }).format(r);
3417
- }
3418
- }
3419
- function Bt(e, t = "en-US") {
3420
- const o = (/* @__PURE__ */ new Date()).getTime() - e.getTime(), s = Math.floor(o / 1e3), i = Math.floor(s / 60), n = Math.floor(i / 60), l = Math.floor(n / 24), c = Math.abs(l), f = Math.abs(n), p = Math.abs(i);
3421
- try {
3422
- const h = new Intl.RelativeTimeFormat(t, { numeric: "auto" });
3423
- return c >= 365 ? h.format(-Math.floor(l / 365), "year") : c >= 30 ? h.format(-Math.floor(l / 30), "month") : c >= 7 ? h.format(-Math.floor(l / 7), "week") : c >= 1 ? h.format(-l, "day") : f >= 1 ? h.format(-n, "hour") : p >= 1 ? h.format(-i, "minute") : "just now";
3424
- } catch {
3425
- return c >= 1 ? `${l}d ago` : "just now";
3426
- }
3427
- }
3428
- const Ht = (e, t = "en-US", r = "USD") => ue(e, { format: "currency", locale: t, currency: r }), Jt = (e, t = "en-US") => ue(e, { format: "percentage", locale: t }), Qt = (e, t = "en-US") => {
3429
- const r = typeof e == "string" ? new Date(e) : e;
3430
- return new Intl.DateTimeFormat(t, {
3431
- year: "numeric",
3432
- month: "short",
3433
- day: "numeric",
3434
- hour: "2-digit",
3435
- minute: "2-digit"
3436
- }).format(r);
3437
- };
3438
- class Ve extends le {
3439
- name = "I18nService";
3440
- supportedLanguages = [
3441
- { code: "en", name: "English", country: "US" },
3442
- { code: "fr", name: "Français", country: "FR" },
3443
- { code: "de", name: "Deutsch", country: "DE" },
3444
- { code: "es", name: "Español", country: "ES" },
3445
- { code: "zh", name: "中文", country: "CN" },
3446
- { code: "ar", name: "العربية", country: "SA" }
3447
- ];
3448
- initialTranslations = {
3449
- en: {
3450
- // EzSignature
3451
- controls: "Controls",
3452
- customize_stroke: "Customize the stroke.",
3453
- stroke_color: "Stroke Color",
3454
- stroke_width: "Stroke Width",
3455
- actions: "Actions",
3456
- undo: "Undo",
3457
- redo: "Redo",
3458
- clear: "Clear",
3459
- capture: "Capture",
3460
- download_png: "Download PNG",
3461
- captured_output: "Captured Output",
3462
- download: "Download",
3463
- // EzKanban
3464
- add_card: "Add Card",
3465
- add_column: "Add Column",
3466
- add_swimlane: "Add Swimlane",
3467
- search_placeholder: "Search cards...",
3468
- view_standard: "Standard",
3469
- view_swimlane: "Swimlane",
3470
- view_timeline: "Timeline",
3471
- view_analytics: "Analytics",
3472
- uncategorized: "Uncategorized",
3473
- no_cards: "No cards in this column",
3474
- items: "items",
3475
- switch_language: "Switch Language",
3476
- reload_dataset: "Reload Dataset",
3477
- // EzTable
3478
- no_rows: "No records to display",
3479
- loading: "Loading...",
3480
- rows_per_page: "Rows per page",
3481
- of: "of",
3482
- page: "Page",
3483
- go_to_page: "Go to page",
3484
- first_page: "First page",
3485
- last_page: "Last page",
3486
- next_page: "Next page",
3487
- previous_page: "Previous page",
3488
- filter: "Filter",
3489
- sort_asc: "Sort ascending",
3490
- sort_desc: "Sort descending",
3491
- clear_filter: "Clear filter",
3492
- column_settings: "Column settings",
3493
- group_by: "Group by",
3494
- ungroup: "Ungroup",
3495
- pin_left: "Pin left",
3496
- pin_right: "Pin right",
3497
- unpin: "Unpin",
3498
- hide_column: "Hide column",
3499
- selected_rows: "selected rows",
3500
- total_rows: "Total rows",
3501
- // EzScheduler
3502
- day_view: "Day",
3503
- week_view: "Week",
3504
- month_view: "Month",
3505
- agenda_view: "Agenda",
3506
- today: "Today",
3507
- add_event: "Add Event",
3508
- edit_event: "Edit Event",
3509
- delete_event: "Delete Event",
3510
- all_day: "All day",
3511
- no_events: "No events",
3512
- // EzLayout
3513
- sign_in: "Sign In",
3514
- sign_out: "Sign Out",
3515
- profile: "Profile",
3516
- settings: "Settings",
3517
- toggle_theme: "Toggle theme",
3518
- toggle_sidebar: "Toggle sidebar"
3519
- },
3520
- fr: {
3521
- controls: "Contrôles",
3522
- customize_stroke: "Personnaliser le trait.",
3523
- stroke_color: "Couleur du trait",
3524
- stroke_width: "Largeur du trait",
3525
- actions: "Actions",
3526
- undo: "Annuler",
3527
- redo: "Rétablir",
3528
- clear: "Effacer",
3529
- capture: "Capturer",
3530
- download_png: "Télécharger PNG",
3531
- captured_output: "Sortie capturée",
3532
- download: "Télécharger",
3533
- // Kanban
3534
- add_card: "Ajouter une carte",
3535
- add_column: "Ajouter une colonne",
3536
- add_swimlane: "Ajouter un couloir",
3537
- search_placeholder: "Rechercher des cartes...",
3538
- view_standard: "Standard",
3539
- view_swimlane: "Couloir",
3540
- view_timeline: "Chronologie",
3541
- view_analytics: "Analytique",
3542
- uncategorized: "Non catégorisé",
3543
- no_cards: "Aucune carte dans cette colonne",
3544
- items: "éléments",
3545
- switch_language: "Changer de langue",
3546
- reload_dataset: "Recharger l'ensemble de données"
3547
- },
3548
- de: {
3549
- controls: "Steuerung",
3550
- customize_stroke: "Strich anpassen.",
3551
- stroke_color: "Strichfarbe",
3552
- stroke_width: "Strichbreite",
3553
- actions: "Aktionen",
3554
- undo: "Rückgängig",
3555
- redo: "Wiederholen",
3556
- clear: "Löschen",
3557
- capture: "Erfassen",
3558
- download_png: "Herunterladen PNG",
3559
- captured_output: "Erfasste Ausgabe",
3560
- download: "Herunterladen",
3561
- // Kanban
3562
- add_card: "Karte hinzufügen",
3563
- add_column: "Spalte hinzufügen",
3564
- add_swimlane: "Schwimmbahn hinzufügen",
3565
- search_placeholder: "Karten suchen...",
3566
- view_standard: "Standard",
3567
- view_swimlane: "Schwimmbahn",
3568
- view_timeline: "Zeitplan",
3569
- view_analytics: "Analytik",
3570
- uncategorized: "Nicht kategorisiert",
3571
- no_cards: "Keine Karten in dieser Spalte",
3572
- items: "Elemente",
3573
- switch_language: "Sprache wechseln",
3574
- reload_dataset: "Chipsatz neu laden"
3575
- },
3576
- es: {
3577
- controls: "Controles",
3578
- customize_stroke: "Personalizar el trazo.",
3579
- stroke_color: "Color del trazo",
3580
- stroke_width: "Ancho del trazo",
3581
- actions: "Acciones",
3582
- undo: "Deshacer",
3583
- redo: "Rehacer",
3584
- clear: "Limpiar",
3585
- capture: "Capturar",
3586
- download_png: "Descargar PNG",
3587
- captured_output: "Salida capturada",
3588
- download: "Descargar",
3589
- // Kanban
3590
- add_card: "Añadir tarjeta",
3591
- add_column: "Añadir columna",
3592
- add_swimlane: "Añadir carril",
3593
- search_placeholder: "Buscar tarjetas...",
3594
- view_standard: "Estándar",
3595
- view_swimlane: "Carril",
3596
- view_timeline: "Línea de tiempo",
3597
- view_analytics: "Analítica",
3598
- uncategorized: "Sin categoría",
3599
- no_cards: "No hay tarjetas en esta columna",
3600
- items: "elementos",
3601
- switch_language: "Cambiar idioma",
3602
- reload_dataset: "Recargar conjunto de datos"
3603
- },
3604
- zh: {
3605
- controls: "控制",
3606
- customize_stroke: "自定义笔触。",
3607
- stroke_color: "笔触颜色",
3608
- stroke_width: "笔触宽度",
3609
- actions: "操作",
3610
- undo: "撤销",
3611
- redo: "重做",
3612
- clear: "清除",
3613
- capture: "捕获",
3614
- download_png: "下载 PNG",
3615
- captured_output: "捕获输出",
3616
- download: "下载",
3617
- // Kanban
3618
- add_card: "添加卡片",
3619
- add_column: "添加列",
3620
- add_swimlane: "添加泳道",
3621
- search_placeholder: "搜索卡片...",
3622
- view_standard: "标准",
3623
- view_swimlane: "泳道",
3624
- view_timeline: "时间轴",
3625
- view_analytics: "分析",
3626
- uncategorized: "未分类",
3627
- no_cards: "此列中没有卡片",
3628
- items: "项",
3629
- switch_language: "切换语言",
3630
- reload_dataset: "重新加载数据集"
3631
- },
3632
- ar: {
3633
- controls: "عناصر التحكم",
3634
- customize_stroke: "تخصيص الضربة.",
3635
- stroke_color: "لون الضربة",
3636
- stroke_width: "عرض الضربة",
3637
- actions: "إجراءات",
3638
- undo: "تراجع",
3639
- redo: "إعادة",
3640
- clear: "مسح",
3641
- capture: "التقاط",
3642
- download_png: "تحميل PNG",
3643
- captured_output: "المخرجات الملتقطة",
3644
- download: "تحميل",
3645
- // Kanban
3646
- add_card: "أضف بطاقة",
3647
- add_column: "أضف عمود",
3648
- add_swimlane: "أضف مسار",
3649
- search_placeholder: "بحث عن البطاقات...",
3650
- view_standard: "قياسي",
3651
- view_swimlane: "مسار",
3652
- view_timeline: "الجدول الزمني",
3653
- view_analytics: "تحليلات",
3654
- uncategorized: "غير مصنف",
3655
- no_cards: "لا توجد بطاقات في هذا العمود",
3656
- items: "عناصر",
3657
- switch_language: "تغيير اللغة",
3658
- reload_dataset: "إعادة تحميل البيانات"
3659
- }
3660
- };
3661
- _locale = "en";
3662
- _translations = {};
3663
- constructor(t = "en") {
3664
- super({
3665
- locale: t,
3666
- dir: ["ar", "he", "fa"].includes(t) ? "rtl" : "ltr",
3667
- translations: {}
3668
- }), this._locale = t, this._translations = this.initialTranslations, this.setState({
3669
- translations: this.initialTranslations
3670
- });
3671
- }
3672
- get locale() {
3673
- return this.state.locale;
3674
- }
3675
- get dir() {
3676
- return this.state.dir;
3677
- }
3678
- /**
3679
- * Sets the active locale and updates text direction.
3680
- * @param locale The locale code to switch to.
3681
- * @group Methods
3682
- */
3683
- setLocale = (t) => {
3684
- this._locale = t, this.setState({
3685
- locale: t,
3686
- dir: ["ar", "he", "fa"].includes(t) ? "rtl" : "ltr"
3687
- });
3688
- };
3689
- /**
3690
- * Dynamically registers custom translations for a specific locale.
3691
- * @param locale The locale to add translations for.
3692
- * @param da Key-value pairs of translation strings.
3693
- * @group Methods
3694
- */
3695
- registerTranslations = (t, r) => {
3696
- this._translations[t] = { ...this._translations[t], ...r }, this.setState((o) => ({
3697
- translations: {
3698
- ...o?.translations || {},
3699
- [t]: { ...o?.translations?.[t] || {}, ...r }
3700
- }
3701
- }));
3702
- };
3703
- /**
3704
- * Translates a key based on the current active locale.
3705
- * Falls back to the provided defaultValue, then to English, then returns the key itself.
3706
- * @param key The translation key to lookup.
3707
- * @param defaultValue Optional fallback string if the key is not found.
3708
- * @returns The localized string or the fallback/key if not found.
3709
- * @group Methods
3710
- */
3711
- t = (t, r) => (this._translations[this._locale] || this._translations.en)?.[t] ?? r ?? t;
3712
- /**
3713
- * Formats a date based on the current active locale.
3714
- * @param value The date to format.
3715
- * @param options Formatting options.
3716
- * @group Formatting
3717
- */
3718
- formatDate = (t, r = {}) => $t(t, { ...r, locale: this.state.locale });
3719
- /**
3720
- * Formats a number based on the current active locale.
3721
- * @param value The number to format.
3722
- * @param options Formatting options.
3723
- * @group Formatting
3724
- */
3725
- formatNumber = (t, r = {}) => ue(t, { ...r, locale: this.state.locale });
3726
- /**
3727
- * Formats a currency based on the current active locale.
3728
- * @param value The amount to format.
3729
- * @param currency The currency code (default: USD).
3730
- * @group Formatting
3731
- */
3732
- formatCurrency = (t, r = "USD") => Ht(t, this.state.locale, r);
3733
- }
3734
- class $e {
3735
- name = "NotificationService";
3736
- subscribers = /* @__PURE__ */ new Set();
3737
- notifications = [];
3738
- /** Adds a new notification to the active queue. @group Methods */
3739
- add(t) {
3740
- const r = crypto.randomUUID(), o = { ...t, id: r };
3741
- this.notifications.push(o), this.notify(), t.duration !== 0 && setTimeout(() => this.remove(r), t.duration || 5e3);
3742
- }
3743
- /** Direct alias for `add`. @group Methods */
3744
- show(t) {
3745
- this.add(t);
3746
- }
3747
- /** Manually removes a notification by its ID. @group Methods */
3748
- remove(t) {
3749
- this.notifications = this.notifications.filter((r) => r.id !== t), this.notify();
3750
- }
3751
- /** Clears all active notifications. @group Methods */
3752
- clearAll() {
3753
- this.notifications = [], this.notify();
3754
- }
3755
- /**
3756
- * Subscribes to notifications queue changes.
3757
- * @param callback Callback triggered when notifications are added or removed.
3758
- * @returns Unsubscribe function.
3759
- * @group Methods
3760
- */
3761
- subscribe(t) {
3762
- return this.subscribers.add(t), t(this.notifications), () => this.subscribers.delete(t);
3763
- }
3764
- notify() {
3765
- this.subscribers.forEach((t) => t(this.notifications));
3766
- }
3767
- }
3768
- class Zt extends le {
3769
- name = "LayoutService";
3770
- constructor() {
3771
- super({
3772
- sidebarOpen: !0,
3773
- mode: "dashboard",
3774
- headerHeight: 64,
3775
- sidebarWidth: 256,
3776
- breakpoint: 768,
3777
- viewportHeight: typeof window < "u" ? window.innerHeight : 0,
3778
- isMobile: !1,
3779
- authPage: "signin",
3780
- panels: []
3781
- }), typeof window < "u" && (this.handleResize(), window.addEventListener("resize", this.handleResize), this.registerCleanup(() => window.removeEventListener("resize", this.handleResize)));
3782
- }
3783
- handleResize = () => {
3784
- const t = window.innerHeight, r = window.innerWidth < this.state.breakpoint;
3785
- this.setState((o) => {
3786
- let s = { viewportHeight: t };
3787
- return r !== o.isMobile && (s.isMobile = r, r && (s.sidebarOpen = !1)), s;
3788
- });
3789
- };
3790
- /**
3791
- * Updates the core layout dimensions and breakpoints.
3792
- * @group Methods
3793
- */
3794
- updateConfig(t) {
3795
- this.setState((r) => {
3796
- const o = {};
3797
- t.headerHeight !== void 0 && (o.headerHeight = t.headerHeight), t.sidebarWidth !== void 0 && (o.sidebarWidth = t.sidebarWidth), t.breakpoint !== void 0 && (o.breakpoint = t.breakpoint);
3798
- const s = o.breakpoint ?? r.breakpoint;
3799
- if (typeof window < "u") {
3800
- const i = window.innerWidth < s;
3801
- i !== r.isMobile && (o.isMobile = i, i && (o.sidebarOpen = !1));
3802
- }
3803
- return o;
3804
- });
3805
- }
3806
- /**
3807
- * Toggles the sidebar visibility.
3808
- * @param open Optional explicit state to set.
3809
- * @group Methods
3810
- */
3811
- toggleSidebar(t) {
3812
- this.setState((r) => ({
3813
- sidebarOpen: t !== void 0 ? t : !r.sidebarOpen
3814
- }));
3815
- }
3816
- /** Sets the active layout mode. @group Methods */
3817
- setMode(t) {
3818
- this.setState({ mode: t });
3819
- }
3820
- /** Switches the active auth page view. @group Methods */
3821
- setAuthPage(t) {
3822
- this.setState({ authPage: t });
3823
- }
3824
- /** Registers a new floating or docked panel. @group Methods */
3825
- addPanel(t) {
3826
- this.setState((r) => ({
3827
- panels: [...r.panels, t]
3828
- }));
3829
- }
3830
- /** Removes a registered panel by ID. @group Methods */
3831
- removePanel(t) {
3832
- this.setState((r) => ({
3833
- panels: r.panels.filter((o) => o.id !== t)
3834
- }));
3835
- }
3836
- /**
3837
- * Helper to get CSS styles for the main content area based on layout state.
3838
- * @group Methods
3839
- */
3840
- getMainContentStyle() {
3841
- return {
3842
- height: `calc(100vh - ${this.state.headerHeight}px)`,
3843
- marginLeft: this.state.sidebarOpen && !this.state.isMobile ? `${this.state.sidebarWidth}px` : "0px",
3844
- transition: "margin-left 0.3s cubic-bezier(0.4, 0, 0.2, 1)"
3845
- };
3846
- }
3847
- }
3848
- const Be = Ke(null), er = ({ children: e, defaultLocale: t = "en", translations: r }) => {
3849
- const o = He.useRef(null), i = (() => {
3850
- if (!o.current) {
3851
- const l = new Ut(), c = new Ve(t);
3852
- r && Object.entries(r).forEach(([f, p]) => {
3853
- c.registerTranslations(f, p);
3854
- }), l.register("I18nService", c), l.register("ThemeService", new Vt()), l.register("NotificationService", new $e()), l.register("LayoutService", new Zt()), o.current = l;
3855
- }
3856
- return o.current;
3857
- })();
3858
- Ae(() => {
3859
- if (r) {
3860
- const l = i.get("I18nService");
3861
- l && Object.entries(r).forEach(([c, f]) => {
3862
- l.registerTranslations(c, f);
3863
- });
3864
- }
3865
- }, [r, i]);
3866
- const n = Ye(() => ({
3867
- registry: i
3868
- }), [i]);
3869
- return /* @__PURE__ */ qe(Be.Provider, { value: n, children: e });
3870
- }, $ = () => {
3871
- const e = Ze(Be);
3872
- if (!e)
3873
- throw new Error("useEzServiceRegistry must be used within an <EzProvider>");
3874
- return e.registry;
3875
- }, tr = () => $().getOrThrow("ThemeService"), rr = () => $().getOrThrow("I18nService"), or = () => $().getOrThrow("NotificationService"), sr = (e) => {
3876
- const t = $(), [r] = ve(() => e.serviceRegistry || t), [o, s] = ve({
3877
- isLoading: !1,
3878
- error: null,
3879
- isHydrated: !1
3880
- }), i = X((c) => {
3881
- s((f) => ({ ...f, isLoading: c }));
3882
- }, []), n = X((c) => {
3883
- s((f) => ({ ...f, error: c }));
3884
- }, []);
3885
- Ae(() => (s((c) => ({ ...c, isHydrated: !0 })), e.onCreated && e.onCreated(), () => {
3886
- e.onDestroyed && e.onDestroyed();
3887
- }), []);
3888
- const l = {
3889
- showSpinner: X(() => i(!0), []),
3890
- hideSpinner: X(() => i(!1), [])
3891
- };
3892
- return {
3893
- /** The resolved service registry for this component. @group Services */
3894
- serviceRegistry: r,
3895
- /** Current base state (loading, error, hydrated). @group State */
3896
- state: o,
3897
- /** Functional setter for loading state. @group Methods */
3898
- setIsLoading: i,
3899
- /** Functional setter for error state. @group Methods */
3900
- setError: n,
3901
- /** Base API (spinner controls). @group Methods */
3902
- api: l
3903
- };
3904
- }, nr = () => {
3905
- const e = $();
3906
- e.get("I18nService") || e.register("I18nService", new Ve()), e.get("NotificationService") || e.register("NotificationService", new $e());
3907
- };
3908
- export {
3909
- le as B,
3910
- er as E,
3911
- Ve as I,
3912
- Zt as L,
3913
- $e as N,
3914
- Vt as T,
3915
- sr as a,
3916
- nr as b,
3917
- Xt as c,
3918
- Je as d,
3919
- tr as e,
3920
- Ut as f,
3921
- Ht as g,
3922
- $t as h,
3923
- Qt as i,
3924
- ue as j,
3925
- Jt as k,
3926
- rr as l,
3927
- or as m,
3928
- $ as u
3929
- };