fluxo-ui 0.0.1

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 (853) hide show
  1. package/README.md +237 -0
  2. package/chunk-Do9eywBl.cjs +35 -0
  3. package/classnames-B4qHndiD.cjs +48 -0
  4. package/classnames-CEAOwX3h.js +66 -0
  5. package/components-C_HbdZhO.js +22556 -0
  6. package/components-DdojqcZ7.cjs +23236 -0
  7. package/dnd.cjs +6 -0
  8. package/dnd.d.ts +1 -0
  9. package/dnd.js +2 -0
  10. package/drag-drop-BF3uukc4.cjs +258 -0
  11. package/drag-drop-UWg0agsw.js +233 -0
  12. package/draw.cjs +3156 -0
  13. package/draw.d.ts +1 -0
  14. package/draw.js +3147 -0
  15. package/favicon.svg +14 -0
  16. package/hooks-BLbZ4aKB.cjs +137 -0
  17. package/hooks-D0CAM9v9.js +107 -0
  18. package/hooks.cjs +7 -0
  19. package/hooks.d.ts +1 -0
  20. package/hooks.js +2 -0
  21. package/icons-BRgMxTPy.js +1641 -0
  22. package/icons-CNooH6LA.cjs +2038 -0
  23. package/icons.cjs +85 -0
  24. package/icons.d.ts +1 -0
  25. package/icons.js +2 -0
  26. package/index.cjs +115 -0
  27. package/index.d.ts +1 -0
  28. package/index.js +2 -0
  29. package/kanban.cjs +969 -0
  30. package/kanban.d.ts +1 -0
  31. package/kanban.js +967 -0
  32. package/logo.svg +26 -0
  33. package/package.json +110 -0
  34. package/services.cjs +331 -0
  35. package/services.d.ts +1 -0
  36. package/services.js +321 -0
  37. package/src/assets/icons.d.ts +86 -0
  38. package/src/components/Autocomplete.d.ts +22 -0
  39. package/src/components/AutocompleteMulti.d.ts +24 -0
  40. package/src/components/Breadcrumb.d.ts +17 -0
  41. package/src/components/Button.d.ts +26 -0
  42. package/src/components/Checkbox.d.ts +12 -0
  43. package/src/components/Chips.d.ts +16 -0
  44. package/src/components/DeferredView.d.ts +13 -0
  45. package/src/components/Dropdown.d.ts +22 -0
  46. package/src/components/Fab.d.ts +23 -0
  47. package/src/components/FieldLabel.d.ts +15 -0
  48. package/src/components/Icon.d.ts +6 -0
  49. package/src/components/InfiniteScroll.d.ts +19 -0
  50. package/src/components/InputGroup.d.ts +7 -0
  51. package/src/components/InputSwitch.d.ts +12 -0
  52. package/src/components/Link.d.ts +5 -0
  53. package/src/components/ListBox.d.ts +38 -0
  54. package/src/components/MaskedInput.d.ts +28 -0
  55. package/src/components/Modal.d.ts +12 -0
  56. package/src/components/MultiStateCheckbox.d.ts +11 -0
  57. package/src/components/Multiselect.d.ts +25 -0
  58. package/src/components/NumericInput.d.ts +16 -0
  59. package/src/components/Password.d.ts +18 -0
  60. package/src/components/Popover.d.ts +20 -0
  61. package/src/components/ProgressBar.d.ts +31 -0
  62. package/src/components/RadioButton.d.ts +20 -0
  63. package/src/components/SelectButton.d.ts +20 -0
  64. package/src/components/SpeedDial.d.ts +40 -0
  65. package/src/components/Stepper.d.ts +41 -0
  66. package/src/components/TextArea.d.ts +19 -0
  67. package/src/components/TextInput.d.ts +19 -0
  68. package/src/components/ToggleButton.d.ts +12 -0
  69. package/src/components/animate-on-view/AnimateOnView.d.ts +23 -0
  70. package/src/components/animate-on-view/index.d.ts +2 -0
  71. package/src/components/calendar/Calendar.d.ts +4 -0
  72. package/src/components/calendar/CalendarContext.d.ts +4 -0
  73. package/src/components/calendar/calendar-constants.d.ts +8 -0
  74. package/src/components/calendar/calendar-types.d.ts +413 -0
  75. package/src/components/calendar/calendar-utils.d.ts +61 -0
  76. package/src/components/calendar/entries/CalendarEntry.d.ts +20 -0
  77. package/src/components/calendar/entries/DefaultEntry.d.ts +8 -0
  78. package/src/components/calendar/entries/EntryContainer.d.ts +19 -0
  79. package/src/components/calendar/entries/OverflowPopover.d.ts +12 -0
  80. package/src/components/calendar/entries/index.d.ts +4 -0
  81. package/src/components/calendar/hooks/index.d.ts +4 -0
  82. package/src/components/calendar/hooks/useCalendarEntries.d.ts +8 -0
  83. package/src/components/calendar/hooks/useCalendarNavigation.d.ts +24 -0
  84. package/src/components/calendar/hooks/useNowIndicator.d.ts +10 -0
  85. package/src/components/calendar/hooks/useViewTitle.d.ts +2 -0
  86. package/src/components/calendar/index.d.ts +9 -0
  87. package/src/components/calendar/interactions/index.d.ts +3 -0
  88. package/src/components/calendar/interactions/useDragMove.d.ts +11 -0
  89. package/src/components/calendar/interactions/useDragResize.d.ts +11 -0
  90. package/src/components/calendar/interactions/useSelection.d.ts +11 -0
  91. package/src/components/calendar/plugin-registry.d.ts +17 -0
  92. package/src/components/calendar/plugins/agenda-plugin.d.ts +6 -0
  93. package/src/components/calendar/plugins/create-plugin.d.ts +20 -0
  94. package/src/components/calendar/plugins/day-grid-plugin.d.ts +2 -0
  95. package/src/components/calendar/plugins/default-plugins.d.ts +2 -0
  96. package/src/components/calendar/plugins/index.d.ts +14 -0
  97. package/src/components/calendar/plugins/list-view-plugin.d.ts +2 -0
  98. package/src/components/calendar/plugins/month-grid-plugin.d.ts +2 -0
  99. package/src/components/calendar/plugins/multi-month-plugin.d.ts +2 -0
  100. package/src/components/calendar/plugins/scroll-month-plugin.d.ts +2 -0
  101. package/src/components/calendar/plugins/time-grid-custom-plugin.d.ts +6 -0
  102. package/src/components/calendar/plugins/time-grid-plugin.d.ts +2 -0
  103. package/src/components/calendar/plugins/year-grid-plugin.d.ts +2 -0
  104. package/src/components/calendar/toolbar/CalendarToolbar.d.ts +27 -0
  105. package/src/components/calendar/toolbar/ToolbarNavigation.d.ts +8 -0
  106. package/src/components/calendar/toolbar/ToolbarTitle.d.ts +6 -0
  107. package/src/components/calendar/toolbar/ToolbarViewSwitcher.d.ts +9 -0
  108. package/src/components/calendar/toolbar/index.d.ts +4 -0
  109. package/src/components/calendar/views/ViewRenderer.d.ts +7 -0
  110. package/src/components/calendar/views/agenda/AgendaView.d.ts +6 -0
  111. package/src/components/calendar/views/agenda/index.d.ts +1 -0
  112. package/src/components/calendar/views/day-grid/DayGrid.d.ts +9 -0
  113. package/src/components/calendar/views/day-grid/DayGridCell.d.ts +15 -0
  114. package/src/components/calendar/views/day-grid/index.d.ts +2 -0
  115. package/src/components/calendar/views/index.d.ts +10 -0
  116. package/src/components/calendar/views/list-view/ListView.d.ts +7 -0
  117. package/src/components/calendar/views/list-view/ListViewGroup.d.ts +11 -0
  118. package/src/components/calendar/views/list-view/ListViewItem.d.ts +10 -0
  119. package/src/components/calendar/views/list-view/index.d.ts +3 -0
  120. package/src/components/calendar/views/month-grid/MonthGrid.d.ts +5 -0
  121. package/src/components/calendar/views/month-grid/MonthGridCell.d.ts +22 -0
  122. package/src/components/calendar/views/month-grid/MonthGridHeader.d.ts +8 -0
  123. package/src/components/calendar/views/month-grid/index.d.ts +3 -0
  124. package/src/components/calendar/views/multi-month/MultiMonthGrid.d.ts +5 -0
  125. package/src/components/calendar/views/multi-month/index.d.ts +1 -0
  126. package/src/components/calendar/views/scroll-month/ScrollMonthView.d.ts +5 -0
  127. package/src/components/calendar/views/scroll-month/index.d.ts +1 -0
  128. package/src/components/calendar/views/time-grid/NowIndicator.d.ts +9 -0
  129. package/src/components/calendar/views/time-grid/TimeGrid.d.ts +9 -0
  130. package/src/components/calendar/views/time-grid/TimeGridAllDay.d.ts +14 -0
  131. package/src/components/calendar/views/time-grid/TimeGridBody.d.ts +21 -0
  132. package/src/components/calendar/views/time-grid/TimeGridColumn.d.ts +22 -0
  133. package/src/components/calendar/views/time-grid/TimeGridHeader.d.ts +9 -0
  134. package/src/components/calendar/views/time-grid/TimeGridSlot.d.ts +12 -0
  135. package/src/components/calendar/views/time-grid/index.d.ts +7 -0
  136. package/src/components/calendar/views/time-grid-custom/TimeGridCustomDays.d.ts +7 -0
  137. package/src/components/calendar/views/time-grid-custom/index.d.ts +1 -0
  138. package/src/components/calendar/views/year-grid/YearGrid.d.ts +5 -0
  139. package/src/components/calendar/views/year-grid/index.d.ts +1 -0
  140. package/src/components/canvas-draw/CanvasDraw.d.ts +18 -0
  141. package/src/components/canvas-draw/CanvasDrawOverlay.d.ts +27 -0
  142. package/src/components/canvas-draw/CanvasDrawToolbar.d.ts +32 -0
  143. package/src/components/canvas-draw/MediaTimeline.d.ts +36 -0
  144. package/src/components/canvas-draw/canvas-draw-types.d.ts +200 -0
  145. package/src/components/canvas-draw/index.d.ts +10 -0
  146. package/src/components/carousel/Carousel.d.ts +35 -0
  147. package/src/components/carousel/CarouselSlide.d.ts +22 -0
  148. package/src/components/carousel/CarouselThumbnails.d.ts +10 -0
  149. package/src/components/carousel/index.d.ts +2 -0
  150. package/src/components/collapsible-panel/CollapsiblePanel.d.ts +45 -0
  151. package/src/components/collapsible-panel/CollapsibleTabs.d.ts +24 -0
  152. package/src/components/collapsible-panel/index.d.ts +4 -0
  153. package/src/components/confirm-popover/ConfirmPopoverManager.d.ts +18 -0
  154. package/src/components/confirm-popover/ConfirmPopoverPanel.d.ts +7 -0
  155. package/src/components/confirm-popover/index.d.ts +3 -0
  156. package/src/components/confirm-popover/types.d.ts +20 -0
  157. package/src/components/confirm-popover/useConfirmPopoverPosition.d.ts +10 -0
  158. package/src/components/context/ThemeContext.d.ts +24 -0
  159. package/src/components/context-menu/ContextMenuManager.d.ts +3 -0
  160. package/src/components/context-menu/index.d.ts +2 -0
  161. package/src/components/context-menu/types.d.ts +28 -0
  162. package/src/components/context-menu/utils.d.ts +3 -0
  163. package/src/components/date-range/Calendar.d.ts +15 -0
  164. package/src/components/date-range/CustomDatePicker.d.ts +2 -0
  165. package/src/components/date-range/DatePopover.d.ts +5 -0
  166. package/src/components/date-range/DateRangePicker.d.ts +3 -0
  167. package/src/components/date-range/Footer.d.ts +2 -0
  168. package/src/components/date-range/MonthPicker.d.ts +10 -0
  169. package/src/components/date-range/QuickRangeDropdown.d.ts +2 -0
  170. package/src/components/date-range/QuickRangeList.d.ts +2 -0
  171. package/src/components/date-range/YearPicker.d.ts +11 -0
  172. package/src/components/date-range/index.d.ts +2 -0
  173. package/src/components/date-range/types.d.ts +65 -0
  174. package/src/components/date-range/utils.d.ts +6 -0
  175. package/src/components/drag-drop/DragDropProvider.d.ts +33 -0
  176. package/src/components/drag-drop/Draggable.d.ts +86 -0
  177. package/src/components/drag-drop/Droppable.d.ts +60 -0
  178. package/src/components/drag-drop/Sortable.d.ts +98 -0
  179. package/src/components/drag-drop/index.d.ts +9 -0
  180. package/src/components/drawer/Drawer.d.ts +19 -0
  181. package/src/components/drawer/index.d.ts +2 -0
  182. package/src/components/file-upload/FilePreview.d.ts +9 -0
  183. package/src/components/file-upload/FileUpload.d.ts +4 -0
  184. package/src/components/file-upload/file-upload-types.d.ts +23 -0
  185. package/src/components/file-upload/index.d.ts +2 -0
  186. package/src/components/gantt-chart/DependencyLines.d.ts +4 -0
  187. package/src/components/gantt-chart/FieldsPanel.d.ts +11 -0
  188. package/src/components/gantt-chart/GanttChart.d.ts +3 -0
  189. package/src/components/gantt-chart/GanttContext.d.ts +4 -0
  190. package/src/components/gantt-chart/Markers.d.ts +4 -0
  191. package/src/components/gantt-chart/TaskBar.d.ts +9 -0
  192. package/src/components/gantt-chart/TimelineGrid.d.ts +4 -0
  193. package/src/components/gantt-chart/TimelineHeader.d.ts +8 -0
  194. package/src/components/gantt-chart/TimelinePanel.d.ts +10 -0
  195. package/src/components/gantt-chart/gantt-types.d.ts +191 -0
  196. package/src/components/gantt-chart/gantt-utils.d.ts +27 -0
  197. package/src/components/gantt-chart/index.d.ts +2 -0
  198. package/src/components/image-editor/ImageEditor.d.ts +5 -0
  199. package/src/components/image-editor/image-editor-types.d.ts +51 -0
  200. package/src/components/image-editor/index.d.ts +2 -0
  201. package/src/components/index.d.ts +75 -0
  202. package/src/components/json-editor/AddEntry.d.ts +10 -0
  203. package/src/components/json-editor/ArrayEditor.d.ts +4 -0
  204. package/src/components/json-editor/ItemNameDisplay.d.ts +4 -0
  205. package/src/components/json-editor/ItemValueDisplay.d.ts +4 -0
  206. package/src/components/json-editor/JsonEditor.d.ts +5 -0
  207. package/src/components/json-editor/NodeSelector.d.ts +6 -0
  208. package/src/components/json-editor/ObjectEditor.d.ts +4 -0
  209. package/src/components/json-editor/SimpleEditor.d.ts +4 -0
  210. package/src/components/json-editor/Toolbar.d.ts +14 -0
  211. package/src/components/json-editor/index.d.ts +2 -0
  212. package/src/components/json-editor/json-editor-types.d.ts +83 -0
  213. package/src/components/json-editor/json-editor-utils.d.ts +11 -0
  214. package/src/components/kanban-board/KanbanBoard.d.ts +3 -0
  215. package/src/components/kanban-board/KanbanCard.d.ts +3 -0
  216. package/src/components/kanban-board/KanbanColumn.d.ts +3 -0
  217. package/src/components/kanban-board/KanbanColumnHeader.d.ts +8 -0
  218. package/src/components/kanban-board/KanbanContext.d.ts +5 -0
  219. package/src/components/kanban-board/index.d.ts +2 -0
  220. package/src/components/kanban-board/kanban-types.d.ts +152 -0
  221. package/src/components/kanban-board/kanban-utils.d.ts +14 -0
  222. package/src/components/lightbox/Lightbox.d.ts +32 -0
  223. package/src/components/lightbox/index.d.ts +2 -0
  224. package/src/components/menu-nav/MenuNav.d.ts +5 -0
  225. package/src/components/menu-nav/MenuNavItem.d.ts +18 -0
  226. package/src/components/menu-nav/index.d.ts +2 -0
  227. package/src/components/menu-nav/menu-nav-types.d.ts +49 -0
  228. package/src/components/notification-center/NotificationCenter.d.ts +3 -0
  229. package/src/components/notification-center/NotificationItemRow.d.ts +10 -0
  230. package/src/components/notification-center/index.d.ts +2 -0
  231. package/src/components/notification-center/notification-center-types.d.ts +32 -0
  232. package/src/components/page-banner/PageBanner.d.ts +23 -0
  233. package/src/components/page-banner/index.d.ts +2 -0
  234. package/src/components/pivot-table/PivotCellEditor.d.ts +14 -0
  235. package/src/components/pivot-table/PivotConfigPanel.d.ts +23 -0
  236. package/src/components/pivot-table/PivotFilterEditor.d.ts +12 -0
  237. package/src/components/pivot-table/PivotTable.d.ts +4 -0
  238. package/src/components/pivot-table/index.d.ts +2 -0
  239. package/src/components/pivot-table/pivot-engine.d.ts +23 -0
  240. package/src/components/pivot-table/pivot-table-types.d.ts +166 -0
  241. package/src/components/shimmer/ShimmerBarChart.d.ts +12 -0
  242. package/src/components/shimmer/ShimmerDiv.d.ts +5 -0
  243. package/src/components/shimmer/ShimmerFeed.d.ts +14 -0
  244. package/src/components/shimmer/ShimmerLegends.d.ts +8 -0
  245. package/src/components/shimmer/ShimmerPieChart.d.ts +10 -0
  246. package/src/components/shimmer/ShimmerTable.d.ts +12 -0
  247. package/src/components/shimmer/SkeletonAvatar.d.ts +8 -0
  248. package/src/components/shimmer/SkeletonButton.d.ts +9 -0
  249. package/src/components/shimmer/SkeletonCard.d.ts +15 -0
  250. package/src/components/shimmer/SkeletonImage.d.ts +10 -0
  251. package/src/components/shimmer/SkeletonText.d.ts +11 -0
  252. package/src/components/shimmer/index.d.ts +10 -0
  253. package/src/components/slider/Slider.d.ts +45 -0
  254. package/src/components/slider/index.d.ts +2 -0
  255. package/src/components/snackbar/Snackbar.d.ts +3 -0
  256. package/src/components/snackbar/SnackbarManager.d.ts +6 -0
  257. package/src/components/snackbar/constants.d.ts +4 -0
  258. package/src/components/snackbar/index.d.ts +1 -0
  259. package/src/components/snackbar/types.d.ts +30 -0
  260. package/src/components/splitter/Splitter.d.ts +20 -0
  261. package/src/components/splitter/index.d.ts +4 -0
  262. package/src/components/tab-view/TabHeader.d.ts +19 -0
  263. package/src/components/tab-view/TabNav.d.ts +15 -0
  264. package/src/components/tab-view/TabPage.d.ts +13 -0
  265. package/src/components/tab-view/TabView.d.ts +28 -0
  266. package/src/components/tab-view/index.d.ts +4 -0
  267. package/src/components/tab-view/tabview-utils.d.ts +5 -0
  268. package/src/components/table/Table.d.ts +35 -0
  269. package/src/components/table/TableBody.d.ts +13 -0
  270. package/src/components/table/TableFooter.d.ts +12 -0
  271. package/src/components/table/TableHeader.d.ts +9 -0
  272. package/src/components/table/table-types.d.ts +16 -0
  273. package/src/components/table/useSortedData.d.ts +2 -0
  274. package/src/components/timeline/Timeline.d.ts +27 -0
  275. package/src/components/timeline/TimelineItem.d.ts +11 -0
  276. package/src/components/timeline/index.d.ts +2 -0
  277. package/src/components/tooltip/Tooltip.d.ts +17 -0
  278. package/src/components/tooltip/TooltipManager.d.ts +3 -0
  279. package/src/components/tooltip/utils.d.ts +6 -0
  280. package/src/components/tour/StepTour.d.ts +18 -0
  281. package/src/components/tour/TourTooltip.d.ts +18 -0
  282. package/src/components/tour/types.d.ts +12 -0
  283. package/src/components/tour/useWindowResize.d.ts +4 -0
  284. package/src/components/tour/utils.d.ts +10 -0
  285. package/src/components/tree-view/TreeNodeComponent.d.ts +4 -0
  286. package/src/components/tree-view/TreeView.d.ts +4 -0
  287. package/src/components/tree-view/index.d.ts +2 -0
  288. package/src/components/tree-view/tree-view-types.d.ts +55 -0
  289. package/src/hooks/index.d.ts +5 -0
  290. package/src/hooks/useClickOutside.d.ts +1 -0
  291. package/src/hooks/useDebounce.d.ts +1 -0
  292. package/src/hooks/useKeyboard.d.ts +1 -0
  293. package/src/hooks/useMobile.d.ts +1 -0
  294. package/src/hooks/usePosition.d.ts +8 -0
  295. package/src/plugins/vite/index.d.ts +8 -0
  296. package/src/services/container.d.ts +29 -0
  297. package/src/services/index.d.ts +3 -0
  298. package/src/services/react.d.ts +23 -0
  299. package/src/services/types.d.ts +36 -0
  300. package/src/store/core/model.d.ts +2 -0
  301. package/src/store/core/state.d.ts +2 -0
  302. package/src/store/factory/react-hooks.d.ts +19 -0
  303. package/src/store/index.d.ts +4 -0
  304. package/src/store/middlewares/broadcast.d.ts +6 -0
  305. package/src/store/middlewares/debounce.d.ts +2 -0
  306. package/src/store/middlewares/devtools.d.ts +4 -0
  307. package/src/store/middlewares/immer.d.ts +2 -0
  308. package/src/store/middlewares/index.d.ts +11 -0
  309. package/src/store/middlewares/logging.d.ts +2 -0
  310. package/src/store/middlewares/persist.d.ts +2 -0
  311. package/src/store/middlewares/throttle.d.ts +2 -0
  312. package/src/store/middlewares/undo-redo.d.ts +13 -0
  313. package/src/store/middlewares/validation.d.ts +2 -0
  314. package/src/store/types.d.ts +99 -0
  315. package/src/story/CodeBlock.d.ts +9 -0
  316. package/src/story/ComponentDemo.d.ts +10 -0
  317. package/src/story/FeatureCard.d.ts +16 -0
  318. package/src/story/IconShowcase.d.ts +6 -0
  319. package/src/story/Layout.d.ts +6 -0
  320. package/src/story/Navigation.d.ts +6 -0
  321. package/src/story/PageLayout.d.ts +8 -0
  322. package/src/story/PropsTable.d.ts +13 -0
  323. package/src/story/SectionNav.d.ts +11 -0
  324. package/src/story/StoryThemeContext.d.ts +16 -0
  325. package/src/story/pages/HomePage.d.ts +3 -0
  326. package/src/story/pages/IconsPage.d.ts +2 -0
  327. package/src/story/pages/InstallationPage.d.ts +3 -0
  328. package/src/story/pages/animate-on-view/AllAnimations.d.ts +3 -0
  329. package/src/story/pages/animate-on-view/AnimateOnViewPage.d.ts +3 -0
  330. package/src/story/pages/animate-on-view/BasicUsage.d.ts +3 -0
  331. package/src/story/pages/animate-on-view/ConfigOptions.d.ts +3 -0
  332. package/src/story/pages/animate-on-view/ScrollDemo.d.ts +3 -0
  333. package/src/story/pages/animate-on-view/StaggeredAnimations.d.ts +3 -0
  334. package/src/story/pages/autocomplete/AutocompletePage.d.ts +3 -0
  335. package/src/story/pages/autocomplete/BasicUsage.d.ts +3 -0
  336. package/src/story/pages/autocomplete/CustomConfiguration.d.ts +3 -0
  337. package/src/story/pages/autocomplete/DisabledState.d.ts +3 -0
  338. package/src/story/pages/autocomplete/UsageExamples.d.ts +3 -0
  339. package/src/story/pages/autocomplete/autocomplete-story-data.d.ts +6 -0
  340. package/src/story/pages/autocomplete-multi/AutocompleteMultiPage.d.ts +3 -0
  341. package/src/story/pages/autocomplete-multi/BasicUsage.d.ts +3 -0
  342. package/src/story/pages/autocomplete-multi/DisabledState.d.ts +3 -0
  343. package/src/story/pages/autocomplete-multi/LimitedSelections.d.ts +3 -0
  344. package/src/story/pages/autocomplete-multi/PresetValues.d.ts +3 -0
  345. package/src/story/pages/autocomplete-multi/UsageExamples.d.ts +3 -0
  346. package/src/story/pages/autocomplete-multi/autocomplete-multi-story-data.d.ts +6 -0
  347. package/src/story/pages/breadcrumb/BasicUsage.d.ts +3 -0
  348. package/src/story/pages/breadcrumb/BreadcrumbPage.d.ts +3 -0
  349. package/src/story/pages/breadcrumb/CollapsedItems.d.ts +3 -0
  350. package/src/story/pages/breadcrumb/CustomSeparator.d.ts +3 -0
  351. package/src/story/pages/button/AsLink.d.ts +3 -0
  352. package/src/story/pages/button/AsyncAction.d.ts +3 -0
  353. package/src/story/pages/button/BasicUsage.d.ts +3 -0
  354. package/src/story/pages/button/ButtonPage.d.ts +3 -0
  355. package/src/story/pages/button/Combinations.d.ts +3 -0
  356. package/src/story/pages/button/CountdownTimer.d.ts +3 -0
  357. package/src/story/pages/button/FullWidth.d.ts +3 -0
  358. package/src/story/pages/button/Layouts.d.ts +3 -0
  359. package/src/story/pages/button/Sizes.d.ts +3 -0
  360. package/src/story/pages/button/States.d.ts +3 -0
  361. package/src/story/pages/button/Variants.d.ts +3 -0
  362. package/src/story/pages/button/WithIcons.d.ts +3 -0
  363. package/src/story/pages/calendar/BasicUsage.d.ts +3 -0
  364. package/src/story/pages/calendar/CalendarPage.d.ts +3 -0
  365. package/src/story/pages/calendar/CompactMode.d.ts +3 -0
  366. package/src/story/pages/calendar/CustomRendering.d.ts +3 -0
  367. package/src/story/pages/calendar/CustomToolbarEnd.d.ts +3 -0
  368. package/src/story/pages/calendar/DateBackgrounds.d.ts +3 -0
  369. package/src/story/pages/calendar/DragDropResize.d.ts +3 -0
  370. package/src/story/pages/calendar/ExternalDragDrop.d.ts +3 -0
  371. package/src/story/pages/calendar/ImperativeApi.d.ts +3 -0
  372. package/src/story/pages/calendar/NavigationPickerDemo.d.ts +3 -0
  373. package/src/story/pages/calendar/PluginSystem.d.ts +3 -0
  374. package/src/story/pages/calendar/PluginViews.d.ts +3 -0
  375. package/src/story/pages/calendar/TimeGridConfig.d.ts +3 -0
  376. package/src/story/pages/calendar/ViewModes.d.ts +3 -0
  377. package/src/story/pages/calendar/calendar-story-data.d.ts +18 -0
  378. package/src/story/pages/calendar-playground/CalendarPlaygroundPage.d.ts +3 -0
  379. package/src/story/pages/calendar-playground/PlaygroundSettings.d.ts +65 -0
  380. package/src/story/pages/canvas-draw/CanvasDrawPage.d.ts +3 -0
  381. package/src/story/pages/canvas-draw/ControlledMode.d.ts +3 -0
  382. package/src/story/pages/canvas-draw/DrawingCanvas.d.ts +3 -0
  383. package/src/story/pages/canvas-draw/ExportDemo.d.ts +3 -0
  384. package/src/story/pages/canvas-draw/FeatureFlags.d.ts +3 -0
  385. package/src/story/pages/canvas-draw/ImageAnnotation.d.ts +3 -0
  386. package/src/story/pages/canvas-draw/MediaTimelineDemo.d.ts +3 -0
  387. package/src/story/pages/canvas-draw/ReadOnlyMode.d.ts +3 -0
  388. package/src/story/pages/canvas-draw/TimedAnnotations.d.ts +3 -0
  389. package/src/story/pages/canvas-draw/ToolSubset.d.ts +3 -0
  390. package/src/story/pages/canvas-draw/ToolbarPlacement.d.ts +3 -0
  391. package/src/story/pages/canvas-draw/canvas-draw-story-data.d.ts +7 -0
  392. package/src/story/pages/carousel/Autoplay.d.ts +3 -0
  393. package/src/story/pages/carousel/BasicUsage.d.ts +3 -0
  394. package/src/story/pages/carousel/CarouselPage.d.ts +3 -0
  395. package/src/story/pages/carousel/ThumbnailNav.d.ts +3 -0
  396. package/src/story/pages/checkbox/BasicUsage.d.ts +3 -0
  397. package/src/story/pages/checkbox/CheckboxGroup.d.ts +3 -0
  398. package/src/story/pages/checkbox/CheckboxPage.d.ts +3 -0
  399. package/src/story/pages/checkbox/IndeterminateState.d.ts +3 -0
  400. package/src/story/pages/checkbox/States.d.ts +3 -0
  401. package/src/story/pages/chips/BasicUsage.d.ts +3 -0
  402. package/src/story/pages/chips/ChipsPage.d.ts +3 -0
  403. package/src/story/pages/chips/LimitedChips.d.ts +3 -0
  404. package/src/story/pages/chips/States.d.ts +3 -0
  405. package/src/story/pages/chips/chips-story-data.d.ts +2 -0
  406. package/src/story/pages/collapsible-panel/AccordionGroup.d.ts +3 -0
  407. package/src/story/pages/collapsible-panel/BasicUsage.d.ts +3 -0
  408. package/src/story/pages/collapsible-panel/CollapsiblePanelPage.d.ts +3 -0
  409. package/src/story/pages/collapsible-panel/Controlled.d.ts +3 -0
  410. package/src/story/pages/collapsible-panel/CustomHeaderTemplate.d.ts +3 -0
  411. package/src/story/pages/collapsible-panel/DisabledState.d.ts +3 -0
  412. package/src/story/pages/collapsible-panel/HeaderActions.d.ts +3 -0
  413. package/src/story/pages/collapsible-panel/HorizontalTabs.d.ts +3 -0
  414. package/src/story/pages/collapsible-panel/HorizontalTabsVariants.d.ts +3 -0
  415. package/src/story/pages/collapsible-panel/IconPositions.d.ts +3 -0
  416. package/src/story/pages/collapsible-panel/MultiOpenGroup.d.ts +3 -0
  417. package/src/story/pages/collapsible-panel/Sizes.d.ts +3 -0
  418. package/src/story/pages/collapsible-panel/Variants.d.ts +3 -0
  419. package/src/story/pages/collapsible-panel/WithIcons.d.ts +3 -0
  420. package/src/story/pages/confirm-popover/ConfirmCustomDemo.d.ts +3 -0
  421. package/src/story/pages/confirm-popover/ConfirmPopoverPage.d.ts +3 -0
  422. package/src/story/pages/confirm-popover/CustomActionsDemo.d.ts +3 -0
  423. package/src/story/pages/confirm-popover/InfoOkDemo.d.ts +3 -0
  424. package/src/story/pages/confirm-popover/RichJsxDemo.d.ts +3 -0
  425. package/src/story/pages/confirm-popover/SetupSection.d.ts +3 -0
  426. package/src/story/pages/confirm-popover/YesNoDemo.d.ts +3 -0
  427. package/src/story/pages/context-menu/ButtonTriggered.d.ts +3 -0
  428. package/src/story/pages/context-menu/ContextMenuPage.d.ts +3 -0
  429. package/src/story/pages/context-menu/NestedSubmenus.d.ts +3 -0
  430. package/src/story/pages/context-menu/RightClickMenu.d.ts +3 -0
  431. package/src/story/pages/context-menu/ScrollableMenu.d.ts +3 -0
  432. package/src/story/pages/context-menu/SetupSection.d.ts +3 -0
  433. package/src/story/pages/context-menu/TableRowMenu.d.ts +3 -0
  434. package/src/story/pages/context-menu/context-menu-story-data.d.ts +52 -0
  435. package/src/story/pages/date-range-picker/BasicUsage.d.ts +3 -0
  436. package/src/story/pages/date-range-picker/Constraints.d.ts +3 -0
  437. package/src/story/pages/date-range-picker/CustomFormat.d.ts +3 -0
  438. package/src/story/pages/date-range-picker/DateRangePickerPage.d.ts +3 -0
  439. package/src/story/pages/date-range-picker/DisabledState.d.ts +3 -0
  440. package/src/story/pages/date-range-picker/FirstDayOfWeek.d.ts +3 -0
  441. package/src/story/pages/date-range-picker/PositionDemo.d.ts +3 -0
  442. package/src/story/pages/date-range-picker/PresetDates.d.ts +3 -0
  443. package/src/story/pages/date-range-picker/QuickSelect.d.ts +3 -0
  444. package/src/story/pages/date-range-picker/SelectionModes.d.ts +3 -0
  445. package/src/story/pages/date-range-picker/SingleDatePicker.d.ts +3 -0
  446. package/src/story/pages/date-range-picker/TodayButton.d.ts +3 -0
  447. package/src/story/pages/date-range-picker/date-range-picker-story-data.d.ts +8 -0
  448. package/src/story/pages/deferred-view/BasicUsageDemo.d.ts +3 -0
  449. package/src/story/pages/deferred-view/DeferredViewPage.d.ts +3 -0
  450. package/src/story/pages/deferred-view/KeepMountedDemo.d.ts +3 -0
  451. package/src/story/pages/deferred-view/LazyImageDemo.d.ts +3 -0
  452. package/src/story/pages/deferred-view/PlaceholderDemo.d.ts +3 -0
  453. package/src/story/pages/deferred-view/RootMarginDemo.d.ts +3 -0
  454. package/src/story/pages/demo-showcase/DemoShowcasePage.d.ts +3 -0
  455. package/src/story/pages/demo-showcase/FormSection.d.ts +8 -0
  456. package/src/story/pages/demo-showcase/TableSection.d.ts +6 -0
  457. package/src/story/pages/demo-showcase/TabsAndProgressSection.d.ts +6 -0
  458. package/src/story/pages/drag-drop/BasicDragDrop.d.ts +3 -0
  459. package/src/story/pages/drag-drop/DragDropPage.d.ts +3 -0
  460. package/src/story/pages/drag-drop/MultiContainer.d.ts +3 -0
  461. package/src/story/pages/drag-drop/RenderProps.d.ts +3 -0
  462. package/src/story/pages/drag-drop/SetupSection.d.ts +3 -0
  463. package/src/story/pages/drag-drop/TypeBasedDragDrop.d.ts +3 -0
  464. package/src/story/pages/drag-drop/drag-drop-story-data.d.ts +6 -0
  465. package/src/story/pages/drawer/BasicUsage.d.ts +3 -0
  466. package/src/story/pages/drawer/CustomContent.d.ts +3 -0
  467. package/src/story/pages/drawer/DrawerPage.d.ts +3 -0
  468. package/src/story/pages/drawer/Positions.d.ts +3 -0
  469. package/src/story/pages/dropdown/BasicUsage.d.ts +3 -0
  470. package/src/story/pages/dropdown/ClearableDropdown.d.ts +3 -0
  471. package/src/story/pages/dropdown/CustomFieldMapping.d.ts +3 -0
  472. package/src/story/pages/dropdown/DropdownPage.d.ts +3 -0
  473. package/src/story/pages/dropdown/DropdownStates.d.ts +3 -0
  474. package/src/story/pages/dropdown/GroupedOptions.d.ts +3 -0
  475. package/src/story/pages/dropdown/SearchableDropdown.d.ts +3 -0
  476. package/src/story/pages/dropdown/dropdown-story-data.d.ts +33 -0
  477. package/src/story/pages/fab-speed-dial/FabBasic.d.ts +3 -0
  478. package/src/story/pages/fab-speed-dial/FabExtended.d.ts +3 -0
  479. package/src/story/pages/fab-speed-dial/FabSizes.d.ts +3 -0
  480. package/src/story/pages/fab-speed-dial/FabSpeedDialPage.d.ts +3 -0
  481. package/src/story/pages/fab-speed-dial/SpeedDialBasic.d.ts +3 -0
  482. package/src/story/pages/fab-speed-dial/SpeedDialClick.d.ts +3 -0
  483. package/src/story/pages/fab-speed-dial/SpeedDialDirections.d.ts +3 -0
  484. package/src/story/pages/fab-speed-dial/SpeedDialSizes.d.ts +3 -0
  485. package/src/story/pages/fab-speed-dial/SpeedDialVariants.d.ts +3 -0
  486. package/src/story/pages/fab-speed-dial/fab-story-icons.d.ts +11 -0
  487. package/src/story/pages/field-label/BasicLabel.d.ts +3 -0
  488. package/src/story/pages/field-label/CombinedStates.d.ts +3 -0
  489. package/src/story/pages/field-label/DisabledState.d.ts +3 -0
  490. package/src/story/pages/field-label/ErrorState.d.ts +3 -0
  491. package/src/story/pages/field-label/FieldLabelPage.d.ts +3 -0
  492. package/src/story/pages/field-label/OptionalField.d.ts +3 -0
  493. package/src/story/pages/field-label/RequiredField.d.ts +3 -0
  494. package/src/story/pages/file-upload/BasicUsage.d.ts +3 -0
  495. package/src/story/pages/file-upload/FileUploadPage.d.ts +3 -0
  496. package/src/story/pages/file-upload/ImagePreview.d.ts +3 -0
  497. package/src/story/pages/file-upload/Validation.d.ts +3 -0
  498. package/src/story/pages/gantt-chart/BasicUsage.d.ts +3 -0
  499. package/src/story/pages/gantt-chart/CustomColumns.d.ts +3 -0
  500. package/src/story/pages/gantt-chart/DateMarkers.d.ts +3 -0
  501. package/src/story/pages/gantt-chart/Dependencies.d.ts +3 -0
  502. package/src/story/pages/gantt-chart/DragAndDrop.d.ts +3 -0
  503. package/src/story/pages/gantt-chart/GanttChartPage.d.ts +3 -0
  504. package/src/story/pages/gantt-chart/HierarchicalTasks.d.ts +3 -0
  505. package/src/story/pages/gantt-chart/QuarterlyView.d.ts +3 -0
  506. package/src/story/pages/gantt-chart/ReadOnly.d.ts +3 -0
  507. package/src/story/pages/gantt-chart/SprintPlanning.d.ts +3 -0
  508. package/src/story/pages/gantt-chart/TaskCreation.d.ts +3 -0
  509. package/src/story/pages/gantt-chart/TimelineOnly.d.ts +3 -0
  510. package/src/story/pages/gantt-chart/ViewModes.d.ts +3 -0
  511. package/src/story/pages/gantt-chart/gantt-chart-story-data.d.ts +10 -0
  512. package/src/story/pages/hooks-utils/HooksUtilsPage.d.ts +3 -0
  513. package/src/story/pages/hooks-utils/UseClickOutsideDemo.d.ts +3 -0
  514. package/src/story/pages/hooks-utils/UseDebounceDemo.d.ts +3 -0
  515. package/src/story/pages/hooks-utils/UseKeyboardDemo.d.ts +3 -0
  516. package/src/story/pages/hooks-utils/UseMobileDemo.d.ts +3 -0
  517. package/src/story/pages/hooks-utils/UtilFunctionsDemo.d.ts +3 -0
  518. package/src/story/pages/hooks-utils/WithFieldLabelDemo.d.ts +3 -0
  519. package/src/story/pages/image-editor/BasicUsage.d.ts +3 -0
  520. package/src/story/pages/image-editor/CropOnly.d.ts +3 -0
  521. package/src/story/pages/image-editor/CustomTools.d.ts +3 -0
  522. package/src/story/pages/image-editor/ExportOptions.d.ts +3 -0
  523. package/src/story/pages/image-editor/ImageEditorPage.d.ts +3 -0
  524. package/src/story/pages/infinite-scroll/BasicUsage.d.ts +3 -0
  525. package/src/story/pages/infinite-scroll/ErrorHandling.d.ts +3 -0
  526. package/src/story/pages/infinite-scroll/InfiniteScrollPage.d.ts +3 -0
  527. package/src/story/pages/input-group/EmailInput.d.ts +3 -0
  528. package/src/story/pages/input-group/FileUpload.d.ts +3 -0
  529. package/src/story/pages/input-group/InputGroupPage.d.ts +3 -0
  530. package/src/story/pages/input-group/PhoneNumber.d.ts +3 -0
  531. package/src/story/pages/input-group/PriceInput.d.ts +3 -0
  532. package/src/story/pages/input-group/SearchInput.d.ts +3 -0
  533. package/src/story/pages/input-group/UrlInput.d.ts +3 -0
  534. package/src/story/pages/input-switch/BasicUsage.d.ts +3 -0
  535. package/src/story/pages/input-switch/CustomLabels.d.ts +3 -0
  536. package/src/story/pages/input-switch/DisabledStates.d.ts +3 -0
  537. package/src/story/pages/input-switch/FormIntegration.d.ts +3 -0
  538. package/src/story/pages/input-switch/InputSwitchPage.d.ts +3 -0
  539. package/src/story/pages/input-switch/SettingsPanel.d.ts +3 -0
  540. package/src/story/pages/json-editor/ArrayEditing.d.ts +3 -0
  541. package/src/story/pages/json-editor/BasicUsage.d.ts +3 -0
  542. package/src/story/pages/json-editor/ComplexData.d.ts +3 -0
  543. package/src/story/pages/json-editor/JsonEditorPage.d.ts +3 -0
  544. package/src/story/pages/json-editor/NestedObjects.d.ts +3 -0
  545. package/src/story/pages/json-editor/PermissionControls.d.ts +3 -0
  546. package/src/story/pages/json-editor/ReadOnlyMode.d.ts +3 -0
  547. package/src/story/pages/json-editor/SizeVariants.d.ts +3 -0
  548. package/src/story/pages/json-editor/SortedKeys.d.ts +3 -0
  549. package/src/story/pages/json-editor/TypeShowcase.d.ts +3 -0
  550. package/src/story/pages/json-editor/json-editor-story-data.d.ts +8 -0
  551. package/src/story/pages/kanban-board/BasicUsage.d.ts +3 -0
  552. package/src/story/pages/kanban-board/BlockedCards.d.ts +3 -0
  553. package/src/story/pages/kanban-board/CardActions.d.ts +3 -0
  554. package/src/story/pages/kanban-board/CollapsibleColumns.d.ts +3 -0
  555. package/src/story/pages/kanban-board/ColumnLimits.d.ts +3 -0
  556. package/src/story/pages/kanban-board/CompactMode.d.ts +3 -0
  557. package/src/story/pages/kanban-board/CustomColumnHeader.d.ts +3 -0
  558. package/src/story/pages/kanban-board/CustomTemplates.d.ts +3 -0
  559. package/src/story/pages/kanban-board/DetailedCards.d.ts +3 -0
  560. package/src/story/pages/kanban-board/InteractiveBoard.d.ts +3 -0
  561. package/src/story/pages/kanban-board/KanbanBoardPage.d.ts +3 -0
  562. package/src/story/pages/kanban-board/LockedColumns.d.ts +3 -0
  563. package/src/story/pages/kanban-board/StickyHeaders.d.ts +3 -0
  564. package/src/story/pages/kanban-board/VerticalLayout.d.ts +3 -0
  565. package/src/story/pages/kanban-board/kanban-story-data.d.ts +19 -0
  566. package/src/story/pages/lightbox/BasicUsage.d.ts +3 -0
  567. package/src/story/pages/lightbox/LightboxPage.d.ts +3 -0
  568. package/src/story/pages/list-box/DisabledState.d.ts +3 -0
  569. package/src/story/pages/list-box/GroupedList.d.ts +3 -0
  570. package/src/story/pages/list-box/ListBoxPage.d.ts +3 -0
  571. package/src/story/pages/list-box/MultipleSelection.d.ts +3 -0
  572. package/src/story/pages/list-box/SearchableList.d.ts +3 -0
  573. package/src/story/pages/list-box/SingleSelection.d.ts +3 -0
  574. package/src/story/pages/list-box/list-box-story-data.d.ts +4 -0
  575. package/src/story/pages/masked-input/CustomSlotChar.d.ts +3 -0
  576. package/src/story/pages/masked-input/IncludeLiterals.d.ts +3 -0
  577. package/src/story/pages/masked-input/InputStates.d.ts +3 -0
  578. package/src/story/pages/masked-input/KeyboardNavigation.d.ts +3 -0
  579. package/src/story/pages/masked-input/MaskExamples.d.ts +8 -0
  580. package/src/story/pages/masked-input/MaskSyntax.d.ts +3 -0
  581. package/src/story/pages/masked-input/MaskedInputPage.d.ts +3 -0
  582. package/src/story/pages/masked-input/PrefilledValue.d.ts +3 -0
  583. package/src/story/pages/menu-nav/BasicUsage.d.ts +3 -0
  584. package/src/story/pages/menu-nav/Collapsible.d.ts +3 -0
  585. package/src/story/pages/menu-nav/CustomSlots.d.ts +3 -0
  586. package/src/story/pages/menu-nav/GroupedMenus.d.ts +3 -0
  587. package/src/story/pages/menu-nav/Horizontal.d.ts +3 -0
  588. package/src/story/pages/menu-nav/MenuNavPage.d.ts +3 -0
  589. package/src/story/pages/menu-nav/NestedMenus.d.ts +3 -0
  590. package/src/story/pages/menu-nav/SelectionStyles.d.ts +3 -0
  591. package/src/story/pages/menu-nav/Sizes.d.ts +3 -0
  592. package/src/story/pages/menu-nav/ToolbarMode.d.ts +3 -0
  593. package/src/story/pages/menu-nav/menu-nav-story-data.d.ts +7 -0
  594. package/src/story/pages/modal/BasicUsage.d.ts +3 -0
  595. package/src/story/pages/modal/CustomLayout.d.ts +3 -0
  596. package/src/story/pages/modal/FormExample.d.ts +3 -0
  597. package/src/story/pages/modal/ModalPage.d.ts +3 -0
  598. package/src/story/pages/modal/NestedModals.d.ts +3 -0
  599. package/src/story/pages/modal/NonClosable.d.ts +3 -0
  600. package/src/story/pages/modal/ScrollableContent.d.ts +3 -0
  601. package/src/story/pages/modal/Sizes.d.ts +3 -0
  602. package/src/story/pages/modal/WithoutTitle.d.ts +3 -0
  603. package/src/story/pages/multi-state-checkbox/BasicUsage.d.ts +3 -0
  604. package/src/story/pages/multi-state-checkbox/ControlledState.d.ts +3 -0
  605. package/src/story/pages/multi-state-checkbox/CustomStates.d.ts +3 -0
  606. package/src/story/pages/multi-state-checkbox/MultiStateCheckboxPage.d.ts +3 -0
  607. package/src/story/pages/multi-state-checkbox/multi-state-checkbox-story-data.d.ts +4 -0
  608. package/src/story/pages/multiselect/BasicUsage.d.ts +3 -0
  609. package/src/story/pages/multiselect/CustomFieldMapping.d.ts +3 -0
  610. package/src/story/pages/multiselect/GroupedOptions.d.ts +3 -0
  611. package/src/story/pages/multiselect/MultiselectPage.d.ts +3 -0
  612. package/src/story/pages/multiselect/MultiselectStates.d.ts +3 -0
  613. package/src/story/pages/multiselect/SelectAll.d.ts +3 -0
  614. package/src/story/pages/multiselect/SelectionLimit.d.ts +3 -0
  615. package/src/story/pages/multiselect/WithoutSearch.d.ts +3 -0
  616. package/src/story/pages/multiselect/multiselect-story-data.d.ts +28 -0
  617. package/src/story/pages/notification-center/BasicUsage.d.ts +3 -0
  618. package/src/story/pages/notification-center/Categories.d.ts +3 -0
  619. package/src/story/pages/notification-center/CustomTrigger.d.ts +3 -0
  620. package/src/story/pages/notification-center/NotificationCenterPage.d.ts +3 -0
  621. package/src/story/pages/numeric-input/BasicUsage.d.ts +3 -0
  622. package/src/story/pages/numeric-input/DecimalPrecision.d.ts +3 -0
  623. package/src/story/pages/numeric-input/MinMaxRange.d.ts +3 -0
  624. package/src/story/pages/numeric-input/NumericInputPage.d.ts +3 -0
  625. package/src/story/pages/numeric-input/NumericInputStates.d.ts +3 -0
  626. package/src/story/pages/page-banner/BasicUsage.d.ts +3 -0
  627. package/src/story/pages/page-banner/CustomContent.d.ts +3 -0
  628. package/src/story/pages/page-banner/Dismissible.d.ts +3 -0
  629. package/src/story/pages/page-banner/PageBannerPage.d.ts +3 -0
  630. package/src/story/pages/page-banner/PageLevel.d.ts +3 -0
  631. package/src/story/pages/page-banner/WithActions.d.ts +3 -0
  632. package/src/story/pages/password/BasicUsage.d.ts +3 -0
  633. package/src/story/pages/password/PasswordPage.d.ts +3 -0
  634. package/src/story/pages/password/PasswordStates.d.ts +3 -0
  635. package/src/story/pages/pivot-table/BasicUsage.d.ts +3 -0
  636. package/src/story/pages/pivot-table/ColumnPivot.d.ts +3 -0
  637. package/src/story/pages/pivot-table/Filtering.d.ts +3 -0
  638. package/src/story/pages/pivot-table/InteractiveDemo.d.ts +3 -0
  639. package/src/story/pages/pivot-table/MultiLevelPivot.d.ts +3 -0
  640. package/src/story/pages/pivot-table/MultipleFunctions.d.ts +3 -0
  641. package/src/story/pages/pivot-table/PivotTablePage.d.ts +3 -0
  642. package/src/story/pages/pivot-table/pivot-table-story-data.d.ts +17 -0
  643. package/src/story/pages/pivot-table-playground/PivotTablePlaygroundPage.d.ts +3 -0
  644. package/src/story/pages/popover/BasicUsage.d.ts +3 -0
  645. package/src/story/pages/popover/ControlledPopover.d.ts +3 -0
  646. package/src/story/pages/popover/CustomContent.d.ts +3 -0
  647. package/src/story/pages/popover/FilterablePopover.d.ts +3 -0
  648. package/src/story/pages/popover/GroupedItems.d.ts +3 -0
  649. package/src/story/pages/popover/PopoverPage.d.ts +3 -0
  650. package/src/story/pages/popover/popover-story-data.d.ts +5 -0
  651. package/src/story/pages/progress-bar/BasicUsage.d.ts +3 -0
  652. package/src/story/pages/progress-bar/BufferProgress.d.ts +3 -0
  653. package/src/story/pages/progress-bar/DynamicProgress.d.ts +3 -0
  654. package/src/story/pages/progress-bar/Indeterminate.d.ts +3 -0
  655. package/src/story/pages/progress-bar/LabelsAndValues.d.ts +3 -0
  656. package/src/story/pages/progress-bar/Layouts.d.ts +3 -0
  657. package/src/story/pages/progress-bar/MultiSegment.d.ts +3 -0
  658. package/src/story/pages/progress-bar/ProgressBarPage.d.ts +3 -0
  659. package/src/story/pages/progress-bar/Sizes.d.ts +3 -0
  660. package/src/story/pages/progress-bar/Variants.d.ts +3 -0
  661. package/src/story/pages/radio-button/BasicUsage.d.ts +3 -0
  662. package/src/story/pages/radio-button/ControlledUncontrolled.d.ts +3 -0
  663. package/src/story/pages/radio-button/HorizontalLayout.d.ts +3 -0
  664. package/src/story/pages/radio-button/RadioButtonPage.d.ts +3 -0
  665. package/src/story/pages/radio-button/States.d.ts +3 -0
  666. package/src/story/pages/radio-button/radio-button-story-data.d.ts +13 -0
  667. package/src/story/pages/select-button/BasicUsage.d.ts +3 -0
  668. package/src/story/pages/select-button/DisabledItems.d.ts +3 -0
  669. package/src/story/pages/select-button/DisabledState.d.ts +3 -0
  670. package/src/story/pages/select-button/MultipleSelection.d.ts +3 -0
  671. package/src/story/pages/select-button/RealWorldExamples.d.ts +3 -0
  672. package/src/story/pages/select-button/SelectButtonPage.d.ts +3 -0
  673. package/src/story/pages/select-button/SizeVariants.d.ts +3 -0
  674. package/src/story/pages/select-button/ThemeVariants.d.ts +3 -0
  675. package/src/story/pages/select-button/UsageNotes.d.ts +3 -0
  676. package/src/story/pages/select-button/VerticalDirection.d.ts +3 -0
  677. package/src/story/pages/select-button/WithIcons.d.ts +3 -0
  678. package/src/story/pages/select-button/select-button-story-data.d.ts +30 -0
  679. package/src/story/pages/services/BasicUsage.d.ts +3 -0
  680. package/src/story/pages/services/Lifetimes.d.ts +3 -0
  681. package/src/story/pages/services/Parameterized.d.ts +3 -0
  682. package/src/story/pages/services/ReactIntegration.d.ts +3 -0
  683. package/src/story/pages/services/ServicesPage.d.ts +3 -0
  684. package/src/story/pages/services/SwappingImplementations.d.ts +3 -0
  685. package/src/story/pages/services/services-story-data.d.ts +92 -0
  686. package/src/story/pages/shimmer/ProfileCard.d.ts +3 -0
  687. package/src/story/pages/shimmer/ShimmerBarChartDemo.d.ts +3 -0
  688. package/src/story/pages/shimmer/ShimmerDivDemo.d.ts +3 -0
  689. package/src/story/pages/shimmer/ShimmerFeedDemo.d.ts +3 -0
  690. package/src/story/pages/shimmer/ShimmerPage.d.ts +3 -0
  691. package/src/story/pages/shimmer/ShimmerPieChartDemo.d.ts +3 -0
  692. package/src/story/pages/shimmer/ShimmerTableDemo.d.ts +3 -0
  693. package/src/story/pages/slider/BasicUsage.d.ts +3 -0
  694. package/src/story/pages/slider/Formatting.d.ts +3 -0
  695. package/src/story/pages/slider/GridSnap.d.ts +3 -0
  696. package/src/story/pages/slider/RangeSlider.d.ts +3 -0
  697. package/src/story/pages/slider/Sizes.d.ts +3 -0
  698. package/src/story/pages/slider/SliderPage.d.ts +3 -0
  699. package/src/story/pages/slider/StringValues.d.ts +3 -0
  700. package/src/story/pages/slider/Variants.d.ts +3 -0
  701. package/src/story/pages/slider/VerticalSlider.d.ts +3 -0
  702. package/src/story/pages/slider/WithMarks.d.ts +3 -0
  703. package/src/story/pages/snackbar/AnimationsDemo.d.ts +3 -0
  704. package/src/story/pages/snackbar/ClickCallback.d.ts +3 -0
  705. package/src/story/pages/snackbar/LightBackground.d.ts +3 -0
  706. package/src/story/pages/snackbar/PersistentTimeout.d.ts +3 -0
  707. package/src/story/pages/snackbar/PositionsDemo.d.ts +3 -0
  708. package/src/story/pages/snackbar/SetupSection.d.ts +3 -0
  709. package/src/story/pages/snackbar/SnackbarPage.d.ts +3 -0
  710. package/src/story/pages/snackbar/TypesDemo.d.ts +3 -0
  711. package/src/story/pages/sortable/BasicSortable.d.ts +3 -0
  712. package/src/story/pages/sortable/ComplexItems.d.ts +3 -0
  713. package/src/story/pages/sortable/DragHandles.d.ts +3 -0
  714. package/src/story/pages/sortable/MultipleLists.d.ts +3 -0
  715. package/src/story/pages/sortable/SetupSection.d.ts +3 -0
  716. package/src/story/pages/sortable/SortablePage.d.ts +3 -0
  717. package/src/story/pages/sortable/TypeBasedSortable.d.ts +3 -0
  718. package/src/story/pages/sortable/sortable-story-data.d.ts +15 -0
  719. package/src/story/pages/splitter/DefaultSizePct.d.ts +3 -0
  720. package/src/story/pages/splitter/DefaultSizePx.d.ts +3 -0
  721. package/src/story/pages/splitter/FixedPanel.d.ts +3 -0
  722. package/src/story/pages/splitter/GutterSize.d.ts +3 -0
  723. package/src/story/pages/splitter/HorizontalSplit.d.ts +3 -0
  724. package/src/story/pages/splitter/KeyboardNavigation.d.ts +3 -0
  725. package/src/story/pages/splitter/MinSize.d.ts +3 -0
  726. package/src/story/pages/splitter/NestedSplitters.d.ts +3 -0
  727. package/src/story/pages/splitter/OnResizeEnd.d.ts +3 -0
  728. package/src/story/pages/splitter/PersistingLayout.d.ts +3 -0
  729. package/src/story/pages/splitter/SplitterPage.d.ts +3 -0
  730. package/src/story/pages/splitter/VerticalSplit.d.ts +3 -0
  731. package/src/story/pages/stepper/BasicUsage.d.ts +3 -0
  732. package/src/story/pages/stepper/ColorVariants.d.ts +3 -0
  733. package/src/story/pages/stepper/InteractiveSteps.d.ts +3 -0
  734. package/src/story/pages/stepper/LabelPlacement.d.ts +3 -0
  735. package/src/story/pages/stepper/LayoutShapes.d.ts +3 -0
  736. package/src/story/pages/stepper/SizeOptions.d.ts +3 -0
  737. package/src/story/pages/stepper/StepStatus.d.ts +3 -0
  738. package/src/story/pages/stepper/StepperPage.d.ts +3 -0
  739. package/src/story/pages/stepper/TextOnly.d.ts +3 -0
  740. package/src/story/pages/stepper/VerticalOrientation.d.ts +3 -0
  741. package/src/story/pages/stepper/WithIcons.d.ts +3 -0
  742. package/src/story/pages/stepper/stepper-story-data.d.ts +7 -0
  743. package/src/story/pages/store-basic/BasicUsage.d.ts +3 -0
  744. package/src/story/pages/store-basic/BatchedUpdates.d.ts +3 -0
  745. package/src/story/pages/store-basic/ComputedProperties.d.ts +3 -0
  746. package/src/story/pages/store-basic/MiddlewareDemo.d.ts +3 -0
  747. package/src/story/pages/store-basic/MultipleStores.d.ts +3 -0
  748. package/src/story/pages/store-basic/PathSubscriptions.d.ts +3 -0
  749. package/src/story/pages/store-basic/StoreBasicPage.d.ts +3 -0
  750. package/src/story/pages/store-middleware/BroadcastDemo.d.ts +3 -0
  751. package/src/story/pages/store-middleware/DebounceDemo.d.ts +3 -0
  752. package/src/story/pages/store-middleware/LoggingDemo.d.ts +3 -0
  753. package/src/story/pages/store-middleware/PersistDemo.d.ts +3 -0
  754. package/src/story/pages/store-middleware/StoreMiddlewarePage.d.ts +3 -0
  755. package/src/story/pages/store-middleware/ThrottleDemo.d.ts +3 -0
  756. package/src/story/pages/store-middleware/UndoRedoDemo.d.ts +3 -0
  757. package/src/story/pages/store-middleware/ValidationDemo.d.ts +3 -0
  758. package/src/story/pages/store-model/BasicCRUD.d.ts +3 -0
  759. package/src/story/pages/store-model/CombinedDemo.d.ts +3 -0
  760. package/src/story/pages/store-model/ListManagement.d.ts +3 -0
  761. package/src/story/pages/store-model/PersistenceDemo.d.ts +3 -0
  762. package/src/story/pages/store-model/StoreModelPage.d.ts +3 -0
  763. package/src/story/pages/store-model/ValidationDemo.d.ts +3 -0
  764. package/src/story/pages/tab-view/BasicUsage.d.ts +3 -0
  765. package/src/story/pages/tab-view/ClosableTabs.d.ts +3 -0
  766. package/src/story/pages/tab-view/EventHandling.d.ts +3 -0
  767. package/src/story/pages/tab-view/HeaderEnd.d.ts +3 -0
  768. package/src/story/pages/tab-view/Positions.d.ts +3 -0
  769. package/src/story/pages/tab-view/ScrollableTabs.d.ts +3 -0
  770. package/src/story/pages/tab-view/StyleVariants.d.ts +3 -0
  771. package/src/story/pages/tab-view/TabViewPage.d.ts +3 -0
  772. package/src/story/pages/tab-view/WithIcons.d.ts +3 -0
  773. package/src/story/pages/table/BasicUsage.d.ts +3 -0
  774. package/src/story/pages/table/CustomRendering.d.ts +3 -0
  775. package/src/story/pages/table/LoadingAndEmpty.d.ts +3 -0
  776. package/src/story/pages/table/ResponsiveColumns.d.ts +3 -0
  777. package/src/story/pages/table/RowSelection.d.ts +3 -0
  778. package/src/story/pages/table/SortableColumns.d.ts +3 -0
  779. package/src/story/pages/table/StyleVariants.d.ts +3 -0
  780. package/src/story/pages/table/TablePage.d.ts +3 -0
  781. package/src/story/pages/table/WithActions.d.ts +3 -0
  782. package/src/story/pages/table/WithPagination.d.ts +3 -0
  783. package/src/story/pages/table/table-story-data.d.ts +13 -0
  784. package/src/story/pages/text-input/BasicUsage.d.ts +3 -0
  785. package/src/story/pages/text-input/TextInputPage.d.ts +3 -0
  786. package/src/story/pages/text-input/TextInputStates.d.ts +3 -0
  787. package/src/story/pages/text-input/Validation.d.ts +3 -0
  788. package/src/story/pages/text-input/WithIcons.d.ts +3 -0
  789. package/src/story/pages/text-input/WithLabel.d.ts +3 -0
  790. package/src/story/pages/textarea/AutoResize.d.ts +3 -0
  791. package/src/story/pages/textarea/BasicUsage.d.ts +3 -0
  792. package/src/story/pages/textarea/CharacterLimit.d.ts +3 -0
  793. package/src/story/pages/textarea/RowHeights.d.ts +3 -0
  794. package/src/story/pages/textarea/TextAreaPage.d.ts +3 -0
  795. package/src/story/pages/textarea/TextAreaStates.d.ts +3 -0
  796. package/src/story/pages/timeline/AlternateAlignment.d.ts +3 -0
  797. package/src/story/pages/timeline/BasicUsage.d.ts +3 -0
  798. package/src/story/pages/timeline/CustomMarkers.d.ts +3 -0
  799. package/src/story/pages/timeline/HorizontalLayout.d.ts +3 -0
  800. package/src/story/pages/timeline/TimelinePage.d.ts +3 -0
  801. package/src/story/pages/toggle-button/BasicUsage.d.ts +3 -0
  802. package/src/story/pages/toggle-button/CustomLabels.d.ts +3 -0
  803. package/src/story/pages/toggle-button/CustomStyling.d.ts +3 -0
  804. package/src/story/pages/toggle-button/EventHandling.d.ts +3 -0
  805. package/src/story/pages/toggle-button/FormIntegration.d.ts +3 -0
  806. package/src/story/pages/toggle-button/MultipleToggles.d.ts +3 -0
  807. package/src/story/pages/toggle-button/Sizes.d.ts +3 -0
  808. package/src/story/pages/toggle-button/States.d.ts +3 -0
  809. package/src/story/pages/toggle-button/ToggleButtonPage.d.ts +3 -0
  810. package/src/story/pages/toggle-button/Variants.d.ts +3 -0
  811. package/src/story/pages/tooltip/BasicUsage.d.ts +3 -0
  812. package/src/story/pages/tooltip/CustomTimeout.d.ts +3 -0
  813. package/src/story/pages/tooltip/OnAnyElement.d.ts +3 -0
  814. package/src/story/pages/tooltip/Placements.d.ts +3 -0
  815. package/src/story/pages/tooltip/RichContent.d.ts +3 -0
  816. package/src/story/pages/tooltip/SetupSection.d.ts +3 -0
  817. package/src/story/pages/tooltip/TooltipPage.d.ts +3 -0
  818. package/src/story/pages/tour/BasicTour.d.ts +3 -0
  819. package/src/story/pages/tour/DarkModeSection.d.ts +3 -0
  820. package/src/story/pages/tour/PlacementOptions.d.ts +3 -0
  821. package/src/story/pages/tour/RichContent.d.ts +3 -0
  822. package/src/story/pages/tour/StartAtStep.d.ts +3 -0
  823. package/src/story/pages/tour/StepCallbacks.d.ts +3 -0
  824. package/src/story/pages/tour/TourPage.d.ts +3 -0
  825. package/src/story/pages/tour/tour-story-data.d.ts +13 -0
  826. package/src/story/pages/tree-view/AsyncLoading.d.ts +3 -0
  827. package/src/story/pages/tree-view/BasicUsage.d.ts +3 -0
  828. package/src/story/pages/tree-view/CheckboxMode.d.ts +3 -0
  829. package/src/story/pages/tree-view/DragDrop.d.ts +3 -0
  830. package/src/story/pages/tree-view/TreeViewPage.d.ts +3 -0
  831. package/src/themes/index.d.ts +2 -0
  832. package/src/types/index.d.ts +97 -0
  833. package/src/utils/common-fns.d.ts +8 -0
  834. package/src/utils/field-label.d.ts +12 -0
  835. package/src/utils/index.d.ts +10 -0
  836. package/src/utils/layout.d.ts +1 -0
  837. package/src/utils/lib.d.ts +2 -0
  838. package/store-middlewares.cjs +299 -0
  839. package/store-middlewares.d.ts +1 -0
  840. package/store-middlewares.js +290 -0
  841. package/store.cjs +683 -0
  842. package/store.d.ts +1 -0
  843. package/store.js +675 -0
  844. package/styles/components.css +16368 -0
  845. package/styles/drag-drop.css +88 -0
  846. package/styles/draw.css +994 -0
  847. package/styles/kanban.css +814 -0
  848. package/utils.cjs +25 -0
  849. package/utils.d.ts +1 -0
  850. package/utils.js +23 -0
  851. package/vite-plugin.cjs +42 -0
  852. package/vite-plugin.d.ts +1 -0
  853. package/vite-plugin.js +38 -0
