@simplysm/solid 13.0.75 → 13.0.76

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 (742) hide show
  1. package/README.md +4 -4
  2. package/dist/components/data/Pagination.d.ts +2 -2
  3. package/dist/components/data/Pagination.d.ts.map +1 -1
  4. package/dist/components/data/Pagination.js +7 -5
  5. package/dist/components/data/Pagination.js.map +2 -2
  6. package/dist/components/data/Table.d.ts +5 -1
  7. package/dist/components/data/Table.d.ts.map +1 -1
  8. package/dist/components/data/Table.js +64 -22
  9. package/dist/components/data/Table.js.map +2 -2
  10. package/dist/components/data/calendar/Calendar.d.ts.map +1 -1
  11. package/dist/components/data/calendar/Calendar.js +10 -26
  12. package/dist/components/data/calendar/Calendar.js.map +2 -2
  13. package/dist/components/data/kanban/{Kanban.css → Kanban.animate.css} +0 -2
  14. package/dist/components/data/kanban/Kanban.d.ts +46 -5
  15. package/dist/components/data/kanban/Kanban.d.ts.map +1 -1
  16. package/dist/components/data/kanban/Kanban.js +144 -119
  17. package/dist/components/data/kanban/Kanban.js.map +2 -2
  18. package/dist/components/data/list/List.d.ts.map +1 -1
  19. package/dist/components/data/list/List.js +2 -5
  20. package/dist/components/data/list/List.js.map +2 -2
  21. package/dist/components/data/list/ListItem.d.ts +7 -34
  22. package/dist/components/data/list/ListItem.d.ts.map +1 -1
  23. package/dist/components/data/list/ListItem.js +15 -20
  24. package/dist/components/data/list/ListItem.js.map +2 -2
  25. package/dist/components/data/list/ListItem.styles.d.ts +1 -1
  26. package/dist/components/data/list/ListItem.styles.d.ts.map +1 -1
  27. package/dist/components/data/list/ListItem.styles.js +8 -8
  28. package/dist/components/data/list/ListItem.styles.js.map +1 -1
  29. package/dist/components/data/sheet/DataSheet.d.ts +3 -2
  30. package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
  31. package/dist/components/data/sheet/DataSheet.js +677 -850
  32. package/dist/components/data/sheet/DataSheet.js.map +2 -2
  33. package/dist/components/data/sheet/DataSheet.styles.d.ts +2 -1
  34. package/dist/components/data/sheet/DataSheet.styles.d.ts.map +1 -1
  35. package/dist/components/data/sheet/DataSheet.styles.js +32 -10
  36. package/dist/components/data/sheet/DataSheet.styles.js.map +1 -1
  37. package/dist/components/data/sheet/DataSheetColumn.d.ts +4 -3
  38. package/dist/components/data/sheet/DataSheetColumn.d.ts.map +1 -1
  39. package/dist/components/data/sheet/DataSheetColumn.js +4 -22
  40. package/dist/components/data/sheet/DataSheetColumn.js.map +2 -2
  41. package/dist/components/data/sheet/DataSheetConfigDialog.d.ts +1 -0
  42. package/dist/components/data/sheet/DataSheetConfigDialog.d.ts.map +1 -1
  43. package/dist/components/data/sheet/DataSheetConfigDialog.js +19 -18
  44. package/dist/components/data/sheet/DataSheetConfigDialog.js.map +2 -2
  45. package/dist/components/data/sheet/hooks/useDataSheetExpansion.d.ts +17 -0
  46. package/dist/components/data/sheet/hooks/useDataSheetExpansion.d.ts.map +1 -0
  47. package/dist/components/data/sheet/hooks/useDataSheetExpansion.js +61 -0
  48. package/dist/components/data/sheet/hooks/useDataSheetExpansion.js.map +6 -0
  49. package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.d.ts +29 -0
  50. package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.d.ts.map +1 -0
  51. package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.js +101 -0
  52. package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.js.map +6 -0
  53. package/dist/components/data/sheet/hooks/useDataSheetPaging.d.ts +17 -0
  54. package/dist/components/data/sheet/hooks/useDataSheetPaging.d.ts.map +1 -0
  55. package/dist/components/data/sheet/hooks/useDataSheetPaging.js +32 -0
  56. package/dist/components/data/sheet/hooks/useDataSheetPaging.js.map +6 -0
  57. package/dist/components/data/sheet/hooks/useDataSheetReorder.d.ts +21 -0
  58. package/dist/components/data/sheet/hooks/useDataSheetReorder.d.ts.map +1 -0
  59. package/dist/components/data/sheet/hooks/useDataSheetReorder.js +112 -0
  60. package/dist/components/data/sheet/hooks/useDataSheetReorder.js.map +6 -0
  61. package/dist/components/data/sheet/hooks/useDataSheetSelection.d.ts +22 -0
  62. package/dist/components/data/sheet/hooks/useDataSheetSelection.d.ts.map +1 -0
  63. package/dist/components/data/sheet/hooks/useDataSheetSelection.js +63 -0
  64. package/dist/components/data/sheet/hooks/useDataSheetSelection.js.map +6 -0
  65. package/dist/components/data/sheet/hooks/useDataSheetSorting.d.ts +17 -0
  66. package/dist/components/data/sheet/hooks/useDataSheetSorting.d.ts.map +1 -0
  67. package/dist/components/data/sheet/hooks/useDataSheetSorting.js +45 -0
  68. package/dist/components/data/sheet/hooks/useDataSheetSorting.js.map +6 -0
  69. package/dist/components/data/sheet/sheetUtils.d.ts +2 -2
  70. package/dist/components/data/sheet/sheetUtils.d.ts.map +1 -1
  71. package/dist/components/data/sheet/sheetUtils.js +5 -5
  72. package/dist/components/data/sheet/sheetUtils.js.map +1 -1
  73. package/dist/components/data/sheet/types.d.ts +7 -8
  74. package/dist/components/data/sheet/types.d.ts.map +1 -1
  75. package/dist/components/disclosure/Collapse.d.ts.map +1 -1
  76. package/dist/components/disclosure/Collapse.js +1 -3
  77. package/dist/components/disclosure/Collapse.js.map +2 -2
  78. package/dist/components/disclosure/Dialog.d.ts +78 -20
  79. package/dist/components/disclosure/Dialog.d.ts.map +1 -1
  80. package/dist/components/disclosure/Dialog.js +251 -110
  81. package/dist/components/disclosure/Dialog.js.map +2 -2
  82. package/dist/components/disclosure/Dropdown.d.ts +6 -29
  83. package/dist/components/disclosure/Dropdown.d.ts.map +1 -1
  84. package/dist/components/disclosure/Dropdown.js +60 -61
  85. package/dist/components/disclosure/Dropdown.js.map +2 -2
  86. package/dist/components/disclosure/Tabs.d.ts +1 -1
  87. package/dist/components/disclosure/Tabs.d.ts.map +1 -1
  88. package/dist/components/disclosure/Tabs.js +16 -17
  89. package/dist/components/disclosure/Tabs.js.map +2 -2
  90. package/dist/components/display/Alert.d.ts +1 -1
  91. package/dist/components/display/Alert.d.ts.map +1 -1
  92. package/dist/components/display/Alert.js +2 -4
  93. package/dist/components/display/Alert.js.map +2 -2
  94. package/dist/components/display/Barcode.d.ts.map +1 -1
  95. package/dist/components/display/Barcode.js +1 -3
  96. package/dist/components/display/Barcode.js.map +2 -2
  97. package/dist/components/display/Card.animate.css +11 -0
  98. package/dist/components/display/Card.d.ts +1 -0
  99. package/dist/components/display/Card.d.ts.map +1 -1
  100. package/dist/components/display/Card.js +3 -2
  101. package/dist/components/display/Card.js.map +2 -2
  102. package/dist/components/display/Echarts.d.ts.map +1 -1
  103. package/dist/components/display/Echarts.js +1 -3
  104. package/dist/components/display/Echarts.js.map +2 -2
  105. package/dist/components/display/Link.d.ts +1 -1
  106. package/dist/components/display/Link.d.ts.map +1 -1
  107. package/dist/components/display/Link.js +3 -4
  108. package/dist/components/display/Link.js.map +2 -2
  109. package/dist/components/display/Tag.d.ts +1 -1
  110. package/dist/components/display/Tag.d.ts.map +1 -1
  111. package/dist/components/display/Tag.js +2 -4
  112. package/dist/components/display/Tag.js.map +2 -2
  113. package/dist/components/features/address/AddressSearch.d.ts +3 -1
  114. package/dist/components/features/address/AddressSearch.d.ts.map +1 -1
  115. package/dist/components/features/address/AddressSearch.js +3 -4
  116. package/dist/components/features/address/AddressSearch.js.map +2 -2
  117. package/dist/components/features/crud-detail/CrudDetail.d.ts.map +1 -1
  118. package/dist/components/features/crud-detail/CrudDetail.js +205 -196
  119. package/dist/components/features/crud-detail/CrudDetail.js.map +2 -2
  120. package/dist/components/features/crud-detail/CrudDetailAfter.d.ts +5 -4
  121. package/dist/components/features/crud-detail/CrudDetailAfter.d.ts.map +1 -1
  122. package/dist/components/features/crud-detail/CrudDetailAfter.js +3 -10
  123. package/dist/components/features/crud-detail/CrudDetailAfter.js.map +2 -2
  124. package/dist/components/features/crud-detail/CrudDetailBefore.d.ts +5 -4
  125. package/dist/components/features/crud-detail/CrudDetailBefore.d.ts.map +1 -1
  126. package/dist/components/features/crud-detail/CrudDetailBefore.js +3 -10
  127. package/dist/components/features/crud-detail/CrudDetailBefore.js.map +2 -2
  128. package/dist/components/features/crud-detail/CrudDetailTools.d.ts +5 -4
  129. package/dist/components/features/crud-detail/CrudDetailTools.d.ts.map +1 -1
  130. package/dist/components/features/crud-detail/CrudDetailTools.js +3 -10
  131. package/dist/components/features/crud-detail/CrudDetailTools.js.map +2 -2
  132. package/dist/components/features/crud-detail/types.d.ts +2 -12
  133. package/dist/components/features/crud-detail/types.d.ts.map +1 -1
  134. package/dist/components/features/crud-sheet/CrudSheet.d.ts +8 -1
  135. package/dist/components/features/crud-sheet/CrudSheet.d.ts.map +1 -1
  136. package/dist/components/features/crud-sheet/CrudSheet.js +94 -77
  137. package/dist/components/features/crud-sheet/CrudSheet.js.map +2 -2
  138. package/dist/components/features/crud-sheet/CrudSheetColumn.d.ts +4 -3
  139. package/dist/components/features/crud-sheet/CrudSheetColumn.d.ts.map +1 -1
  140. package/dist/components/features/crud-sheet/CrudSheetColumn.js +4 -23
  141. package/dist/components/features/crud-sheet/CrudSheetColumn.js.map +2 -2
  142. package/dist/components/features/crud-sheet/CrudSheetFilter.d.ts +7 -5
  143. package/dist/components/features/crud-sheet/CrudSheetFilter.d.ts.map +1 -1
  144. package/dist/components/features/crud-sheet/CrudSheetFilter.js +4 -8
  145. package/dist/components/features/crud-sheet/CrudSheetFilter.js.map +2 -2
  146. package/dist/components/features/crud-sheet/CrudSheetHeader.d.ts +5 -4
  147. package/dist/components/features/crud-sheet/CrudSheetHeader.d.ts.map +1 -1
  148. package/dist/components/features/crud-sheet/CrudSheetHeader.js +3 -10
  149. package/dist/components/features/crud-sheet/CrudSheetHeader.js.map +2 -2
  150. package/dist/components/features/crud-sheet/CrudSheetTools.d.ts +7 -5
  151. package/dist/components/features/crud-sheet/CrudSheetTools.d.ts.map +1 -1
  152. package/dist/components/features/crud-sheet/CrudSheetTools.js +4 -8
  153. package/dist/components/features/crud-sheet/CrudSheetTools.js.map +2 -2
  154. package/dist/components/features/crud-sheet/types.d.ts +6 -36
  155. package/dist/components/features/crud-sheet/types.d.ts.map +1 -1
  156. package/dist/components/features/data-select-button/DataSelectButton.d.ts +23 -26
  157. package/dist/components/features/data-select-button/DataSelectButton.d.ts.map +1 -1
  158. package/dist/components/features/data-select-button/DataSelectButton.js +25 -36
  159. package/dist/components/features/data-select-button/DataSelectButton.js.map +2 -2
  160. package/dist/components/features/permission-table/PermissionTable.d.ts.map +1 -1
  161. package/dist/components/features/permission-table/PermissionTable.js +9 -13
  162. package/dist/components/features/permission-table/PermissionTable.js.map +2 -2
  163. package/dist/components/features/shared-data/SharedDataSelect.d.ts +17 -12
  164. package/dist/components/features/shared-data/SharedDataSelect.d.ts.map +1 -1
  165. package/dist/components/features/shared-data/SharedDataSelect.js +57 -80
  166. package/dist/components/features/shared-data/SharedDataSelect.js.map +2 -2
  167. package/dist/components/features/shared-data/SharedDataSelectButton.d.ts +12 -9
  168. package/dist/components/features/shared-data/SharedDataSelectButton.d.ts.map +1 -1
  169. package/dist/components/features/shared-data/SharedDataSelectButton.js.map +1 -1
  170. package/dist/components/features/shared-data/SharedDataSelectList.d.ts +13 -2
  171. package/dist/components/features/shared-data/SharedDataSelectList.d.ts.map +1 -1
  172. package/dist/components/features/shared-data/SharedDataSelectList.js +131 -113
  173. package/dist/components/features/shared-data/SharedDataSelectList.js.map +2 -2
  174. package/dist/components/feedback/Progress.d.ts +3 -2
  175. package/dist/components/feedback/Progress.d.ts.map +1 -1
  176. package/dist/components/feedback/Progress.js +9 -7
  177. package/dist/components/feedback/Progress.js.map +2 -2
  178. package/dist/components/feedback/busy/BusyContainer.d.ts +2 -2
  179. package/dist/components/feedback/busy/BusyContainer.d.ts.map +1 -1
  180. package/dist/components/feedback/busy/BusyContainer.js +35 -32
  181. package/dist/components/feedback/busy/BusyContainer.js.map +2 -2
  182. package/dist/components/feedback/busy/BusyProvider.d.ts +26 -2
  183. package/dist/components/feedback/busy/BusyProvider.d.ts.map +1 -1
  184. package/dist/components/feedback/busy/BusyProvider.js +13 -7
  185. package/dist/components/feedback/busy/BusyProvider.js.map +2 -2
  186. package/dist/components/feedback/notification/NotificationBanner.d.ts.map +1 -1
  187. package/dist/components/feedback/notification/NotificationBanner.js +13 -19
  188. package/dist/components/feedback/notification/NotificationBanner.js.map +2 -2
  189. package/dist/components/feedback/notification/NotificationBell.d.ts.map +1 -1
  190. package/dist/components/feedback/notification/NotificationBell.js +69 -71
  191. package/dist/components/feedback/notification/NotificationBell.js.map +2 -2
  192. package/dist/components/feedback/notification/NotificationProvider.d.ts +68 -1
  193. package/dist/components/feedback/notification/NotificationProvider.d.ts.map +1 -1
  194. package/dist/components/feedback/notification/NotificationProvider.js +13 -4
  195. package/dist/components/feedback/notification/NotificationProvider.js.map +2 -2
  196. package/dist/components/feedback/notification/index.d.ts +0 -1
  197. package/dist/components/feedback/notification/index.d.ts.map +1 -1
  198. package/dist/components/feedback/notification/index.js +0 -1
  199. package/dist/components/feedback/notification/index.js.map +1 -1
  200. package/dist/components/feedback/print/PrintProvider.d.ts +14 -1
  201. package/dist/components/feedback/print/PrintProvider.d.ts.map +1 -1
  202. package/dist/components/feedback/print/PrintProvider.js +15 -5
  203. package/dist/components/feedback/print/PrintProvider.js.map +2 -2
  204. package/dist/components/form-control/Button.d.ts +2 -1
  205. package/dist/components/form-control/Button.d.ts.map +1 -1
  206. package/dist/components/form-control/Button.js +9 -8
  207. package/dist/components/form-control/Button.js.map +2 -2
  208. package/dist/components/form-control/DropdownTrigger.styles.d.ts +1 -1
  209. package/dist/components/form-control/DropdownTrigger.styles.d.ts.map +1 -1
  210. package/dist/components/form-control/DropdownTrigger.styles.js +16 -16
  211. package/dist/components/form-control/DropdownTrigger.styles.js.map +1 -1
  212. package/dist/components/form-control/ThemeToggle.d.ts +2 -1
  213. package/dist/components/form-control/ThemeToggle.d.ts.map +1 -1
  214. package/dist/components/form-control/ThemeToggle.js +71 -74
  215. package/dist/components/form-control/ThemeToggle.js.map +2 -2
  216. package/dist/components/form-control/checkbox/Checkbox.d.ts +1 -1
  217. package/dist/components/form-control/checkbox/Checkbox.d.ts.map +1 -1
  218. package/dist/components/form-control/checkbox/Checkbox.js +14 -95
  219. package/dist/components/form-control/checkbox/Checkbox.js.map +2 -2
  220. package/dist/components/form-control/checkbox/Checkbox.styles.d.ts +2 -2
  221. package/dist/components/form-control/checkbox/Checkbox.styles.d.ts.map +1 -1
  222. package/dist/components/form-control/checkbox/Checkbox.styles.js +20 -25
  223. package/dist/components/form-control/checkbox/Checkbox.styles.js.map +1 -1
  224. package/dist/components/form-control/checkbox/CheckboxGroup.d.ts.map +1 -1
  225. package/dist/components/form-control/checkbox/CheckboxGroup.js +84 -9
  226. package/dist/components/form-control/checkbox/CheckboxGroup.js.map +2 -2
  227. package/dist/components/form-control/checkbox/Radio.d.ts +1 -1
  228. package/dist/components/form-control/checkbox/Radio.d.ts.map +1 -1
  229. package/dist/components/form-control/checkbox/Radio.js +12 -95
  230. package/dist/components/form-control/checkbox/Radio.js.map +2 -2
  231. package/dist/components/form-control/checkbox/RadioGroup.d.ts.map +1 -1
  232. package/dist/components/form-control/checkbox/RadioGroup.js +81 -9
  233. package/dist/components/form-control/checkbox/RadioGroup.js.map +2 -2
  234. package/dist/components/form-control/checkbox/SelectableBase.d.ts +26 -0
  235. package/dist/components/form-control/checkbox/SelectableBase.d.ts.map +1 -0
  236. package/dist/components/form-control/checkbox/SelectableBase.js +100 -0
  237. package/dist/components/form-control/checkbox/SelectableBase.js.map +6 -0
  238. package/dist/components/form-control/checkbox/SelectionGroupBase.d.ts +17 -0
  239. package/dist/components/form-control/checkbox/SelectionGroupBase.d.ts.map +1 -0
  240. package/dist/components/form-control/checkbox/SelectionGroupBase.js +53 -0
  241. package/dist/components/form-control/checkbox/SelectionGroupBase.js.map +6 -0
  242. package/dist/components/form-control/color-picker/ColorPicker.d.ts +1 -1
  243. package/dist/components/form-control/color-picker/ColorPicker.d.ts.map +1 -1
  244. package/dist/components/form-control/color-picker/ColorPicker.js +3 -15
  245. package/dist/components/form-control/color-picker/ColorPicker.js.map +2 -2
  246. package/dist/components/form-control/combobox/Combobox.d.ts +26 -47
  247. package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
  248. package/dist/components/form-control/combobox/Combobox.js +107 -59
  249. package/dist/components/form-control/combobox/Combobox.js.map +2 -2
  250. package/dist/components/form-control/date-range-picker/DateRangePicker.d.ts.map +1 -1
  251. package/dist/components/form-control/date-range-picker/DateRangePicker.js +12 -5
  252. package/dist/components/form-control/date-range-picker/DateRangePicker.js.map +2 -2
  253. package/dist/components/form-control/editor/EditorToolbar.d.ts.map +1 -1
  254. package/dist/components/form-control/editor/EditorToolbar.js +358 -211
  255. package/dist/components/form-control/editor/EditorToolbar.js.map +2 -2
  256. package/dist/components/form-control/editor/RichTextEditor.d.ts +1 -1
  257. package/dist/components/form-control/editor/RichTextEditor.d.ts.map +1 -1
  258. package/dist/components/form-control/editor/RichTextEditor.js +10 -10
  259. package/dist/components/form-control/editor/RichTextEditor.js.map +2 -2
  260. package/{src/components/form-control/editor/editor.css → dist/components/form-control/editor/RichTextEditor.tiptap.css} +0 -1
  261. package/dist/components/form-control/field/DatePicker.d.ts +1 -1
  262. package/dist/components/form-control/field/DatePicker.d.ts.map +1 -1
  263. package/dist/components/form-control/field/DatePicker.js +48 -129
  264. package/dist/components/form-control/field/DatePicker.js.map +2 -2
  265. package/dist/components/form-control/field/DateTimePicker.d.ts +1 -1
  266. package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -1
  267. package/dist/components/form-control/field/DateTimePicker.js +48 -129
  268. package/dist/components/form-control/field/DateTimePicker.js.map +2 -2
  269. package/dist/components/form-control/field/Field.styles.d.ts +3 -3
  270. package/dist/components/form-control/field/Field.styles.d.ts.map +1 -1
  271. package/dist/components/form-control/field/Field.styles.js +46 -40
  272. package/dist/components/form-control/field/Field.styles.js.map +1 -1
  273. package/dist/components/form-control/field/FieldPlaceholder.js +4 -3
  274. package/dist/components/form-control/field/FieldPlaceholder.js.map +2 -2
  275. package/dist/components/form-control/field/FieldShell.d.ts +37 -0
  276. package/dist/components/form-control/field/FieldShell.d.ts.map +1 -0
  277. package/dist/components/form-control/field/FieldShell.js +124 -0
  278. package/dist/components/form-control/field/FieldShell.js.map +6 -0
  279. package/dist/components/form-control/field/NumberInput.d.ts +8 -6
  280. package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
  281. package/dist/components/form-control/field/NumberInput.js +86 -192
  282. package/dist/components/form-control/field/NumberInput.js.map +2 -2
  283. package/dist/components/form-control/field/TextInput.d.ts +7 -6
  284. package/dist/components/form-control/field/TextInput.d.ts.map +1 -1
  285. package/dist/components/form-control/field/TextInput.js +82 -193
  286. package/dist/components/form-control/field/TextInput.js.map +2 -2
  287. package/dist/components/form-control/field/Textarea.d.ts +1 -1
  288. package/dist/components/form-control/field/Textarea.d.ts.map +1 -1
  289. package/dist/components/form-control/field/Textarea.js +79 -154
  290. package/dist/components/form-control/field/Textarea.js.map +2 -2
  291. package/dist/components/form-control/field/TimePicker.d.ts +1 -1
  292. package/dist/components/form-control/field/TimePicker.d.ts.map +1 -1
  293. package/dist/components/form-control/field/TimePicker.js +44 -121
  294. package/dist/components/form-control/field/TimePicker.js.map +2 -2
  295. package/dist/components/form-control/numpad/Numpad.d.ts +1 -1
  296. package/dist/components/form-control/numpad/Numpad.d.ts.map +1 -1
  297. package/dist/components/form-control/numpad/Numpad.js +5 -5
  298. package/dist/components/form-control/numpad/Numpad.js.map +2 -2
  299. package/dist/components/form-control/select/Select.d.ts +54 -35
  300. package/dist/components/form-control/select/Select.d.ts.map +1 -1
  301. package/dist/components/form-control/select/Select.js +215 -114
  302. package/dist/components/form-control/select/Select.js.map +2 -2
  303. package/dist/components/form-control/state-preset/StatePreset.d.ts +2 -2
  304. package/dist/components/form-control/state-preset/StatePreset.d.ts.map +1 -1
  305. package/dist/components/form-control/state-preset/StatePreset.js +63 -52
  306. package/dist/components/form-control/state-preset/StatePreset.js.map +2 -2
  307. package/dist/components/layout/FormGroup.d.ts +3 -6
  308. package/dist/components/layout/FormGroup.d.ts.map +1 -1
  309. package/dist/components/layout/FormGroup.js +5 -7
  310. package/dist/components/layout/FormGroup.js.map +2 -2
  311. package/dist/components/layout/FormTable.d.ts +7 -1
  312. package/dist/components/layout/FormTable.d.ts.map +1 -1
  313. package/dist/components/layout/FormTable.js +52 -18
  314. package/dist/components/layout/FormTable.js.map +2 -2
  315. package/dist/components/layout/sidebar/Sidebar.d.ts +136 -8
  316. package/dist/components/layout/sidebar/Sidebar.d.ts.map +1 -1
  317. package/dist/components/layout/sidebar/Sidebar.js +341 -21
  318. package/dist/components/layout/sidebar/Sidebar.js.map +2 -2
  319. package/dist/components/layout/topbar/Topbar.d.ts +44 -33
  320. package/dist/components/layout/topbar/Topbar.d.ts.map +1 -1
  321. package/dist/components/layout/topbar/Topbar.js +426 -39
  322. package/dist/components/layout/topbar/Topbar.js.map +2 -2
  323. package/dist/helpers/createAppStructure.d.ts.map +1 -1
  324. package/dist/helpers/createAppStructure.js +4 -5
  325. package/dist/helpers/createAppStructure.js.map +1 -1
  326. package/dist/helpers/createSlot.d.ts +3 -0
  327. package/dist/helpers/createSlot.d.ts.map +1 -0
  328. package/dist/helpers/createSlot.js +40 -0
  329. package/dist/helpers/createSlot.js.map +6 -0
  330. package/dist/helpers/createSlots.d.ts +7 -0
  331. package/dist/helpers/createSlots.d.ts.map +1 -0
  332. package/dist/helpers/createSlots.js +34 -0
  333. package/dist/helpers/createSlots.js.map +6 -0
  334. package/dist/hooks/createControllableSignal.d.ts +4 -12
  335. package/dist/hooks/createControllableSignal.d.ts.map +1 -1
  336. package/dist/hooks/createControllableSignal.js +4 -3
  337. package/dist/hooks/createControllableSignal.js.map +1 -1
  338. package/dist/hooks/createControllableStore.d.ts.map +1 -1
  339. package/dist/hooks/createControllableStore.js +3 -4
  340. package/dist/hooks/createControllableStore.js.map +1 -1
  341. package/dist/hooks/useLogger.d.ts +1 -1
  342. package/dist/hooks/useLogger.d.ts.map +1 -1
  343. package/dist/hooks/useLogger.js +1 -1
  344. package/dist/hooks/useSyncConfig.js +1 -1
  345. package/dist/index.d.ts +13 -20
  346. package/dist/index.d.ts.map +1 -1
  347. package/dist/index.js +13 -20
  348. package/dist/index.js.map +1 -1
  349. package/dist/providers/ConfigContext.d.ts.map +1 -1
  350. package/dist/providers/ConfigContext.js +10 -13
  351. package/dist/providers/ConfigContext.js.map +1 -1
  352. package/dist/providers/{LoggerContext.d.ts → LoggerProvider.d.ts} +1 -1
  353. package/dist/providers/LoggerProvider.d.ts.map +1 -0
  354. package/dist/providers/{LoggerContext.js → LoggerProvider.js} +1 -1
  355. package/dist/providers/{LoggerContext.js.map → LoggerProvider.js.map} +1 -1
  356. package/dist/providers/PwaUpdateProvider.js +1 -1
  357. package/dist/providers/ServiceClientProvider.d.ts +22 -0
  358. package/dist/providers/ServiceClientProvider.d.ts.map +1 -1
  359. package/dist/providers/ServiceClientProvider.js +39 -48
  360. package/dist/providers/ServiceClientProvider.js.map +2 -2
  361. package/dist/providers/{SyncStorageContext.d.ts → SyncStorageProvider.d.ts} +1 -1
  362. package/dist/providers/SyncStorageProvider.d.ts.map +1 -0
  363. package/dist/providers/{SyncStorageContext.js → SyncStorageProvider.js} +1 -1
  364. package/dist/providers/{SyncStorageContext.js.map → SyncStorageProvider.js.map} +1 -1
  365. package/dist/providers/SystemProvider.d.ts +1 -1
  366. package/dist/providers/SystemProvider.d.ts.map +1 -1
  367. package/dist/providers/SystemProvider.js +3 -3
  368. package/dist/providers/SystemProvider.js.map +1 -1
  369. package/dist/providers/i18n/{I18nContext.d.ts → I18nProvider.d.ts} +2 -2
  370. package/dist/providers/i18n/I18nProvider.d.ts.map +1 -0
  371. package/dist/providers/i18n/{I18nContext.js → I18nProvider.js} +1 -1
  372. package/dist/providers/i18n/{I18nContext.js.map → I18nProvider.js.map} +1 -1
  373. package/dist/providers/i18n/{I18nContext.types.d.ts → I18nProvider.types.d.ts} +1 -1
  374. package/dist/providers/i18n/I18nProvider.types.d.ts.map +1 -0
  375. package/dist/providers/i18n/I18nProvider.types.js +1 -0
  376. package/dist/providers/shared-data/SharedDataProvider.d.ts +74 -1
  377. package/dist/providers/shared-data/SharedDataProvider.d.ts.map +1 -1
  378. package/dist/providers/shared-data/SharedDataProvider.js +15 -7
  379. package/dist/providers/shared-data/SharedDataProvider.js.map +2 -2
  380. package/dist/styles/base.styles.d.ts +15 -0
  381. package/dist/styles/base.styles.d.ts.map +1 -0
  382. package/dist/styles/base.styles.js +21 -0
  383. package/dist/styles/base.styles.js.map +6 -0
  384. package/dist/styles/control.styles.d.ts +19 -0
  385. package/dist/styles/control.styles.d.ts.map +1 -0
  386. package/dist/styles/control.styles.js +24 -0
  387. package/dist/styles/control.styles.js.map +6 -0
  388. package/dist/styles/theme.styles.d.ts +52 -0
  389. package/dist/styles/theme.styles.d.ts.map +1 -0
  390. package/dist/styles/theme.styles.js +55 -0
  391. package/dist/styles/theme.styles.js.map +6 -0
  392. package/package.json +5 -5
  393. package/src/components/data/Pagination.tsx +9 -9
  394. package/src/components/data/Table.tsx +63 -30
  395. package/src/components/data/calendar/Calendar.tsx +38 -36
  396. package/src/components/data/kanban/{Kanban.css → Kanban.animate.css} +0 -2
  397. package/src/components/data/kanban/Kanban.tsx +118 -84
  398. package/src/components/data/list/List.tsx +5 -16
  399. package/src/components/data/list/ListItem.styles.ts +8 -8
  400. package/src/components/data/list/ListItem.tsx +20 -31
  401. package/src/components/data/sheet/DataSheet.styles.ts +32 -9
  402. package/src/components/data/sheet/DataSheet.tsx +159 -440
  403. package/src/components/data/sheet/DataSheetColumn.tsx +7 -29
  404. package/src/components/data/sheet/DataSheetConfigDialog.tsx +14 -20
  405. package/src/components/data/sheet/hooks/useDataSheetExpansion.ts +85 -0
  406. package/src/components/data/sheet/hooks/useDataSheetFixedColumns.ts +131 -0
  407. package/src/components/data/sheet/hooks/useDataSheetPaging.ts +51 -0
  408. package/src/components/data/sheet/hooks/useDataSheetReorder.ts +155 -0
  409. package/src/components/data/sheet/hooks/useDataSheetSelection.ts +99 -0
  410. package/src/components/data/sheet/hooks/useDataSheetSorting.ts +68 -0
  411. package/src/components/data/sheet/sheetUtils.ts +5 -5
  412. package/src/components/data/sheet/types.ts +7 -8
  413. package/src/components/disclosure/Collapse.tsx +1 -9
  414. package/src/components/disclosure/Dialog.tsx +242 -41
  415. package/src/components/disclosure/Dropdown.tsx +66 -75
  416. package/src/components/disclosure/Tabs.tsx +23 -32
  417. package/src/components/display/Alert.tsx +2 -5
  418. package/src/components/display/Barcode.tsx +1 -4
  419. package/src/components/display/Card.animate.css +11 -0
  420. package/src/components/display/Card.tsx +10 -11
  421. package/src/components/display/Echarts.tsx +1 -4
  422. package/src/components/display/Link.tsx +3 -5
  423. package/src/components/display/Tag.tsx +2 -5
  424. package/src/components/features/address/AddressSearch.tsx +4 -5
  425. package/src/components/features/crud-detail/CrudDetail.tsx +129 -142
  426. package/src/components/features/crud-detail/CrudDetailAfter.tsx +3 -16
  427. package/src/components/features/crud-detail/CrudDetailBefore.tsx +3 -16
  428. package/src/components/features/crud-detail/CrudDetailTools.tsx +3 -16
  429. package/src/components/features/crud-detail/types.ts +3 -16
  430. package/src/components/features/crud-sheet/CrudSheet.tsx +90 -92
  431. package/src/components/features/crud-sheet/CrudSheetColumn.tsx +7 -30
  432. package/src/components/features/crud-sheet/CrudSheetFilter.tsx +12 -16
  433. package/src/components/features/crud-sheet/CrudSheetHeader.tsx +3 -16
  434. package/src/components/features/crud-sheet/CrudSheetTools.tsx +12 -16
  435. package/src/components/features/crud-sheet/types.ts +6 -40
  436. package/src/components/features/data-select-button/DataSelectButton.tsx +55 -64
  437. package/src/components/features/permission-table/PermissionTable.tsx +9 -13
  438. package/src/components/features/shared-data/SharedDataSelect.tsx +89 -108
  439. package/src/components/features/shared-data/SharedDataSelectButton.tsx +26 -15
  440. package/src/components/features/shared-data/SharedDataSelectList.tsx +55 -32
  441. package/src/components/feedback/Progress.tsx +16 -21
  442. package/src/components/feedback/busy/BusyContainer.tsx +18 -45
  443. package/src/components/feedback/busy/BusyProvider.tsx +40 -7
  444. package/src/components/feedback/notification/NotificationBanner.tsx +13 -32
  445. package/src/components/feedback/notification/NotificationBell.tsx +18 -47
  446. package/src/components/feedback/notification/NotificationProvider.tsx +96 -10
  447. package/src/components/feedback/notification/index.ts +0 -1
  448. package/src/components/feedback/print/PrintProvider.tsx +35 -4
  449. package/src/components/form-control/Button.tsx +11 -29
  450. package/src/components/form-control/DropdownTrigger.styles.ts +16 -17
  451. package/src/components/form-control/ThemeToggle.tsx +18 -15
  452. package/src/components/form-control/checkbox/Checkbox.styles.ts +20 -26
  453. package/src/components/form-control/checkbox/Checkbox.tsx +14 -100
  454. package/src/components/form-control/checkbox/CheckboxGroup.tsx +85 -10
  455. package/src/components/form-control/checkbox/Radio.tsx +14 -103
  456. package/src/components/form-control/checkbox/RadioGroup.tsx +82 -10
  457. package/src/components/form-control/checkbox/SelectableBase.tsx +123 -0
  458. package/src/components/form-control/checkbox/SelectionGroupBase.tsx +57 -0
  459. package/src/components/form-control/color-picker/ColorPicker.tsx +8 -28
  460. package/src/components/form-control/combobox/Combobox.tsx +124 -30
  461. package/src/components/form-control/date-range-picker/DateRangePicker.tsx +5 -5
  462. package/src/components/form-control/editor/EditorToolbar.tsx +105 -82
  463. package/{dist/components/form-control/editor/editor.css → src/components/form-control/editor/RichTextEditor.tiptap.css} +0 -1
  464. package/src/components/form-control/editor/RichTextEditor.tsx +14 -29
  465. package/src/components/form-control/field/DatePicker.tsx +30 -72
  466. package/src/components/form-control/field/DateTimePicker.tsx +31 -79
  467. package/src/components/form-control/field/Field.styles.ts +48 -42
  468. package/src/components/form-control/field/FieldPlaceholder.tsx +2 -2
  469. package/src/components/form-control/field/FieldShell.tsx +113 -0
  470. package/src/components/form-control/field/NumberInput.tsx +67 -126
  471. package/src/components/form-control/field/TextInput.tsx +51 -109
  472. package/src/components/form-control/field/Textarea.tsx +64 -108
  473. package/src/components/form-control/field/TimePicker.tsx +29 -70
  474. package/src/components/form-control/numpad/Numpad.tsx +5 -6
  475. package/src/components/form-control/select/Select.tsx +243 -119
  476. package/src/components/form-control/state-preset/StatePreset.tsx +60 -83
  477. package/src/components/layout/FormGroup.tsx +10 -13
  478. package/src/components/layout/FormTable.tsx +40 -19
  479. package/src/components/layout/sidebar/Sidebar.tsx +456 -38
  480. package/src/components/layout/topbar/Topbar.tsx +420 -49
  481. package/src/helpers/createAppStructure.ts +6 -7
  482. package/src/helpers/createSlot.ts +45 -0
  483. package/src/helpers/createSlots.ts +44 -0
  484. package/src/hooks/createControllableSignal.ts +10 -18
  485. package/src/hooks/createControllableStore.ts +3 -4
  486. package/src/hooks/useLogger.ts +1 -1
  487. package/src/hooks/useSyncConfig.ts +1 -1
  488. package/src/index.ts +14 -20
  489. package/src/providers/ConfigContext.tsx +0 -1
  490. package/src/providers/PwaUpdateProvider.tsx +1 -1
  491. package/src/providers/ServiceClientProvider.tsx +59 -53
  492. package/src/providers/SystemProvider.tsx +4 -5
  493. package/src/providers/i18n/{I18nContext.tsx → I18nProvider.tsx} +1 -1
  494. package/src/providers/shared-data/SharedDataProvider.tsx +95 -14
  495. package/src/styles/base.styles.ts +21 -0
  496. package/src/styles/control.styles.ts +25 -0
  497. package/src/styles/theme.styles.ts +54 -0
  498. package/tailwind.config.ts +0 -11
  499. package/tests/components/data/List.spec.tsx +1 -262
  500. package/tests/components/data/Pagination.spec.tsx +0 -75
  501. package/tests/components/data/kanban/Kanban.selection.spec.tsx +1 -17
  502. package/tests/components/data/sheet/DataSheet.spec.tsx +36 -65
  503. package/tests/components/data/sheet/hooks/useDataSheetExpansion.spec.ts +254 -0
  504. package/tests/components/data/sheet/hooks/useDataSheetFixedColumns.spec.ts +488 -0
  505. package/tests/components/data/sheet/hooks/useDataSheetPaging.spec.ts +359 -0
  506. package/tests/components/data/sheet/hooks/useDataSheetReorder.spec.ts +251 -0
  507. package/tests/components/data/sheet/hooks/useDataSheetSelection.spec.ts +345 -0
  508. package/tests/components/data/sheet/hooks/useDataSheetSorting.spec.ts +279 -0
  509. package/tests/components/disclosure/Collapse.spec.tsx +0 -24
  510. package/tests/components/disclosure/Dialog.spec.tsx +4 -54
  511. package/tests/components/disclosure/DialogProvider.spec.tsx +9 -12
  512. package/tests/components/disclosure/Tabs.spec.tsx +0 -99
  513. package/tests/components/display/Barcode.spec.tsx +0 -14
  514. package/tests/components/features/address/AddressSearch.spec.tsx +3 -4
  515. package/tests/components/features/crud-detail/CrudDetail.spec.tsx +12 -74
  516. package/tests/components/features/crud-sheet/CrudSheet.spec.tsx +13 -66
  517. package/tests/components/features/data-select-button/DataSelectButton.spec.tsx +51 -29
  518. package/tests/components/features/permission-table/PermissionTable.spec.tsx +5 -30
  519. package/tests/components/features/shared-data/SharedDataSelect.spec.tsx +15 -19
  520. package/tests/components/features/shared-data/SharedDataSelectList.spec.tsx +17 -44
  521. package/tests/components/feedback/busy/BusyContainer.spec.tsx +15 -9
  522. package/tests/components/feedback/notification/LiveRegion.spec.tsx +2 -27
  523. package/tests/components/feedback/notification/NotificationBanner.spec.tsx +2 -27
  524. package/tests/components/feedback/notification/NotificationBell.spec.tsx +2 -16
  525. package/tests/components/feedback/notification/NotificationContext.spec.tsx +2 -16
  526. package/tests/components/form-control/Button.spec.tsx +0 -97
  527. package/tests/components/form-control/Invalid.spec.tsx +0 -15
  528. package/tests/components/form-control/checkbox/Checkbox.spec.tsx +1 -47
  529. package/tests/components/form-control/checkbox/CheckboxGroup.spec.tsx +1 -26
  530. package/tests/components/form-control/checkbox/Radio.spec.tsx +1 -46
  531. package/tests/components/form-control/checkbox/RadioGroup.spec.tsx +1 -26
  532. package/tests/components/form-control/color-picker/ColorPicker.spec.tsx +1 -31
  533. package/tests/components/form-control/combobox/Combobox.spec.tsx +5 -49
  534. package/tests/components/form-control/combobox/ComboboxItem.spec.tsx +7 -27
  535. package/tests/components/form-control/date-range-picker/DateRangePicker.spec.tsx +1 -58
  536. package/tests/components/form-control/field/DatePicker.spec.tsx +5 -93
  537. package/tests/components/form-control/field/DateTimePicker.spec.tsx +5 -86
  538. package/tests/components/form-control/field/FieldShell.spec.tsx +127 -0
  539. package/tests/components/form-control/field/NumberInput.spec.tsx +14 -133
  540. package/tests/components/form-control/field/TextInput.spec.tsx +6 -148
  541. package/tests/components/form-control/field/Textarea.spec.tsx +5 -69
  542. package/tests/components/form-control/field/TimePicker.spec.tsx +5 -84
  543. package/tests/components/form-control/numpad/Numpad.spec.tsx +1 -78
  544. package/tests/components/form-control/select/Select.spec.tsx +9 -59
  545. package/tests/components/form-control/select/SelectItem.spec.tsx +10 -62
  546. package/tests/components/layout/sidebar/Sidebar.spec.tsx +3 -122
  547. package/tests/components/layout/sidebar/SidebarContainer.spec.tsx +3 -45
  548. package/tests/components/layout/sidebar/SidebarMenu.spec.tsx +1 -74
  549. package/tests/components/layout/sidebar/SidebarUser.spec.tsx +0 -48
  550. package/tests/components/layout/topbar/TopbarActions.spec.tsx +1 -1
  551. package/tests/components/layout/topbar/createTopbarActions.spec.tsx +0 -9
  552. package/tests/helpers/createAppStructure.spec.tsx +0 -26
  553. package/tests/helpers/createSlot.spec.tsx +99 -0
  554. package/tests/helpers/createSlots.spec.tsx +100 -0
  555. package/tests/hooks/createControllableSignal.spec.ts +0 -50
  556. package/tests/hooks/createControllableStore.spec.ts +67 -0
  557. package/tests/hooks/createMountTransition.spec.ts +0 -9
  558. package/tests/hooks/useLocalStorage.spec.tsx +0 -34
  559. package/tests/hooks/useLogger.spec.tsx +1 -18
  560. package/tests/hooks/usePrint.spec.tsx +1 -24
  561. package/tests/hooks/useSyncConfig.spec.tsx +1 -18
  562. package/tests/providers/ErrorLoggerProvider.spec.tsx +1 -11
  563. package/tests/providers/ServiceClientContext.spec.tsx +2 -20
  564. package/tests/providers/i18n/I18nContext.spec.tsx +1 -5
  565. package/tests/providers/shared-data/SharedDataProvider.spec.tsx +13 -13
  566. package/dist/components/data/kanban/KanbanContext.d.ts +0 -43
  567. package/dist/components/data/kanban/KanbanContext.d.ts.map +0 -1
  568. package/dist/components/data/kanban/KanbanContext.js +0 -24
  569. package/dist/components/data/kanban/KanbanContext.js.map +0 -6
  570. package/dist/components/data/sheet/DataSheet.css +0 -44
  571. package/dist/components/disclosure/DialogContext.d.ts +0 -57
  572. package/dist/components/disclosure/DialogContext.d.ts.map +0 -1
  573. package/dist/components/disclosure/DialogContext.js +0 -14
  574. package/dist/components/disclosure/DialogContext.js.map +0 -6
  575. package/dist/components/disclosure/DialogInstanceContext.d.ts +0 -20
  576. package/dist/components/disclosure/DialogInstanceContext.d.ts.map +0 -1
  577. package/dist/components/disclosure/DialogInstanceContext.js +0 -10
  578. package/dist/components/disclosure/DialogInstanceContext.js.map +0 -6
  579. package/dist/components/disclosure/DialogProvider.d.ts +0 -19
  580. package/dist/components/disclosure/DialogProvider.d.ts.map +0 -1
  581. package/dist/components/disclosure/DialogProvider.js +0 -145
  582. package/dist/components/disclosure/DialogProvider.js.map +0 -6
  583. package/dist/components/features/shared-data/SharedDataSelectListContext.d.ts +0 -15
  584. package/dist/components/features/shared-data/SharedDataSelectListContext.d.ts.map +0 -1
  585. package/dist/components/features/shared-data/SharedDataSelectListContext.js +0 -27
  586. package/dist/components/features/shared-data/SharedDataSelectListContext.js.map +0 -6
  587. package/dist/components/feedback/busy/BusyContext.d.ts +0 -29
  588. package/dist/components/feedback/busy/BusyContext.d.ts.map +0 -1
  589. package/dist/components/feedback/busy/BusyContext.js +0 -14
  590. package/dist/components/feedback/busy/BusyContext.js.map +0 -6
  591. package/dist/components/feedback/notification/NotificationContext.d.ts +0 -69
  592. package/dist/components/feedback/notification/NotificationContext.d.ts.map +0 -1
  593. package/dist/components/feedback/notification/NotificationContext.js +0 -14
  594. package/dist/components/feedback/notification/NotificationContext.js.map +0 -6
  595. package/dist/components/feedback/print/PrintContext.d.ts +0 -12
  596. package/dist/components/feedback/print/PrintContext.d.ts.map +0 -1
  597. package/dist/components/feedback/print/PrintContext.js +0 -12
  598. package/dist/components/feedback/print/PrintContext.js.map +0 -6
  599. package/dist/components/feedback/print/PrintInstanceContext.d.ts +0 -6
  600. package/dist/components/feedback/print/PrintInstanceContext.d.ts.map +0 -1
  601. package/dist/components/feedback/print/PrintInstanceContext.js +0 -10
  602. package/dist/components/feedback/print/PrintInstanceContext.js.map +0 -6
  603. package/dist/components/form-control/combobox/ComboboxContext.d.ts +0 -14
  604. package/dist/components/form-control/combobox/ComboboxContext.d.ts.map +0 -1
  605. package/dist/components/form-control/combobox/ComboboxContext.js +0 -14
  606. package/dist/components/form-control/combobox/ComboboxContext.js.map +0 -6
  607. package/dist/components/form-control/combobox/ComboboxItem.d.ts +0 -12
  608. package/dist/components/form-control/combobox/ComboboxItem.d.ts.map +0 -1
  609. package/dist/components/form-control/combobox/ComboboxItem.js +0 -56
  610. package/dist/components/form-control/combobox/ComboboxItem.js.map +0 -6
  611. package/dist/components/form-control/select/SelectContext.d.ts +0 -21
  612. package/dist/components/form-control/select/SelectContext.d.ts.map +0 -1
  613. package/dist/components/form-control/select/SelectContext.js +0 -14
  614. package/dist/components/form-control/select/SelectContext.js.map +0 -6
  615. package/dist/components/form-control/select/SelectItem.d.ts +0 -30
  616. package/dist/components/form-control/select/SelectItem.d.ts.map +0 -1
  617. package/dist/components/form-control/select/SelectItem.js +0 -112
  618. package/dist/components/form-control/select/SelectItem.js.map +0 -6
  619. package/dist/components/layout/sidebar/SidebarContainer.d.ts +0 -34
  620. package/dist/components/layout/sidebar/SidebarContainer.d.ts.map +0 -1
  621. package/dist/components/layout/sidebar/SidebarContainer.js +0 -88
  622. package/dist/components/layout/sidebar/SidebarContainer.js.map +0 -6
  623. package/dist/components/layout/sidebar/SidebarContext.d.ts +0 -28
  624. package/dist/components/layout/sidebar/SidebarContext.d.ts.map +0 -1
  625. package/dist/components/layout/sidebar/SidebarContext.js +0 -20
  626. package/dist/components/layout/sidebar/SidebarContext.js.map +0 -6
  627. package/dist/components/layout/sidebar/SidebarMenu.d.ts +0 -35
  628. package/dist/components/layout/sidebar/SidebarMenu.d.ts.map +0 -1
  629. package/dist/components/layout/sidebar/SidebarMenu.js +0 -153
  630. package/dist/components/layout/sidebar/SidebarMenu.js.map +0 -6
  631. package/dist/components/layout/sidebar/SidebarUser.d.ts +0 -48
  632. package/dist/components/layout/sidebar/SidebarUser.d.ts.map +0 -1
  633. package/dist/components/layout/sidebar/SidebarUser.js +0 -128
  634. package/dist/components/layout/sidebar/SidebarUser.js.map +0 -6
  635. package/dist/components/layout/topbar/TopbarActions.d.ts +0 -3
  636. package/dist/components/layout/topbar/TopbarActions.d.ts.map +0 -1
  637. package/dist/components/layout/topbar/TopbarActions.js +0 -17
  638. package/dist/components/layout/topbar/TopbarActions.js.map +0 -6
  639. package/dist/components/layout/topbar/TopbarContainer.d.ts +0 -25
  640. package/dist/components/layout/topbar/TopbarContainer.d.ts.map +0 -1
  641. package/dist/components/layout/topbar/TopbarContainer.js +0 -37
  642. package/dist/components/layout/topbar/TopbarContainer.js.map +0 -6
  643. package/dist/components/layout/topbar/TopbarContext.d.ts +0 -9
  644. package/dist/components/layout/topbar/TopbarContext.d.ts.map +0 -1
  645. package/dist/components/layout/topbar/TopbarContext.js +0 -29
  646. package/dist/components/layout/topbar/TopbarContext.js.map +0 -6
  647. package/dist/components/layout/topbar/TopbarMenu.d.ts +0 -41
  648. package/dist/components/layout/topbar/TopbarMenu.d.ts.map +0 -1
  649. package/dist/components/layout/topbar/TopbarMenu.js +0 -288
  650. package/dist/components/layout/topbar/TopbarMenu.js.map +0 -6
  651. package/dist/components/layout/topbar/TopbarUser.d.ts +0 -35
  652. package/dist/components/layout/topbar/TopbarUser.d.ts.map +0 -1
  653. package/dist/components/layout/topbar/TopbarUser.js +0 -110
  654. package/dist/components/layout/topbar/TopbarUser.js.map +0 -6
  655. package/dist/helpers/createHmrSafeContext.d.ts +0 -3
  656. package/dist/helpers/createHmrSafeContext.d.ts.map +0 -1
  657. package/dist/helpers/createHmrSafeContext.js +0 -10
  658. package/dist/helpers/createHmrSafeContext.js.map +0 -6
  659. package/dist/helpers/createSlotComponent.d.ts +0 -12
  660. package/dist/helpers/createSlotComponent.d.ts.map +0 -1
  661. package/dist/helpers/createSlotComponent.js +0 -13
  662. package/dist/helpers/createSlotComponent.js.map +0 -6
  663. package/dist/hooks/createSelectionGroup.d.ts +0 -70
  664. package/dist/hooks/createSelectionGroup.d.ts.map +0 -1
  665. package/dist/hooks/createSelectionGroup.js +0 -145
  666. package/dist/hooks/createSelectionGroup.js.map +0 -6
  667. package/dist/hooks/createSlotSignal.d.ts +0 -9
  668. package/dist/hooks/createSlotSignal.d.ts.map +0 -1
  669. package/dist/hooks/createSlotSignal.js +0 -10
  670. package/dist/hooks/createSlotSignal.js.map +0 -6
  671. package/dist/providers/LoggerContext.d.ts.map +0 -1
  672. package/dist/providers/ServiceClientContext.d.ts +0 -23
  673. package/dist/providers/ServiceClientContext.d.ts.map +0 -1
  674. package/dist/providers/ServiceClientContext.js +0 -14
  675. package/dist/providers/ServiceClientContext.js.map +0 -6
  676. package/dist/providers/SyncStorageContext.d.ts.map +0 -1
  677. package/dist/providers/i18n/I18nContext.d.ts.map +0 -1
  678. package/dist/providers/i18n/I18nContext.types.d.ts.map +0 -1
  679. package/dist/providers/i18n/I18nContext.types.js +0 -1
  680. package/dist/providers/shared-data/SharedDataContext.d.ts +0 -77
  681. package/dist/providers/shared-data/SharedDataContext.d.ts.map +0 -1
  682. package/dist/providers/shared-data/SharedDataContext.js +0 -14
  683. package/dist/providers/shared-data/SharedDataContext.js.map +0 -6
  684. package/dist/styles/patterns.styles.d.ts +0 -7
  685. package/dist/styles/patterns.styles.d.ts.map +0 -1
  686. package/dist/styles/patterns.styles.js +0 -47
  687. package/dist/styles/patterns.styles.js.map +0 -6
  688. package/dist/styles/tokens.styles.d.ts +0 -23
  689. package/dist/styles/tokens.styles.d.ts.map +0 -1
  690. package/dist/styles/tokens.styles.js +0 -76
  691. package/dist/styles/tokens.styles.js.map +0 -6
  692. package/src/components/data/kanban/KanbanContext.ts +0 -76
  693. package/src/components/data/sheet/DataSheet.css +0 -44
  694. package/src/components/disclosure/DialogContext.ts +0 -69
  695. package/src/components/disclosure/DialogInstanceContext.ts +0 -25
  696. package/src/components/disclosure/DialogProvider.tsx +0 -147
  697. package/src/components/features/shared-data/SharedDataSelectListContext.ts +0 -39
  698. package/src/components/feedback/busy/BusyContext.ts +0 -38
  699. package/src/components/feedback/notification/NotificationContext.ts +0 -95
  700. package/src/components/feedback/print/PrintContext.ts +0 -20
  701. package/src/components/feedback/print/PrintInstanceContext.ts +0 -11
  702. package/src/components/form-control/combobox/ComboboxContext.ts +0 -25
  703. package/src/components/form-control/combobox/ComboboxItem.tsx +0 -69
  704. package/src/components/form-control/select/SelectContext.ts +0 -35
  705. package/src/components/form-control/select/SelectItem.tsx +0 -128
  706. package/src/components/layout/sidebar/SidebarContainer.tsx +0 -123
  707. package/src/components/layout/sidebar/SidebarContext.ts +0 -40
  708. package/src/components/layout/sidebar/SidebarMenu.tsx +0 -182
  709. package/src/components/layout/sidebar/SidebarUser.tsx +0 -142
  710. package/src/components/layout/topbar/TopbarActions.tsx +0 -8
  711. package/src/components/layout/topbar/TopbarContainer.tsx +0 -44
  712. package/src/components/layout/topbar/TopbarContext.ts +0 -36
  713. package/src/components/layout/topbar/TopbarMenu.tsx +0 -227
  714. package/src/components/layout/topbar/TopbarUser.tsx +0 -97
  715. package/src/helpers/createHmrSafeContext.ts +0 -8
  716. package/src/helpers/createSlotComponent.ts +0 -23
  717. package/src/hooks/createSelectionGroup.tsx +0 -241
  718. package/src/hooks/createSlotSignal.ts +0 -14
  719. package/src/providers/ServiceClientContext.ts +0 -32
  720. package/src/providers/shared-data/SharedDataContext.ts +0 -91
  721. package/src/styles/patterns.styles.ts +0 -50
  722. package/src/styles/tokens.styles.ts +0 -86
  723. package/tests/components/data/Table.spec.tsx +0 -55
  724. package/tests/components/display/Alert.spec.tsx +0 -47
  725. package/tests/components/display/Card.spec.tsx +0 -41
  726. package/tests/components/display/Link.spec.tsx +0 -62
  727. package/tests/components/display/Tag.spec.tsx +0 -47
  728. package/tests/components/feedback/print/Print.spec.tsx +0 -45
  729. package/tests/components/layout/FormGroup.spec.tsx +0 -104
  730. package/tests/components/layout/FormTable.spec.tsx +0 -43
  731. package/tests/components/layout/topbar/TopbarContainer.spec.tsx +0 -38
  732. package/tests/providers/ClipboardProvider.spec.tsx +0 -20
  733. package/tests/providers/ConfigContext.spec.tsx +0 -42
  734. package/tests/providers/LoggerContext.spec.tsx +0 -76
  735. package/tests/providers/PwaUpdateProvider.spec.tsx +0 -32
  736. package/tests/providers/SyncStorageContext.spec.tsx +0 -77
  737. /package/dist/components/feedback/busy/{BusyContainer.css → BusyContainer.animate.css} +0 -0
  738. /package/dist/providers/i18n/{I18nContext.types.js.map → I18nProvider.types.js.map} +0 -0
  739. /package/src/components/feedback/busy/{BusyContainer.css → BusyContainer.animate.css} +0 -0
  740. /package/src/providers/{LoggerContext.tsx → LoggerProvider.tsx} +0 -0
  741. /package/src/providers/{SyncStorageContext.tsx → SyncStorageProvider.tsx} +0 -0
  742. /package/src/providers/i18n/{I18nContext.types.ts → I18nProvider.types.ts} +0 -0
