@simplysm/solid 13.0.76 → 13.0.77

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 (291) hide show
  1. package/README.md +9 -10
  2. package/dist/components/data/kanban/Kanban.d.ts +31 -38
  3. package/dist/components/data/kanban/Kanban.d.ts.map +1 -1
  4. package/dist/components/data/kanban/Kanban.js.map +1 -1
  5. package/dist/components/data/list/List.d.ts +7 -28
  6. package/dist/components/data/list/List.d.ts.map +1 -1
  7. package/dist/components/data/list/List.js +3 -2
  8. package/dist/components/data/list/List.js.map +2 -2
  9. package/dist/components/data/sheet/DataSheet.d.ts +3 -8
  10. package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
  11. package/dist/components/data/sheet/DataSheet.js +305 -418
  12. package/dist/components/data/sheet/DataSheet.js.map +2 -2
  13. package/dist/components/data/sheet/{types.d.ts → DataSheet.types.d.ts} +9 -3
  14. package/dist/components/data/sheet/DataSheet.types.d.ts.map +1 -0
  15. package/dist/components/data/sheet/DataSheet.types.js +1 -0
  16. package/dist/components/data/sheet/{sheetUtils.d.ts → DataSheet.utils.d.ts} +2 -2
  17. package/dist/components/data/sheet/DataSheet.utils.d.ts.map +1 -0
  18. package/dist/components/data/sheet/{sheetUtils.js → DataSheet.utils.js} +3 -3
  19. package/dist/components/data/sheet/DataSheet.utils.js.map +6 -0
  20. package/dist/components/data/sheet/DataSheetColumn.d.ts +1 -1
  21. package/dist/components/data/sheet/DataSheetColumn.d.ts.map +1 -1
  22. package/dist/components/data/sheet/DataSheetConfigDialog.d.ts +1 -1
  23. package/dist/components/data/sheet/DataSheetConfigDialog.d.ts.map +1 -1
  24. package/dist/components/data/sheet/hooks/useDataSheetExpansion.d.ts +1 -1
  25. package/dist/components/data/sheet/hooks/useDataSheetExpansion.d.ts.map +1 -1
  26. package/dist/components/data/sheet/hooks/useDataSheetExpansion.js +1 -1
  27. package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.d.ts +2 -2
  28. package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.d.ts.map +1 -1
  29. package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.d.ts +27 -0
  30. package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.d.ts.map +1 -0
  31. package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.js +173 -0
  32. package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.js.map +6 -0
  33. package/dist/components/data/sheet/hooks/useDataSheetReorder.d.ts +1 -2
  34. package/dist/components/data/sheet/hooks/useDataSheetReorder.d.ts.map +1 -1
  35. package/dist/components/data/sheet/hooks/useDataSheetReorder.js.map +1 -1
  36. package/dist/components/data/sheet/hooks/useDataSheetSelection.d.ts +2 -2
  37. package/dist/components/data/sheet/hooks/useDataSheetSelection.d.ts.map +1 -1
  38. package/dist/components/data/sheet/hooks/useDataSheetSelection.js +2 -2
  39. package/dist/components/data/sheet/hooks/useDataSheetSelection.js.map +1 -1
  40. package/dist/components/data/sheet/hooks/useDataSheetSorting.d.ts +1 -1
  41. package/dist/components/data/sheet/hooks/useDataSheetSorting.d.ts.map +1 -1
  42. package/dist/components/data/sheet/hooks/useDataSheetSorting.js +1 -1
  43. package/dist/components/disclosure/Dialog.d.ts +6 -10
  44. package/dist/components/disclosure/Dialog.d.ts.map +1 -1
  45. package/dist/components/disclosure/Dialog.js +11 -14
  46. package/dist/components/disclosure/Dialog.js.map +2 -2
  47. package/dist/components/disclosure/Dropdown.d.ts +8 -12
  48. package/dist/components/disclosure/Dropdown.d.ts.map +1 -1
  49. package/dist/components/disclosure/Dropdown.js.map +1 -1
  50. package/dist/components/disclosure/Tabs.d.ts +3 -5
  51. package/dist/components/disclosure/Tabs.d.ts.map +1 -1
  52. package/dist/components/disclosure/Tabs.js.map +1 -1
  53. package/dist/components/display/Barcode.d.ts +1 -1
  54. package/dist/components/display/Barcode.d.ts.map +1 -1
  55. package/dist/components/display/Barcode.js +2 -1
  56. package/dist/components/display/Barcode.js.map +2 -2
  57. package/dist/components/display/Barcode.types.d.ts +2 -0
  58. package/dist/components/display/Barcode.types.d.ts.map +1 -0
  59. package/dist/components/display/Barcode.types.js +1 -0
  60. package/dist/components/display/Echarts.d.ts +2 -2
  61. package/dist/components/display/Echarts.d.ts.map +1 -1
  62. package/dist/components/display/Echarts.js +7 -8
  63. package/dist/components/display/Echarts.js.map +2 -2
  64. package/dist/components/features/address/AddressSearch.d.ts.map +1 -1
  65. package/dist/components/features/address/AddressSearch.js +4 -1
  66. package/dist/components/features/address/AddressSearch.js.map +2 -2
  67. package/dist/components/features/crud-detail/CrudDetail.d.ts +12 -13
  68. package/dist/components/features/crud-detail/CrudDetail.d.ts.map +1 -1
  69. package/dist/components/features/crud-detail/CrudDetail.js +18 -15
  70. package/dist/components/features/crud-detail/CrudDetail.js.map +2 -2
  71. package/dist/components/features/crud-detail/{types.d.ts → CrudDetail.types.d.ts} +1 -1
  72. package/dist/components/features/crud-detail/CrudDetail.types.d.ts.map +1 -0
  73. package/dist/components/features/crud-detail/CrudDetail.types.js +1 -0
  74. package/dist/components/features/crud-sheet/CrudSheet.d.ts +3 -13
  75. package/dist/components/features/crud-sheet/CrudSheet.d.ts.map +1 -1
  76. package/dist/components/features/crud-sheet/CrudSheet.js +62 -73
  77. package/dist/components/features/crud-sheet/CrudSheet.js.map +2 -2
  78. package/dist/components/features/crud-sheet/{types.d.ts → CrudSheet.types.d.ts} +10 -10
  79. package/dist/components/features/crud-sheet/CrudSheet.types.d.ts.map +1 -0
  80. package/dist/components/features/crud-sheet/CrudSheet.types.js +1 -0
  81. package/dist/components/features/crud-sheet/CrudSheet.types.js.map +6 -0
  82. package/dist/components/features/crud-sheet/CrudSheetColumn.d.ts +1 -1
  83. package/dist/components/features/crud-sheet/CrudSheetColumn.d.ts.map +1 -1
  84. package/dist/components/features/crud-sheet/CrudSheetTools.d.ts +1 -1
  85. package/dist/components/features/crud-sheet/CrudSheetTools.d.ts.map +1 -1
  86. package/dist/components/features/data-select-button/DataSelectButton.d.ts +2 -2
  87. package/dist/components/features/data-select-button/DataSelectButton.d.ts.map +1 -1
  88. package/dist/components/features/data-select-button/DataSelectButton.js +3 -3
  89. package/dist/components/features/data-select-button/DataSelectButton.js.map +2 -2
  90. package/dist/components/features/shared-data/SharedDataSelect.d.ts +7 -11
  91. package/dist/components/features/shared-data/SharedDataSelect.d.ts.map +1 -1
  92. package/dist/components/features/shared-data/SharedDataSelect.js +5 -4
  93. package/dist/components/features/shared-data/SharedDataSelect.js.map +2 -2
  94. package/dist/components/features/shared-data/SharedDataSelectButton.d.ts.map +1 -1
  95. package/dist/components/features/shared-data/SharedDataSelectButton.js.map +1 -1
  96. package/dist/components/features/shared-data/SharedDataSelectList.d.ts +8 -15
  97. package/dist/components/features/shared-data/SharedDataSelectList.d.ts.map +1 -1
  98. package/dist/components/features/shared-data/SharedDataSelectList.js +5 -3
  99. package/dist/components/features/shared-data/SharedDataSelectList.js.map +2 -2
  100. package/dist/components/feedback/notification/NotificationProvider.d.ts.map +1 -1
  101. package/dist/components/feedback/notification/NotificationProvider.js +9 -1
  102. package/dist/components/feedback/notification/NotificationProvider.js.map +2 -2
  103. package/dist/components/feedback/print/Print.d.ts +4 -6
  104. package/dist/components/feedback/print/Print.d.ts.map +1 -1
  105. package/dist/components/feedback/print/Print.js +3 -2
  106. package/dist/components/feedback/print/Print.js.map +2 -2
  107. package/dist/components/feedback/print/PrintProvider.d.ts.map +1 -1
  108. package/dist/components/feedback/print/PrintProvider.js +1 -0
  109. package/dist/components/feedback/print/PrintProvider.js.map +1 -1
  110. package/dist/components/form-control/Invalid.d.ts +1 -1
  111. package/dist/components/form-control/Invalid.d.ts.map +1 -1
  112. package/dist/components/form-control/Invalid.js +27 -26
  113. package/dist/components/form-control/Invalid.js.map +2 -2
  114. package/dist/components/form-control/checkbox/Checkbox.d.ts +1 -1
  115. package/dist/components/form-control/checkbox/Checkbox.d.ts.map +1 -1
  116. package/dist/components/form-control/checkbox/CheckboxGroup.d.ts +10 -10
  117. package/dist/components/form-control/checkbox/CheckboxGroup.d.ts.map +1 -1
  118. package/dist/components/form-control/checkbox/CheckboxGroup.js +2 -2
  119. package/dist/components/form-control/checkbox/CheckboxGroup.js.map +2 -2
  120. package/dist/components/form-control/checkbox/Radio.d.ts +1 -1
  121. package/dist/components/form-control/checkbox/Radio.d.ts.map +1 -1
  122. package/dist/components/form-control/checkbox/RadioGroup.d.ts +10 -10
  123. package/dist/components/form-control/checkbox/RadioGroup.d.ts.map +1 -1
  124. package/dist/components/form-control/checkbox/RadioGroup.js +2 -2
  125. package/dist/components/form-control/checkbox/RadioGroup.js.map +2 -2
  126. package/dist/components/form-control/checkbox/SelectableBase.d.ts +1 -1
  127. package/dist/components/form-control/checkbox/SelectableBase.d.ts.map +1 -1
  128. package/dist/components/form-control/checkbox/SelectableBase.js +3 -3
  129. package/dist/components/form-control/checkbox/SelectableBase.js.map +2 -2
  130. package/dist/components/form-control/checkbox/SelectionGroupBase.d.ts +1 -1
  131. package/dist/components/form-control/checkbox/SelectionGroupBase.d.ts.map +1 -1
  132. package/dist/components/form-control/checkbox/SelectionGroupBase.js +3 -3
  133. package/dist/components/form-control/checkbox/SelectionGroupBase.js.map +2 -2
  134. package/dist/components/form-control/color-picker/ColorPicker.d.ts +2 -2
  135. package/dist/components/form-control/color-picker/ColorPicker.d.ts.map +1 -1
  136. package/dist/components/form-control/color-picker/ColorPicker.js +3 -3
  137. package/dist/components/form-control/color-picker/ColorPicker.js.map +2 -2
  138. package/dist/components/form-control/combobox/Combobox.d.ts +3 -3
  139. package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
  140. package/dist/components/form-control/combobox/Combobox.js +10 -5
  141. package/dist/components/form-control/combobox/Combobox.js.map +2 -2
  142. package/dist/components/form-control/date-range-picker/DateRangePicker.js +4 -4
  143. package/dist/components/form-control/date-range-picker/DateRangePicker.js.map +2 -2
  144. package/dist/components/form-control/editor/EditorToolbar.d.ts.map +1 -1
  145. package/dist/components/form-control/editor/EditorToolbar.js +176 -312
  146. package/dist/components/form-control/editor/EditorToolbar.js.map +2 -2
  147. package/dist/components/form-control/field/DatePicker.d.ts +2 -2
  148. package/dist/components/form-control/field/DatePicker.d.ts.map +1 -1
  149. package/dist/components/form-control/field/DatePicker.js +3 -3
  150. package/dist/components/form-control/field/DatePicker.js.map +2 -2
  151. package/dist/components/form-control/field/DateTimePicker.d.ts +2 -2
  152. package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -1
  153. package/dist/components/form-control/field/DateTimePicker.js +3 -3
  154. package/dist/components/form-control/field/DateTimePicker.js.map +2 -2
  155. package/dist/components/form-control/field/FieldShell.d.ts +1 -1
  156. package/dist/components/form-control/field/FieldShell.d.ts.map +1 -1
  157. package/dist/components/form-control/field/FieldShell.js +2 -2
  158. package/dist/components/form-control/field/FieldShell.js.map +2 -2
  159. package/dist/components/form-control/field/NumberInput.d.ts +7 -28
  160. package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
  161. package/dist/components/form-control/field/NumberInput.js +7 -5
  162. package/dist/components/form-control/field/NumberInput.js.map +2 -2
  163. package/dist/components/form-control/field/TextInput.d.ts +7 -23
  164. package/dist/components/form-control/field/TextInput.d.ts.map +1 -1
  165. package/dist/components/form-control/field/TextInput.js +6 -5
  166. package/dist/components/form-control/field/TextInput.js.map +2 -2
  167. package/dist/components/form-control/field/Textarea.d.ts +2 -2
  168. package/dist/components/form-control/field/Textarea.d.ts.map +1 -1
  169. package/dist/components/form-control/field/Textarea.js +3 -3
  170. package/dist/components/form-control/field/Textarea.js.map +2 -2
  171. package/dist/components/form-control/field/TimePicker.d.ts +2 -2
  172. package/dist/components/form-control/field/TimePicker.d.ts.map +1 -1
  173. package/dist/components/form-control/field/TimePicker.js +3 -3
  174. package/dist/components/form-control/field/TimePicker.js.map +2 -2
  175. package/dist/components/form-control/select/Select.d.ts +22 -44
  176. package/dist/components/form-control/select/Select.d.ts.map +1 -1
  177. package/dist/components/form-control/select/Select.js +8 -6
  178. package/dist/components/form-control/select/Select.js.map +2 -2
  179. package/dist/components/form-control/state-preset/StatePreset.js +5 -5
  180. package/dist/components/form-control/state-preset/StatePreset.js.map +2 -2
  181. package/dist/components/layout/sidebar/Sidebar.d.ts +5 -102
  182. package/dist/components/layout/sidebar/Sidebar.d.ts.map +1 -1
  183. package/dist/components/layout/sidebar/Sidebar.js.map +1 -1
  184. package/dist/components/layout/topbar/Topbar.d.ts +1 -1
  185. package/dist/components/layout/topbar/Topbar.d.ts.map +1 -1
  186. package/dist/components/layout/topbar/Topbar.js +3 -3
  187. package/dist/components/layout/topbar/Topbar.js.map +2 -2
  188. package/dist/helpers/createAppStructure.d.ts.map +1 -1
  189. package/dist/helpers/createAppStructure.js.map +1 -1
  190. package/dist/hooks/createControllableStore.js +5 -5
  191. package/dist/hooks/createControllableStore.js.map +1 -1
  192. package/dist/index.d.ts +4 -3
  193. package/dist/index.d.ts.map +1 -1
  194. package/dist/index.js +4 -3
  195. package/dist/index.js.map +1 -1
  196. package/dist/providers/ServiceClientProvider.d.ts +2 -2
  197. package/dist/providers/ServiceClientProvider.d.ts.map +1 -1
  198. package/dist/providers/ServiceClientProvider.js.map +1 -1
  199. package/dist/providers/shared-data/SharedDataProvider.d.ts +1 -1
  200. package/dist/providers/shared-data/SharedDataProvider.d.ts.map +1 -1
  201. package/dist/providers/shared-data/SharedDataProvider.js +98 -86
  202. package/dist/providers/shared-data/SharedDataProvider.js.map +2 -2
  203. package/package.json +5 -5
  204. package/src/components/data/kanban/Kanban.tsx +37 -32
  205. package/src/components/data/list/List.tsx +3 -6
  206. package/src/components/data/sheet/DataSheet.tsx +224 -334
  207. package/src/components/data/sheet/{types.ts → DataSheet.types.ts} +8 -2
  208. package/src/components/data/sheet/{sheetUtils.ts → DataSheet.utils.ts} +3 -3
  209. package/src/components/data/sheet/DataSheetColumn.tsx +1 -1
  210. package/src/components/data/sheet/DataSheetConfigDialog.tsx +1 -1
  211. package/src/components/data/sheet/hooks/useDataSheetExpansion.ts +2 -2
  212. package/src/components/data/sheet/hooks/useDataSheetFixedColumns.ts +2 -2
  213. package/src/components/data/sheet/hooks/useDataSheetHeaderCell.tsx +168 -0
  214. package/src/components/data/sheet/hooks/useDataSheetReorder.ts +1 -2
  215. package/src/components/data/sheet/hooks/useDataSheetSelection.ts +4 -4
  216. package/src/components/data/sheet/hooks/useDataSheetSorting.ts +2 -2
  217. package/src/components/disclosure/Dialog.tsx +21 -27
  218. package/src/components/disclosure/Dropdown.tsx +1 -6
  219. package/src/components/disclosure/Tabs.tsx +1 -6
  220. package/src/components/display/Barcode.tsx +4 -113
  221. package/src/components/display/Barcode.types.ts +111 -0
  222. package/src/components/display/Echarts.tsx +10 -11
  223. package/src/components/features/address/AddressSearch.tsx +21 -3
  224. package/src/components/features/crud-detail/CrudDetail.tsx +21 -38
  225. package/src/components/features/crud-sheet/CrudSheet.tsx +77 -93
  226. package/src/components/features/crud-sheet/{types.ts → CrudSheet.types.ts} +9 -9
  227. package/src/components/features/crud-sheet/CrudSheetColumn.tsx +1 -1
  228. package/src/components/features/crud-sheet/CrudSheetTools.tsx +1 -1
  229. package/src/components/features/data-select-button/DataSelectButton.tsx +8 -8
  230. package/src/components/features/shared-data/SharedDataSelect.tsx +23 -34
  231. package/src/components/features/shared-data/SharedDataSelectButton.tsx +1 -4
  232. package/src/components/features/shared-data/SharedDataSelectList.tsx +6 -10
  233. package/src/components/feedback/notification/NotificationProvider.tsx +9 -1
  234. package/src/components/feedback/print/Print.tsx +4 -8
  235. package/src/components/feedback/print/PrintProvider.tsx +2 -1
  236. package/src/components/form-control/Invalid.tsx +33 -29
  237. package/src/components/form-control/checkbox/Checkbox.tsx +1 -1
  238. package/src/components/form-control/checkbox/CheckboxGroup.tsx +3 -12
  239. package/src/components/form-control/checkbox/Radio.tsx +1 -1
  240. package/src/components/form-control/checkbox/RadioGroup.tsx +3 -12
  241. package/src/components/form-control/checkbox/SelectableBase.tsx +3 -3
  242. package/src/components/form-control/checkbox/SelectionGroupBase.tsx +3 -3
  243. package/src/components/form-control/color-picker/ColorPicker.tsx +4 -4
  244. package/src/components/form-control/combobox/Combobox.tsx +23 -18
  245. package/src/components/form-control/date-range-picker/DateRangePicker.tsx +5 -5
  246. package/src/components/form-control/editor/EditorToolbar.tsx +82 -202
  247. package/src/components/form-control/field/DatePicker.tsx +4 -4
  248. package/src/components/form-control/field/DateTimePicker.tsx +4 -4
  249. package/src/components/form-control/field/FieldShell.tsx +2 -2
  250. package/src/components/form-control/field/NumberInput.tsx +8 -11
  251. package/src/components/form-control/field/TextInput.tsx +7 -11
  252. package/src/components/form-control/field/Textarea.tsx +4 -4
  253. package/src/components/form-control/field/TimePicker.tsx +4 -4
  254. package/src/components/form-control/select/Select.tsx +33 -42
  255. package/src/components/form-control/state-preset/StatePreset.tsx +5 -5
  256. package/src/components/layout/sidebar/Sidebar.tsx +1 -7
  257. package/src/components/layout/topbar/Topbar.tsx +3 -3
  258. package/src/helpers/createAppStructure.ts +16 -0
  259. package/src/hooks/createControllableStore.ts +5 -5
  260. package/src/index.ts +4 -3
  261. package/src/providers/ServiceClientProvider.tsx +4 -4
  262. package/src/providers/shared-data/SharedDataProvider.tsx +136 -113
  263. package/tests/components/data/sheet/DataSheet.spec.tsx +2 -2
  264. package/tests/components/data/sheet/hooks/useDataSheetFixedColumns.spec.ts +1 -1
  265. package/tests/components/data/sheet/hooks/useDataSheetSelection.spec.ts +34 -17
  266. package/tests/components/data/sheet/hooks/useDataSheetSorting.spec.ts +1 -1
  267. package/tests/components/disclosure/Dialog.spec.tsx +7 -7
  268. package/tests/components/display/Barcode.spec.tsx +15 -1
  269. package/tests/components/features/crud-sheet/CrudSheet.spec.tsx +6 -6
  270. package/tests/components/form-control/Invalid.spec.tsx +5 -5
  271. package/tests/components/form-control/combobox/Combobox.spec.tsx +24 -1
  272. package/tests/components/layout/topbar/TopbarActions.spec.tsx +4 -4
  273. package/tests/components/layout/topbar/{createTopbarActions.spec.tsx → useTopbarActions.spec.tsx} +4 -4
  274. package/tests/providers/shared-data/SharedDataProvider.spec.tsx +130 -8
  275. package/dist/components/data/sheet/sheetUtils.d.ts.map +0 -1
  276. package/dist/components/data/sheet/sheetUtils.js.map +0 -6
  277. package/dist/components/data/sheet/types.d.ts.map +0 -1
  278. package/dist/components/data/sheet/types.js +0 -1
  279. package/dist/components/features/crud-detail/types.d.ts.map +0 -1
  280. package/dist/components/features/crud-detail/types.js +0 -1
  281. package/dist/components/features/crud-sheet/types.d.ts.map +0 -1
  282. package/dist/components/features/crud-sheet/types.js +0 -1
  283. package/dist/components/feedback/notification/index.d.ts +0 -4
  284. package/dist/components/feedback/notification/index.d.ts.map +0 -1
  285. package/dist/components/feedback/notification/index.js +0 -4
  286. package/dist/components/feedback/notification/index.js.map +0 -6
  287. package/src/components/feedback/notification/index.ts +0 -3
  288. /package/dist/components/data/sheet/{types.js.map → DataSheet.types.js.map} +0 -0
  289. /package/dist/components/{features/crud-detail/types.js.map → display/Barcode.types.js.map} +0 -0
  290. /package/dist/components/features/{crud-sheet/types.js.map → crud-detail/CrudDetail.types.js.map} +0 -0
  291. /package/src/components/features/crud-detail/{types.ts → CrudDetail.types.ts} +0 -0
