impact-nova 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (502) hide show
  1. package/README.md +237 -0
  2. package/dist/App.d.ts +2 -0
  3. package/dist/assets/flatten.worker-C7x-Wj6s.js +1 -0
  4. package/dist/components/layout/dashboard-layout.d.ts +25 -0
  5. package/dist/components/ui/accordion-nested-list/accordion-nested-list.d.ts +3 -0
  6. package/dist/components/ui/accordion-nested-list/accordion-nested-list.js +105 -0
  7. package/dist/components/ui/accordion-nested-list/hooks/useAccordionNestedListState.d.ts +19 -0
  8. package/dist/components/ui/accordion-nested-list/hooks/useAccordionNestedListState.js +41 -0
  9. package/dist/components/ui/accordion-nested-list/index.d.ts +2 -0
  10. package/dist/components/ui/accordion-nested-list/index.js +4 -0
  11. package/dist/components/ui/accordion.d.ts +10 -0
  12. package/dist/components/ui/accordion.js +52 -0
  13. package/dist/components/ui/ag-grid-react/cell-renderers/actions-cell-renderer.d.ts +30 -0
  14. package/dist/components/ui/ag-grid-react/cell-renderers/actions-cell-renderer.js +27 -0
  15. package/dist/components/ui/ag-grid-react/cell-renderers/badge-cell-renderer.d.ts +44 -0
  16. package/dist/components/ui/ag-grid-react/cell-renderers/badge-cell-renderer.js +22 -0
  17. package/dist/components/ui/ag-grid-react/cell-renderers/checkbox-display-renderer.d.ts +29 -0
  18. package/dist/components/ui/ag-grid-react/cell-renderers/checkbox-display-renderer.js +36 -0
  19. package/dist/components/ui/ag-grid-react/cell-renderers/date-display-renderer.d.ts +37 -0
  20. package/dist/components/ui/ag-grid-react/cell-renderers/date-display-renderer.js +50 -0
  21. package/dist/components/ui/ag-grid-react/cell-renderers/editors/date-cell-editor.d.ts +33 -0
  22. package/dist/components/ui/ag-grid-react/cell-renderers/editors/date-cell-editor.js +73 -0
  23. package/dist/components/ui/ag-grid-react/cell-renderers/editors/input-cell-editor.d.ts +21 -0
  24. package/dist/components/ui/ag-grid-react/cell-renderers/editors/input-cell-editor.js +91 -0
  25. package/dist/components/ui/ag-grid-react/cell-renderers/editors/select-cell-editor.d.ts +45 -0
  26. package/dist/components/ui/ag-grid-react/cell-renderers/editors/select-cell-editor.js +64 -0
  27. package/dist/components/ui/ag-grid-react/cell-renderers/editors/split-cell-editor.d.ts +9 -0
  28. package/dist/components/ui/ag-grid-react/cell-renderers/editors/split-cell-editor.js +85 -0
  29. package/dist/components/ui/ag-grid-react/cell-renderers/editors/textarea-cell-editor.d.ts +31 -0
  30. package/dist/components/ui/ag-grid-react/cell-renderers/editors/textarea-cell-editor.js +61 -0
  31. package/dist/components/ui/ag-grid-react/cell-renderers/empty-cell-renderer.d.ts +10 -0
  32. package/dist/components/ui/ag-grid-react/cell-renderers/empty-cell-renderer.js +5 -0
  33. package/dist/components/ui/ag-grid-react/cell-renderers/index.d.ts +90 -0
  34. package/dist/components/ui/ag-grid-react/cell-renderers/index.js +65 -0
  35. package/dist/components/ui/ag-grid-react/cell-renderers/input-display-renderer.d.ts +35 -0
  36. package/dist/components/ui/ag-grid-react/cell-renderers/input-display-renderer.js +27 -0
  37. package/dist/components/ui/ag-grid-react/cell-renderers/link-with-batch-cell-renderer.d.ts +63 -0
  38. package/dist/components/ui/ag-grid-react/cell-renderers/link-with-batch-cell-renderer.js +148 -0
  39. package/dist/components/ui/ag-grid-react/cell-renderers/select-display-renderer.d.ts +45 -0
  40. package/dist/components/ui/ag-grid-react/cell-renderers/select-display-renderer.js +25 -0
  41. package/dist/components/ui/ag-grid-react/cell-renderers/split-cell-renderer.d.ts +13 -0
  42. package/dist/components/ui/ag-grid-react/cell-renderers/split-cell-renderer.js +67 -0
  43. package/dist/components/ui/ag-grid-react/cell-renderers/status-badge-renderer.d.ts +35 -0
  44. package/dist/components/ui/ag-grid-react/cell-renderers/status-badge-renderer.js +26 -0
  45. package/dist/components/ui/ag-grid-react/cell-renderers/switch-display-renderer.d.ts +35 -0
  46. package/dist/components/ui/ag-grid-react/cell-renderers/switch-display-renderer.js +38 -0
  47. package/dist/components/ui/ag-grid-react/cell-renderers/textarea-display-renderer.d.ts +34 -0
  48. package/dist/components/ui/ag-grid-react/cell-renderers/textarea-display-renderer.js +32 -0
  49. package/dist/components/ui/ag-grid-react/cell-renderers/types.d.ts +129 -0
  50. package/dist/components/ui/ag-grid-react/cell-renderers/types.js +74 -0
  51. package/dist/components/ui/ag-grid-react/headers/advanced-filter/advanced-filter-dialog.d.ts +24 -0
  52. package/dist/components/ui/ag-grid-react/headers/advanced-filter/advanced-filter-dialog.js +223 -0
  53. package/dist/components/ui/ag-grid-react/headers/advanced-filter/column-filter-section.d.ts +24 -0
  54. package/dist/components/ui/ag-grid-react/headers/advanced-filter/column-filter-section.js +230 -0
  55. package/dist/components/ui/ag-grid-react/headers/column-menu/column-settings-menu.d.ts +11 -0
  56. package/dist/components/ui/ag-grid-react/headers/column-menu/column-settings-menu.js +113 -0
  57. package/dist/components/ui/ag-grid-react/headers/components/header-info.d.ts +37 -0
  58. package/dist/components/ui/ag-grid-react/headers/components/header-info.js +93 -0
  59. package/dist/components/ui/ag-grid-react/headers/components/info-modal.d.ts +12 -0
  60. package/dist/components/ui/ag-grid-react/headers/components/info-modal.js +18 -0
  61. package/dist/components/ui/ag-grid-react/headers/components/lazy-tooltip.d.ts +16 -0
  62. package/dist/components/ui/ag-grid-react/headers/components/lazy-tooltip.js +13 -0
  63. package/dist/components/ui/ag-grid-react/headers/components/section-renderers.d.ts +32 -0
  64. package/dist/components/ui/ag-grid-react/headers/components/section-renderers.js +78 -0
  65. package/dist/components/ui/ag-grid-react/headers/context/grid-header-context.d.ts +34 -0
  66. package/dist/components/ui/ag-grid-react/headers/context/grid-header-context.js +6 -0
  67. package/dist/components/ui/ag-grid-react/headers/custom-header-group.d.ts +12 -0
  68. package/dist/components/ui/ag-grid-react/headers/custom-header-group.js +33 -0
  69. package/dist/components/ui/ag-grid-react/headers/custom-header.d.ts +4 -0
  70. package/dist/components/ui/ag-grid-react/headers/custom-header.js +230 -0
  71. package/dist/components/ui/ag-grid-react/headers/header-search-input.d.ts +29 -0
  72. package/dist/components/ui/ag-grid-react/headers/header-search-input.js +352 -0
  73. package/dist/components/ui/ag-grid-react/headers/utils/date-utils.d.ts +46 -0
  74. package/dist/components/ui/ag-grid-react/headers/utils/date-utils.js +38 -0
  75. package/dist/components/ui/ag-grid-react/headers/utils/filter-utils.d.ts +117 -0
  76. package/dist/components/ui/ag-grid-react/headers/utils/filter-utils.js +434 -0
  77. package/dist/components/ui/ag-grid-react/index.d.ts +5 -0
  78. package/dist/components/ui/ag-grid-react/index.js +183 -0
  79. package/dist/components/ui/ag-grid-react/process-backend-columndefs.d.ts +31 -0
  80. package/dist/components/ui/ag-grid-react/process-backend-columndefs.js +61 -0
  81. package/dist/components/ui/ag-grid-react/theme.d.ts +2 -0
  82. package/dist/components/ui/ag-grid-react/theme.js +46 -0
  83. package/dist/components/ui/ag-grid-react/value-formatters.d.ts +22 -0
  84. package/dist/components/ui/ag-grid-react/value-formatters.js +95 -0
  85. package/dist/components/ui/alert-dialog.d.ts +20 -0
  86. package/dist/components/ui/alert-dialog.js +114 -0
  87. package/dist/components/ui/alert.d.ts +11 -0
  88. package/dist/components/ui/alert.js +54 -0
  89. package/dist/components/ui/avatar.d.ts +14 -0
  90. package/dist/components/ui/avatar.js +60 -0
  91. package/dist/components/ui/badge.d.ts +10 -0
  92. package/dist/components/ui/badge.js +54 -0
  93. package/dist/components/ui/breadcrumb.d.ts +24 -0
  94. package/dist/components/ui/breadcrumb.js +150 -0
  95. package/dist/components/ui/button-group.d.ts +17 -0
  96. package/dist/components/ui/button-group.js +110 -0
  97. package/dist/components/ui/button-variants.d.ts +4 -0
  98. package/dist/components/ui/button-variants.js +31 -0
  99. package/dist/components/ui/button.d.ts +10 -0
  100. package/dist/components/ui/button.js +27 -0
  101. package/dist/components/ui/calendar.d.ts +46 -0
  102. package/dist/components/ui/calendar.js +660 -0
  103. package/dist/components/ui/card.d.ts +8 -0
  104. package/dist/components/ui/card.js +61 -0
  105. package/dist/components/ui/chart/chart.d.ts +29 -0
  106. package/dist/components/ui/chart/chart.js +203 -0
  107. package/dist/components/ui/chart/chart.utils.d.ts +3 -0
  108. package/dist/components/ui/chart/chart.utils.js +192 -0
  109. package/dist/components/ui/chart/index.d.ts +3 -0
  110. package/dist/components/ui/chart/index.js +12 -0
  111. package/dist/components/ui/checkbox.d.ts +8 -0
  112. package/dist/components/ui/checkbox.js +54 -0
  113. package/dist/components/ui/chips.d.ts +13 -0
  114. package/dist/components/ui/chips.js +60 -0
  115. package/dist/components/ui/data-table/data-table-column-list.d.ts +6 -0
  116. package/dist/components/ui/data-table/data-table-column-list.js +153 -0
  117. package/dist/components/ui/data-table/data-table-context.d.ts +18 -0
  118. package/dist/components/ui/data-table/data-table-context.js +11 -0
  119. package/dist/components/ui/data-table/data-table-format-options.d.ts +1 -0
  120. package/dist/components/ui/data-table/data-table-format-options.js +74 -0
  121. package/dist/components/ui/data-table/data-table-sheet.d.ts +20 -0
  122. package/dist/components/ui/data-table/data-table-sheet.js +81 -0
  123. package/dist/components/ui/data-table/data-table-view-options.d.ts +8 -0
  124. package/dist/components/ui/data-table/data-table-view-options.js +75 -0
  125. package/dist/components/ui/data-table/data-table.d.ts +26 -0
  126. package/dist/components/ui/data-table/data-table.js +67 -0
  127. package/dist/components/ui/data-table/index.d.ts +6 -0
  128. package/dist/components/ui/data-table/index.js +20 -0
  129. package/dist/components/ui/data-table/stories/fakeServer.d.ts +14 -0
  130. package/dist/components/ui/data-table/stories/interfaces.d.ts +15 -0
  131. package/dist/components/ui/date-picker/date-picker.d.ts +3 -0
  132. package/dist/components/ui/date-picker/date-picker.js +116 -0
  133. package/dist/components/ui/date-picker/date-range-picker.d.ts +3 -0
  134. package/dist/components/ui/date-picker/date-range-picker.js +195 -0
  135. package/dist/components/ui/date-picker/index.d.ts +18 -0
  136. package/dist/components/ui/date-picker/index.js +20 -0
  137. package/dist/components/ui/date-picker/month-picker.d.ts +3 -0
  138. package/dist/components/ui/date-picker/month-picker.js +117 -0
  139. package/dist/components/ui/date-picker/month-range-picker.d.ts +3 -0
  140. package/dist/components/ui/date-picker/month-range-picker.js +193 -0
  141. package/dist/components/ui/date-picker/multi-date-picker.d.ts +3 -0
  142. package/dist/components/ui/date-picker/multi-date-picker.js +94 -0
  143. package/dist/components/ui/date-picker/multi-month-picker.d.ts +3 -0
  144. package/dist/components/ui/date-picker/multi-month-picker.js +93 -0
  145. package/dist/components/ui/date-picker/multi-week-picker.d.ts +3 -0
  146. package/dist/components/ui/date-picker/multi-week-picker.js +98 -0
  147. package/dist/components/ui/date-picker/week-picker.d.ts +3 -0
  148. package/dist/components/ui/date-picker/week-picker.js +135 -0
  149. package/dist/components/ui/date-picker/week-range-picker.d.ts +3 -0
  150. package/dist/components/ui/date-picker/week-range-picker.js +207 -0
  151. package/dist/components/ui/dialog.d.ts +25 -0
  152. package/dist/components/ui/dialog.js +116 -0
  153. package/dist/components/ui/drawer.d.ts +22 -0
  154. package/dist/components/ui/drawer.js +98 -0
  155. package/dist/components/ui/dropdown-menu.d.ts +42 -0
  156. package/dist/components/ui/dropdown-menu.js +193 -0
  157. package/dist/components/ui/dynamic-layout.d.ts +12 -0
  158. package/dist/components/ui/dynamic-layout.js +50 -0
  159. package/dist/components/ui/empty-container.d.ts +8 -0
  160. package/dist/components/ui/empty-container.js +108 -0
  161. package/dist/components/ui/file-upload.d.ts +12 -0
  162. package/dist/components/ui/file-upload.js +241 -0
  163. package/dist/components/ui/filter-panel/filter-panel.d.ts +7 -0
  164. package/dist/components/ui/filter-panel/filter-panel.js +101 -0
  165. package/dist/components/ui/filter-panel/index.d.ts +2 -0
  166. package/dist/components/ui/filter-panel/index.js +8 -0
  167. package/dist/components/ui/filter-strip/filter-strip.d.ts +3 -0
  168. package/dist/components/ui/filter-strip/filter-strip.js +95 -0
  169. package/dist/components/ui/filter-strip/filter-summary.d.ts +15 -0
  170. package/dist/components/ui/filter-strip/filter-summary.js +204 -0
  171. package/dist/components/ui/filter-strip/filter-tag-list.d.ts +9 -0
  172. package/dist/components/ui/filter-strip/filter-tag-list.js +136 -0
  173. package/dist/components/ui/filter-strip/index.d.ts +2 -0
  174. package/dist/components/ui/filter-strip/index.js +4 -0
  175. package/dist/components/ui/header.d.ts +15 -0
  176. package/dist/components/ui/header.js +125 -0
  177. package/dist/components/ui/horizontal-scroller/horizontal-scroller.d.ts +4 -0
  178. package/dist/components/ui/horizontal-scroller/horizontal-scroller.js +165 -0
  179. package/dist/components/ui/horizontal-scroller/index.d.ts +2 -0
  180. package/dist/components/ui/horizontal-scroller/index.js +1 -0
  181. package/dist/components/ui/hover-card.d.ts +6 -0
  182. package/dist/components/ui/hover-card.js +23 -0
  183. package/dist/components/ui/input.d.ts +17 -0
  184. package/dist/components/ui/input.js +107 -0
  185. package/dist/components/ui/label.d.ts +3 -0
  186. package/dist/components/ui/label.js +18 -0
  187. package/dist/components/ui/loader.d.ts +11 -0
  188. package/dist/components/ui/loader.js +72 -0
  189. package/dist/components/ui/nested-list/components/NestedListApplyDiscardButtons.d.ts +11 -0
  190. package/dist/components/ui/nested-list/components/NestedListApplyDiscardButtons.js +37 -0
  191. package/dist/components/ui/nested-list/components/NestedListCategoryFilters.d.ts +10 -0
  192. package/dist/components/ui/nested-list/components/NestedListCategoryFilters.js +33 -0
  193. package/dist/components/ui/nested-list/components/NestedListContent.d.ts +21 -0
  194. package/dist/components/ui/nested-list/components/NestedListContent.js +73 -0
  195. package/dist/components/ui/nested-list/components/NestedListDragOverlay.d.ts +7 -0
  196. package/dist/components/ui/nested-list/components/NestedListHeader.d.ts +18 -0
  197. package/dist/components/ui/nested-list/components/NestedListHeader.js +86 -0
  198. package/dist/components/ui/nested-list/components/SortableItem.d.ts +17 -0
  199. package/dist/components/ui/nested-list/components/SortableItem.js +139 -0
  200. package/dist/components/ui/nested-list/hooks/useNestedListDragDrop.d.ts +14 -0
  201. package/dist/components/ui/nested-list/hooks/useNestedListDragDrop.js +168 -0
  202. package/dist/components/ui/nested-list/hooks/useNestedListHandlers.d.ts +42 -0
  203. package/dist/components/ui/nested-list/hooks/useNestedListHandlers.js +185 -0
  204. package/dist/components/ui/nested-list/hooks/useNestedListSelectAll.d.ts +16 -0
  205. package/dist/components/ui/nested-list/hooks/useNestedListSelectAll.js +62 -0
  206. package/dist/components/ui/nested-list/hooks/useNestedListState.d.ts +73 -0
  207. package/dist/components/ui/nested-list/hooks/useNestedListState.js +165 -0
  208. package/dist/components/ui/nested-list/index.d.ts +2 -0
  209. package/dist/components/ui/nested-list/index.js +6 -0
  210. package/dist/components/ui/nested-list/nested-list.d.ts +3 -0
  211. package/dist/components/ui/nested-list/nested-list.js +363 -0
  212. package/dist/components/ui/notification-panel/index.d.ts +3 -0
  213. package/dist/components/ui/notification-panel/index.js +20 -0
  214. package/dist/components/ui/notification-panel/notification-item.d.ts +14 -0
  215. package/dist/components/ui/notification-panel/notification-item.js +86 -0
  216. package/dist/components/ui/notification-panel/notification-list.d.ts +5 -0
  217. package/dist/components/ui/notification-panel/notification-list.js +45 -0
  218. package/dist/components/ui/notification-panel/notification-panel.d.ts +9 -0
  219. package/dist/components/ui/notification-panel/notification-panel.js +58 -0
  220. package/dist/components/ui/popover.d.ts +24 -0
  221. package/dist/components/ui/popover.js +84 -0
  222. package/dist/components/ui/portal.d.ts +7 -0
  223. package/dist/components/ui/portal.js +18 -0
  224. package/dist/components/ui/progress-bar.d.ts +1 -0
  225. package/dist/components/ui/progress.d.ts +9 -0
  226. package/dist/components/ui/progress.js +61 -0
  227. package/dist/components/ui/prompt.d.ts +26 -0
  228. package/dist/components/ui/prompt.js +141 -0
  229. package/dist/components/ui/radio-group.d.ts +11 -0
  230. package/dist/components/ui/radio-group.js +68 -0
  231. package/dist/components/ui/select/components/LabelWithSequence.d.ts +13 -0
  232. package/dist/components/ui/select/components/LabelWithSequence.js +18 -0
  233. package/dist/components/ui/select/components/Submenu.d.ts +15 -0
  234. package/dist/components/ui/select/components/Submenu.js +85 -0
  235. package/dist/components/ui/select/hooks/useClickOutside.d.ts +15 -0
  236. package/dist/components/ui/select/hooks/useClickOutside.js +43 -0
  237. package/dist/components/ui/select/hooks/useFlattenOptions.d.ts +24 -0
  238. package/dist/components/ui/select/hooks/useFlattenOptions.js +233 -0
  239. package/dist/components/ui/select/hooks/useMenuPosition.d.ts +2 -0
  240. package/dist/components/ui/select/hooks/useMenuPosition.js +89 -0
  241. package/dist/components/ui/select/hooks/useSelectionModel.d.ts +6 -0
  242. package/dist/components/ui/select/hooks/useSelectionModel.js +25 -0
  243. package/dist/components/ui/select/hooks/useVisibleStats.d.ts +16 -0
  244. package/dist/components/ui/select/hooks/useVisibleStats.js +54 -0
  245. package/dist/components/ui/select/index.d.ts +3 -0
  246. package/dist/components/ui/select/index.js +13 -0
  247. package/dist/components/ui/select/select.d.ts +6 -0
  248. package/dist/components/ui/select/select.js +814 -0
  249. package/dist/components/ui/select/utils/select.d.ts +12 -0
  250. package/dist/components/ui/select/utils/select.js +72 -0
  251. package/dist/components/ui/select/workers/flatten.worker.d.ts +9 -0
  252. package/dist/components/ui/select/workers/flatten.worker.js +11 -0
  253. package/dist/components/ui/separator.d.ts +4 -0
  254. package/dist/components/ui/separator.js +24 -0
  255. package/dist/components/ui/sheet.d.ts +30 -0
  256. package/dist/components/ui/sheet.js +157 -0
  257. package/dist/components/ui/sidebar.d.ts +98 -0
  258. package/dist/components/ui/sidebar.js +681 -0
  259. package/dist/components/ui/skeleton.d.ts +2 -0
  260. package/dist/components/ui/skeleton.js +17 -0
  261. package/dist/components/ui/slider.d.ts +4 -0
  262. package/dist/components/ui/slider.js +23 -0
  263. package/dist/components/ui/smart-input.d.ts +25 -0
  264. package/dist/components/ui/smart-input.js +177 -0
  265. package/dist/components/ui/stepper.d.ts +22 -0
  266. package/dist/components/ui/stepper.js +137 -0
  267. package/dist/components/ui/switch.d.ts +4 -0
  268. package/dist/components/ui/switch.js +27 -0
  269. package/dist/components/ui/tabs.d.ts +14 -0
  270. package/dist/components/ui/tabs.js +102 -0
  271. package/dist/components/ui/tag-group.d.ts +22 -0
  272. package/dist/components/ui/tag-group.js +56 -0
  273. package/dist/components/ui/tag.d.ts +16 -0
  274. package/dist/components/ui/tag.js +72 -0
  275. package/dist/components/ui/textarea.d.ts +13 -0
  276. package/dist/components/ui/textarea.js +85 -0
  277. package/dist/components/ui/toast.d.ts +17 -0
  278. package/dist/components/ui/toast.js +102 -0
  279. package/dist/components/ui/toaster.d.ts +6 -0
  280. package/dist/components/ui/toaster.js +100 -0
  281. package/dist/components/ui/tooltip.d.ts +14 -0
  282. package/dist/components/ui/tooltip.js +49 -0
  283. package/dist/components/ui/types/accordion-nested-list.types.d.ts +112 -0
  284. package/dist/components/ui/types/accordion.types.d.ts +1 -0
  285. package/dist/components/ui/types/ag-grid.types.d.ts +164 -0
  286. package/dist/components/ui/types/alert.types.d.ts +5 -0
  287. package/dist/components/ui/types/avatar.types.d.ts +1 -0
  288. package/dist/components/ui/types/badge.types.d.ts +1 -0
  289. package/dist/components/ui/types/breadcrumb.types.d.ts +1 -0
  290. package/dist/components/ui/types/button-group.types.d.ts +1 -0
  291. package/dist/components/ui/types/button.types.d.ts +1 -0
  292. package/dist/components/ui/types/card.types.d.ts +1 -0
  293. package/dist/components/ui/types/chart.types.d.ts +23 -0
  294. package/dist/components/ui/types/checkbox.types.d.ts +1 -0
  295. package/dist/components/ui/types/chips.types.d.ts +1 -0
  296. package/dist/components/ui/types/date-picker.types.d.ts +100 -0
  297. package/dist/components/ui/types/dialog.types.d.ts +8 -0
  298. package/dist/components/ui/types/dynamic-layout.types.d.ts +1 -0
  299. package/dist/components/ui/types/empty-container.types.d.ts +18 -0
  300. package/dist/components/ui/types/file-upload.types.d.ts +23 -0
  301. package/dist/components/ui/types/filter-panel.types.d.ts +42 -0
  302. package/dist/components/ui/types/filter-strip.types.d.ts +86 -0
  303. package/dist/components/ui/types/horizontal-scroller.types.d.ts +49 -0
  304. package/dist/components/ui/types/hover-card.types.d.ts +1 -0
  305. package/dist/components/ui/types/input.types.d.ts +1 -0
  306. package/dist/components/ui/types/loader.types.d.ts +1 -0
  307. package/dist/components/ui/types/nested-list.types.d.ts +63 -0
  308. package/dist/components/ui/types/nested-list.types.js +24 -0
  309. package/dist/components/ui/types/notification-panel.types.d.ts +63 -0
  310. package/dist/components/ui/types/popover.types.d.ts +1 -0
  311. package/dist/components/ui/types/progress-bar.types.d.ts +2 -0
  312. package/dist/components/ui/types/prompt.types.d.ts +1 -0
  313. package/dist/components/ui/types/radio-button-group.types.d.ts +1 -0
  314. package/dist/components/ui/types/select.types.d.ts +329 -0
  315. package/dist/components/ui/types/sidebar.types.d.ts +1 -0
  316. package/dist/components/ui/types/slider.types.d.ts +1 -0
  317. package/dist/components/ui/types/stepper.types.d.ts +1 -0
  318. package/dist/components/ui/types/switch.types.d.ts +1 -0
  319. package/dist/components/ui/types/tabs.types.d.ts +1 -0
  320. package/dist/components/ui/types/tag-group.types.d.ts +1 -0
  321. package/dist/components/ui/types/tag.types.d.ts +1 -0
  322. package/dist/components/ui/types/text-area.types.d.ts +1 -0
  323. package/dist/hooks/use-mobile.d.ts +1 -0
  324. package/dist/hooks/use-toast.d.ts +45 -0
  325. package/dist/hooks/use-toast.js +97 -0
  326. package/dist/ia-logo.svg +18 -0
  327. package/dist/icons/assets/PivotMode.svg.js +4 -0
  328. package/dist/icons/assets/PivotMode.svg2.js +5 -0
  329. package/dist/icons/assets/alan.svg.js +4 -0
  330. package/dist/icons/assets/alan.svg2.js +5 -0
  331. package/dist/icons/assets/alerts.svg.js +4 -0
  332. package/dist/icons/assets/alerts.svg2.js +5 -0
  333. package/dist/icons/assets/analyticalSearch.svg.js +4 -0
  334. package/dist/icons/assets/analyticalSearch.svg2.js +5 -0
  335. package/dist/icons/assets/back.svg.js +4 -0
  336. package/dist/icons/assets/back.svg2.js +5 -0
  337. package/dist/icons/assets/backdrop.svg.js +4 -0
  338. package/dist/icons/assets/backdrop.svg2.js +15 -0
  339. package/dist/icons/assets/bell.svg.js +4 -0
  340. package/dist/icons/assets/bell.svg2.js +5 -0
  341. package/dist/icons/assets/bin.svg.js +4 -0
  342. package/dist/icons/assets/bin.svg2.js +5 -0
  343. package/dist/icons/assets/blocks.svg.js +4 -0
  344. package/dist/icons/assets/blocks.svg2.js +5 -0
  345. package/dist/icons/assets/box.svg.js +4 -0
  346. package/dist/icons/assets/box.svg2.js +5 -0
  347. package/dist/icons/assets/calender-month.svg.js +4 -0
  348. package/dist/icons/assets/calender-month.svg2.js +5 -0
  349. package/dist/icons/assets/calender.svg.js +4 -0
  350. package/dist/icons/assets/calender.svg2.js +5 -0
  351. package/dist/icons/assets/chart.svg.js +4 -0
  352. package/dist/icons/assets/chart.svg2.js +5 -0
  353. package/dist/icons/assets/checkmark.svg.js +4 -0
  354. package/dist/icons/assets/checkmark.svg2.js +5 -0
  355. package/dist/icons/assets/chevronRight.svg.js +4 -0
  356. package/dist/icons/assets/chevronRight.svg2.js +5 -0
  357. package/dist/icons/assets/collapse.svg.js +4 -0
  358. package/dist/icons/assets/collapse.svg2.js +5 -0
  359. package/dist/icons/assets/column.svg.js +4 -0
  360. package/dist/icons/assets/column.svg2.js +5 -0
  361. package/dist/icons/assets/copy.svg.js +4 -0
  362. package/dist/icons/assets/copy.svg2.js +5 -0
  363. package/dist/icons/assets/createNewDocument.svg.js +4 -0
  364. package/dist/icons/assets/createNewDocument.svg2.js +5 -0
  365. package/dist/icons/assets/cross.svg.js +4 -0
  366. package/dist/icons/assets/cross.svg2.js +5 -0
  367. package/dist/icons/assets/delete.svg.js +4 -0
  368. package/dist/icons/assets/delete.svg2.js +5 -0
  369. package/dist/icons/assets/density.svg.js +4 -0
  370. package/dist/icons/assets/density.svg2.js +5 -0
  371. package/dist/icons/assets/document.svg.js +4 -0
  372. package/dist/icons/assets/document.svg2.js +5 -0
  373. package/dist/icons/assets/drag.svg.js +4 -0
  374. package/dist/icons/assets/drag.svg2.js +5 -0
  375. package/dist/icons/assets/draw.svg.js +4 -0
  376. package/dist/icons/assets/draw.svg2.js +5 -0
  377. package/dist/icons/assets/email.svg.js +4 -0
  378. package/dist/icons/assets/email.svg2.js +5 -0
  379. package/dist/icons/assets/errorCircle.svg.js +4 -0
  380. package/dist/icons/assets/errorCircle.svg2.js +5 -0
  381. package/dist/icons/assets/expand.svg.js +4 -0
  382. package/dist/icons/assets/expand.svg2.js +5 -0
  383. package/dist/icons/assets/filter.svg.js +4 -0
  384. package/dist/icons/assets/filter.svg2.js +5 -0
  385. package/dist/icons/assets/fiveSideStar.svg.js +4 -0
  386. package/dist/icons/assets/fiveSideStar.svg2.js +5 -0
  387. package/dist/icons/assets/floppy.svg.js +4 -0
  388. package/dist/icons/assets/floppy.svg2.js +5 -0
  389. package/dist/icons/assets/font.svg.js +4 -0
  390. package/dist/icons/assets/font.svg2.js +5 -0
  391. package/dist/icons/assets/funnel-hide.svg.js +4 -0
  392. package/dist/icons/assets/funnel-hide.svg2.js +5 -0
  393. package/dist/icons/assets/funnel-show.svg.js +4 -0
  394. package/dist/icons/assets/funnel-show.svg2.js +5 -0
  395. package/dist/icons/assets/globe.svg.js +4 -0
  396. package/dist/icons/assets/globe.svg2.js +5 -0
  397. package/dist/icons/assets/hamburger-closed.svg.js +4 -0
  398. package/dist/icons/assets/hamburger-closed.svg2.js +5 -0
  399. package/dist/icons/assets/hamburger-open.svg.js +4 -0
  400. package/dist/icons/assets/hamburger-open.svg2.js +5 -0
  401. package/dist/icons/assets/help-icon.svg.js +4 -0
  402. package/dist/icons/assets/help-icon.svg2.js +5 -0
  403. package/dist/icons/assets/ia-logo.svg.js +4 -0
  404. package/dist/icons/assets/ia-logo.svg2.js +5 -0
  405. package/dist/icons/assets/illustration_1.svg.js +4 -0
  406. package/dist/icons/assets/illustration_1.svg2.js +5 -0
  407. package/dist/icons/assets/info-icon.svg.js +4 -0
  408. package/dist/icons/assets/info-icon.svg2.js +5 -0
  409. package/dist/icons/assets/loadingSpinner.svg.js +4 -0
  410. package/dist/icons/assets/loadingSpinner.svg2.js +5 -0
  411. package/dist/icons/assets/locked.svg.js +4 -0
  412. package/dist/icons/assets/locked.svg2.js +5 -0
  413. package/dist/icons/assets/loginArrow.svg.js +4 -0
  414. package/dist/icons/assets/loginArrow.svg2.js +5 -0
  415. package/dist/icons/assets/matchWith.svg.js +4 -0
  416. package/dist/icons/assets/matchWith.svg2.js +5 -0
  417. package/dist/icons/assets/message-icon.svg.js +4 -0
  418. package/dist/icons/assets/message-icon.svg2.js +5 -0
  419. package/dist/icons/assets/more.svg.js +4 -0
  420. package/dist/icons/assets/more.svg2.js +5 -0
  421. package/dist/icons/assets/multi-color-filter.svg.js +4 -0
  422. package/dist/icons/assets/multi-color-filter.svg2.js +5 -0
  423. package/dist/icons/assets/paperrocket.svg.js +4 -0
  424. package/dist/icons/assets/paperrocket.svg2.js +5 -0
  425. package/dist/icons/assets/pencil.svg.js +4 -0
  426. package/dist/icons/assets/pencil.svg2.js +5 -0
  427. package/dist/icons/assets/person.svg.js +4 -0
  428. package/dist/icons/assets/person.svg2.js +5 -0
  429. package/dist/icons/assets/pin.svg.js +4 -0
  430. package/dist/icons/assets/pin.svg2.js +5 -0
  431. package/dist/icons/assets/plus.svg.js +4 -0
  432. package/dist/icons/assets/plus.svg2.js +5 -0
  433. package/dist/icons/assets/reset.svg.js +4 -0
  434. package/dist/icons/assets/reset.svg2.js +5 -0
  435. package/dist/icons/assets/rocket.svg.js +4 -0
  436. package/dist/icons/assets/rocket.svg2.js +5 -0
  437. package/dist/icons/assets/search.svg.js +4 -0
  438. package/dist/icons/assets/search.svg2.js +5 -0
  439. package/dist/icons/assets/settings.svg.js +4 -0
  440. package/dist/icons/assets/settings.svg2.js +5 -0
  441. package/dist/icons/assets/shapes.svg.js +4 -0
  442. package/dist/icons/assets/shapes.svg2.js +5 -0
  443. package/dist/icons/assets/stack-comfort.svg.js +4 -0
  444. package/dist/icons/assets/stack-comfort.svg2.js +5 -0
  445. package/dist/icons/assets/stack-compact.svg.js +4 -0
  446. package/dist/icons/assets/stack-compact.svg2.js +5 -0
  447. package/dist/icons/assets/stack.svg.js +4 -0
  448. package/dist/icons/assets/stack.svg2.js +5 -0
  449. package/dist/icons/assets/store.svg.js +4 -0
  450. package/dist/icons/assets/store.svg2.js +5 -0
  451. package/dist/icons/assets/table.svg.js +4 -0
  452. package/dist/icons/assets/table.svg2.js +5 -0
  453. package/dist/icons/assets/three-dots.svg.js +4 -0
  454. package/dist/icons/assets/three-dots.svg2.js +5 -0
  455. package/dist/icons/assets/trendingDown.svg.js +4 -0
  456. package/dist/icons/assets/trendingDown.svg2.js +5 -0
  457. package/dist/icons/assets/trendingFlat.svg.js +4 -0
  458. package/dist/icons/assets/trendingFlat.svg2.js +5 -0
  459. package/dist/icons/assets/trendingNeutral.svg.js +4 -0
  460. package/dist/icons/assets/trendingNeutral.svg2.js +5 -0
  461. package/dist/icons/assets/trendingUp.svg.js +4 -0
  462. package/dist/icons/assets/trendingUp.svg2.js +5 -0
  463. package/dist/icons/assets/unpin.svg.js +4 -0
  464. package/dist/icons/assets/unpin.svg2.js +5 -0
  465. package/dist/icons/assets/upload.svg.js +4 -0
  466. package/dist/icons/assets/upload.svg2.js +5 -0
  467. package/dist/icons/assets/webp/bill-or-receipt.webp.js +4 -0
  468. package/dist/icons/assets/webp/checklist-with-pen.webp.js +4 -0
  469. package/dist/icons/assets/webp/click-me-arrow.webp.js +4 -0
  470. package/dist/icons/assets/webp/csv-logo.webp.js +4 -0
  471. package/dist/icons/assets/webp/dollar.webp.js +4 -0
  472. package/dist/icons/assets/webp/empty-state-1.webp.js +4 -0
  473. package/dist/icons/assets/webp/empty-state-2.webp.js +4 -0
  474. package/dist/icons/assets/webp/empty-state-3.webp.js +4 -0
  475. package/dist/icons/assets/webp/empty-state-4.webp.js +4 -0
  476. package/dist/icons/assets/webp/empty-state-5.webp.js +4 -0
  477. package/dist/icons/assets/webp/empty-state-6.webp.js +4 -0
  478. package/dist/icons/assets/webp/excel-logo.webp.js +4 -0
  479. package/dist/icons/assets/webp/file-upload.webp.js +4 -0
  480. package/dist/icons/assets/webp/inventory-adjustment.webp.js +4 -0
  481. package/dist/icons/assets/webp/multicolor-bell.webp.js +4 -0
  482. package/dist/icons/assets/webp/price-tag.webp.js +4 -0
  483. package/dist/icons/assets/webp/receipts-stack.webp.js +4 -0
  484. package/dist/icons/assets/webp/recommended-receipt.webp.js +4 -0
  485. package/dist/icons/assets/webp/return-carton.webp.js +4 -0
  486. package/dist/icons/assets/webp/shipping-container.webp.js +4 -0
  487. package/dist/icons/assets/webp/stack-of-packaged-boxes.webp.js +4 -0
  488. package/dist/icons/assets/webp/text-logo.webp.js +4 -0
  489. package/dist/icons/assets/webp/two-stacked-packaged-boxes.webp.js +4 -0
  490. package/dist/icons/assets/webp/warranty.webp.js +4 -0
  491. package/dist/icons/index.d.ts +119 -0
  492. package/dist/icons/index.js +382 -0
  493. package/dist/impact-nova.css +1 -0
  494. package/dist/index.d.ts +57 -0
  495. package/dist/index.js +340 -0
  496. package/dist/lib/utils.d.ts +3 -0
  497. package/dist/lib/utils.js +18 -0
  498. package/dist/main.d.ts +0 -0
  499. package/dist/vite.svg +1 -0
  500. package/package.json +515 -0
  501. package/tailwind.config.d.ts +6 -0
  502. package/tailwind.config.js +182 -0