@@ -1,7 +1,5 @@
1
1
  import {
2
- children,
3
2
  createEffect,
4
- createMemo,
5
3
  createSignal,
6
4
  createUniqueId,
7
5
  For,
@@ -19,19 +17,21 @@ import "@simplysm/core-common"; // register extensions
19
17
  import type { SortingDef } from "../../data/sheet/types";
20
18
  import { DataSheet } from "../../data/sheet/DataSheet";
21
19
  import { DataSheetColumn } from "../../data/sheet/DataSheetColumn";
20
+ import { normalizeHeader } from "../../data/sheet/sheetUtils";
22
21
  import { BusyContainer } from "../../feedback/busy/BusyContainer";
23
- import { useNotification } from "../../feedback/notification/NotificationContext";
24
- import { useI18n } from "../../../providers/i18n/I18nContext";
22
+ import { useNotification } from "../../feedback/notification/NotificationProvider";
23
+ import { useI18n } from "../../../providers/i18n/I18nProvider";
25
24
  import { Button } from "../../form-control/Button";
26
25
  import { Icon } from "../../display/Icon";
27
26
  import { FormGroup } from "../../layout/FormGroup";
28
- import { createTopbarActions, TopbarContext } from "../../layout/topbar/TopbarContext";
29
- import { useDialogInstance } from "../../disclosure/DialogInstanceContext";
27
+ import { createTopbarActions, TopbarContext } from "../../layout/topbar/Topbar";
30
28
  import { Dialog } from "../../disclosure/Dialog";
31
29
  import { Link } from "../../display/Link";
32
30
  import { createEventListener } from "@solid-primitives/event-listener";
33
31
  import { useBeforeLeave } from "@solidjs/router";
34
32
  import clsx from "clsx";
33
+ import { text } from "../../../styles/base.styles";
34
+ import { gap, pad } from "../../../styles/control.styles";
35
35
  import {
36
36
  IconDeviceFloppy,
37
37
  IconExternalLink,
@@ -44,17 +44,14 @@ import {
44
44
  IconUpload,
45
45
  } from "@tabler/icons-solidjs";
46
46
  import { registerCrud, unregisterCrud, activateCrud, isActiveCrud } from "../crudRegistry";
47
- import { CrudSheetColumn, isCrudSheetColumnDef } from "./CrudSheetColumn";
48
- import { CrudSheetFilter, isCrudSheetFilterDef } from "./CrudSheetFilter";
49
- import { CrudSheetTools, isCrudSheetToolsDef } from "./CrudSheetTools";
50
- import { CrudSheetHeader, isCrudSheetHeaderDef } from "./CrudSheetHeader";
47
+ import { CrudSheetColumn, createCrudSheetColumnSlotsAccessor } from "./CrudSheetColumn";
48
+ import { CrudSheetFilter, createCrudSheetFilterSlotAccessor } from "./CrudSheetFilter";
49
+ import { CrudSheetTools, createCrudSheetToolsSlotAccessor } from "./CrudSheetTools";
50
+ import { CrudSheetHeader, createCrudSheetHeaderSlotAccessor } from "./CrudSheetHeader";
51
51
  import type {
52
- CrudSheetColumnDef,
52
+ CrudSheetCellContext,
53
53
  CrudSheetContext,
54
- CrudSheetFilterDef,
55
- CrudSheetHeaderDef,
56
54
  CrudSheetProps,
57
- CrudSheetToolsDef,
58
55
  SearchResult,
59
56
  } from "./types";
60
57
 
@@ -72,24 +69,25 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
72
69
  const [local] = splitProps(props, [
73
70
  "search",
74
71
  "getItemKey",
75
- "persistKey",
72
+ "storageKey",
76
73
  "editable",
77
74
  "itemEditable",
78
75
  "itemDeletable",
79
76
  "itemDeleted",
80
- "isItemSelectable",
77
+ "itemSelectable",
81
78
  "lastModifiedAtProp",
82
79
  "lastModifiedByProp",
83
- "onSubmitted",
80
+ "onSubmitComplete",
84
81
  "filterInitial",
85
82
  "items",
86
83
  "onItemsChange",
87
84
  "inlineEdit",
88
85
  "dialogEdit",
89
86
  "excel",
90
- "selectMode",
87
+ "selectionMode",
91
88
  "onSelect",
92
89
  "hideAutoTools",
90
+ "close",
93
91
  "class",
94
92
  "children",
95
93
  ]);
@@ -97,22 +95,15 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
97
95
  const noti = useNotification();
98
96
  const i18n = useI18n();
99
97
  const topbarCtx = useContext(TopbarContext);
100
- const dialogInstance = useDialogInstance();
101
- const isInDialog = dialogInstance !== undefined;
102
- const isSelectMode = () => local.selectMode != null;
98
+ const isInDialog = local.close !== undefined;
99
+ const isSelectMode = () => local.selectionMode != null;
103
100
  const canEdit = () => (isInDialog && isSelectMode() ? false : (local.editable ?? true));
104
101
 
105
- // -- Children Resolution --
106
- const resolved = children(() => local.children);
107
- const defs = createMemo(() => {
108
- const arr = resolved.toArray();
109
- return {
110
- filter: arr.find(isCrudSheetFilterDef) as CrudSheetFilterDef<TFilter> | undefined,
111
- columns: arr.filter(isCrudSheetColumnDef) as unknown as CrudSheetColumnDef<TItem>[],
112
- tools: arr.find(isCrudSheetToolsDef) as CrudSheetToolsDef<TItem> | undefined,
113
- header: arr.find(isCrudSheetHeaderDef) as CrudSheetHeaderDef | undefined,
114
- };
115
- });
102
+ // -- Slot Accessors --
103
+ const [headerSlot, HeaderProvider] = createCrudSheetHeaderSlotAccessor();
104
+ const [filterSlot, FilterProvider] = createCrudSheetFilterSlotAccessor();
105
+ const [toolsSlot, ToolsProvider] = createCrudSheetToolsSlotAccessor();
106
+ const [columnSlots, ColumnsProvider] = createCrudSheetColumnSlotsAccessor();
116
107
 
117
108
  // -- State --
118
109
  const [items, setItems] = createControllableStore<TItem[]>({
@@ -121,7 +112,6 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
121
112
  });
122
113
  let originalItems: TItem[] = [];
123
114
 
124
- // eslint-disable-next-line solid/reactivity -- filterInitial is used only for initial value
125
115
  const [filter, setFilter] = createStore<TFilter>((local.filterInitial ?? {}) as TFilter);
126
116
  const [lastFilter, setLastFilter] = createSignal<TFilter>(objClone(filter));
127
117
 
@@ -132,7 +122,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
132
122
  const [busyCount, setBusyCount] = createSignal(0);
133
123
  const [ready, setReady] = createSignal(false);
134
124
 
135
- const [selectedItems, setSelectedItems] = createSignal<TItem[]>([]);
125
+ const [selection, setSelection] = createSignal<TItem[]>([]);
136
126
  const [selectedKeys, setSelectedKeys] = createSignal<Set<string | number>>(new Set());
137
127
 
138
128
  let formRef: HTMLFormElement | undefined;
@@ -146,13 +136,13 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
146
136
  void doRefresh();
147
137
  });