@@ -27,42 +27,45 @@ import { createSlot } from "../../../helpers/createSlot";
27
27
  import "./Kanban.animate.css";
28
28
  import { Button } from "../../form-control/Button";
29
29
 
30
+ //#region Types
30
31
  // ── Types ──────────────────────────────────────────────────────
31
32
 
32
- export interface KanbanCardRef<L = unknown, T = unknown> {
33
- value: T | undefined;
34
- laneValue: L | undefined;
33
+ export interface KanbanCardRef<TLaneValue = unknown, TCardValue = unknown> {
34
+ value: TCardValue | undefined;
35
+ laneValue: TLaneValue | undefined;
35
36
  heightOnDrag: number;
36
37
  }
37
38
 
38
- export interface KanbanDropInfo<L = unknown, T = unknown> {
39
- sourceValue?: T;
40
- targetLaneValue?: L;
41
- targetCardValue?: T;
39
+ export interface KanbanDropInfo<TLaneValue = unknown, TCardValue = unknown> {
40
+ sourceValue?: TCardValue;
41
+ targetLaneValue?: TLaneValue;
42
+ targetCardValue?: TCardValue;
42
43
  position?: "before" | "after";
43
44
  }
44
45
 
45
- export interface KanbanDropTarget<T = unknown> {
46
+ export interface KanbanDropTarget<TCardValue = unknown> {
46
47
  element: HTMLElement;
47
- value: T | undefined;
48
+ value: TCardValue | undefined;
48
49
  position: "before" | "after";
49
50
  }
51
+ //#endregion
50
52
 
53
+ //#region Board Context
51
54
  // ── Board Context ──────────────────────────────────────────────
52
55
 
53
- export interface KanbanContextValue<L = unknown, T = unknown> {
54
- dragCard: Accessor<KanbanCardRef<L, T> | undefined>;
55
- setDragCard: Setter<KanbanCardRef<L, T> | undefined>;
56
+ export interface KanbanContextValue<TLaneValue = unknown, TCardValue = unknown> {
57
+ dragCard: Accessor<KanbanCardRef<TLaneValue, TCardValue> | undefined>;
58
+ setDragCard: Setter<KanbanCardRef<TLaneValue, TCardValue> | undefined>;
56
59
  onDropTo: (
57
- targetLaneValue: L | undefined,
58
- targetCardValue: T | undefined,
60
+ targetLaneValue: TLaneValue | undefined,
61
+ targetCardValue: TCardValue | undefined,
59
62
  position: "before" | "after" | undefined,
60
63
  ) => void;
61
64
 
62
65
  // Selection (Phase 4)
63
- selectedValues: Accessor<T[]>;
64
- setSelectedValues: (updater: T[] | ((prev: T[]) => T[])) => void;
65
- toggleSelection: (value: T) => void;
66
+ selectedValues: Accessor<TCardValue[]>;
67
+ setSelectedValues: (updater: TCardValue[] | ((prev: TCardValue[]) => TCardValue[])) => void;
68
+ toggleSelection: (value: TCardValue) => void;
66
69
  }
67
70
 
68
71
  export const KanbanContext = createContext<KanbanContextValue>();
@@ -74,16 +77,18 @@ export function useKanbanContext(): KanbanContextValue {
74
77
  }
75
78
  return context;
76
79
  }
80
+ //#endregion
77
81
 
82
+ //#region Lane Context
78
83
  // ── Lane Context ───────────────────────────────────────────────
79
84
 
80
- export interface KanbanLaneContextValue<L = unknown, T = unknown> {
81
- value: Accessor<L | undefined>;
82
- dropTarget: Accessor<KanbanDropTarget<T> | undefined>;
83
- setDropTarget: (target: KanbanDropTarget<T> | undefined) => void;
85
+ export interface KanbanLaneContextValue<TLaneValue = unknown, TCardValue = unknown> {
86
+ value: Accessor<TLaneValue | undefined>;
87
+ dropTarget: Accessor<KanbanDropTarget<TCardValue> | undefined>;
88
+ setDropTarget: (target: KanbanDropTarget<TCardValue> | undefined) => void;
84
89
 
85
90
  // Card registration (Phase 4)
86
- registerCard: (id: string, info: { value: T | undefined; selectable: boolean }) => void;
91
+ registerCard: (id: string, info: { value: TCardValue | undefined; selectable: boolean }) => void;
87
92
  unregisterCard: (id: string) => void;
88
93
  }
89
94
 
@@ -96,7 +101,9 @@ export function useKanbanLaneContext(): KanbanLaneContextValue {
96
101
  }
97
102
  return context;
98
103
  }
104
+ //#endregion
99
105
 
106
+ //#region Slots
100
107
  // ─── KanbanLaneTitle ─────────────────────────────────────────────
101
108
 
102
109
  const [KanbanLaneTitle, createTitleSlotAccessor] = createSlot<{ children: JSX.Element }>();
@@ -104,7 +111,9 @@ const [KanbanLaneTitle, createTitleSlotAccessor] = createSlot<{ children: JSX.El
104
111
  // ─── KanbanLaneTools ─────────────────────────────────────────────
105
112
 
106
113
  const [KanbanLaneTools, createToolsSlotAccessor] = createSlot<{ children: JSX.Element }>();
114
+ //#endregion
107
115
 
116
+ //#region KanbanCard
108
117
  // ─── KanbanCard ──────────────────────────────────────────────────
109
118
 
110
119
  export interface KanbanCardProps<TCardValue = unknown> extends Omit<
@@ -277,7 +286,9 @@ const KanbanCard: ParentComponent<KanbanCardProps> = (props) => {
277
286
  </div>
278
287
  );
279
288
  };
289
+ //#endregion
280
290
 
291
+ //#region KanbanLane
281
292
  // ─── KanbanLane ──────────────────────────────────────────────────
282
293
 
283
294
  export interface KanbanLaneProps<TLaneValue = unknown> extends Omit<
@@ -507,7 +518,9 @@ const KanbanLane: ParentComponent<KanbanLaneProps> = (props) => {
507
518
  </TitleProvider>
508
519
  );
509
520
  };
521
+ //#endregion
510
522
 
523
+ //#region KanbanBoard
511
524
  // ─── Kanban (Board) ──────────────────────────────────────────────
512
525
 
513
526
  export interface KanbanProps<TCardValue = unknown, TLaneValue = unknown> extends Omit<
@@ -521,15 +534,6 @@ export interface KanbanProps<TCardValue = unknown, TLaneValue = unknown> extends
521
534
  }
522
535
 
523
536
 
524
- interface KanbanComponent {
525
- <TCardValue = unknown, TLaneValue = unknown>(
526
- props: KanbanProps<TCardValue, TLaneValue>,
527
- ): JSX.Element;
528
- Lane: typeof KanbanLane;
529
- Card: typeof KanbanCard;
530
- LaneTitle: typeof KanbanLaneTitle;
531
- LaneTools: typeof KanbanLaneTools;
532
- }
533
537
 
534
538
  const KanbanInner = (props: KanbanProps) => {
535
539
  const [local, rest] = splitProps(props, [
@@ -600,6 +604,7 @@ const KanbanInner = (props: KanbanProps) => {
600
604
  </KanbanContext.Provider>
601
605
  );
602
606
  };
607
+ //#endregion
603
608
 
604
609
  //#region Export
605
610
  export const Kanban = Object.assign(KanbanInner, {
@@ -607,5 +612,5 @@ export const Kanban = Object.assign(KanbanInner, {
607
612
  Card: KanbanCard,
608
613
  LaneTitle: KanbanLaneTitle,
609
614
  LaneTools: KanbanLaneTools,
610
- }) as KanbanComponent;
615
+ });
611
616
  //#endregion
@@ -34,10 +34,6 @@ export interface ListProps extends JSX.HTMLAttributes<HTMLDivElement> {
34
34
  * </List>
35
35
  * ```
36
36
  */
37
- interface ListComponent extends ParentComponent<ListProps> {
38
- Item: typeof ListItem;
39
- }
40
-
41
37
  const ListBase: ParentComponent<ListProps> = (props) => {
42
38
  const [local, rest] = splitProps(props, ["children", "class", "inset"]);
43
39
 
@@ -176,5 +172,6 @@ const ListBase: ParentComponent<ListProps> = (props) => {
176
172
  );
177
173
  };
178
174
 
179
- export const List = ListBase as ListComponent;
180
- List.Item = ListItem;
175
+ export const List = Object.assign(ListBase, {
176
+ Item: ListItem,
177
+ });