package/kanban.js ADDED
@@ -0,0 +1,967 @@
1
+ import { n as __toESM, t as require_classnames } from "./classnames-CEAOwX3h.js";
2
+ import { t as Sortable } from "./drag-drop-UWg0agsw.js";
3
+ import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import './styles/kanban.css';//#region src/components/kanban-board/KanbanContext.ts
6
+ var import_classnames = /* @__PURE__ */ __toESM(require_classnames(), 1);
7
+ var KanbanContext = createContext(null);
8
+ function useKanban() {
9
+ const ctx = useContext(KanbanContext);
10
+ if (!ctx) throw new Error("useKanban must be used within a KanbanBoard");
11
+ return ctx;
12
+ }
13
+ //#endregion
14
+ //#region src/components/kanban-board/kanban-utils.ts
15
+ function getCardsForColumn(cards, columnId) {
16
+ return cards.filter((card) => card.columnId === columnId).sort((a, b) => a.order - b.order);
17
+ }
18
+ function filterCards(cards, filter) {
19
+ let result = cards;
20
+ if (filter.query) {
21
+ const q = filter.query.toLowerCase();
22
+ result = result.filter((card) => card.title.toLowerCase().includes(q) || card.description?.toLowerCase().includes(q));
23
+ }
24
+ if (filter.priority?.length) result = result.filter((card) => card.priority && filter.priority.includes(card.priority));
25
+ if (filter.labels?.length) result = result.filter((card) => card.labels?.some((label) => filter.labels.includes(label.id)));
26
+ if (filter.assignees?.length) result = result.filter((card) => {
27
+ if (card.assignees?.length) return card.assignees.some((a) => filter.assignees.includes(a.id));
28
+ return card.assignee && filter.assignees.includes(card.assignee.id);
29
+ });
30
+ return result;
31
+ }
32
+ function isColumnOverLimit(column, cardCount) {
33
+ return column.limit !== void 0 && column.limit > 0 && cardCount > column.limit;
34
+ }
35
+ function getInitials(name) {
36
+ return name.split(" ").map((part) => part[0]).join("").toUpperCase().slice(0, 2);
37
+ }
38
+ function formatDueDate(date) {
39
+ const d = typeof date === "string" ? new Date(date) : date;
40
+ const now = /* @__PURE__ */ new Date();
41
+ const today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
42
+ const target = new Date(d.getFullYear(), d.getMonth(), d.getDate());
43
+ const diffDays = Math.round((target.getTime() - today.getTime()) / (1e3 * 60 * 60 * 24));
44
+ if (diffDays < 0) return {
45
+ text: `${Math.abs(diffDays)}d overdue`,
46
+ isOverdue: true,
47
+ isDueSoon: false
48
+ };
49
+ if (diffDays === 0) return {
50
+ text: "Due today",
51
+ isOverdue: false,
52
+ isDueSoon: true
53
+ };
54
+ if (diffDays === 1) return {
55
+ text: "Due tomorrow",
56
+ isOverdue: false,
57
+ isDueSoon: true
58
+ };
59
+ if (diffDays <= 3) return {
60
+ text: `Due in ${diffDays}d`,
61
+ isOverdue: false,
62
+ isDueSoon: true
63
+ };
64
+ return {
65
+ text: `${[
66
+ "Jan",
67
+ "Feb",
68
+ "Mar",
69
+ "Apr",
70
+ "May",
71
+ "Jun",
72
+ "Jul",
73
+ "Aug",
74
+ "Sep",
75
+ "Oct",
76
+ "Nov",
77
+ "Dec"
78
+ ][d.getMonth()]} ${d.getDate()}`,
79
+ isOverdue: false,
80
+ isDueSoon: false
81
+ };
82
+ }
83
+ //#endregion
84
+ //#region src/components/kanban-board/KanbanCard.tsx
85
+ var priorityConfig = {
86
+ critical: {
87
+ className: "eui-kanban-priority-critical",
88
+ label: "Critical"
89
+ },
90
+ high: {
91
+ className: "eui-kanban-priority-high",
92
+ label: "High"
93
+ },
94
+ medium: {
95
+ className: "eui-kanban-priority-medium",
96
+ label: "Medium"
97
+ },
98
+ low: {
99
+ className: "eui-kanban-priority-low",
100
+ label: "Low"
101
+ },
102
+ none: {
103
+ className: "eui-kanban-priority-none",
104
+ label: "None"
105
+ }
106
+ };
107
+ function KanbanCard({ card, column, index }) {
108
+ const { props } = useKanban();
109
+ const { cardSize = "default", cardTemplate, cardActionsTemplate, allowDeleteCard, onCardClick, onCardDoubleClick, onCardDelete } = props;
110
+ const handleClick = useCallback((e) => {
111
+ onCardClick?.({
112
+ card,
113
+ column,
114
+ event: e
115
+ });
116
+ }, [
117
+ card,
118
+ column,
119
+ onCardClick
120
+ ]);
121
+ const handleDoubleClick = useCallback((e) => {
122
+ onCardDoubleClick?.({
123
+ card,
124
+ column,
125
+ event: e
126
+ });
127
+ }, [
128
+ card,
129
+ column,
130
+ onCardDoubleClick
131
+ ]);
132
+ const handleDelete = useCallback((e) => {
133
+ e.stopPropagation();
134
+ onCardDelete?.({
135
+ card,
136
+ columnId: column.id
137
+ });
138
+ }, [
139
+ card,
140
+ column.id,
141
+ onCardDelete
142
+ ]);
143
+ const handleKeyDown = useCallback((e) => {
144
+ if (e.key === "Enter" || e.key === " ") {
145
+ e.preventDefault();
146
+ onCardClick?.({
147
+ card,
148
+ column,
149
+ event: e
150
+ });
151
+ }
152
+ if (e.key === "Delete" && allowDeleteCard) onCardDelete?.({
153
+ card,
154
+ columnId: column.id
155
+ });
156
+ }, [
157
+ card,
158
+ column,
159
+ allowDeleteCard,
160
+ onCardClick,
161
+ onCardDelete
162
+ ]);
163
+ const dueInfo = useMemo(() => card.dueDate ? formatDueDate(card.dueDate) : null, [card.dueDate]);
164
+ const allAssignees = useMemo(() => {
165
+ if (card.assignees?.length) return card.assignees;
166
+ if (card.assignee) return [card.assignee];
167
+ return [];
168
+ }, [card.assignee, card.assignees]);
169
+ const hasSubtasks = card.subtaskCount !== void 0 && card.subtaskCount > 0;
170
+ const subtaskPercent = hasSubtasks ? Math.round((card.subtaskCompleted ?? 0) / card.subtaskCount * 100) : 0;
171
+ if (cardTemplate) return /* @__PURE__ */ jsx("div", {
172
+ className: (0, import_classnames.default)("eui-kanban-card", `eui-kanban-card-${cardSize}`),
173
+ onClick: handleClick,
174
+ onDoubleClick: handleDoubleClick,
175
+ onKeyDown: handleKeyDown,
176
+ role: "article",
177
+ tabIndex: 0,
178
+ "aria-label": card.title,
179
+ "data-card-id": card.id,
180
+ "data-card-index": index,
181
+ children: cardTemplate(card, column)
182
+ });
183
+ return /* @__PURE__ */ jsxs("div", {
184
+ className: (0, import_classnames.default)("eui-kanban-card", `eui-kanban-card-${cardSize}`, {
185
+ "eui-kanban-card-blocked": card.blocked,
186
+ "eui-kanban-card-clickable": !!onCardClick
187
+ }),
188
+ style: card.color ? { borderLeftColor: card.color } : void 0,
189
+ onClick: handleClick,
190
+ onDoubleClick: handleDoubleClick,
191
+ onKeyDown: handleKeyDown,
192
+ role: "article",
193
+ tabIndex: 0,
194
+ "aria-label": `${card.title}${card.priority ? `, priority: ${card.priority}` : ""}${dueInfo ? `, ${dueInfo.text}` : ""}`,
195
+ "data-card-id": card.id,
196
+ "data-card-index": index,
197
+ children: [card.coverImage && cardSize === "detailed" && /* @__PURE__ */ jsx("div", {
198
+ className: "eui-kanban-card-cover",
199
+ children: /* @__PURE__ */ jsx("img", {
200
+ src: card.coverImage,
201
+ alt: "",
202
+ loading: "lazy"
203
+ })
204
+ }), /* @__PURE__ */ jsxs("div", {
205
+ className: "eui-kanban-card-body",
206
+ children: [
207
+ card.labels && card.labels.length > 0 && cardSize !== "compact" && /* @__PURE__ */ jsx("div", {
208
+ className: "eui-kanban-card-labels",
209
+ role: "list",
210
+ "aria-label": "Labels",
211
+ children: card.labels.map((label) => /* @__PURE__ */ jsx("span", {
212
+ className: "eui-kanban-label",
213
+ style: { backgroundColor: label.color },
214
+ role: "listitem",
215
+ title: label.text,
216
+ children: cardSize === "detailed" ? label.text : ""
217
+ }, label.id))
218
+ }),
219
+ /* @__PURE__ */ jsx("div", {
220
+ className: "eui-kanban-card-title",
221
+ children: card.title
222
+ }),
223
+ card.description && cardSize === "detailed" && /* @__PURE__ */ jsx("div", {
224
+ className: "eui-kanban-card-description",
225
+ children: card.description
226
+ }),
227
+ card.progress !== void 0 && cardSize !== "compact" && /* @__PURE__ */ jsxs("div", {
228
+ className: "eui-kanban-card-progress",
229
+ role: "progressbar",
230
+ "aria-valuenow": card.progress,
231
+ "aria-valuemin": 0,
232
+ "aria-valuemax": 100,
233
+ children: [/* @__PURE__ */ jsx("div", {
234
+ className: "eui-kanban-card-progress-track",
235
+ children: /* @__PURE__ */ jsx("div", {
236
+ className: "eui-kanban-card-progress-fill",
237
+ style: { width: `${card.progress}%` }
238
+ })
239
+ }), /* @__PURE__ */ jsxs("span", {
240
+ className: "eui-kanban-card-progress-text",
241
+ children: [card.progress, "%"]
242
+ })]
243
+ }),
244
+ /* @__PURE__ */ jsxs("div", {
245
+ className: "eui-kanban-card-footer",
246
+ children: [/* @__PURE__ */ jsxs("div", {
247
+ className: "eui-kanban-card-meta",
248
+ children: [
249
+ card.priority && card.priority !== "none" && /* @__PURE__ */ jsx("span", {
250
+ className: (0, import_classnames.default)("eui-kanban-card-priority", priorityConfig[card.priority].className),
251
+ title: `Priority: ${priorityConfig[card.priority].label}`,
252
+ "aria-label": `Priority: ${priorityConfig[card.priority].label}`,
253
+ children: /* @__PURE__ */ jsxs("svg", {
254
+ viewBox: "0 0 16 16",
255
+ fill: "currentColor",
256
+ width: "12",
257
+ height: "12",
258
+ "aria-hidden": "true",
259
+ children: [
260
+ card.priority === "critical" && /* @__PURE__ */ jsx("path", { d: "M8 1l2 5h5l-4 3.5 1.5 5L8 11.5 3.5 14.5 5 9.5 1 6h5z" }),
261
+ card.priority === "high" && /* @__PURE__ */ jsx("path", { d: "M3 13V5l5-3 5 3v8l-5 2z" }),
262
+ card.priority === "medium" && /* @__PURE__ */ jsx("path", { d: "M4 12V6l4-2 4 2v6l-4 2z" }),
263
+ card.priority === "low" && /* @__PURE__ */ jsx("path", { d: "M5 11V7l3-1.5L11 7v4l-3 1.5z" })
264
+ ]
265
+ })
266
+ }),
267
+ dueInfo && /* @__PURE__ */ jsxs("span", {
268
+ className: (0, import_classnames.default)("eui-kanban-card-due", {
269
+ "eui-kanban-due-overdue": dueInfo.isOverdue,
270
+ "eui-kanban-due-soon": dueInfo.isDueSoon
271
+ }),
272
+ title: dueInfo.text,
273
+ children: [/* @__PURE__ */ jsxs("svg", {
274
+ viewBox: "0 0 16 16",
275
+ fill: "none",
276
+ stroke: "currentColor",
277
+ strokeWidth: "1.5",
278
+ width: "12",
279
+ height: "12",
280
+ "aria-hidden": "true",
281
+ children: [/* @__PURE__ */ jsx("circle", {
282
+ cx: "8",
283
+ cy: "8",
284
+ r: "6.5"
285
+ }), /* @__PURE__ */ jsx("path", { d: "M8 4.5V8l2.5 1.5" })]
286
+ }), dueInfo.text]
287
+ }),
288
+ hasSubtasks && /* @__PURE__ */ jsxs("span", {
289
+ className: "eui-kanban-card-subtasks",
290
+ title: `${card.subtaskCompleted ?? 0}/${card.subtaskCount} subtasks`,
291
+ children: [
292
+ /* @__PURE__ */ jsx("svg", {
293
+ viewBox: "0 0 16 16",
294
+ fill: "none",
295
+ stroke: "currentColor",
296
+ strokeWidth: "1.5",
297
+ width: "12",
298
+ height: "12",
299
+ "aria-hidden": "true",
300
+ children: /* @__PURE__ */ jsx("path", { d: "M2 4h12M2 8h12M2 12h8" })
301
+ }),
302
+ card.subtaskCompleted ?? 0,
303
+ "/",
304
+ card.subtaskCount
305
+ ]
306
+ }),
307
+ (card.commentCount ?? 0) > 0 && /* @__PURE__ */ jsxs("span", {
308
+ className: "eui-kanban-card-comments",
309
+ title: `${card.commentCount} comments`,
310
+ children: [/* @__PURE__ */ jsx("svg", {
311
+ viewBox: "0 0 16 16",
312
+ fill: "none",
313
+ stroke: "currentColor",
314
+ strokeWidth: "1.5",
315
+ width: "12",
316
+ height: "12",
317
+ "aria-hidden": "true",
318
+ children: /* @__PURE__ */ jsx("path", { d: "M2 3h12v8H5l-3 3V3z" })
319
+ }), card.commentCount]
320
+ }),
321
+ (card.attachmentCount ?? 0) > 0 && /* @__PURE__ */ jsxs("span", {
322
+ className: "eui-kanban-card-attachments",
323
+ title: `${card.attachmentCount} attachments`,
324
+ children: [/* @__PURE__ */ jsx("svg", {
325
+ viewBox: "0 0 16 16",
326
+ fill: "none",
327
+ stroke: "currentColor",
328
+ strokeWidth: "1.5",
329
+ width: "12",
330
+ height: "12",
331
+ "aria-hidden": "true",
332
+ children: /* @__PURE__ */ jsx("path", { d: "M10.5 5L6 9.5a2 2 0 102.8 2.8L13.5 7.5a3.5 3.5 0 00-5-5L4 7a2 2 0 002.8 2.8" })
333
+ }), card.attachmentCount]
334
+ })
335
+ ]
336
+ }), /* @__PURE__ */ jsxs("div", {
337
+ className: "eui-kanban-card-actions-row",
338
+ children: [
339
+ cardActionsTemplate && cardActionsTemplate(card, column),
340
+ allAssignees.length > 0 && /* @__PURE__ */ jsxs("div", {
341
+ className: "eui-kanban-card-assignees",
342
+ "aria-label": "Assignees",
343
+ children: [allAssignees.slice(0, 3).map((assignee) => /* @__PURE__ */ jsx("span", {
344
+ className: "eui-kanban-avatar",
345
+ title: assignee.name,
346
+ children: assignee.avatar ? /* @__PURE__ */ jsx("img", {
347
+ src: assignee.avatar,
348
+ alt: assignee.name,
349
+ loading: "lazy"
350
+ }) : getInitials(assignee.name)
351
+ }, assignee.id)), allAssignees.length > 3 && /* @__PURE__ */ jsxs("span", {
352
+ className: "eui-kanban-avatar eui-kanban-avatar-overflow",
353
+ children: ["+", allAssignees.length - 3]
354
+ })]
355
+ }),
356
+ allowDeleteCard && /* @__PURE__ */ jsx("button", {
357
+ className: "eui-kanban-card-delete",
358
+ onClick: handleDelete,
359
+ "aria-label": `Delete card: ${card.title}`,
360
+ title: "Delete card",
361
+ type: "button",
362
+ children: /* @__PURE__ */ jsx("svg", {
363
+ viewBox: "0 0 16 16",
364
+ fill: "none",
365
+ stroke: "currentColor",
366
+ strokeWidth: "1.5",
367
+ width: "14",
368
+ height: "14",
369
+ "aria-hidden": "true",
370
+ children: /* @__PURE__ */ jsx("path", { d: "M4 4l8 8M12 4l-8 8" })
371
+ })
372
+ })
373
+ ]
374
+ })]
375
+ }),
376
+ hasSubtasks && cardSize !== "compact" && /* @__PURE__ */ jsx("div", {
377
+ className: "eui-kanban-card-subtask-bar",
378
+ role: "progressbar",
379
+ "aria-valuenow": subtaskPercent,
380
+ "aria-valuemin": 0,
381
+ "aria-valuemax": 100,
382
+ children: /* @__PURE__ */ jsx("div", {
383
+ className: "eui-kanban-card-subtask-fill",
384
+ style: { width: `${subtaskPercent}%` }
385
+ })
386
+ })
387
+ ]
388
+ })]
389
+ });
390
+ }
391
+ //#endregion
392
+ //#region src/components/kanban-board/KanbanColumnHeader.tsx
393
+ function KanbanColumnHeader({ column, cardCount, isCollapsed }) {
394
+ const { props, toggleCollapse, editingColumnId, setEditingColumnId } = useKanban();
395
+ const { columnHeaderTemplate, allowCollapse, allowEditColumn, allowDeleteColumn, showCardCount, showColumnLimit, onColumnDelete, onColumnUpdate } = props;
396
+ const [editTitle, setEditTitle] = useState(column.title);
397
+ const inputRef = useRef(null);
398
+ const isEditing = editingColumnId === column.id;
399
+ const overLimit = isColumnOverLimit(column, cardCount);
400
+ useEffect(() => {
401
+ if (isEditing && inputRef.current) {
402
+ inputRef.current.focus();
403
+ inputRef.current.select();
404
+ }
405
+ }, [isEditing]);
406
+ const handleStartEdit = useCallback(() => {
407
+ if (!allowEditColumn || column.locked) return;
408
+ setEditTitle(column.title);
409
+ setEditingColumnId(column.id);
410
+ }, [
411
+ allowEditColumn,
412
+ column.locked,
413
+ column.title,
414
+ column.id,
415
+ setEditingColumnId
416
+ ]);
417
+ const handleSaveEdit = useCallback(() => {
418
+ const trimmed = editTitle.trim();
419
+ if (trimmed && trimmed !== column.title) onColumnUpdate?.({
420
+ column,
421
+ field: "title",
422
+ value: trimmed
423
+ });
424
+ setEditingColumnId(null);
425
+ }, [
426
+ editTitle,
427
+ column,
428
+ onColumnUpdate,
429
+ setEditingColumnId
430
+ ]);
431
+ const handleEditKeyDown = useCallback((e) => {
432
+ if (e.key === "Enter") handleSaveEdit();
433
+ else if (e.key === "Escape") setEditingColumnId(null);
434
+ }, [handleSaveEdit, setEditingColumnId]);
435
+ const handleDelete = useCallback((e) => {
436
+ e.stopPropagation();
437
+ onColumnDelete?.({ column });
438
+ }, [column, onColumnDelete]);
439
+ const handleCollapse = useCallback(() => {
440
+ toggleCollapse(column.id);
441
+ }, [column.id, toggleCollapse]);
442
+ if (isCollapsed) return /* @__PURE__ */ jsx("div", {
443
+ className: "eui-kanban-column-header eui-kanban-column-header-collapsed",
444
+ onClick: handleCollapse,
445
+ onKeyDown: (e) => {
446
+ if (e.key === "Enter") handleCollapse();
447
+ },
448
+ role: "button",
449
+ tabIndex: 0,
450
+ "aria-label": `Expand ${column.title} column`,
451
+ title: `Expand ${column.title}`,
452
+ children: /* @__PURE__ */ jsxs("div", {
453
+ className: "eui-kanban-column-header-collapsed-content",
454
+ children: [
455
+ column.color && /* @__PURE__ */ jsx("span", {
456
+ className: "eui-kanban-column-color",
457
+ style: { backgroundColor: column.color },
458
+ "aria-hidden": "true"
459
+ }),
460
+ /* @__PURE__ */ jsx("span", {
461
+ className: "eui-kanban-column-title-collapsed",
462
+ children: column.title
463
+ }),
464
+ showCardCount && /* @__PURE__ */ jsx("span", {
465
+ className: "eui-kanban-column-count",
466
+ children: cardCount
467
+ })
468
+ ]
469
+ })
470
+ });
471
+ if (columnHeaderTemplate) return /* @__PURE__ */ jsx("div", {
472
+ className: "eui-kanban-column-header",
473
+ role: "heading",
474
+ "aria-level": 3,
475
+ children: columnHeaderTemplate(column, cardCount)
476
+ });
477
+ return /* @__PURE__ */ jsxs("div", {
478
+ className: (0, import_classnames.default)("eui-kanban-column-header", { "eui-kanban-column-over-limit": overLimit }),
479
+ role: "heading",
480
+ "aria-level": 3,
481
+ children: [/* @__PURE__ */ jsxs("div", {
482
+ className: "eui-kanban-column-header-left",
483
+ children: [
484
+ column.color && /* @__PURE__ */ jsx("span", {
485
+ className: "eui-kanban-column-color",
486
+ style: { backgroundColor: column.color },
487
+ "aria-hidden": "true"
488
+ }),
489
+ column.icon && /* @__PURE__ */ jsx("span", {
490
+ className: "eui-kanban-column-icon",
491
+ "aria-hidden": "true",
492
+ children: column.icon
493
+ }),
494
+ isEditing ? /* @__PURE__ */ jsx("input", {
495
+ ref: inputRef,
496
+ className: "eui-kanban-column-title-input",
497
+ value: editTitle,
498
+ onChange: (e) => setEditTitle(e.target.value),
499
+ onBlur: handleSaveEdit,
500
+ onKeyDown: handleEditKeyDown,
501
+ "aria-label": "Edit column title"
502
+ }) : /* @__PURE__ */ jsx("span", {
503
+ className: "eui-kanban-column-title",
504
+ onDoubleClick: handleStartEdit,
505
+ title: allowEditColumn && !column.locked ? "Double-click to edit" : column.title,
506
+ children: column.title
507
+ }),
508
+ showCardCount && /* @__PURE__ */ jsxs("span", {
509
+ className: (0, import_classnames.default)("eui-kanban-column-count", { "eui-kanban-column-count-over": overLimit }),
510
+ "aria-label": `${cardCount} cards${column.limit ? ` of ${column.limit} limit` : ""}`,
511
+ children: [cardCount, showColumnLimit && column.limit ? `/${column.limit}` : ""]
512
+ })
513
+ ]
514
+ }), /* @__PURE__ */ jsxs("div", {
515
+ className: "eui-kanban-column-header-right",
516
+ children: [allowDeleteColumn && !column.locked && /* @__PURE__ */ jsx("button", {
517
+ className: "eui-kanban-column-action",
518
+ onClick: handleDelete,
519
+ "aria-label": `Delete ${column.title} column`,
520
+ title: "Delete column",
521
+ type: "button",
522
+ children: /* @__PURE__ */ jsx("svg", {
523
+ viewBox: "0 0 16 16",
524
+ fill: "none",
525
+ stroke: "currentColor",
526
+ strokeWidth: "1.5",
527
+ width: "14",
528
+ height: "14",
529
+ "aria-hidden": "true",
530
+ children: /* @__PURE__ */ jsx("path", { d: "M3 5h10M5.5 5V3.5a1 1 0 011-1h3a1 1 0 011 1V5M6.5 7.5v4M9.5 7.5v4M4.5 5l.5 8.5a1 1 0 001 1h4a1 1 0 001-1L11.5 5" })
531
+ })
532
+ }), allowCollapse && /* @__PURE__ */ jsx("button", {
533
+ className: "eui-kanban-column-action",
534
+ onClick: handleCollapse,
535
+ "aria-label": `Collapse ${column.title} column`,
536
+ title: "Collapse column",
537
+ type: "button",
538
+ children: /* @__PURE__ */ jsx("svg", {
539
+ viewBox: "0 0 16 16",
540
+ fill: "none",
541
+ stroke: "currentColor",
542
+ strokeWidth: "1.5",
543
+ width: "14",
544
+ height: "14",
545
+ "aria-hidden": "true",
546
+ children: /* @__PURE__ */ jsx("path", { d: "M4 6l4 4 4-4" })
547
+ })
548
+ })]
549
+ })]
550
+ });
551
+ }
552
+ //#endregion
553
+ //#region src/components/kanban-board/KanbanColumn.tsx
554
+ var kanbanItemType = "kanban-card";
555
+ function KanbanColumn({ column, cards, index, isCollapsed }) {
556
+ const { props } = useKanban();
557
+ const { draggable = true, allowAddCard, columnFooterTemplate, emptyColumnTemplate, maxColumnHeight, onCardMove, onCardReorder, onCardCreate } = props;
558
+ const [isAddingCard, setIsAddingCard] = useState(false);
559
+ const [newCardTitle, setNewCardTitle] = useState("");
560
+ const addInputRef = useRef(null);
561
+ const columnCards = useMemo(() => getCardsForColumn(cards, column.id), [cards, column.id]);
562
+ const overLimit = isColumnOverLimit(column, columnCards.length);
563
+ const handleSortChange = useCallback((newItems, _args, event) => {
564
+ if (!event) return;
565
+ const { source, target } = event;
566
+ if (source && target) if (source.containerId !== target.containerId) {
567
+ const fromColumnId = source.args?.columnId ?? source.item?.columnId;
568
+ onCardMove?.({
569
+ cardId: source.item.id,
570
+ card: source.item,
571
+ fromColumnId,
572
+ toColumnId: column.id,
573
+ fromIndex: source.index,
574
+ toIndex: target.index
575
+ });
576
+ } else onCardReorder?.({
577
+ columnId: column.id,
578
+ cards: newItems
579
+ });
580
+ else if (event.removed) onCardReorder?.({
581
+ columnId: column.id,
582
+ cards: newItems
583
+ });
584
+ }, [
585
+ column.id,
586
+ onCardMove,
587
+ onCardReorder
588
+ ]);
589
+ const handleStartAddCard = useCallback(() => {
590
+ setIsAddingCard(true);
591
+ setNewCardTitle("");
592
+ setTimeout(() => addInputRef.current?.focus(), 0);
593
+ }, []);
594
+ const handleAddCard = useCallback(() => {
595
+ const title = newCardTitle.trim();
596
+ if (title) onCardCreate?.({
597
+ columnId: column.id,
598
+ title
599
+ });
600
+ setNewCardTitle("");
601
+ setIsAddingCard(false);
602
+ }, [
603
+ newCardTitle,
604
+ column.id,
605
+ onCardCreate
606
+ ]);
607
+ const handleAddCardKeyDown = useCallback((e) => {
608
+ if (e.key === "Enter") handleAddCard();
609
+ else if (e.key === "Escape") {
610
+ setIsAddingCard(false);
611
+ setNewCardTitle("");
612
+ }
613
+ }, [handleAddCard]);
614
+ if (isCollapsed) return /* @__PURE__ */ jsx("div", {
615
+ className: "eui-kanban-column eui-kanban-column-collapsed",
616
+ role: "region",
617
+ "aria-label": `${column.title} column (collapsed)`,
618
+ "data-column-id": column.id,
619
+ children: /* @__PURE__ */ jsx(KanbanColumnHeader, {
620
+ column,
621
+ cardCount: columnCards.length,
622
+ isCollapsed: true
623
+ })
624
+ });
625
+ return /* @__PURE__ */ jsxs("div", {
626
+ className: (0, import_classnames.default)("eui-kanban-column", {
627
+ "eui-kanban-column-over-limit": overLimit,
628
+ "eui-kanban-column-locked": column.locked
629
+ }),
630
+ role: "region",
631
+ "aria-label": `${column.title} column, ${columnCards.length} cards`,
632
+ "data-column-id": column.id,
633
+ "data-column-index": index,
634
+ children: [
635
+ /* @__PURE__ */ jsx(KanbanColumnHeader, {
636
+ column,
637
+ cardCount: columnCards.length,
638
+ isCollapsed: false
639
+ }),
640
+ /* @__PURE__ */ jsx("div", {
641
+ className: "eui-kanban-column-body",
642
+ style: maxColumnHeight ? { maxHeight: maxColumnHeight } : void 0,
643
+ children: draggable && !column.locked ? /* @__PURE__ */ jsx(Sortable, {
644
+ items: columnCards,
645
+ itemType: kanbanItemType,
646
+ accept: kanbanItemType,
647
+ args: { columnId: column.id },
648
+ className: "eui-kanban-sortable",
649
+ onChange: handleSortChange,
650
+ showPlaceholder: true,
651
+ placeholder: columnCards.length === 0 && emptyColumnTemplate ? emptyColumnTemplate(column) : /* @__PURE__ */ jsx("div", {
652
+ className: "eui-kanban-drop-placeholder",
653
+ role: "presentation",
654
+ children: "Drop here"
655
+ }),
656
+ children: (card, idx) => /* @__PURE__ */ jsx(KanbanCard, {
657
+ card,
658
+ column,
659
+ index: idx
660
+ }, card.id)
661
+ }) : /* @__PURE__ */ jsx("div", {
662
+ className: "eui-kanban-card-list",
663
+ children: columnCards.length === 0 && emptyColumnTemplate ? emptyColumnTemplate(column) : columnCards.length === 0 ? /* @__PURE__ */ jsx("div", {
664
+ className: "eui-kanban-empty",
665
+ children: "No cards"
666
+ }) : columnCards.map((card, idx) => /* @__PURE__ */ jsx(KanbanCard, {
667
+ card,
668
+ column,
669
+ index: idx
670
+ }, card.id))
671
+ })
672
+ }),
673
+ allowAddCard && !column.locked && /* @__PURE__ */ jsx("div", {
674
+ className: "eui-kanban-column-footer",
675
+ children: isAddingCard ? /* @__PURE__ */ jsx("div", {
676
+ className: "eui-kanban-add-card-form",
677
+ children: /* @__PURE__ */ jsx("input", {
678
+ ref: addInputRef,
679
+ className: "eui-kanban-add-card-input",
680
+ value: newCardTitle,
681
+ onChange: (e) => setNewCardTitle(e.target.value),
682
+ onKeyDown: handleAddCardKeyDown,
683
+ onBlur: handleAddCard,
684
+ placeholder: "Enter card title...",
685
+ "aria-label": "New card title"
686
+ })
687
+ }) : /* @__PURE__ */ jsxs("button", {
688
+ className: "eui-kanban-add-card-btn",
689
+ onClick: handleStartAddCard,
690
+ type: "button",
691
+ "aria-label": `Add card to ${column.title}`,
692
+ children: [/* @__PURE__ */ jsx("svg", {
693
+ viewBox: "0 0 16 16",
694
+ fill: "none",
695
+ stroke: "currentColor",
696
+ strokeWidth: "1.5",
697
+ width: "14",
698
+ height: "14",
699
+ "aria-hidden": "true",
700
+ children: /* @__PURE__ */ jsx("path", { d: "M8 3v10M3 8h10" })
701
+ }), "Add card"]
702
+ })
703
+ }),
704
+ columnFooterTemplate && /* @__PURE__ */ jsx("div", {
705
+ className: "eui-kanban-column-custom-footer",
706
+ children: columnFooterTemplate(column, columnCards)
707
+ })
708
+ ]
709
+ });
710
+ }
711
+ //#endregion
712
+ //#region src/components/kanban-board/KanbanBoard.tsx
713
+ var columnItemType = "kanban-column";
714
+ function KanbanBoard(props) {
715
+ const { columns, cards, layout = "horizontal", className, columnWidth, columnMinHeight, columnDraggable = false, allowAddColumn, showSearch, stickyColumnHeaders, onCardMove, onCardReorder, onColumnReorder, onColumnCreate, onSearchChange } = props;
716
+ const isControlled = !!(onCardMove || onCardReorder);
717
+ const [internalCards, setInternalCards] = useState(cards);
718
+ useEffect(() => {
719
+ setInternalCards(cards);
720
+ }, [cards]);
721
+ const activeCards = isControlled ? cards : internalCards;
722
+ const handleInternalCardMove = useCallback((event) => {
723
+ if (onCardMove) {
724
+ onCardMove(event);
725
+ return;
726
+ }
727
+ setInternalCards((prev) => {
728
+ const withoutCard = prev.filter((c) => c.id !== event.cardId);
729
+ const targetCards = withoutCard.filter((c) => c.columnId === event.toColumnId).sort((a, b) => a.order - b.order);
730
+ const otherCards = withoutCard.filter((c) => c.columnId !== event.toColumnId);
731
+ const movedCard = {
732
+ ...event.card,
733
+ columnId: event.toColumnId,
734
+ order: event.toIndex
735
+ };
736
+ targetCards.splice(event.toIndex, 0, movedCard);
737
+ const reordered = targetCards.map((c, i) => ({
738
+ ...c,
739
+ order: i
740
+ }));
741
+ return [...otherCards, ...reordered];
742
+ });
743
+ }, [onCardMove]);
744
+ const handleInternalCardReorder = useCallback((event) => {
745
+ if (onCardReorder) {
746
+ onCardReorder(event);
747
+ return;
748
+ }
749
+ setInternalCards((prev) => {
750
+ const other = prev.filter((c) => c.columnId !== event.columnId);
751
+ const reordered = event.cards.map((c, i) => ({
752
+ ...c,
753
+ order: i
754
+ }));
755
+ return [...other, ...reordered];
756
+ });
757
+ }, [onCardReorder]);
758
+ const [collapsedColumns, setCollapsedColumns] = useState(() => {
759
+ const initial = /* @__PURE__ */ new Set();
760
+ columns.forEach((col) => {
761
+ if (col.collapsed) initial.add(col.id);
762
+ });
763
+ return initial;
764
+ });
765
+ const [searchFilter, setSearchFilterState] = useState({});
766
+ const [editingColumnId, setEditingColumnId] = useState(null);
767
+ const [isAddingColumn, setIsAddingColumn] = useState(false);
768
+ const [newColumnTitle, setNewColumnTitle] = useState("");
769
+ const addColumnInputRef = useRef(null);
770
+ const toggleCollapse = useCallback((columnId) => {
771
+ setCollapsedColumns((prev) => {
772
+ const next = new Set(prev);
773
+ const newState = !next.has(columnId);
774
+ if (newState) next.add(columnId);
775
+ else next.delete(columnId);
776
+ props.onColumnCollapse?.(columnId, newState);
777
+ return next;
778
+ });
779
+ }, [props.onColumnCollapse]);
780
+ const setSearchFilter = useCallback((filter) => {
781
+ setSearchFilterState(filter);
782
+ onSearchChange?.(filter);
783
+ }, [onSearchChange]);
784
+ const filteredCards = useMemo(() => filterCards(activeCards, searchFilter), [activeCards, searchFilter]);
785
+ const internalProps = useMemo(() => ({
786
+ ...props,
787
+ onCardMove: handleInternalCardMove,
788
+ onCardReorder: handleInternalCardReorder
789
+ }), [
790
+ props,
791
+ handleInternalCardMove,
792
+ handleInternalCardReorder
793
+ ]);
794
+ const contextValue = useMemo(() => ({
795
+ props: internalProps,
796
+ collapsedColumns,
797
+ toggleCollapse,
798
+ searchFilter,
799
+ setSearchFilter,
800
+ editingColumnId,
801
+ setEditingColumnId
802
+ }), [
803
+ internalProps,
804
+ collapsedColumns,
805
+ toggleCollapse,
806
+ searchFilter,
807
+ setSearchFilter,
808
+ editingColumnId
809
+ ]);
810
+ const handleColumnReorder = useCallback((newColumns, _args, _event) => {
811
+ onColumnReorder?.({ columns: newColumns });
812
+ }, [onColumnReorder]);
813
+ const handleStartAddColumn = useCallback(() => {
814
+ setIsAddingColumn(true);
815
+ setNewColumnTitle("");
816
+ setTimeout(() => addColumnInputRef.current?.focus(), 0);
817
+ }, []);
818
+ const handleAddColumn = useCallback(() => {
819
+ const title = newColumnTitle.trim();
820
+ if (title) onColumnCreate?.({ title });
821
+ setNewColumnTitle("");
822
+ setIsAddingColumn(false);
823
+ }, [newColumnTitle, onColumnCreate]);
824
+ const handleAddColumnKeyDown = useCallback((e) => {
825
+ if (e.key === "Enter") handleAddColumn();
826
+ else if (e.key === "Escape") {
827
+ setIsAddingColumn(false);
828
+ setNewColumnTitle("");
829
+ }
830
+ }, [handleAddColumn]);
831
+ const handleSearchInput = useCallback((e) => {
832
+ setSearchFilter({
833
+ ...searchFilter,
834
+ query: e.target.value || void 0
835
+ });
836
+ }, [searchFilter, setSearchFilter]);
837
+ const columnStyle = useMemo(() => {
838
+ const style = {};
839
+ if (columnWidth) {
840
+ style.width = typeof columnWidth === "number" ? `${columnWidth}px` : columnWidth;
841
+ style.minWidth = style.width;
842
+ style.maxWidth = style.width;
843
+ }
844
+ if (columnMinHeight) style.minHeight = typeof columnMinHeight === "number" ? `${columnMinHeight}px` : columnMinHeight;
845
+ return style;
846
+ }, [columnWidth, columnMinHeight]);
847
+ const collapsedStyle = useMemo(() => ({
848
+ width: "40px",
849
+ minWidth: "40px",
850
+ maxWidth: "40px",
851
+ flexShrink: 0
852
+ }), []);
853
+ const renderColumn = (col, idx) => {
854
+ const isCollapsed = collapsedColumns.has(col.id);
855
+ return /* @__PURE__ */ jsx("div", {
856
+ className: (0, import_classnames.default)("eui-kanban-column-wrapper", { "eui-kanban-column-wrapper-collapsed": isCollapsed }),
857
+ style: isCollapsed ? collapsedStyle : columnStyle,
858
+ children: /* @__PURE__ */ jsx(KanbanColumn, {
859
+ column: col,
860
+ cards: filteredCards,
861
+ index: idx,
862
+ isCollapsed
863
+ })
864
+ }, col.id);
865
+ };
866
+ return /* @__PURE__ */ jsx(KanbanContext.Provider, {
867
+ value: contextValue,
868
+ children: /* @__PURE__ */ jsxs("div", {
869
+ className: (0, import_classnames.default)("eui-kanban-board", `eui-kanban-layout-${layout}`, { "eui-kanban-sticky-headers": stickyColumnHeaders }, className),
870
+ role: "region",
871
+ "aria-label": "Kanban board",
872
+ children: [showSearch && /* @__PURE__ */ jsx("div", {
873
+ className: "eui-kanban-search",
874
+ role: "search",
875
+ children: /* @__PURE__ */ jsxs("div", {
876
+ className: "eui-kanban-search-wrapper",
877
+ children: [
878
+ /* @__PURE__ */ jsxs("svg", {
879
+ className: "eui-kanban-search-icon",
880
+ viewBox: "0 0 16 16",
881
+ fill: "none",
882
+ stroke: "currentColor",
883
+ strokeWidth: "1.5",
884
+ width: "14",
885
+ height: "14",
886
+ "aria-hidden": "true",
887
+ children: [/* @__PURE__ */ jsx("circle", {
888
+ cx: "6.5",
889
+ cy: "6.5",
890
+ r: "4.5"
891
+ }), /* @__PURE__ */ jsx("path", { d: "M10 10l4 4" })]
892
+ }),
893
+ /* @__PURE__ */ jsx("input", {
894
+ className: "eui-kanban-search-input",
895
+ type: "text",
896
+ placeholder: "Search cards...",
897
+ value: searchFilter.query ?? "",
898
+ onChange: handleSearchInput,
899
+ "aria-label": "Search kanban cards"
900
+ }),
901
+ searchFilter.query && /* @__PURE__ */ jsx("button", {
902
+ className: "eui-kanban-search-clear",
903
+ onClick: () => setSearchFilter({
904
+ ...searchFilter,
905
+ query: void 0
906
+ }),
907
+ "aria-label": "Clear search",
908
+ type: "button",
909
+ children: /* @__PURE__ */ jsx("svg", {
910
+ viewBox: "0 0 16 16",
911
+ fill: "none",
912
+ stroke: "currentColor",
913
+ strokeWidth: "1.5",
914
+ width: "12",
915
+ height: "12",
916
+ "aria-hidden": "true",
917
+ children: /* @__PURE__ */ jsx("path", { d: "M4 4l8 8M12 4l-8 8" })
918
+ })
919
+ })
920
+ ]
921
+ })
922
+ }), /* @__PURE__ */ jsxs("div", {
923
+ className: "eui-kanban-columns",
924
+ children: [columnDraggable ? /* @__PURE__ */ jsx(Sortable, {
925
+ items: columns,
926
+ itemType: columnItemType,
927
+ accept: columnItemType,
928
+ className: "eui-kanban-columns-sortable",
929
+ onChange: handleColumnReorder,
930
+ children: (col, idx) => renderColumn(col, idx)
931
+ }) : columns.map((col, idx) => renderColumn(col, idx)), allowAddColumn && /* @__PURE__ */ jsx("div", {
932
+ className: "eui-kanban-column-wrapper eui-kanban-add-column-wrapper",
933
+ children: isAddingColumn ? /* @__PURE__ */ jsx("div", {
934
+ className: "eui-kanban-add-column-form",
935
+ children: /* @__PURE__ */ jsx("input", {
936
+ ref: addColumnInputRef,
937
+ className: "eui-kanban-add-column-input",
938
+ value: newColumnTitle,
939
+ onChange: (e) => setNewColumnTitle(e.target.value),
940
+ onKeyDown: handleAddColumnKeyDown,
941
+ onBlur: handleAddColumn,
942
+ placeholder: "Column title...",
943
+ "aria-label": "New column title"
944
+ })
945
+ }) : /* @__PURE__ */ jsxs("button", {
946
+ className: "eui-kanban-add-column-btn",
947
+ onClick: handleStartAddColumn,
948
+ type: "button",
949
+ "aria-label": "Add new column",
950
+ children: [/* @__PURE__ */ jsx("svg", {
951
+ viewBox: "0 0 16 16",
952
+ fill: "none",
953
+ stroke: "currentColor",
954
+ strokeWidth: "1.5",
955
+ width: "16",
956
+ height: "16",
957
+ "aria-hidden": "true",
958
+ children: /* @__PURE__ */ jsx("path", { d: "M8 3v10M3 8h10" })
959
+ }), "Add Column"]
960
+ })
961
+ })]
962
+ })]
963
+ })
964
+ });
965
+ }
966
+ //#endregion
967
+ export { KanbanBoard };