148
138
 
149
- // -- Key-based selection: restore selectedItems when items change --
139
+ // -- Key-based selection: restore selection when items change --
150
140
  createEffect(() => {
151
141
  const currentItems = items as unknown as TItem[];
152
142
  const keys = selectedKeys();
153
143
  if (keys.size === 0) {
154
- if (selectedItems().length > 0) {
155
- setSelectedItems([]);
144
+ if (selection().length > 0) {
145
+ setSelection([]);
156
146
  }
157
147
  return;
158
148
  }
@@ -160,7 +150,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
160
150
  const key = local.getItemKey(item);
161
151
  return key != null && keys.has(key);
162
152
  });
163
- setSelectedItems(restored);
153
+ setSelection(restored);
164
154
  });
165
155
 
166
156
  async function doRefresh() {
@@ -181,13 +171,11 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
181
171
  setTotalPageCount(result.pageCount ?? 0);
182
172
  }
183
173
 
184
- /* eslint-disable solid/reactivity -- called only in event handlers, immediate store read */
185
174
  function getItemDiffs() {
186
175
  return items.oneWayDiffs(originalItems, (item) => local.getItemKey(item), {
187
176
  excludes: local.inlineEdit?.diffsExcludes,
188
177
  });
189
178
  }
190
- /* eslint-enable solid/reactivity */
191
179
 