@@ -0,0 +1,165 @@
1
+ import { useState as o, useMemo as O, useCallback as y } from "react";
2
+ function p(s) {
3
+ const e = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(), u = [], d = (f, g) => {
4
+ f.forEach((r) => {
5
+ e.set(r.id, r), n.set(r.id, g), r.children && r.children.length > 0 ? (t.set(r.id, r.children.map((C) => C.id)), d(r.children, r.id)) : t.set(r.id, []), g === null && u.push(r.id);
6
+ });
7
+ };
8
+ return d(s, null), { byId: e, childrenById: t, parentById: n, rootIds: u };
9
+ }
10
+ function a(s) {
11
+ const e = (t) => {
12
+ const n = [];
13
+ for (const u of t) {
14
+ const d = s.byId.get(u);
15
+ if (!d) continue;
16
+ const f = s.childrenById.get(u) || [], g = f.length > 0 ? e(f) : void 0;
17
+ n.push({
18
+ ...d,
19
+ children: g
20
+ });
21
+ }
22
+ return n;
23
+ };
24
+ return e(s.rootIds);
25
+ }
26
+ function R(s, e, t) {
27
+ const n = s.byId.get(e);
28
+ if (!n) return s;
29
+ const u = new Map(s.byId);
30
+ return u.set(e, { ...n, ...t }), {
31
+ ...s,
32
+ byId: u
33
+ };
34
+ }
35
+ function S(s, e) {
36
+ return s.byId.get(e) || null;
37
+ }
38
+ function N(s, e) {
39
+ const t = [];
40
+ let n = s.parentById.get(e) || null;
41
+ for (; n !== null; )
42
+ t.push(n), n = s.parentById.get(n) || null;
43
+ return t;
44
+ }
45
+ function z(s, e) {
46
+ const t = [], n = (u) => {
47
+ (s.childrenById.get(u) || []).forEach((f) => {
48
+ t.push(f), n(f);
49
+ });
50
+ };
51
+ return n(e), t;
52
+ }
53
+ const st = ({
54
+ initialItems: s,
55
+ enableApplyDiscard: e,
56
+ enableNormalizedState: t = !1
57
+ }) => {
58
+ const [n, u] = o(s), [d, f] = o(!1), g = O(() => ({
59
+ get current() {
60
+ return d;
61
+ },
62
+ set current(c) {
63
+ c !== d && queueMicrotask(() => f(c));
64
+ }
65
+ }), [d]), r = n !== s, [C, x] = o(s), [v, l] = o(s), [i, w] = o(
66
+ () => t ? p(s) : {
67
+ byId: /* @__PURE__ */ new Map(),
68
+ childrenById: /* @__PURE__ */ new Map(),
69
+ parentById: /* @__PURE__ */ new Map(),
70
+ rootIds: []
71
+ }
72
+ ), [k, E] = o(
73
+ () => t ? p(s) : {
74
+ byId: /* @__PURE__ */ new Map(),
75
+ childrenById: /* @__PURE__ */ new Map(),
76
+ parentById: /* @__PURE__ */ new Map(),
77
+ rootIds: []
78
+ }
79
+ ), [j, G] = o(""), [J, K] = o({}), [P, Q] = o(!1), [V, W] = o(null), [X, Y] = o(null), [Z, _] = o(
80
+ /* @__PURE__ */ new Set()
81
+ ), [$, m] = o(/* @__PURE__ */ new Set());
82
+ if (r && !d && (u(s), l(s), e && x(s), t)) {
83
+ const c = p(s);
84
+ w(c), e && E(c);
85
+ }
86
+ d && !r && f(!1);
87
+ const U = y((c) => t ? S(i, c) : null, [t, i]), L = y((c, h) => {
88
+ t && (w((I) => R(I, c, h)), l((I) => a(R(p(I), c, h))));
89
+ }, [t]), A = y((c) => t ? N(i, c) : [], [t, i]), F = y((c) => t ? z(i, c) : [], [t, i]), q = y((c) => {
90
+ t && (w((h) => {
91
+ const I = new Map(h.byId);
92
+ return c.forEach((T, B) => {
93
+ const M = I.get(B);
94
+ M && I.set(B, { ...M, ...T });
95
+ }), { ...h, byId: I };
96
+ }), l((h) => {
97
+ const I = p(h);
98
+ return c.forEach((T, B) => {
99
+ const M = I.byId.get(B);
100
+ M && I.byId.set(B, { ...M, ...T });
101
+ }), a(I);
102
+ }));
103
+ }, [t]), D = y(() => {
104
+ t && l(a(i));
105
+ }, [t, i]), H = y(() => {
106
+ t && w(p(v));
107
+ }, [t, v]), b = O(() => ({
108
+ findItemByIdFast: U,
109
+ updateItemFast: L,
110
+ getAncestors: A,
111
+ getDescendants: F,
112
+ batchUpdateItems: q,
113
+ syncToTreeState: D,
114
+ syncToNormalizedState: H,
115
+ isNormalized: t,
116
+ normalizedState: i,
117
+ setNormalizedState: w,
118
+ savedNormalizedState: k,
119
+ setSavedNormalizedState: E
120
+ }), [
121
+ U,
122
+ L,
123
+ A,
124
+ F,
125
+ q,
126
+ D,
127
+ H,
128
+ t,
129
+ i,
130
+ k
131
+ ]);
132
+ return {
133
+ // Standard state (backward compatible)
134
+ items: v,
135
+ setItems: l,
136
+ savedItems: C,
137
+ setSavedItems: x,
138
+ isUserChangeRef: g,
139
+ searchText: j,
140
+ setSearchText: G,
141
+ collapsedItems: J,
142
+ setCollapsedItems: K,
143
+ isListCollapsed: P,
144
+ setIsListCollapsed: Q,
145
+ activeId: V,
146
+ setActiveId: W,
147
+ overId: X,
148
+ setOverId: Y,
149
+ selectedCategories: Z,
150
+ setSelectedCategories: _,
151
+ itemsToBlink: $,
152
+ setItemsToBlink: m,
153
+ // Normalized state helpers (for optimized operations)
154
+ ...b
155
+ };
156
+ };
157
+ export {
158
+ a as denormalizeItems,
159
+ N as getAncestorIds,
160
+ z as getDescendantIds,
161
+ S as getItemById,
162
+ p as normalizeItems,
163
+ R as updateNormalizedItem,
164
+ st as useNestedListState
165
+ };
@@ -0,0 +1,2 @@
1
+ export * from './nested-list';
2
+ export * from '../types/nested-list.types';
@@ -0,0 +1,6 @@
1
+ import { NestedList as t } from "./nested-list.js";
2
+ import { SelectionMode as d } from "../types/nested-list.types.js";
3
+ export {
4
+ t as NestedList,
5
+ d as SelectionMode
6
+ };
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { NestedListProps } from '../types/nested-list.types';
3
+ export declare const NestedList: React.FC<NestedListProps>;
@@ -0,0 +1,363 @@
1
+ import { jsx as v, jsxs as ee } from "react/jsx-runtime";
2
+ import te, { useMemo as A, useCallback as D } from "react";
3
+ import { defaultDropAnimationSideEffects as Ue } from "@dnd-kit/core";
4
+ import { SortableItem as _e } from "./components/SortableItem.js";
5
+ import { SelectionMode as V } from "../types/nested-list.types.js";
6
+ import { useNestedListDragDrop as He } from "./hooks/useNestedListDragDrop.js";
7
+ import { useNestedListSelectAll as We } from "./hooks/useNestedListSelectAll.js";
8
+ import { useNestedListState as je } from "./hooks/useNestedListState.js";
9
+ import { useNestedListHandlers as Be } from "./hooks/useNestedListHandlers.js";
10
+ import { NestedListHeader as Fe } from "./components/NestedListHeader.js";
11
+ import { NestedListCategoryFilters as Je } from "./components/NestedListCategoryFilters.js";
12
+ import { NestedListContent as qe } from "./components/NestedListContent.js";
13
+ import { NestedListApplyDiscardButtons as Ke } from "./components/NestedListApplyDiscardButtons.js";
14
+ import { cn as Qe } from "../../../lib/utils.js";
15
+ const se = (i, t) => {
16
+ if (!t || typeof t != "string") return i;
17
+ const o = t.toLowerCase(), c = [];
18
+ return i.forEach((s) => {
19
+ const l = s.label.toLowerCase().includes(o), u = s.children ? se(s.children, t) : void 0;
20
+ (l || u && u.length > 0) && c.push({
21
+ ...s,
22
+ children: u || s.children
23
+ });
24
+ }), c;
25
+ }, re = (i) => i.map((t) => {
26
+ if (t.children && t.children.length > 0) {
27
+ const o = re(t.children), c = o.every((s) => s.checked);
28
+ return {
29
+ ...t,
30
+ checked: c,
31
+ children: o
32
+ };
33
+ }
34
+ return t;
35
+ }), Xe = (i, t) => {
36
+ const o = /* @__PURE__ */ new Set(), c = (s) => {
37
+ s.forEach((l) => {
38
+ const u = t ? t(l) : l.category;
39
+ u && o.add(u), l.children && c(l.children);
40
+ });
41
+ };
42
+ return c(i), Array.from(o).sort();
43
+ }, ne = (i, t, o) => {
44
+ if (t.size === 0) return i;
45
+ const c = [];
46
+ return i.forEach((s) => {
47
+ const l = o ? o(s) : s.category, u = l && t.has(l), m = s.children ? ne(s.children, t, o) : void 0;
48
+ (u || m && m.length > 0) && c.push({
49
+ ...s,
50
+ children: m
51
+ });
52
+ }), c;
53
+ }, le = (i, t, o, c = 0) => {
54
+ const s = [];
55
+ return i.forEach((l) => {
56
+ s.push({ item: l, level: c }), !t[l.id] && l.children && l.children.length > 0 && l.id !== o && s.push(
57
+ ...le(l.children, t, o, c + 1)
58
+ );
59
+ }), s;
60
+ }, it = ({
61
+ items: i,
62
+ onChange: t,
63
+ onSubmit: o,
64
+ onCancel: c,
65
+ onItemToggle: s,
66
+ onDragEnd: l,
67
+ enableSearch: u = !0,
68
+ enableDragDrop: m = !0,
69
+ enableSelectAll: oe = !0,
70
+ enableGroupBy: k = !1,
71
+ getCategory: C,
72
+ searchPlaceholder: ce = "Search...",
73
+ className: ie = "",
74
+ groupLabel: de,
75
+ enableApplyDiscard: p = !1,
76
+ enableCollapse: y = !0,
77
+ submitButtonLabel: ae = "Apply",
78
+ cancelButtonLabel: he = "Reset",
79
+ selectionMode: N = V.CASCADE_DOWN
80
+ }) => {
81
+ const {
82
+ items: a,
83
+ setItems: g,
84
+ savedItems: T,
85
+ setSavedItems: J,
86
+ isUserChangeRef: w,
87
+ searchText: x,
88
+ setSearchText: fe,
89
+ collapsedItems: R,
90
+ setCollapsedItems: ue,
91
+ isListCollapsed: U,
92
+ setIsListCollapsed: pe,
93
+ activeId: I,
94
+ setActiveId: _,
95
+ setOverId: H,
96
+ selectedCategories: z,
97
+ setSelectedCategories: me,
98
+ itemsToBlink: q,
99
+ setItemsToBlink: W,
100
+ // Normalized state helpers (for optimized operations)
101
+ isNormalized: Se,
102
+ normalizedState: Ce,
103
+ batchUpdateItems: Ne
104
+ } = je({
105
+ initialItems: i,
106
+ enableApplyDiscard: p,
107
+ // Enable normalized state for large datasets (can be made configurable via props)
108
+ enableNormalizedState: i.length > 1e3
109
+ }), [O, K] = te.useState(0), [P, ge] = te.useState(0), {
110
+ sensors: Ie,
111
+ handleDragEnd: ve,
112
+ isValidDrop: Q
113
+ } = He({
114
+ items: a,
115
+ onDragEnd: l
116
+ }), ke = A(
117
+ () => k ? Xe(a, C) : [],
118
+ [a, k, C]
119
+ ), S = A(() => {
120
+ let e = a;
121
+ return k && z.size > 0 && (e = ne(e, z, C)), x && (e = se(e, x)), e;
122
+ }, [a, x, k, z, C]), Ee = A(
123
+ () => le(S, R, I),
124
+ [S, R, I]
125
+ ), { allChecked: E, someChecked: Le } = A(() => {
126
+ let e = !0, r = !1;
127
+ const n = (f) => {
128
+ for (const h of f)
129
+ if (h.children && h.children.length > 0 ? n(h.children) : h.checked ? r = !0 : e = !1, r && !e) return;
130
+ };
131
+ return n(S), { allChecked: e && r, someChecked: r };
132
+ }, [S]), Ae = Le && !E, j = (e, r) => {
133
+ for (const n of e) {
134
+ if (n.id === r) return n;
135
+ if (n.children) {
136
+ const f = j(n.children, r);
137
+ if (f) return f;
138
+ }
139
+ }
140
+ return null;
141
+ }, De = {
142
+ sideEffects: Ue({
143
+ styles: {
144
+ active: {
145
+ opacity: "0.4"
146
+ }
147
+ }
148
+ })
149
+ }, Te = D(
150
+ (e, r) => {
151
+ if (N === V.INDEPENDENT)
152
+ return e;
153
+ const n = (h, d) => h.id === d ? !0 : h.children ? h.children.some(
154
+ (L) => n(L, d)
155
+ ) : !1, f = (h) => h.map((d) => {
156
+ if (d.id === r)
157
+ return d;
158
+ if (d.children && n(d, r)) {
159
+ const L = f(d.children);
160
+ let B;
161
+ return N === V.CASCADE_UP_DOWN ? B = L.some((F) => F.checked) : B = L.every((F) => F.checked), {
162
+ ...d,
163
+ checked: B,
164
+ children: L
165
+ };
166
+ }
167
+ return d;
168
+ });
169
+ return f(e);
170
+ },
171
+ [N]
172
+ ), X = (e) => {
173
+ const r = [];
174
+ return e.forEach((n) => {
175
+ n.children && n.children.length > 0 && (r.push(n.id), r.push(...X(n.children)));
176
+ }), r;
177
+ }, {
178
+ handleToggle: Y,
179
+ handleToggleCollapse: Z,
180
+ handleCollapseAll: we,
181
+ handleToggleCategory: xe
182
+ } = Be({
183
+ setItems: g,
184
+ findItemById: j,
185
+ updateParentsUpward: Te,
186
+ onChange: (e) => {
187
+ K((r) => r + 1), t(e);
188
+ },
189
+ onItemToggle: s,
190
+ getCategory: C,
191
+ setCollapsedItems: ue,
192
+ setIsListCollapsed: pe,
193
+ setSelectedCategories: me,
194
+ isUserChangeRef: w,
195
+ selectionMode: N,
196
+ // Pass normalized state helpers for optimized operations
197
+ isNormalized: Se,
198
+ normalizedState: Ce,
199
+ batchUpdateItems: Ne
200
+ }), {
201
+ collectVisibleItemIds: $,
202
+ findItemsNotSelected: M,
203
+ collectVisibleItemsForCallback: b,
204
+ updateVisibleItems: G
205
+ } = We({
206
+ findItemById: j,
207
+ getCategory: C
208
+ }), Re = D(() => {
209
+ w.current = !0, g((e) => {
210
+ const r = $(S), n = M(
211
+ S,
212
+ e,
213
+ r
214
+ );
215
+ if (n.size > 0) {
216
+ const d = new Set(n);
217
+ W(d), setTimeout(() => W(/* @__PURE__ */ new Set()), 600);
218
+ }
219
+ const f = G(
220
+ e,
221
+ r,
222
+ !E
223
+ ), h = N === V.INDEPENDENT ? f : re(f);
224
+ if (t(h), s) {
225
+ const d = b(
226
+ e,
227
+ r,
228
+ !E
229
+ );
230
+ s(d);
231
+ }
232
+ return h;
233
+ });
234
+ }, [
235
+ E,
236
+ t,
237
+ s,
238
+ S,
239
+ $,
240
+ M,
241
+ b,
242
+ G,
243
+ w,
244
+ g,
245
+ W,
246
+ N
247
+ ]), ze = D(
248
+ (e, r) => {
249
+ const n = I ? Q(I, e.id) : !1, f = q.has(e.id);
250
+ return /* @__PURE__ */ v(
251
+ _e,
252
+ {
253
+ item: e,
254
+ level: r,
255
+ isCollapsed: R[e.id] || !1,
256
+ onToggle: Y,
257
+ onToggleCollapse: Z,
258
+ isAnyDragging: I !== null,
259
+ isValidDrop: n,
260
+ enableDragDrop: m,
261
+ enableCollapse: y,
262
+ shouldBlink: f
263
+ },
264
+ e.id
265
+ );
266
+ },
267
+ [
268
+ R,
269
+ Y,
270
+ Z,
271
+ I,
272
+ Q,
273
+ m,
274
+ q,
275
+ y
276
+ ]
277
+ ), Oe = X(a).length > 0, Pe = A(() => p ? a.length > 1e3 ? O !== P : JSON.stringify(a) !== JSON.stringify(T) : !1, [p, a, T, O, P]), Ve = D(() => {
278
+ p && (J(a), ge(O), o?.(a));
279
+ }, [p, a, o, J, O]), ye = D(() => {
280
+ p && (g(T), K(P), c?.());
281
+ }, [p, T, c, g, P]);
282
+ return /* @__PURE__ */ ee(
283
+ "div",
284
+ {
285
+ className: Qe("flex flex-col", ie),
286
+ "data-testid": "nested-list-container",
287
+ children: [
288
+ /* @__PURE__ */ ee("div", { className: "flex-shrink-0", children: [
289
+ /* @__PURE__ */ v(
290
+ Fe,
291
+ {
292
+ hasItemsWithChildren: Oe,
293
+ isListCollapsed: U,
294
+ onCollapseAll: we,
295
+ enableSearch: u,
296
+ enableSelectAll: oe,
297
+ groupLabel: de,
298
+ allChecked: E,
299
+ isIndeterminate: Ae,
300
+ onSelectAll: Re,
301
+ searchText: x,
302
+ onSearchChange: (e) => {
303
+ fe(e.target.value);
304
+ },
305
+ searchPlaceholder: ce,
306
+ enableCollapse: y
307
+ }
308
+ ),
309
+ /* @__PURE__ */ v(
310
+ Je,
311
+ {
312
+ isListCollapsed: U,
313
+ enableGroupBy: k,
314
+ categories: ke,
315
+ selectedCategories: z,
316
+ onToggleCategory: xe
317
+ }
318
+ )
319
+ ] }),
320
+ /* @__PURE__ */ v("div", { className: "flex-1 min-h-0 overflow-hidden", children: /* @__PURE__ */ v(
321
+ qe,
322
+ {
323
+ isListCollapsed: U,
324
+ enableDragDrop: m,
325
+ sensors: Ie,
326
+ items: Ee,
327
+ renderItem: ze,
328
+ dropAnimationConfig: De,
329
+ onDragStart: (e) => {
330
+ _(e.active.id);
331
+ },
332
+ onDragOver: (e) => {
333
+ H(e.over?.id);
334
+ },
335
+ onDragEnd: (e) => {
336
+ _(null), H(null), w.current = !0, ve(e, (r) => {
337
+ const n = r(a);
338
+ g(n), t(n);
339
+ });
340
+ },
341
+ onDragCancel: () => {
342
+ _(null), H(null);
343
+ }
344
+ }
345
+ ) }),
346
+ /* @__PURE__ */ v(
347
+ Ke,
348
+ {
349
+ enableApplyDiscard: p,
350
+ hasChanges: Pe,
351
+ onDiscard: ye,
352
+ onApply: Ve,
353
+ cancelButtonLabel: he,
354
+ submitButtonLabel: ae
355
+ }
356
+ )
357
+ ]
358
+ }
359
+ );
360
+ };
361
+ export {
362
+ it as NestedList
363
+ };
@@ -0,0 +1,3 @@
1
+ export * from './notification-panel';
2
+ export * from './notification-list';
3
+ export * from './notification-item';
@@ -0,0 +1,20 @@
1
+ import { NotificationPanel as o, NotificationPanelBody as n, NotificationPanelContent as e, NotificationPanelFooter as a, NotificationPanelHeader as c, useNotificationContext as f } from "./notification-panel.js";
2
+ import { NotificationEmpty as m, NotificationGroup as r, NotificationList as I } from "./notification-list.js";
3
+ import { NotificationItem as p, NotificationItemActions as P, NotificationItemContent as s, NotificationItemDescription as x, NotificationItemIcon as C, NotificationItemTitle as d } from "./notification-item.js";
4
+ export {
5
+ m as NotificationEmpty,
6
+ r as NotificationGroup,
7
+ p as NotificationItem,
8
+ P as NotificationItemActions,
9
+ s as NotificationItemContent,
10
+ x as NotificationItemDescription,
11
+ C as NotificationItemIcon,
12
+ d as NotificationItemTitle,
13
+ I as NotificationList,
14
+ o as NotificationPanel,
15
+ n as NotificationPanelBody,
16
+ e as NotificationPanelContent,
17
+ a as NotificationPanelFooter,
18
+ c as NotificationPanelHeader,
19
+ f as useNotificationContext
20
+ };
@@ -0,0 +1,14 @@
1
+ import { default as React } from 'react';
2
+ import { NotificationItemProps } from '../types/notification-panel.types';
3
+ export declare const NotificationItem: ({ children, className, read, selected, onSelect, selectable, ...props }: NotificationItemProps & React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
4
+ export declare const NotificationItemIcon: ({ className, children, ...props }: React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const NotificationItemContent: ({ className, children, ...props }: React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const NotificationItemTitle: ({ className, children, ml, ...props }: React.HTMLAttributes<HTMLHeadingElement> & {
7
+ ml?: boolean;
8
+ }) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const NotificationItemDescription: ({ className, children, isTime, ...props }: React.HTMLAttributes<HTMLParagraphElement> & {
10
+ isTime?: boolean;
11
+ }) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const NotificationItemActions: ({ className, children, alwaysVisible, ...props }: React.HTMLAttributes<HTMLDivElement> & {
13
+ alwaysVisible?: boolean;
14
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,86 @@
1
+ import { jsxs as f, jsx as n, Fragment as d } from "react/jsx-runtime";
2
+ import m from "react";
3
+ import { cn as a } from "../../../lib/utils.js";
4
+ import { Checkbox as u } from "../checkbox.js";
5
+ const y = ({
6
+ children: o,
7
+ className: t,
8
+ read: e,
9
+ selected: i,
10
+ onSelect: s,
11
+ selectable: r,
12
+ ...c
13
+ }) => /* @__PURE__ */ f(
14
+ "div",
15
+ {
16
+ className: a(
17
+ "group relative flex w-full gap-2 p-3 items-start rounded-xl transition-all border-l-[3px] border-transparent",
18
+ "bg-[#f8f9fb]",
19
+ !e && "border-[#4259ee]",
20
+ i && "bg-[#eceefd]",
21
+ t
22
+ ),
23
+ ...c,
24
+ children: [
25
+ r && /* @__PURE__ */ n("div", { className: a(
26
+ "absolute left-3 top-3 z-10 flex h-[30px] w-[30px] items-center justify-center transition-all duration-200",
27
+ i ? "opacity-100 scale-100" : "opacity-0 scale-90 group-hover:opacity-100 group-hover:scale-100"
28
+ ), children: /* @__PURE__ */ n(
29
+ u,
30
+ {
31
+ checked: i,
32
+ onCheckedChange: s,
33
+ className: "translate-y-0"
34
+ }
35
+ ) }),
36
+ /* @__PURE__ */ n("div", { className: a(
37
+ "flex flex-1 min-w-0 gap-3",
38
+ r && "[&_[data-role=notification-icon]]:transition-opacity [&_[data-role=notification-icon]]:duration-200",
39
+ r && "group-hover:[&_[data-role=notification-icon]]:opacity-0",
40
+ r && i && "[&_[data-role=notification-icon]]:opacity-0"
41
+ ), children: o })
42
+ ]
43
+ }
44
+ ), v = ({ className: o, children: t, ...e }) => /* @__PURE__ */ n("div", { "data-role": "notification-icon", className: a("flex h-[30px] w-[30px] shrink-0 items-center justify-center rounded-full transition-opacity duration-200", o), ...e, children: t }), b = ({ className: o, children: t, ...e }) => /* @__PURE__ */ n("div", { className: a("flex flex-col flex-1 min-w-0 gap-1", o), ...e, children: t }), k = ({ className: o, children: t, ml: e, ...i }) => /* @__PURE__ */ n("h4", { className: a("text-sm font-bold text-[#0d152c] leading-snug break-words", e && "ml-2", o), ...i, children: t }), w = ({ className: o, children: t, isTime: e, ...i }) => {
45
+ const [s, r] = m.useState(!1), c = typeof t == "string" ? t : "", l = !e && c.length > 150;
46
+ return e ? /* @__PURE__ */ n("p", { className: a("text-xs text-[#5f6673] mt-0.5", o), ...i, children: t }) : /* @__PURE__ */ n("div", { className: a("text-sm font-medium text-[#394960] break-words leading-5", o), children: /* @__PURE__ */ f("p", { ...i, children: [
47
+ l && !s ? `${c.slice(0, 150)}` : t,
48
+ l && !s && /* @__PURE__ */ f(d, { children: [
49
+ "... ",
50
+ /* @__PURE__ */ n(
51
+ "span",
52
+ {
53
+ role: "button",
54
+ onClick: (p) => {
55
+ p.stopPropagation(), r(!0);
56
+ },
57
+ className: "text-[#4259ee] hover:underline cursor-pointer ml-1",
58
+ children: "Read More"
59
+ }
60
+ )
61
+ ] }),
62
+ l && s && /* @__PURE__ */ n(
63
+ "span",
64
+ {
65
+ role: "button",
66
+ onClick: (p) => {
67
+ p.stopPropagation(), r(!1);
68
+ },
69
+ className: "text-[#4259ee] hover:underline cursor-pointer ml-1",
70
+ children: "Show Less"
71
+ }
72
+ )
73
+ ] }) });
74
+ }, I = ({ className: o, children: t, alwaysVisible: e = !0, ...i }) => /* @__PURE__ */ n("div", { className: a(
75
+ "flex items-center gap-1 shrink-0 ml-2 self-start transition-opacity focus-within:opacity-100",
76
+ !e && "opacity-0 group-hover:opacity-100",
77
+ o
78
+ ), ...i, children: t });
79
+ export {
80
+ y as NotificationItem,
81
+ I as NotificationItemActions,
82
+ b as NotificationItemContent,
83
+ w as NotificationItemDescription,
84
+ v as NotificationItemIcon,
85
+ k as NotificationItemTitle
86
+ };
@@ -0,0 +1,5 @@
1
+ import { default as React } from 'react';
2
+ import { NotificationListProps, NotificationGroupProps } from '../types/notification-panel.types';
3
+ export declare const NotificationEmpty: ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
4
+ export declare const NotificationList: ({ children, className, onLoadMore, isLoading, hasMore, loader, emptyState }: NotificationListProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const NotificationGroup: ({ label, children, className }: NotificationGroupProps) => import("react/jsx-runtime").JSX.Element;