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
@@ -0,0 +1 @@
1
+ const e=require("./EzProvider-L2qQMq-v.cjs"),t=require("./EzErrorBoundary-d_2g-_EK.cjs"),n=require("./useService-CyF782jv.cjs"),r=require("./useComponentState-Wcz6pjd6.cjs"),i=require("./useInitCoreServices-DlALVDNx.cjs"),a=require("./useServiceState-PyYQWxHi.cjs"),o=require("./HighlightText-BViuwe03.cjs"),s=require("./EzContextMenu-BCUoEQp5.cjs");let c=require("react");c=e.y(c,1);let l=require("lucide-react"),u=require("react/jsx-runtime"),d=require("@dnd-kit/core"),f=require("@dnd-kit/utilities"),p=require("@dnd-kit/sortable");var m=class{name=`HierarchyService`;nodeMap=new Map;constructor(){}registerNode(e){this.nodeMap.set(e.id,e)}unregisterNode(e){this.nodeMap.delete(e)}getParent(e){let t=this.nodeMap.get(e);if(t&&t.parentId)return this.nodeMap.get(t.parentId)}getChildren(e){let t=this.nodeMap.get(e);return t&&t.children?t.children.map(e=>this.nodeMap.get(e)).filter(e=>!!e):[]}getDescendants(e){let t=[],n=[...this.nodeMap.get(e)?.children||[]];for(;n.length>0;){let e=n.pop();t.push(e);let r=this.nodeMap.get(e);r?.children&&n.push(...r.children)}return t}getAncestors(e){let t=[],n=this.nodeMap.get(e)?.parentId;for(;n;)t.push(n),n=this.nodeMap.get(n)?.parentId;return t}getNode(e){return this.nodeMap.get(e)}cleanup(){this.nodeMap.clear()}},h=(e,t)=>t?{id:t.id?e[t.id]:e.id,label:t.text?e[t.text]:e.label,children:t.children?e[t.children]:e.children,icon:t.icon?e[t.icon]:e.icon,...e}:e,g=(e,t)=>!t||t===`None`?e:[...e].sort((e,n)=>{let r=e.label.localeCompare(n.label);return t===`Ascending`?r:-r}).map(e=>({...e,children:e.children?g(e.children,t):void 0})),_=o.i,v=o.a,y=e=>{let{data:t,fields:n,sortOrder:i,onDataSourceChanged:a,onDataBound:o}=e,{state:s,setState:l}=r.t({initialState:{internalTreeData:t,loadingNodes:new Set}}),u=(0,c.useRef)(!1),d=(0,c.useCallback)(e=>{l(t=>({...t,internalTreeData:typeof e==`function`?e(t.internalTreeData):e}))},[l]),f=(0,c.useCallback)(e=>{l(t=>({...t,loadingNodes:typeof e==`function`?e(t.loadingNodes):e}))},[l]),{internalTreeData:p,loadingNodes:m}=s,_=(0,c.useMemo)(()=>{let e=p;if(n){let t=e=>e.map(e=>{let r=h(e,n);return r.children&&=t(r.children),r});e=t(e)}return i&&(e=g(e,i)),e},[p,n,i]),y=(0,c.useRef)(t);return(0,c.useEffect)(()=>{y.current!==t&&(d(t),a?.(),y.current=t)},[t,a]),(0,c.useEffect)(()=>{u.current&&o?.()},[_,o]),(0,c.useEffect)(()=>(u.current=!0,()=>{u.current=!1}),[]),{treeData:_,setInternalTreeData:d,loadingNodes:m,setLoadingNodes:f,updateNode:(0,c.useCallback)((e,t)=>{d(n=>v(n,e,t))},[d])}},b=(e,t,n,r,i)=>{let{expandedNodes:a,onNodeExpanding:o,onNodeExpanded:s,onNodeCollapsing:l,onNodeCollapsed:u,onNodeExpand:d,onLoadChildren:f,onActionFailure:p}=e,[m,h]=(0,c.useState)(new Set),g=a?new Set(a):m;return{expandedNodes:g,setInternalExpandedNodes:h,toggleExpand:(0,c.useCallback)(async e=>{let c=g.has(e),m=!c;if(m){if(o?.(e)===!1)return}else if(l?.(e)===!1)return;if(m&&(f||i)){let a=_(t,e);if(a&&!a.isLoaded&&!a.isLeaf){r(t=>new Set(t).add(e));try{n(e,{children:i?await i.loadNodes(e):await f(e),isLoaded:!0})}catch(e){p?.(e);return}finally{r(t=>{let n=new Set(t);return n.delete(e),n})}}}let v=new Set(g);c?v.delete(e):v.add(e),a||h(v),d?.(e,m),m?s?.(e):u?.(e)},[g,t,f,d,a,o,l,s,u,p,n,r,i])}},x=(e,t,n)=>{let{selectedNodes:r,checkedNodes:i,selectionMode:a=`single`,onSelectionChange:o,onCheckedChange:s,onNodeSelecting:l,onNodeSelected:u,onNodeChecking:d,onNodeChecked:f,autoCheck:p=!0}=e,[m,h]=(0,c.useState)(new Set),g=r?new Set(r):m,[_,v]=(0,c.useState)(new Set),y=i?new Set(i):_,[b,x]=(0,c.useState)(new Set),S=(0,c.useCallback)(e=>{if(l?.(e)===!1)return;let t=new Set(a===`multiple`?g:[]);t.has(e)?t.delete(e):t.add(e),r||h(t),o?.(Array.from(t)),u?.(e)},[g,a,o,r,l,u]),C=(0,c.useCallback)((e,n)=>{let r=new Set(y),a=new Set(b),o=t.getDescendants(e),c=t.getAncestors(e);n?(r.add(e),a.delete(e),p&&o.forEach(e=>{r.add(e),a.delete(e)})):(r.delete(e),a.delete(e),p&&o.forEach(e=>{r.delete(e),a.delete(e)})),p&&c.forEach(e=>{let n=t.getChildren(e),i=n.every(e=>r.has(e.id)),o=n.every(e=>!r.has(e.id)&&!a.has(e.id));i?(r.add(e),a.delete(e)):o?(r.delete(e),a.delete(e)):(r.delete(e),a.add(e))}),x(a),i||v(r),s?.(Array.from(r)),f?.(e,n)},[y,b,t,s,p,i,f]),w=(0,c.useCallback)(e=>{let t=y.has(e);d?.(e,!t)!==!1&&C(e,!t)},[y,C,d]);return(0,c.useEffect)(()=>{if(!p||!t||!n.length)return;let e=new Set,r=new Set(y),a=t=>{if(!(t.children&&t.children.length>0))return{isChecked:r.has(t.id),isIndeterminate:!1};let n=t.children.map(e=>a(e)),i=n.every(e=>!e.isChecked&&!e.isIndeterminate);return n.every(e=>e.isChecked&&!e.isIndeterminate)?(r.add(t.id),{isChecked:!0,isIndeterminate:!1}):i?(r.delete(t.id),{isChecked:!1,isIndeterminate:!1}):(r.delete(t.id),e.add(t.id),{isChecked:!1,isIndeterminate:!0})};n.forEach(e=>a(e)),Array.from(b).sort().join(`,`)!==Array.from(e).sort().join(`,`)&&x(e),Array.from(y).sort().join(`,`)!==Array.from(r).sort().join(`,`)&&(i||v(r),s?.(Array.from(r)))},[y,t,p,n,i,s,v]),{selectedNodes:g,setInternalSelectedNodes:h,toggleSelect:S,checkedNodes:y,setInternalCheckedNodes:v,indeterminateNodes:b,setIndeterminateNodes:x,toggleCheck:w,updateCheckState:C}},S=(e,t,n=``)=>{let r=n.toLowerCase(),i=(0,c.useMemo)(()=>{if(!r)return null;let t=new Map,n=e=>{if(t.has(e.id))return t.get(e.id);let i=(e.label||``).toLowerCase().includes(r),a=!1;if(e.children)for(let t of e.children)n(t).matches&&(a=!0);let o={matches:i||a,hasChildMatch:a};return t.set(e.id,o),o};return e.forEach(e=>n(e)),t},[e,r]);return{flattenedNodes:(0,c.useMemo)(()=>{let n=[],r=(e,a=0)=>{e.forEach(e=>{let o=i?i.get(e.id):void 0;if((i?o?.matches:!0)===!1)return;n.push({node:e,level:a});let s=i&&o?.hasChildMatch;(t.has(e.id)||s)&&e.children&&r(e.children,a+1)})};return r(e),n},[e,t,i])}},C=(n,r,i,a,o,s,l,u,d,f,p,m,h,g,y={})=>{let b=e.n(),{expandedNodes:x,checkedNodes:S,selectedNodes:C,onNodeExpand:w,onCheckedChange:T,onSelectionChange:E,onNodeEditing:D}=n;t.n(g,(0,c.useMemo)(()=>{let e={expandAll:()=>{let e=Array.from(m.nodeMap.keys());x?w?.(e[0],!0):o(new Set(e))},collapseAll:()=>{x?w?.(``,!1):o(new Set)},checkAll:()=>{let e=Array.from(m.nodeMap.keys());S?T?.(e):(l(new Set(e)),d(new Set))},uncheckAll:()=>{S?T?.([]):(l(new Set),d(new Set))},selectNode:e=>{C?E?.([e]):u(new Set([e]))},expandNode:(e,t=!0)=>{x?w?.(e,t):o(n=>{let r=new Set(n);return t?r.add(e):r.delete(e),r})},checkNode:(e,t=!0)=>f(e,t),getFlattenedNodes:()=>p,addNodes:(e,t,n)=>{if(!t)i(t=>{let r=[...t];return n===void 0?r.push(...e):r.splice(n,0,...e),r});else{let r=i=>i.map(i=>{if(i.id===t){let t=[...i.children||[]];return n===void 0?t.push(...e):t.splice(n,0,...e),{...i,children:t}}return i.children?{...i,children:r(i.children)}:i});i(e=>r(e))}b.get(`NotificationService`)?.show({type:`success`,message:`${e.length} Node(s) Added`,duration:2e3})},removeNodes:e=>{let t=new Set(e),n=e=>e.filter(e=>!t.has(e.id)).map(e=>({...e,children:e.children?n(e.children):void 0}));i(e=>n(e)),b.get(`NotificationService`)?.show({type:`success`,message:`${e.length} Node(s) Removed`,duration:2e3})},updateNode:(e,t)=>{i(n=>v(n,e,t)),b.get(`NotificationService`)?.show({type:`success`,message:`Node Updated Successfully`,duration:2e3})},moveNodes:(e,t,n)=>{let a=[],o=new Set(e),s=e=>e.filter(e=>o.has(e.id)?(a.push(e),!1):!0).map(e=>({...e,children:e.children?s(e.children):void 0})),c=s(r),l=e=>e.map(e=>{if(e.id===t){let t=[...e.children||[]];return n===void 0?t.push(...a):t.splice(n,0,...a),{...e,children:t}}return e.children?{...e,children:l(e.children)}:e});i(l(c)),b.get(`NotificationService`)?.show({type:`success`,message:`Nodes Moved Successfully`,duration:2e3})},getNode:e=>_(r,e),getTreeData:()=>r,ensureVisible:e=>{let t=m.getAncestors(e);x?(t.forEach(e=>w?.(e,!0)),w?.(e,!0)):o(n=>{let r=new Set(n);return t.forEach(e=>r.add(e)),r.add(e),r})},beginEdit:e=>{_(r,e)&&D?.(e)!==!1&&h(e)},disableNodes:(e,t=!0)=>{e.forEach(e=>{i(n=>v(n,e,{disabled:t}))})},enableNodes:e=>{e.forEach(e=>{i(t=>v(t,e,{disabled:!1}))})},getAllCheckedNodes:()=>Array.from(s),getDisabledNodes:()=>{let e=[],t=n=>{n.forEach(n=>{n.disabled&&e.push(n.id),n.children&&t(n.children)})};return t(r),e}};return{...y,...e}},[m,r,a,s,x,S,C,w,T,E,D,i,o,l,u,d,f,p,h,y]))},w=t=>{let r=e.n(),o=a.t(`I18nService`)?.dir||`ltr`,{serviceRegistry:s,api:l}=i.n(t),{dir:u,apiRef:d,searchTerm:f}=t,p=u===`auto`||!u?o:u,{treeData:h,setInternalTreeData:g,loadingNodes:_,setLoadingNodes:v,updateNode:w}=y(t),T=(0,c.useMemo)(()=>t.service?t.service:t.serviceName?r.get(t.serviceName):null,[t.service,t.serviceName]);(0,c.useEffect)(()=>{T&&T.loadNodes().then(e=>{g(e)})},[T,g]);let E=n.t(`HierarchyService`,()=>new m,s||r),D=(0,c.useCallback)((e,t=0,n)=>{e.forEach(e=>{let r={id:e.id,level:t,parentId:n,children:e.children?.map(e=>e.id)};E.registerNode(r),e.children&&D(e.children,t+1,e.id)})},[E]);(0,c.useEffect)(()=>{E&&(E.cleanup(),D(h))},[h,E,D]);let{selectedNodes:O,setInternalSelectedNodes:k,toggleSelect:A,checkedNodes:j,setInternalCheckedNodes:M,indeterminateNodes:N,setIndeterminateNodes:P,toggleCheck:F,updateCheckState:I}=x(t,E,h),{expandedNodes:L,setInternalExpandedNodes:R,toggleExpand:z}=b(t,h,w,v,T),{flattenedNodes:B}=S(h,L,f),[V,H]=(0,c.useState)(null),U=(0,c.useCallback)((e,n)=>{w(e,{label:n}),t.onNodeRename?.(e,n)},[w,t.onNodeRename]);return C(t,h,g,L,R,j,M,k,P,I,B,E,H,d,l),{state:{treeData:h,expandedNodes:L,selectedNodes:O,checkedNodes:j,indeterminateNodes:N,loadingNodes:_,flattenedNodes:B,editingNodeId:V},actions:{toggleExpand:z,toggleSelect:A,toggleCheck:F,handleNodeRename:U,setEditingNodeId:H},config:{allowTextWrap:t.allowTextWrap,animation:t.animation,checkOnClick:t.checkOnClick,fullRowSelect:t.fullRowSelect,fullRowNavigable:t.fullRowNavigable,onKeyPress:t.onKeyPress,onNodeClicked:t.onNodeClicked,onDrawNode:t.onDrawNode},dir:p,baseApi:l}},T=()=>(0,u.jsx)(`div`,{className:`flex flex-col items-center justify-center min-h-screen p-4`,children:(0,u.jsxs)(`div`,{className:`flex flex-col items-center gap-4 max-w-md w-full`,children:[(0,u.jsx)(`div`,{className:`flex items-center justify-center w-16 h-16 rounded-full bg-destructive/10`,children:(0,u.jsx)(l.AlertTriangle,{className:`w-8 h-8 text-destructive`})}),(0,u.jsxs)(`div`,{className:`flex flex-col items-center gap-2 text-center`,children:[(0,u.jsx)(`h2`,{className:`text-lg font-semibold`,children:`Tree View Error`}),(0,u.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Something went wrong with the tree view. Please refresh the page or try again.`})]}),(0,u.jsxs)(`button`,{onClick:()=>window.location.reload(),className:`flex items-center gap-2 px-4 py-2 text-sm font-medium text-primary hover:bg-primary/10 rounded-md transition-colors`,children:[(0,u.jsx)(l.RefreshCw,{className:`w-4 h-4`}),`Refresh Page`]})]})}),E=(0,c.memo)(({node:t,level:n,isExpanded:r,isSelected:i,isChecked:a,isIndeterminate:d,isLoading:m,onToggleExpand:h,onToggleSelect:g,onToggleCheck:_,onRename:v,showCheckboxes:y,allowEditing:b,searchTerm:x,style:S,onKeyDown:C,tabIndex:w,autoFocus:T,slots:E,slotProps:D,allowTextWrap:O,animation:k,checkOnClick:A,fullRowSelect:j,fullRowNavigable:M,onNodeClicked:N,onDrawNode:P,isEditing:F,onEditingChange:I,dir:L})=>{let[R,z]=(0,c.useState)(!1),[B,V]=(0,c.useState)(t.label);(0,c.useEffect)(()=>{F!==void 0&&F!==R&&(z(F),F&&V(t.label))},[F,R,t.label]),(0,c.useEffect)(()=>{P?.(t)},[t,P]);let{setNodeRef:H,transform:U,isDragging:W,attributes:G,listeners:K,transition:q}=(0,p.useSortable)({id:t.id,data:{node:t,type:`tree-item`,level:n}}),J=(0,c.useRef)(null),Y=e=>{H(e),J.current=e};(0,c.useEffect)(()=>{T&&J.current&&!R&&J.current.focus({preventScroll:!0})},[T,R]);let ee=()=>{b&&(z(!0),V(t.label),I?.(!0))},te=e=>{e.key===`Enter`?(v(t.id,B),z(!1),I?.(!1)):e.key===`Escape`&&(V(t.label),z(!1),I?.(!1))},X=t.children&&t.children.length>0||t.children&&!t.isLeaf||!t.isLoaded&&!t.isLeaf,ne=n*20+(X?0:20),re={...S,transform:f.CSS.Translate.toString(U)?`${S.transform||``} ${f.CSS.Translate.toString(U)}`:S.transform,transition:q||S.transition,opacity:W?.3:1,zIndex:W?999:`auto`},Z=E?.node,Q=E?.expandIcon,$=E?.checkbox,ie=()=>m?(0,u.jsx)(l.Loader2,{className:`w-3.5 h-3.5 animate-spin`}):X?Q?(0,u.jsx)(Q,{isExpanded:r,isLoading:m,...D?.expandIcon}):r?(0,u.jsx)(l.ChevronDown,{className:`w-4 h-4`}):(0,u.jsx)(l.ChevronRight,{className:`w-4 h-4`}):null,ae=()=>y?$?(0,u.jsx)($,{checked:a,indeterminate:d,onChange:()=>_(t.id),...D?.checkbox}):(0,u.jsxs)(`div`,{"data-testid":`tree-checkbox-${t.id}`,onClick:e=>{e.stopPropagation(),_(t.id)},className:e._(`w-4 h-4 me-2 flex items-center justify-center rounded border-2 transition-all cursor-pointer`,a?`bg-primary border-primary text-primary-foreground`:d?`bg-background border-primary shadow-[0_0_0_1px_inset_rgba(var(--primary),0.1)]`:`bg-background border-slate-500 dark:border-slate-400 hover:border-primary/50`),children:[a&&(0,u.jsx)(l.Check,{className:`w-3.5 h-3.5 stroke-[3]`}),d&&(0,u.jsx)(`div`,{className:`w-2.5 h-0.5 bg-primary rounded-full`})]}):null;return(0,u.jsx)(s.t,{contextId:`tree-node`,data:t,onAction:e=>{e===`edit`&&b&&(z(!0),V(t.label))},children:(0,u.jsx)(`div`,{ref:Y,...G,...K,role:`treeitem`,"data-testid":`tree-item-${t.id}`,"aria-expanded":X?r:void 0,"aria-selected":i,tabIndex:w,onKeyDown:e=>{b&&e.key===`F2`&&(e.stopPropagation(),z(!0),V(t.label)),K?.onKeyDown&&K.onKeyDown(e),C(e,t.id)},onClick:()=>{g(t.id),N?.(t.id),A&&y&&_(t.id)},className:e._(`flex items-center py-1.5 px-2 cursor-pointer hover:bg-muted/50 rounded-md w-full group outline-none focus:ring-1 focus:ring-primary/30 select-none`,i?`bg-primary/10 text-primary`:`text-foreground`,W?`bg-primary/5`:``,k?`transition-all duration-200`:``),style:{...re,paddingInlineStart:`${ne}px`},children:Z?(0,u.jsx)(Z,{node:t,level:n,isExpanded:r,isSelected:i,isChecked:a,isIndeterminate:d,onToggleExpand:()=>h(t.id),onToggleSelect:()=>g(t.id),onToggleCheck:()=>_(t.id),...D?.node||{}}):(0,u.jsxs)(u.Fragment,{children:[X||m?(0,u.jsx)(`button`,{"data-testid":`expand-button`,onClick:e=>{e.stopPropagation(),h(t.id)},onPointerDown:e=>e.stopPropagation(),className:`w-5 h-5 flex items-center justify-center me-1 text-muted-foreground hover:text-foreground hover:bg-muted rounded focus:outline-none transition-colors`,tabIndex:-1,children:ie()}):null,ae(),t.icon&&(0,u.jsx)(`span`,{className:`me-2 flex-shrink-0 text-muted-foreground group-hover:text-foreground transition-colors`,children:t.icon}),R?(0,u.jsx)(`input`,{"data-testid":`tree-item-edit-input`,autoFocus:!0,value:B,onChange:e=>V(e.target.value),onKeyDown:te,onBlur:()=>z(!1),onClick:e=>e.stopPropagation(),className:`flex-1 bg-background border border-primary rounded px-1 text-sm outline-none`}):(0,u.jsx)(`span`,{className:`text-base font-semibold flex-1 ${O?`whitespace-normal`:`truncate`}`,onDoubleClick:e=>{e.stopPropagation(),ee()},children:(0,u.jsx)(o.t,{text:t.label,highlight:x})})]})})})});E.displayName=`EzTreeViewItem`;var D=(0,c.memo)(({items:t,expandedNodes:n,selectedNodes:r,checkedNodes:i,indeterminateNodes:a,loadingNodes:o,onToggleExpand:l,onToggleSelect:d,onToggleCheck:f,onNodeRename:m,className:h,dir:g,showCheckboxes:_,allowEditing:v,searchTerm:y,slots:b,slotProps:x,allowTextWrap:S,animation:C,checkOnClick:w,fullRowSelect:T,fullRowNavigable:D,onKeyPress:O,onNodeClicked:k,onDrawNode:A,editingNodeId:j,setEditingNodeId:M})=>{let{rowVirtualizer:N,parentRef:P,getVirtualItems:F}=s._({rowCount:t.length,rowHeight:32,overscanCount:10,progressiveRendering:!0}),[I,L]=(0,c.useState)(0),R=(0,c.useMemo)(()=>{let e=new Map;return t.forEach((t,n)=>e.set(t.node.id,n)),e},[t]),z=(0,c.useCallback)((e,r,i)=>{let a=g===`rtl`,o=a?`ArrowLeft`:`ArrowRight`,s=a?`ArrowRight`:`ArrowLeft`;if(e.key===`ArrowDown`){e.preventDefault();let n=Math.min(t.length-1,r+1);L(n),N.scrollToIndex(n)}else if(e.key===`ArrowUp`){e.preventDefault();let t=Math.max(0,r-1);L(t),N.scrollToIndex(t)}else if(e.key===o)e.preventDefault(),(i.children?.length||i.children&&!i.isLeaf||!i.isLoaded&&!i.isLeaf)&&!n.has(i.id)?l(i.id):i.children?.length&&n.has(i.id)&&r+1<t.length&&t[r+1].level>(i.level??0)&&(L(r+1),N.scrollToIndex(r+1));else if(e.key===s){if(e.preventDefault(),n.has(i.id))l(i.id);else if(i.parentId){let e=R.get(i.parentId);e!==void 0&&(L(e),N.scrollToIndex(e))}}else(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),_?f(i.id):d(i.id))},[t,n,l,d,f,_,R,N]);return(0,u.jsx)(`div`,{ref:P,className:e._(`absolute inset-0 overflow-y-auto bg-background border rounded-lg shadow-sm focus:outline-none focus:ring-1 focus:ring-primary/20`,h),dir:g,role:`tree`,onKeyDown:e=>O?.(e),children:(0,u.jsx)(`div`,{style:{height:`${N.getTotalSize()}px`,width:`100%`,position:`relative`},children:(0,u.jsx)(p.SortableContext,{items:t.map(e=>e.node.id),strategy:p.verticalListSortingStrategy,children:F().map(e=>{let{node:s,level:c}=t[e.index],p=I===e.index;return(0,u.jsx)(E,{node:s,level:c,isExpanded:n.has(s.id),isSelected:r.has(s.id),isChecked:i.has(s.id),isIndeterminate:a.has(s.id),isLoading:o.has(s.id),hasChildren:!!s.children?.length||s.children&&!s.isLeaf||!s.isLoaded&&!s.isLeaf,onToggleExpand:l,onToggleSelect:d,onToggleCheck:f,onRename:m,showCheckboxes:_,allowEditing:v,searchTerm:y,onKeyDown:t=>z(t,e.index,s),style:{position:`absolute`,top:`${e.start}px`,left:0,width:`100%`,height:`${e.size}px`},tabIndex:p?0:-1,autoFocus:p,slots:b,slotProps:x,allowTextWrap:S,animation:C,checkOnClick:w,fullRowSelect:T,fullRowNavigable:D,onNodeClicked:k,onDrawNode:A,isEditing:j===s.id,onEditingChange:e=>M(e?s.id:null),dir:g},s.id)})})})})});D.displayName=`EzVirtualTree`;var O=({onDragEnd:e,onDragStart:t})=>{let[n,r]=(0,c.useState)(null),[i,a]=(0,c.useState)(null),[o,s]=(0,c.useState)(`inside`);return{sensors:(0,d.useSensors)((0,d.useSensor)(d.PointerSensor,{activationConstraint:{distance:8}})),activeNode:n,dragOverNode:i,dragPosition:o,handleDragStart:(0,c.useCallback)(e=>{let{active:n}=e,i=n.data.current?.node;i&&(r(i),t?.(i))},[t]),handleDragOver:(0,c.useCallback)(e=>{e.preventDefault();let{active:t,over:n}=e;if(!n)return;let r=t.data.current?.node,i=n.data.current?.node;if(r&&i&&r.id!==i.id){let e=n.rect,t=e.top+e.height/2;t<e.top+10?s(`before`):t>e.bottom-10?s(`after`):s(`inside`),a(i)}},[]),handleDragEnd:(0,c.useCallback)(t=>{let{active:c,over:l}=t;c&&l&&n&&i&&e(n,i,o),r(null),a(null),s(`inside`)},[n,i,o,e])}},k=n=>{i.t();let{state:{expandedNodes:r,selectedNodes:a,checkedNodes:o,indeterminateNodes:s,loadingNodes:c,flattenedNodes:l,editingNodeId:f},actions:{toggleExpand:p,toggleSelect:m,toggleCheck:h,handleNodeRename:g,setEditingNodeId:_},config:{allowTextWrap:v,animation:y,checkOnClick:b,fullRowSelect:x,fullRowNavigable:S,onKeyPress:C,onNodeClicked:E,onDrawNode:k},dir:A}=w(n),{handleDragEnd:j,sensors:M}=O({onDragEnd:(e,t,r)=>{n.onNodeDrop&&n.onNodeDrop(e,t,r)}});return(0,u.jsx)(t.t,{fallback:(0,u.jsx)(T,{}),children:(0,u.jsx)(`div`,{className:e._(`relative flex-1 w-full h-full min-h-0`,n.className),children:(0,u.jsx)(d.DndContext,{sensors:M,collisionDetection:d.closestCenter,onDragEnd:j,children:(0,u.jsx)(D,{items:l,expandedNodes:r,selectedNodes:a,checkedNodes:o,indeterminateNodes:s,loadingNodes:c,onToggleExpand:p,onToggleSelect:m,onToggleCheck:h,onNodeRename:g,dir:A,showCheckboxes:n.showCheckboxes,allowEditing:n.allowEditing,searchTerm:n.searchTerm,slots:n.slots,slotProps:n.slotProps,allowTextWrap:v,animation:y,checkOnClick:b,fullRowSelect:x,fullRowNavigable:S,onKeyPress:C,onNodeClicked:E,onDrawNode:k,editingNodeId:f,setEditingNodeId:_})})})})};Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return k}});
@@ -0,0 +1 @@
1
+ let e=require("react/jsx-runtime");var t=(e,n)=>{for(let r of e){if(r.id===n)return r;if(r.children){let e=t(r.children,n);if(e)return e}}},n=(e,t,r)=>e.map(e=>e.id===t?{...e,...r}:e.children?{...e,children:n(e.children,t,r)}:e),r=(e,t)=>{let n=t(e.field),r=e.value,i=String(n??``).toLowerCase(),a=String(r??``).toLowerCase(),o=Number(n),s=Number(r);switch(e.operator){case`contains`:return i.includes(a);case`doesNotContain`:return!i.includes(a);case`equals`:return i===a;case`notEquals`:case`doesNotEqual`:return i!==a;case`startsWith`:return i.startsWith(a);case`endsWith`:return i.endsWith(a);case`empty`:return n==null||n===``;case`notEmpty`:return!(n==null||n===``);case`gt`:case`greaterThan`:return!isNaN(o)&&!isNaN(s)&&o>s;case`lt`:case`lessThan`:return!isNaN(o)&&!isNaN(s)&&o<s;case`gte`:case`greaterThanOrEqual`:return!isNaN(o)&&!isNaN(s)&&o>=s;case`lte`:case`lessThanOrEqual`:return!isNaN(o)&&!isNaN(s)&&o<=s;case`between`:if(Array.isArray(r)&&r.length===2){let[e,t]=r;return!isNaN(o)&&o>=Number(e)&&o<=Number(t)}return!1;case`shouldContain`:return Array.isArray(n)&&Array.isArray(r)?r.some(e=>n.includes(e)):Array.isArray(n)?n.includes(r):!1;default:return!0}},i=(e,t)=>!e.filters||e.filters.length===0?!0:e.logic===`AND`?e.filters.every(e=>`logic`in e?i(e,t):r(e,t)):e.filters.some(e=>`logic`in e?i(e,t):r(e,t)),a=({text:t,highlight:n})=>{let r=String(t??``);if(!n||!r)return(0,e.jsx)(e.Fragment,{children:r});let i=n.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return(0,e.jsx)(e.Fragment,{children:r.split(RegExp(`(${i})`,`gi`)).map((t,r)=>t.toLowerCase()===n.toLowerCase()?(0,e.jsx)(`mark`,{className:`bg-[#ccff00] dark:bg-[#d4ff33] text-black rounded-sm px-0.5 font-bold shadow-[0_0_8px_rgba(204,255,0,0.5)] dark:shadow-[0_0_12px_rgba(212,255,51,0.4)] transition-all animate-in fade-in zoom-in duration-300 inline-block`,children:t},r):t)})};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return a}});
@@ -0,0 +1,56 @@
1
+ import { Fragment as e, jsx as t } from "react/jsx-runtime";
2
+ //#region src/shared/utils/commonUtils.ts
3
+ var n = (e, t) => {
4
+ for (let r of e) {
5
+ if (r.id === t) return r;
6
+ if (r.children) {
7
+ let e = n(r.children, t);
8
+ if (e) return e;
9
+ }
10
+ }
11
+ }, r = (e, t, n) => e.map((e) => e.id === t ? {
12
+ ...e,
13
+ ...n
14
+ } : e.children ? {
15
+ ...e,
16
+ children: r(e.children, t, n)
17
+ } : e), i = (e, t) => {
18
+ let n = t(e.field), r = e.value, i = String(n ?? "").toLowerCase(), a = String(r ?? "").toLowerCase(), o = Number(n), s = Number(r);
19
+ switch (e.operator) {
20
+ case "contains": return i.includes(a);
21
+ case "doesNotContain": return !i.includes(a);
22
+ case "equals": return i === a;
23
+ case "notEquals":
24
+ case "doesNotEqual": return i !== a;
25
+ case "startsWith": return i.startsWith(a);
26
+ case "endsWith": return i.endsWith(a);
27
+ case "empty": return n == null || n === "";
28
+ case "notEmpty": return !(n == null || n === "");
29
+ case "gt":
30
+ case "greaterThan": return !isNaN(o) && !isNaN(s) && o > s;
31
+ case "lt":
32
+ case "lessThan": return !isNaN(o) && !isNaN(s) && o < s;
33
+ case "gte":
34
+ case "greaterThanOrEqual": return !isNaN(o) && !isNaN(s) && o >= s;
35
+ case "lte":
36
+ case "lessThanOrEqual": return !isNaN(o) && !isNaN(s) && o <= s;
37
+ case "between":
38
+ if (Array.isArray(r) && r.length === 2) {
39
+ let [e, t] = r;
40
+ return !isNaN(o) && o >= Number(e) && o <= Number(t);
41
+ }
42
+ return !1;
43
+ case "shouldContain": return Array.isArray(n) && Array.isArray(r) ? r.some((e) => n.includes(e)) : Array.isArray(n) ? n.includes(r) : !1;
44
+ default: return !0;
45
+ }
46
+ }, a = (e, t) => !e.filters || e.filters.length === 0 ? !0 : e.logic === "AND" ? e.filters.every((e) => "logic" in e ? a(e, t) : i(e, t)) : e.filters.some((e) => "logic" in e ? a(e, t) : i(e, t)), o = ({ text: n, highlight: r }) => {
47
+ let i = String(n ?? "");
48
+ if (!r || !i) return /* @__PURE__ */ t(e, { children: i });
49
+ let a = r.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
50
+ return /* @__PURE__ */ t(e, { children: i.split(RegExp(`(${a})`, "gi")).map((e, n) => e.toLowerCase() === r.toLowerCase() ? /* @__PURE__ */ t("mark", {
51
+ className: "bg-[#ccff00] dark:bg-[#d4ff33] text-black rounded-sm px-0.5 font-bold shadow-[0_0_8px_rgba(204,255,0,0.5)] dark:shadow-[0_0_12px_rgba(212,255,51,0.4)] transition-all animate-in fade-in zoom-in duration-300 inline-block",
52
+ children: e
53
+ }, n) : e) });
54
+ };
55
+ //#endregion
56
+ export { r as a, n as i, a as n, i as r, o as t };