192
180
  function checkIgnoreChanges(): boolean {
193
181
  if (!local.inlineEdit) return true;
@@ -252,7 +240,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
252
240
  await local.inlineEdit.submit(diffs);
253
241
  noti.success(i18n.t("crudSheet.saveCompleted"), i18n.t("crudSheet.saveSuccess"));
254
242
  await refresh();
255
- local.onSubmitted?.();
243
+ local.onSubmitComplete?.();
256
244
  } catch (err) {
257
245
  noti.error(err, i18n.t("crudSheet.saveFailed"));
258
246
  }
@@ -281,7 +269,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
281
269
 
282
270
  async function handleDeleteItems() {
283
271
  if (!local.dialogEdit?.deleteItems) return;
284
- const result = await local.dialogEdit.deleteItems(selectedItems());
272
+ const result = await local.dialogEdit.deleteItems(selection());
285
273
  if (!result) return;
286
274
 
287
275
  setBusyCount((c) => c + 1);
@@ -296,7 +284,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
296
284
 
297
285
  async function handleRestoreItems() {
298
286
  if (!local.dialogEdit?.restoreItems) return;
299
- const result = await local.dialogEdit.restoreItems(selectedItems());
287
+ const result = await local.dialogEdit.restoreItems(selection());
300
288
  if (!result) return;
301
289
 
302
290
  setBusyCount((c) => c + 1);
@@ -347,7 +335,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
347
335
  }
348
336
 
349
337
  // -- Select Mode --
350
- function handleSelectedItemsChange(newSelectedItems: TItem[]) {
338
+ function handleSelectionChange(newSelection: TItem[]) {
351
339
  // Current page items key Set
352
340
  const currentItems = items as unknown as TItem[];
353
341
  const currentKeys = new Set<string | number>();
@@ -358,7 +346,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
358
346
 
359
347
  // Newly selected items key
360
348
  const newSelectedKeys = new Set<string | number>();
361
- for (const item of newSelectedItems) {
349
+ for (const item of newSelection) {
362
350
  const key = local.getItemKey(item);
363
351
  if (key != null) newSelectedKeys.add(key);
364
352
  }
@@ -375,17 +363,17 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
375
363
  }
376
364
 
377
365
  setSelectedKeys(merged);
378
- setSelectedItems(newSelectedItems);
366
+ setSelection(newSelection);
379
367
  }
380
368
 
381
369
  function clearSelection() {
382
370
  setSelectedKeys(new Set<string | number>());
383
- setSelectedItems([]);
371
+ setSelection([]);
384
372
  }
385
373
 
386
374
  function handleSelectConfirm() {
387
375
  local.onSelect?.({
388
- items: selectedItems(),
376
+ items: selection(),
389
377
  keys: [...selectedKeys()],
390
378
  });
391
379
  }
@@ -412,7 +400,6 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
412
400
  });
413
401
 
414
402
  // -- Route Leave Guard --
415
- // eslint-disable-next-line solid/reactivity -- inlineEdit is used only for initial value
416
403
  if (!isInDialog && local.inlineEdit) {
417
404
  try {
418
405
  useBeforeLeave((e) => {
@@ -451,7 +438,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
451
438
  // -- Context for Tools --
452
439
  const ctx: CrudSheetContext<TItem> = {
453
440
  items: () => items as unknown as TItem[],
454
- selectedItems,
441
+ selection,
455
442
  page,
456
443
  sorts,
457
444
  busy: () => busyCount() > 0,
@@ -475,11 +462,19 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
475
462
 
476
463
  return (
477
464
  <>
465
+ <ColumnsProvider>
466
+ <HeaderProvider>
467
+ <FilterProvider>
468
+ <ToolsProvider>{local.children}</ToolsProvider>
469
+ </FilterProvider>
470
+ </HeaderProvider>
471
+ </ColumnsProvider>
472
+
478
473
  {/* Dialog mode: Dialog.Action (refresh button in header) */}
479
474
  <Show when={isInDialog}>
480
475
  <Dialog.Action>
481
476
  <button
482
- class="flex items-center px-2 text-base-400 hover:text-base-600"
477
+ class={clsx("flex items-center px-2 hover:text-base-600", text.muted)}
483
478
  onClick={handleRefresh}
484
479
  >
485
480
  <Icon icon={IconRefresh} />
@@ -514,11 +509,11 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
514
509
  </Show>
515
510
 
516
511
  {/* Header (optional) */}
517
- <Show when={defs().header}>{(headerDef) => headerDef().children}</Show>
512
+ <Show when={headerSlot()}>{(slot) => slot().children}</Show>
518
513
 
519
514
  {/* Filter */}
520
- <Show when={defs().filter}>
521
- {(filterDef) => (
515
+ <Show when={filterSlot()}>
516
+ {(slot) => (
522
517
  <form class="p-2" onSubmit={handleFilterSubmit}>
523
518
  <FormGroup inline>
524
519
  <FormGroup.Item>
@@ -527,7 +522,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
527
522
  {i18n.t("crudSheet.search")}
528
523
  </Button>
529
524
  </FormGroup.Item>
530
- {filterDef().children(filter, setFilter)}
525
+ {slot().children(filter, setFilter)}
531
526
  </FormGroup>
532
527
  </form>
533
528
  )}
@@ -563,8 +558,8 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
563
558
  variant="ghost"
564
559
  onClick={handleDeleteItems}
565
560
  disabled={
566
- selectedItems().length === 0 ||
567
- !selectedItems().some(
561
+ selection().length === 0 ||
562
+ !selection().some(
568
563
  (item) =>
569
564
  (local.itemDeletable?.(item) ?? true) &&
570
565
  !(local.itemDeleted?.(item) ?? false),
@@ -582,8 +577,8 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
582
577
  variant="ghost"
583
578
  onClick={handleRestoreItems}
584
579
  disabled={
585
- selectedItems().length === 0 ||
586
- !selectedItems().some((item) => local.itemDeleted?.(item) ?? false)
580
+ selection().length === 0 ||
581
+ !selection().some((item) => local.itemDeleted?.(item) ?? false)
587
582
  }
588
583
  >
589
584
  <Icon icon={IconTrashOff} class="mr-1" />
@@ -607,7 +602,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
607
602
  </Show>
608
603
 
609
604
  {/* Custom tools */}
610
- <Show when={defs().tools}>{(toolsDef) => toolsDef().children(ctx)}</Show>
605
+ <Show when={toolsSlot()}>{(slot) => slot().children(ctx)}</Show>
611
606
  </div>
612
607
  </Show>
613
608
 
@@ -616,23 +611,23 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
616
611
  <DataSheet
617
612
  class="h-full"
618
613
  items={items}
619
- persistKey={local.persistKey != null ? `${local.persistKey}-sheet` : undefined}
614
+ storageKey={local.storageKey != null ? `${local.storageKey}-sheet` : undefined}
620
615
  page={totalPageCount() > 0 ? page() : undefined}
621
616
  onPageChange={setPage}
622
617
  totalPageCount={totalPageCount()}
623
618
  sorts={sorts()}
624
619
  onSortsChange={setSorts}
625
- isItemSelectable={local.isItemSelectable}
626
- selectMode={
620
+ itemSelectable={local.itemSelectable}
621
+ selectionMode={
627
622
  isSelectMode()
628
- ? local.selectMode
623
+ ? local.selectionMode
629
624
  : local.dialogEdit?.deleteItems != null || local.dialogEdit?.restoreItems != null
630
625
  ? "multiple"
631
626
  : undefined
632
627
  }
633
- selectedItems={selectedItems()}
634
- onSelectedItemsChange={handleSelectedItemsChange}
635
- autoSelect={isSelectMode() && local.selectMode === "single" ? "click" : undefined}
628
+ selection={selection()}
629
+ onSelectionChange={handleSelectionChange}
630
+ autoSelect={isSelectMode() && local.selectionMode === "single" ? "click" : undefined}
636
631
  cellClass={(item) => {
637
632
  if (isItemDeleted(item)) {
638
633
  return "line-through";
@@ -664,41 +659,41 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
664
659
  </Show>
665
660
 
666
661
  {/* User-defined columns -- map CrudSheetColumn to DataSheetColumn */}
667
- <For each={defs().columns}>
662
+ <For each={columnSlots()}>
668
663
  {(col) => (
669
664
  <DataSheetColumn<TItem>
670
665
  key={col.key}
671
- header={col.header}
666
+ header={normalizeHeader(col.header)}
672
667
  headerContent={col.headerContent}
673
668
  headerStyle={col.headerStyle}
674
669
  summary={col.summary}
675
670
  tooltip={col.tooltip}
676
- fixed={col.fixed}
677
- hidden={col.hidden}
678
- collapse={col.collapse}
671
+ fixed={col.fixed ?? false}
672
+ hidden={col.hidden ?? false}
673
+ collapse={col.collapse ?? false}
679
674
  width={col.width}
680
675
  class={col.class}
681
- sortable={col.sortable}
682
- resizable={col.resizable}
676
+ sortable={col.sortable ?? true}
677
+ resizable={col.resizable ?? true}
683
678
  >
684
679
  {(dsCtx) => {
685
- const crudCtx = {
680
+ const crudCtx: CrudSheetCellContext<any> = {
686
681
  ...dsCtx,
687
- setItem: <TKey extends keyof TItem>(key: TKey, value: TItem[TKey]) => {
688
- setItems(dsCtx.index as any, key as any, value as any);
682
+ setItem: (key, value) => {
683
+ setItems(dsCtx.index as any, key as any, value);
689
684
  },
690
685
  };
691
686
 
692
687
  // dialogEdit editable column -- wrap with edit link
693
688
  if (
694
689
  local.dialogEdit &&
695
- col.editTrigger &&
690
+ (col.editTrigger ?? false) &&
696
691
  canEdit() &&
697
692
  (local.itemEditable?.(dsCtx.item) ?? true)
698
693
  ) {
699
694
  return (
700
695
  <Link
701
- class={clsx("flex", "gap-1")}
696
+ class={clsx("flex", gap.default)}
702
697
  onClick={(e) => {
703
698
  e.preventDefault();
704
699
  e.stopPropagation();
@@ -708,12 +703,12 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
708
703
  <div class={"p-1"}>
709
704
  <Icon icon={IconExternalLink} />
710
705
  </div>
711
- <div class={"flex-1"}>{col.cell(crudCtx)}</div>
706
+ <div class={"flex-1"}>{col.children(crudCtx)}</div>
712
707
  </Link>
713
708
  );
714
709
  }
715
710
 
716
- return col.cell(crudCtx);
711
+ return col.children(crudCtx);
717
712
  }}
718
713
  </DataSheetColumn>
719
714
  )}
@@ -723,7 +718,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
723
718
  <Show when={local.lastModifiedAtProp}>
724
719
  <DataSheetColumn<TItem> key={local.lastModifiedAtProp!} header={i18n.t("crudSheet.lastModified")} hidden>
725
720
  {(dsCtx) => (
726
- <div class="px-2 py-1 text-center">
721
+ <div class={clsx(pad.default, "text-center")}>
727
722
  {(
728
723
  objGetChainValue(dsCtx.item, local.lastModifiedAtProp!, true) as
729
724
  | DateTime
@@ -737,7 +732,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
737
732
  <Show when={local.lastModifiedByProp}>
738
733
  <DataSheetColumn<TItem> key={local.lastModifiedByProp!} header={i18n.t("crudSheet.modifiedBy")} hidden>
739
734
  {(dsCtx) => (
740
- <div class="px-2 py-1 text-center">
735
+ <div class={clsx(pad.default, "text-center")}>
741
736
  {objGetChainValue(dsCtx.item, local.lastModifiedByProp!, true) as string}
742
737
  </div>
743
738
  )}
@@ -750,14 +745,14 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
750
745
  <Show when={isInDialog && isSelectMode()}>
751
746
  <div class="flex gap-2 border-t p-2">
752
747
  <div class="flex-1" />
753
- <Show when={selectedItems().length > 0}>
748
+ <Show when={selection().length > 0}>
754
749
  <Button size="sm" theme="danger" onClick={handleSelectCancel}>
755
- {local.selectMode === "multiple" ? i18n.t("crudSheet.deselectAll") : i18n.t("crudSheet.deselect")}
750
+ {local.selectionMode === "multiple" ? i18n.t("crudSheet.deselectAll") : i18n.t("crudSheet.deselect")}
756
751
  </Button>
757
752
  </Show>
758
- <Show when={local.selectMode === "multiple"}>
753
+ <Show when={local.selectionMode === "multiple"}>
759
754
  <Button size="sm" theme="primary" onClick={handleSelectConfirm}>
760
- {i18n.t("crudSheet.confirm")} ({selectedItems().length})
755
+ {i18n.t("crudSheet.confirm")} ({selection().length})
761
756
  </Button>
762
757
  </Show>
763
758
  </div>
@@ -767,8 +762,11 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
767
762
  );
768
763
  };
769
764
 
770
- export const CrudSheet = CrudSheetBase as unknown as CrudSheetComponent;
771
- CrudSheet.Column = CrudSheetColumn;
772
- CrudSheet.Filter = CrudSheetFilter;
773
- CrudSheet.Tools = CrudSheetTools;
774
- CrudSheet.Header = CrudSheetHeader;
765
+ //#region Export
766
+ export const CrudSheet = Object.assign(CrudSheetBase as unknown as CrudSheetComponent, {
767
+ Column: CrudSheetColumn,
768
+ Filter: CrudSheetFilter,
769
+ Tools: CrudSheetTools,
770
+ Header: CrudSheetHeader,
771
+ });
772
+ //#endregion
@@ -1,34 +1,11 @@
1
1
  import type { JSX } from "solid-js";
2
- import type { CrudSheetColumnDef, CrudSheetColumnProps } from "./types";
3
- import { normalizeHeader } from "../../data/sheet/sheetUtils";
2
+ import { createSlots } from "../../../helpers/createSlots";
3
+ import type { CrudSheetColumnProps } from "./types";
4
4
 
5
- export function isCrudSheetColumnDef(value: unknown): value is CrudSheetColumnDef<unknown> {
6
- return (
7
- value != null &&
8
- typeof value === "object" &&
9
- (value as Record<string, unknown>)["__type"] === "crud-sheet-column"
10
- );
11
- }
5
+ const [SlotComponent, createCrudSheetColumnSlotsAccessor] = createSlots<CrudSheetColumnProps<any>>();
12
6
 
13
- /* eslint-disable solid/reactivity -- plain object return pattern, reactive context not needed */
14
- export function CrudSheetColumn<TItem>(props: CrudSheetColumnProps<TItem>): JSX.Element {
15
- return {
16
- __type: "crud-sheet-column",
17
- key: props.key,
18
- header: normalizeHeader(props.header),
19
- headerContent: props.headerContent,
20
- headerStyle: props.headerStyle,
21
- summary: props.summary,
22
- tooltip: props.tooltip,
23
- cell: props.children,
24
- class: props.class,
25
- fixed: props.fixed ?? false,
26
- hidden: props.hidden ?? false,
27
- collapse: props.collapse ?? false,
28
- width: props.width,
29
- sortable: props.sortable ?? true,
30
- resizable: props.resizable ?? true,
31
- editTrigger: props.editTrigger ?? false,
32
- } as unknown as JSX.Element;
7
+ function CrudSheetColumn<TItem>(props: CrudSheetColumnProps<TItem>): JSX.Element {
8
+ return SlotComponent(props as CrudSheetColumnProps<any>);
33
9
  }
34
- /* eslint-enable solid/reactivity */
10
+
11
+ export { CrudSheetColumn, createCrudSheetColumnSlotsAccessor };
@@ -1,21 +1,17 @@
1
1
  import type { JSX } from "solid-js";
2
- import type { CrudSheetFilterDef } from "./types";
2
+ import type { SetStoreFunction } from "solid-js/store";
3
+ import { createSlot } from "../../../helpers/createSlot";
3
4
 
4
- export function isCrudSheetFilterDef(value: unknown): value is CrudSheetFilterDef<any> {
5
- return (
6
- value != null &&
7
- typeof value === "object" &&
8
- (value as Record<string, unknown>)["__type"] === "crud-sheet-filter"
9
- );
5
+ export interface CrudSheetFilterSlotProps<TFilter> {
6
+ children: (filter: TFilter, setFilter: SetStoreFunction<TFilter>) => JSX.Element;
10
7
  }
11
8
 
12
- /* eslint-disable solid/reactivity -- plain object return pattern does not require reactive context */
13
- export function CrudSheetFilter<TFilter>(props: {
14
- children: (filter: TFilter, setFilter: any) => JSX.Element;
15
- }): JSX.Element {
16
- return {
17
- __type: "crud-sheet-filter",
18
- children: props.children,
19
- } as unknown as JSX.Element;
9
+ const [CrudSheetFilterBase, createCrudSheetFilterSlotAccessor] = createSlot<
10
+ CrudSheetFilterSlotProps<any>
11
+ >();
12
+
13
+ function CrudSheetFilter<TFilter>(props: CrudSheetFilterSlotProps<TFilter>): JSX.Element {
14
+ return CrudSheetFilterBase(props as CrudSheetFilterSlotProps<any>);
20
15
  }
21
- /* eslint-enable solid/reactivity */
16
+
17
+ export { CrudSheetFilter, createCrudSheetFilterSlotAccessor };
@@ -1,19 +1,6 @@
1
1
  import type { JSX } from "solid-js";
2
- import type { CrudSheetHeaderDef } from "./types";
2
+ import { createSlot } from "../../../helpers/createSlot";
3
3
 
4
- export function isCrudSheetHeaderDef(value: unknown): value is CrudSheetHeaderDef {
5
- return (
6
- value != null &&
7
- typeof value === "object" &&
8
- (value as Record<string, unknown>)["__type"] === "crud-sheet-header"
9
- );
10
- }
4
+ const [CrudSheetHeader, createCrudSheetHeaderSlotAccessor] = createSlot<{ children: JSX.Element }>();
11
5
 
12
- /* eslint-disable solid/reactivity -- plain object return pattern does not require reactive context */
13
- export function CrudSheetHeader(props: { children: JSX.Element }): JSX.Element {
14
- return {
15
- __type: "crud-sheet-header",
16
- children: props.children,
17
- } as unknown as JSX.Element;
18
- }
19
- /* eslint-enable solid/reactivity */
6
+ export { CrudSheetHeader, createCrudSheetHeaderSlotAccessor };
@@ -1,21 +1,17 @@
1
1
  import type { JSX } from "solid-js";
2
- import type { CrudSheetToolsDef } from "./types";
2
+ import type { CrudSheetContext } from "./types";
3
+ import { createSlot } from "../../../helpers/createSlot";
3
4
 
4
- export function isCrudSheetToolsDef(value: unknown): value is CrudSheetToolsDef<any> {
5
- return (
6
- value != null &&
7
- typeof value === "object" &&
8
- (value as Record<string, unknown>)["__type"] === "crud-sheet-tools"
9
- );
5
+ export interface CrudSheetToolsSlotProps<TItem> {
6
+ children: (ctx: CrudSheetContext<TItem>) => JSX.Element;
10
7
  }
11
8
 
12
- /* eslint-disable solid/reactivity -- plain object return pattern does not require reactive context */
13
- export function CrudSheetTools<_TItem>(props: {
14
- children: (ctx: any) => JSX.Element;
15
- }): JSX.Element {
16
- return {
17
- __type: "crud-sheet-tools",
18
- children: props.children,
19
- } as unknown as JSX.Element;
9
+ const [CrudSheetToolsBase, createCrudSheetToolsSlotAccessor] = createSlot<
10
+ CrudSheetToolsSlotProps<any>
11
+ >();
12
+
13
+ function CrudSheetTools<TItem>(props: CrudSheetToolsSlotProps<TItem>): JSX.Element {
14
+ return CrudSheetToolsBase(props as CrudSheetToolsSlotProps<any>);
20
15
  }
21
- /* eslint-enable solid/reactivity */
16
+
17
+ export { CrudSheetTools, createCrudSheetToolsSlotAccessor };