@simplysm/solid 13.0.75 → 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 (782) hide show
  1. package/README.md +13 -14
  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 +50 -16
  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 +7 -28
  19. package/dist/components/data/list/List.d.ts.map +1 -1
  20. package/dist/components/data/list/List.js +5 -7
  21. package/dist/components/data/list/List.js.map +2 -2
  22. package/dist/components/data/list/ListItem.d.ts +7 -34
  23. package/dist/components/data/list/ListItem.d.ts.map +1 -1
  24. package/dist/components/data/list/ListItem.js +15 -20
  25. package/dist/components/data/list/ListItem.js.map +2 -2
  26. package/dist/components/data/list/ListItem.styles.d.ts +1 -1
  27. package/dist/components/data/list/ListItem.styles.d.ts.map +1 -1
  28. package/dist/components/data/list/ListItem.styles.js +8 -8
  29. package/dist/components/data/list/ListItem.styles.js.map +1 -1
  30. package/dist/components/data/sheet/DataSheet.d.ts +3 -7
  31. package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
  32. package/dist/components/data/sheet/DataSheet.js +557 -843
  33. package/dist/components/data/sheet/DataSheet.js.map +2 -2
  34. package/dist/components/data/sheet/DataSheet.styles.d.ts +2 -1
  35. package/dist/components/data/sheet/DataSheet.styles.d.ts.map +1 -1
  36. package/dist/components/data/sheet/DataSheet.styles.js +32 -10
  37. package/dist/components/data/sheet/DataSheet.styles.js.map +1 -1
  38. package/dist/components/data/sheet/{types.d.ts → DataSheet.types.d.ts} +14 -9
  39. package/dist/components/data/sheet/DataSheet.types.d.ts.map +1 -0
  40. package/dist/components/data/sheet/DataSheet.types.js +1 -0
  41. package/dist/components/data/sheet/{sheetUtils.d.ts → DataSheet.utils.d.ts} +4 -4
  42. package/dist/components/data/sheet/DataSheet.utils.d.ts.map +1 -0
  43. package/dist/components/data/sheet/{sheetUtils.js → DataSheet.utils.js} +8 -8
  44. package/dist/components/data/sheet/DataSheet.utils.js.map +6 -0
  45. package/dist/components/data/sheet/DataSheetColumn.d.ts +4 -3
  46. package/dist/components/data/sheet/DataSheetColumn.d.ts.map +1 -1
  47. package/dist/components/data/sheet/DataSheetColumn.js +4 -22
  48. package/dist/components/data/sheet/DataSheetColumn.js.map +2 -2
  49. package/dist/components/data/sheet/DataSheetConfigDialog.d.ts +2 -1
  50. package/dist/components/data/sheet/DataSheetConfigDialog.d.ts.map +1 -1
  51. package/dist/components/data/sheet/DataSheetConfigDialog.js +19 -18
  52. package/dist/components/data/sheet/DataSheetConfigDialog.js.map +2 -2
  53. package/dist/components/data/sheet/hooks/useDataSheetExpansion.d.ts +17 -0
  54. package/dist/components/data/sheet/hooks/useDataSheetExpansion.d.ts.map +1 -0
  55. package/dist/components/data/sheet/hooks/useDataSheetExpansion.js +61 -0
  56. package/dist/components/data/sheet/hooks/useDataSheetExpansion.js.map +6 -0
  57. package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.d.ts +29 -0
  58. package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.d.ts.map +1 -0
  59. package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.js +101 -0
  60. package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.js.map +6 -0
  61. package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.d.ts +27 -0
  62. package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.d.ts.map +1 -0
  63. package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.js +173 -0
  64. package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.js.map +6 -0
  65. package/dist/components/data/sheet/hooks/useDataSheetPaging.d.ts +17 -0
  66. package/dist/components/data/sheet/hooks/useDataSheetPaging.d.ts.map +1 -0
  67. package/dist/components/data/sheet/hooks/useDataSheetPaging.js +32 -0
  68. package/dist/components/data/sheet/hooks/useDataSheetPaging.js.map +6 -0
  69. package/dist/components/data/sheet/hooks/useDataSheetReorder.d.ts +20 -0
  70. package/dist/components/data/sheet/hooks/useDataSheetReorder.d.ts.map +1 -0
  71. package/dist/components/data/sheet/hooks/useDataSheetReorder.js +112 -0
  72. package/dist/components/data/sheet/hooks/useDataSheetReorder.js.map +6 -0
  73. package/dist/components/data/sheet/hooks/useDataSheetSelection.d.ts +22 -0
  74. package/dist/components/data/sheet/hooks/useDataSheetSelection.d.ts.map +1 -0
  75. package/dist/components/data/sheet/hooks/useDataSheetSelection.js +63 -0
  76. package/dist/components/data/sheet/hooks/useDataSheetSelection.js.map +6 -0
  77. package/dist/components/data/sheet/hooks/useDataSheetSorting.d.ts +17 -0
  78. package/dist/components/data/sheet/hooks/useDataSheetSorting.d.ts.map +1 -0
  79. package/dist/components/data/sheet/hooks/useDataSheetSorting.js +45 -0
  80. package/dist/components/data/sheet/hooks/useDataSheetSorting.js.map +6 -0
  81. package/dist/components/disclosure/Collapse.d.ts.map +1 -1
  82. package/dist/components/disclosure/Collapse.js +1 -3
  83. package/dist/components/disclosure/Collapse.js.map +2 -2
  84. package/dist/components/disclosure/Dialog.d.ts +79 -25
  85. package/dist/components/disclosure/Dialog.d.ts.map +1 -1
  86. package/dist/components/disclosure/Dialog.js +251 -113
  87. package/dist/components/disclosure/Dialog.js.map +2 -2
  88. package/dist/components/disclosure/Dropdown.d.ts +8 -35
  89. package/dist/components/disclosure/Dropdown.d.ts.map +1 -1
  90. package/dist/components/disclosure/Dropdown.js +60 -61
  91. package/dist/components/disclosure/Dropdown.js.map +2 -2
  92. package/dist/components/disclosure/Tabs.d.ts +4 -6
  93. package/dist/components/disclosure/Tabs.d.ts.map +1 -1
  94. package/dist/components/disclosure/Tabs.js +16 -17
  95. package/dist/components/disclosure/Tabs.js.map +2 -2
  96. package/dist/components/display/Alert.d.ts +1 -1
  97. package/dist/components/display/Alert.d.ts.map +1 -1
  98. package/dist/components/display/Alert.js +2 -4
  99. package/dist/components/display/Alert.js.map +2 -2
  100. package/dist/components/display/Barcode.d.ts +1 -1
  101. package/dist/components/display/Barcode.d.ts.map +1 -1
  102. package/dist/components/display/Barcode.js +3 -4
  103. package/dist/components/display/Barcode.js.map +2 -2
  104. package/dist/components/display/Barcode.types.d.ts +2 -0
  105. package/dist/components/display/Barcode.types.d.ts.map +1 -0
  106. package/dist/components/display/Barcode.types.js +1 -0
  107. package/dist/components/display/Card.animate.css +11 -0
  108. package/dist/components/display/Card.d.ts +1 -0
  109. package/dist/components/display/Card.d.ts.map +1 -1
  110. package/dist/components/display/Card.js +3 -2
  111. package/dist/components/display/Card.js.map +2 -2
  112. package/dist/components/display/Echarts.d.ts +2 -2
  113. package/dist/components/display/Echarts.d.ts.map +1 -1
  114. package/dist/components/display/Echarts.js +8 -11
  115. package/dist/components/display/Echarts.js.map +2 -2
  116. package/dist/components/display/Link.d.ts +1 -1
  117. package/dist/components/display/Link.d.ts.map +1 -1
  118. package/dist/components/display/Link.js +3 -4
  119. package/dist/components/display/Link.js.map +2 -2
  120. package/dist/components/display/Tag.d.ts +1 -1
  121. package/dist/components/display/Tag.d.ts.map +1 -1
  122. package/dist/components/display/Tag.js +2 -4
  123. package/dist/components/display/Tag.js.map +2 -2
  124. package/dist/components/features/address/AddressSearch.d.ts +3 -1
  125. package/dist/components/features/address/AddressSearch.d.ts.map +1 -1
  126. package/dist/components/features/address/AddressSearch.js +7 -5
  127. package/dist/components/features/address/AddressSearch.js.map +2 -2
  128. package/dist/components/features/crud-detail/CrudDetail.d.ts +12 -13
  129. package/dist/components/features/crud-detail/CrudDetail.d.ts.map +1 -1
  130. package/dist/components/features/crud-detail/CrudDetail.js +218 -206
  131. package/dist/components/features/crud-detail/CrudDetail.js.map +2 -2
  132. package/dist/components/features/crud-detail/{types.d.ts → CrudDetail.types.d.ts} +3 -13
  133. package/dist/components/features/crud-detail/CrudDetail.types.d.ts.map +1 -0
  134. package/dist/components/features/crud-detail/CrudDetail.types.js +1 -0
  135. package/dist/components/features/crud-detail/CrudDetailAfter.d.ts +5 -4
  136. package/dist/components/features/crud-detail/CrudDetailAfter.d.ts.map +1 -1
  137. package/dist/components/features/crud-detail/CrudDetailAfter.js +3 -10
  138. package/dist/components/features/crud-detail/CrudDetailAfter.js.map +2 -2
  139. package/dist/components/features/crud-detail/CrudDetailBefore.d.ts +5 -4
  140. package/dist/components/features/crud-detail/CrudDetailBefore.d.ts.map +1 -1
  141. package/dist/components/features/crud-detail/CrudDetailBefore.js +3 -10
  142. package/dist/components/features/crud-detail/CrudDetailBefore.js.map +2 -2
  143. package/dist/components/features/crud-detail/CrudDetailTools.d.ts +5 -4
  144. package/dist/components/features/crud-detail/CrudDetailTools.d.ts.map +1 -1
  145. package/dist/components/features/crud-detail/CrudDetailTools.js +3 -10
  146. package/dist/components/features/crud-detail/CrudDetailTools.js.map +2 -2
  147. package/dist/components/features/crud-sheet/CrudSheet.d.ts +6 -9
  148. package/dist/components/features/crud-sheet/CrudSheet.d.ts.map +1 -1
  149. package/dist/components/features/crud-sheet/CrudSheet.js +147 -141
  150. package/dist/components/features/crud-sheet/CrudSheet.js.map +2 -2
  151. package/dist/components/features/crud-sheet/{types.d.ts → CrudSheet.types.d.ts} +14 -44
  152. package/dist/components/features/crud-sheet/CrudSheet.types.d.ts.map +1 -0
  153. package/dist/components/features/crud-sheet/CrudSheet.types.js +1 -0
  154. package/dist/components/features/crud-sheet/CrudSheetColumn.d.ts +4 -3
  155. package/dist/components/features/crud-sheet/CrudSheetColumn.d.ts.map +1 -1
  156. package/dist/components/features/crud-sheet/CrudSheetColumn.js +4 -23
  157. package/dist/components/features/crud-sheet/CrudSheetColumn.js.map +2 -2
  158. package/dist/components/features/crud-sheet/CrudSheetFilter.d.ts +7 -5
  159. package/dist/components/features/crud-sheet/CrudSheetFilter.d.ts.map +1 -1
  160. package/dist/components/features/crud-sheet/CrudSheetFilter.js +4 -8
  161. package/dist/components/features/crud-sheet/CrudSheetFilter.js.map +2 -2
  162. package/dist/components/features/crud-sheet/CrudSheetHeader.d.ts +5 -4
  163. package/dist/components/features/crud-sheet/CrudSheetHeader.d.ts.map +1 -1
  164. package/dist/components/features/crud-sheet/CrudSheetHeader.js +3 -10
  165. package/dist/components/features/crud-sheet/CrudSheetHeader.js.map +2 -2
  166. package/dist/components/features/crud-sheet/CrudSheetTools.d.ts +7 -5
  167. package/dist/components/features/crud-sheet/CrudSheetTools.d.ts.map +1 -1
  168. package/dist/components/features/crud-sheet/CrudSheetTools.js +4 -8
  169. package/dist/components/features/crud-sheet/CrudSheetTools.js.map +2 -2
  170. package/dist/components/features/data-select-button/DataSelectButton.d.ts +25 -28
  171. package/dist/components/features/data-select-button/DataSelectButton.d.ts.map +1 -1
  172. package/dist/components/features/data-select-button/DataSelectButton.js +27 -38
  173. package/dist/components/features/data-select-button/DataSelectButton.js.map +2 -2
  174. package/dist/components/features/permission-table/PermissionTable.d.ts.map +1 -1
  175. package/dist/components/features/permission-table/PermissionTable.js +9 -13
  176. package/dist/components/features/permission-table/PermissionTable.js.map +2 -2
  177. package/dist/components/features/shared-data/SharedDataSelect.d.ts +20 -19
  178. package/dist/components/features/shared-data/SharedDataSelect.d.ts.map +1 -1
  179. package/dist/components/features/shared-data/SharedDataSelect.js +62 -84
  180. package/dist/components/features/shared-data/SharedDataSelect.js.map +2 -2
  181. package/dist/components/features/shared-data/SharedDataSelectButton.d.ts +12 -9
  182. package/dist/components/features/shared-data/SharedDataSelectButton.d.ts.map +1 -1
  183. package/dist/components/features/shared-data/SharedDataSelectButton.js.map +1 -1
  184. package/dist/components/features/shared-data/SharedDataSelectList.d.ts +12 -8
  185. package/dist/components/features/shared-data/SharedDataSelectList.d.ts.map +1 -1
  186. package/dist/components/features/shared-data/SharedDataSelectList.js +136 -116
  187. package/dist/components/features/shared-data/SharedDataSelectList.js.map +2 -2
  188. package/dist/components/feedback/Progress.d.ts +3 -2
  189. package/dist/components/feedback/Progress.d.ts.map +1 -1
  190. package/dist/components/feedback/Progress.js +9 -7
  191. package/dist/components/feedback/Progress.js.map +2 -2
  192. package/dist/components/feedback/busy/BusyContainer.d.ts +2 -2
  193. package/dist/components/feedback/busy/BusyContainer.d.ts.map +1 -1
  194. package/dist/components/feedback/busy/BusyContainer.js +35 -32
  195. package/dist/components/feedback/busy/BusyContainer.js.map +2 -2
  196. package/dist/components/feedback/busy/BusyProvider.d.ts +26 -2
  197. package/dist/components/feedback/busy/BusyProvider.d.ts.map +1 -1
  198. package/dist/components/feedback/busy/BusyProvider.js +13 -7
  199. package/dist/components/feedback/busy/BusyProvider.js.map +2 -2
  200. package/dist/components/feedback/notification/NotificationBanner.d.ts.map +1 -1
  201. package/dist/components/feedback/notification/NotificationBanner.js +13 -19
  202. package/dist/components/feedback/notification/NotificationBanner.js.map +2 -2
  203. package/dist/components/feedback/notification/NotificationBell.d.ts.map +1 -1
  204. package/dist/components/feedback/notification/NotificationBell.js +69 -71
  205. package/dist/components/feedback/notification/NotificationBell.js.map +2 -2
  206. package/dist/components/feedback/notification/NotificationProvider.d.ts +68 -1
  207. package/dist/components/feedback/notification/NotificationProvider.d.ts.map +1 -1
  208. package/dist/components/feedback/notification/NotificationProvider.js +22 -5
  209. package/dist/components/feedback/notification/NotificationProvider.js.map +2 -2
  210. package/dist/components/feedback/print/Print.d.ts +4 -6
  211. package/dist/components/feedback/print/Print.d.ts.map +1 -1
  212. package/dist/components/feedback/print/Print.js +3 -2
  213. package/dist/components/feedback/print/Print.js.map +2 -2
  214. package/dist/components/feedback/print/PrintProvider.d.ts +14 -1
  215. package/dist/components/feedback/print/PrintProvider.d.ts.map +1 -1
  216. package/dist/components/feedback/print/PrintProvider.js +16 -5
  217. package/dist/components/feedback/print/PrintProvider.js.map +2 -2
  218. package/dist/components/form-control/Button.d.ts +2 -1
  219. package/dist/components/form-control/Button.d.ts.map +1 -1
  220. package/dist/components/form-control/Button.js +9 -8
  221. package/dist/components/form-control/Button.js.map +2 -2
  222. package/dist/components/form-control/DropdownTrigger.styles.d.ts +1 -1
  223. package/dist/components/form-control/DropdownTrigger.styles.d.ts.map +1 -1
  224. package/dist/components/form-control/DropdownTrigger.styles.js +16 -16
  225. package/dist/components/form-control/DropdownTrigger.styles.js.map +1 -1
  226. package/dist/components/form-control/Invalid.d.ts +1 -1
  227. package/dist/components/form-control/Invalid.d.ts.map +1 -1
  228. package/dist/components/form-control/Invalid.js +27 -26
  229. package/dist/components/form-control/Invalid.js.map +2 -2
  230. package/dist/components/form-control/ThemeToggle.d.ts +2 -1
  231. package/dist/components/form-control/ThemeToggle.d.ts.map +1 -1
  232. package/dist/components/form-control/ThemeToggle.js +71 -74
  233. package/dist/components/form-control/ThemeToggle.js.map +2 -2
  234. package/dist/components/form-control/checkbox/Checkbox.d.ts +2 -2
  235. package/dist/components/form-control/checkbox/Checkbox.d.ts.map +1 -1
  236. package/dist/components/form-control/checkbox/Checkbox.js +14 -95
  237. package/dist/components/form-control/checkbox/Checkbox.js.map +2 -2
  238. package/dist/components/form-control/checkbox/Checkbox.styles.d.ts +2 -2
  239. package/dist/components/form-control/checkbox/Checkbox.styles.d.ts.map +1 -1
  240. package/dist/components/form-control/checkbox/Checkbox.styles.js +20 -25
  241. package/dist/components/form-control/checkbox/Checkbox.styles.js.map +1 -1
  242. package/dist/components/form-control/checkbox/CheckboxGroup.d.ts +10 -10
  243. package/dist/components/form-control/checkbox/CheckboxGroup.d.ts.map +1 -1
  244. package/dist/components/form-control/checkbox/CheckboxGroup.js +84 -9
  245. package/dist/components/form-control/checkbox/CheckboxGroup.js.map +2 -2
  246. package/dist/components/form-control/checkbox/Radio.d.ts +2 -2
  247. package/dist/components/form-control/checkbox/Radio.d.ts.map +1 -1
  248. package/dist/components/form-control/checkbox/Radio.js +12 -95
  249. package/dist/components/form-control/checkbox/Radio.js.map +2 -2
  250. package/dist/components/form-control/checkbox/RadioGroup.d.ts +10 -10
  251. package/dist/components/form-control/checkbox/RadioGroup.d.ts.map +1 -1
  252. package/dist/components/form-control/checkbox/RadioGroup.js +81 -9
  253. package/dist/components/form-control/checkbox/RadioGroup.js.map +2 -2
  254. package/dist/components/form-control/checkbox/SelectableBase.d.ts +26 -0
  255. package/dist/components/form-control/checkbox/SelectableBase.d.ts.map +1 -0
  256. package/dist/components/form-control/checkbox/SelectableBase.js +100 -0
  257. package/dist/components/form-control/checkbox/SelectableBase.js.map +6 -0
  258. package/dist/components/form-control/checkbox/SelectionGroupBase.d.ts +17 -0
  259. package/dist/components/form-control/checkbox/SelectionGroupBase.d.ts.map +1 -0
  260. package/dist/components/form-control/checkbox/SelectionGroupBase.js +53 -0
  261. package/dist/components/form-control/checkbox/SelectionGroupBase.js.map +6 -0
  262. package/dist/components/form-control/color-picker/ColorPicker.d.ts +3 -3
  263. package/dist/components/form-control/color-picker/ColorPicker.d.ts.map +1 -1
  264. package/dist/components/form-control/color-picker/ColorPicker.js +6 -18
  265. package/dist/components/form-control/color-picker/ColorPicker.js.map +2 -2
  266. package/dist/components/form-control/combobox/Combobox.d.ts +28 -49
  267. package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
  268. package/dist/components/form-control/combobox/Combobox.js +116 -63
  269. package/dist/components/form-control/combobox/Combobox.js.map +2 -2
  270. package/dist/components/form-control/date-range-picker/DateRangePicker.d.ts.map +1 -1
  271. package/dist/components/form-control/date-range-picker/DateRangePicker.js +16 -9
  272. package/dist/components/form-control/date-range-picker/DateRangePicker.js.map +2 -2
  273. package/dist/components/form-control/editor/EditorToolbar.d.ts.map +1 -1
  274. package/dist/components/form-control/editor/EditorToolbar.js +250 -239
  275. package/dist/components/form-control/editor/EditorToolbar.js.map +2 -2
  276. package/dist/components/form-control/editor/RichTextEditor.d.ts +1 -1
  277. package/dist/components/form-control/editor/RichTextEditor.d.ts.map +1 -1
  278. package/dist/components/form-control/editor/RichTextEditor.js +10 -10
  279. package/dist/components/form-control/editor/RichTextEditor.js.map +2 -2
  280. package/{src/components/form-control/editor/editor.css → dist/components/form-control/editor/RichTextEditor.tiptap.css} +0 -1
  281. package/dist/components/form-control/field/DatePicker.d.ts +3 -3
  282. package/dist/components/form-control/field/DatePicker.d.ts.map +1 -1
  283. package/dist/components/form-control/field/DatePicker.js +50 -131
  284. package/dist/components/form-control/field/DatePicker.js.map +2 -2
  285. package/dist/components/form-control/field/DateTimePicker.d.ts +3 -3
  286. package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -1
  287. package/dist/components/form-control/field/DateTimePicker.js +50 -131
  288. package/dist/components/form-control/field/DateTimePicker.js.map +2 -2
  289. package/dist/components/form-control/field/Field.styles.d.ts +3 -3
  290. package/dist/components/form-control/field/Field.styles.d.ts.map +1 -1
  291. package/dist/components/form-control/field/Field.styles.js +46 -40
  292. package/dist/components/form-control/field/Field.styles.js.map +1 -1
  293. package/dist/components/form-control/field/FieldPlaceholder.js +4 -3
  294. package/dist/components/form-control/field/FieldPlaceholder.js.map +2 -2
  295. package/dist/components/form-control/field/FieldShell.d.ts +37 -0
  296. package/dist/components/form-control/field/FieldShell.d.ts.map +1 -0
  297. package/dist/components/form-control/field/FieldShell.js +124 -0
  298. package/dist/components/form-control/field/FieldShell.js.map +6 -0
  299. package/dist/components/form-control/field/NumberInput.d.ts +13 -32
  300. package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
  301. package/dist/components/form-control/field/NumberInput.js +92 -196
  302. package/dist/components/form-control/field/NumberInput.js.map +2 -2
  303. package/dist/components/form-control/field/TextInput.d.ts +14 -29
  304. package/dist/components/form-control/field/TextInput.d.ts.map +1 -1
  305. package/dist/components/form-control/field/TextInput.js +87 -197
  306. package/dist/components/form-control/field/TextInput.js.map +2 -2
  307. package/dist/components/form-control/field/Textarea.d.ts +3 -3
  308. package/dist/components/form-control/field/Textarea.d.ts.map +1 -1
  309. package/dist/components/form-control/field/Textarea.js +81 -156
  310. package/dist/components/form-control/field/Textarea.js.map +2 -2
  311. package/dist/components/form-control/field/TimePicker.d.ts +3 -3
  312. package/dist/components/form-control/field/TimePicker.d.ts.map +1 -1
  313. package/dist/components/form-control/field/TimePicker.js +46 -123
  314. package/dist/components/form-control/field/TimePicker.js.map +2 -2
  315. package/dist/components/form-control/numpad/Numpad.d.ts +1 -1
  316. package/dist/components/form-control/numpad/Numpad.d.ts.map +1 -1
  317. package/dist/components/form-control/numpad/Numpad.js +5 -5
  318. package/dist/components/form-control/numpad/Numpad.js.map +2 -2
  319. package/dist/components/form-control/select/Select.d.ts +48 -51
  320. package/dist/components/form-control/select/Select.d.ts.map +1 -1
  321. package/dist/components/form-control/select/Select.js +220 -117
  322. package/dist/components/form-control/select/Select.js.map +2 -2
  323. package/dist/components/form-control/state-preset/StatePreset.d.ts +2 -2
  324. package/dist/components/form-control/state-preset/StatePreset.d.ts.map +1 -1
  325. package/dist/components/form-control/state-preset/StatePreset.js +68 -57
  326. package/dist/components/form-control/state-preset/StatePreset.js.map +2 -2
  327. package/dist/components/layout/FormGroup.d.ts +3 -6
  328. package/dist/components/layout/FormGroup.d.ts.map +1 -1
  329. package/dist/components/layout/FormGroup.js +5 -7
  330. package/dist/components/layout/FormGroup.js.map +2 -2
  331. package/dist/components/layout/FormTable.d.ts +7 -1
  332. package/dist/components/layout/FormTable.d.ts.map +1 -1
  333. package/dist/components/layout/FormTable.js +52 -18
  334. package/dist/components/layout/FormTable.js.map +2 -2
  335. package/dist/components/layout/sidebar/Sidebar.d.ts +60 -29
  336. package/dist/components/layout/sidebar/Sidebar.d.ts.map +1 -1
  337. package/dist/components/layout/sidebar/Sidebar.js +341 -21
  338. package/dist/components/layout/sidebar/Sidebar.js.map +2 -2
  339. package/dist/components/layout/topbar/Topbar.d.ts +44 -33
  340. package/dist/components/layout/topbar/Topbar.d.ts.map +1 -1
  341. package/dist/components/layout/topbar/Topbar.js +426 -39
  342. package/dist/components/layout/topbar/Topbar.js.map +2 -2
  343. package/dist/helpers/createAppStructure.d.ts.map +1 -1
  344. package/dist/helpers/createAppStructure.js +4 -5
  345. package/dist/helpers/createAppStructure.js.map +1 -1
  346. package/dist/helpers/createSlot.d.ts +3 -0
  347. package/dist/helpers/createSlot.d.ts.map +1 -0
  348. package/dist/helpers/createSlot.js +40 -0
  349. package/dist/helpers/createSlot.js.map +6 -0
  350. package/dist/helpers/createSlots.d.ts +7 -0
  351. package/dist/helpers/createSlots.d.ts.map +1 -0
  352. package/dist/helpers/createSlots.js +34 -0
  353. package/dist/helpers/createSlots.js.map +6 -0
  354. package/dist/hooks/createControllableSignal.d.ts +4 -12
  355. package/dist/hooks/createControllableSignal.d.ts.map +1 -1
  356. package/dist/hooks/createControllableSignal.js +4 -3
  357. package/dist/hooks/createControllableSignal.js.map +1 -1
  358. package/dist/hooks/createControllableStore.d.ts.map +1 -1
  359. package/dist/hooks/createControllableStore.js +5 -6
  360. package/dist/hooks/createControllableStore.js.map +1 -1
  361. package/dist/hooks/useLogger.d.ts +1 -1
  362. package/dist/hooks/useLogger.d.ts.map +1 -1
  363. package/dist/hooks/useLogger.js +1 -1
  364. package/dist/hooks/useSyncConfig.js +1 -1
  365. package/dist/index.d.ts +17 -23
  366. package/dist/index.d.ts.map +1 -1
  367. package/dist/index.js +17 -23
  368. package/dist/index.js.map +1 -1
  369. package/dist/providers/ConfigContext.d.ts.map +1 -1
  370. package/dist/providers/ConfigContext.js +10 -13
  371. package/dist/providers/ConfigContext.js.map +1 -1
  372. package/dist/providers/{LoggerContext.d.ts → LoggerProvider.d.ts} +1 -1
  373. package/dist/providers/LoggerProvider.d.ts.map +1 -0
  374. package/dist/providers/{LoggerContext.js → LoggerProvider.js} +1 -1
  375. package/dist/providers/{LoggerContext.js.map → LoggerProvider.js.map} +1 -1
  376. package/dist/providers/PwaUpdateProvider.js +1 -1
  377. package/dist/providers/ServiceClientProvider.d.ts +22 -0
  378. package/dist/providers/ServiceClientProvider.d.ts.map +1 -1
  379. package/dist/providers/ServiceClientProvider.js +39 -48
  380. package/dist/providers/ServiceClientProvider.js.map +2 -2
  381. package/dist/providers/{SyncStorageContext.d.ts → SyncStorageProvider.d.ts} +1 -1
  382. package/dist/providers/SyncStorageProvider.d.ts.map +1 -0
  383. package/dist/providers/{SyncStorageContext.js → SyncStorageProvider.js} +1 -1
  384. package/dist/providers/{SyncStorageContext.js.map → SyncStorageProvider.js.map} +1 -1
  385. package/dist/providers/SystemProvider.d.ts +1 -1
  386. package/dist/providers/SystemProvider.d.ts.map +1 -1
  387. package/dist/providers/SystemProvider.js +3 -3
  388. package/dist/providers/SystemProvider.js.map +1 -1
  389. package/dist/providers/i18n/{I18nContext.d.ts → I18nProvider.d.ts} +2 -2
  390. package/dist/providers/i18n/I18nProvider.d.ts.map +1 -0
  391. package/dist/providers/i18n/{I18nContext.js → I18nProvider.js} +1 -1
  392. package/dist/providers/i18n/{I18nContext.js.map → I18nProvider.js.map} +1 -1
  393. package/dist/providers/i18n/{I18nContext.types.d.ts → I18nProvider.types.d.ts} +1 -1
  394. package/dist/providers/i18n/I18nProvider.types.d.ts.map +1 -0
  395. package/dist/providers/i18n/I18nProvider.types.js +1 -0
  396. package/dist/providers/i18n/I18nProvider.types.js.map +6 -0
  397. package/dist/providers/shared-data/SharedDataProvider.d.ts +75 -2
  398. package/dist/providers/shared-data/SharedDataProvider.d.ts.map +1 -1
  399. package/dist/providers/shared-data/SharedDataProvider.js +111 -91
  400. package/dist/providers/shared-data/SharedDataProvider.js.map +2 -2
  401. package/dist/styles/base.styles.d.ts +15 -0
  402. package/dist/styles/base.styles.d.ts.map +1 -0
  403. package/dist/styles/base.styles.js +21 -0
  404. package/dist/styles/base.styles.js.map +6 -0
  405. package/dist/styles/control.styles.d.ts +19 -0
  406. package/dist/styles/control.styles.d.ts.map +1 -0
  407. package/dist/styles/control.styles.js +24 -0
  408. package/dist/styles/control.styles.js.map +6 -0
  409. package/dist/styles/theme.styles.d.ts +52 -0
  410. package/dist/styles/theme.styles.d.ts.map +1 -0
  411. package/dist/styles/theme.styles.js +55 -0
  412. package/dist/styles/theme.styles.js.map +6 -0
  413. package/package.json +5 -5
  414. package/src/components/data/Pagination.tsx +9 -9
  415. package/src/components/data/Table.tsx +63 -30
  416. package/src/components/data/calendar/Calendar.tsx +38 -36
  417. package/src/components/data/kanban/{Kanban.css → Kanban.animate.css} +0 -2
  418. package/src/components/data/kanban/Kanban.tsx +133 -94
  419. package/src/components/data/list/List.tsx +8 -22
  420. package/src/components/data/list/ListItem.styles.ts +8 -8
  421. package/src/components/data/list/ListItem.tsx +20 -31
  422. package/src/components/data/sheet/DataSheet.styles.ts +32 -9
  423. package/src/components/data/sheet/DataSheet.tsx +356 -747
  424. package/src/components/data/sheet/{types.ts → DataSheet.types.ts} +13 -8
  425. package/src/components/data/sheet/{sheetUtils.ts → DataSheet.utils.ts} +8 -8
  426. package/src/components/data/sheet/DataSheetColumn.tsx +7 -29
  427. package/src/components/data/sheet/DataSheetConfigDialog.tsx +15 -21
  428. package/src/components/data/sheet/hooks/useDataSheetExpansion.ts +85 -0
  429. package/src/components/data/sheet/hooks/useDataSheetFixedColumns.ts +131 -0
  430. package/src/components/data/sheet/hooks/useDataSheetHeaderCell.tsx +168 -0
  431. package/src/components/data/sheet/hooks/useDataSheetPaging.ts +51 -0
  432. package/src/components/data/sheet/hooks/useDataSheetReorder.ts +154 -0
  433. package/src/components/data/sheet/hooks/useDataSheetSelection.ts +99 -0
  434. package/src/components/data/sheet/hooks/useDataSheetSorting.ts +68 -0
  435. package/src/components/disclosure/Collapse.tsx +1 -9
  436. package/src/components/disclosure/Dialog.tsx +254 -59
  437. package/src/components/disclosure/Dropdown.tsx +66 -80
  438. package/src/components/disclosure/Tabs.tsx +23 -37
  439. package/src/components/display/Alert.tsx +2 -5
  440. package/src/components/display/Barcode.tsx +5 -117
  441. package/src/components/display/Barcode.types.ts +111 -0
  442. package/src/components/display/Card.animate.css +11 -0
  443. package/src/components/display/Card.tsx +10 -11
  444. package/src/components/display/Echarts.tsx +11 -15
  445. package/src/components/display/Link.tsx +3 -5
  446. package/src/components/display/Tag.tsx +2 -5
  447. package/src/components/features/address/AddressSearch.tsx +24 -7
  448. package/src/components/features/crud-detail/CrudDetail.tsx +135 -165
  449. package/src/components/features/crud-detail/{types.ts → CrudDetail.types.ts} +3 -16
  450. package/src/components/features/crud-detail/CrudDetailAfter.tsx +3 -16
  451. package/src/components/features/crud-detail/CrudDetailBefore.tsx +3 -16
  452. package/src/components/features/crud-detail/CrudDetailTools.tsx +3 -16
  453. package/src/components/features/crud-sheet/CrudSheet.tsx +158 -176
  454. package/src/components/features/crud-sheet/{types.ts → CrudSheet.types.ts} +13 -47
  455. package/src/components/features/crud-sheet/CrudSheetColumn.tsx +7 -30
  456. package/src/components/features/crud-sheet/CrudSheetFilter.tsx +12 -16
  457. package/src/components/features/crud-sheet/CrudSheetHeader.tsx +3 -16
  458. package/src/components/features/crud-sheet/CrudSheetTools.tsx +12 -16
  459. package/src/components/features/data-select-button/DataSelectButton.tsx +57 -66
  460. package/src/components/features/permission-table/PermissionTable.tsx +9 -13
  461. package/src/components/features/shared-data/SharedDataSelect.tsx +97 -127
  462. package/src/components/features/shared-data/SharedDataSelectButton.tsx +22 -14
  463. package/src/components/features/shared-data/SharedDataSelectList.tsx +61 -42
  464. package/src/components/feedback/Progress.tsx +16 -21
  465. package/src/components/feedback/busy/BusyContainer.tsx +18 -45
  466. package/src/components/feedback/busy/BusyProvider.tsx +40 -7
  467. package/src/components/feedback/notification/NotificationBanner.tsx +13 -32
  468. package/src/components/feedback/notification/NotificationBell.tsx +18 -47
  469. package/src/components/feedback/notification/NotificationProvider.tsx +105 -11
  470. package/src/components/feedback/print/Print.tsx +4 -8
  471. package/src/components/feedback/print/PrintProvider.tsx +37 -5
  472. package/src/components/form-control/Button.tsx +11 -29
  473. package/src/components/form-control/DropdownTrigger.styles.ts +16 -17
  474. package/src/components/form-control/Invalid.tsx +33 -29
  475. package/src/components/form-control/ThemeToggle.tsx +18 -15
  476. package/src/components/form-control/checkbox/Checkbox.styles.ts +20 -26
  477. package/src/components/form-control/checkbox/Checkbox.tsx +15 -101
  478. package/src/components/form-control/checkbox/CheckboxGroup.tsx +83 -17
  479. package/src/components/form-control/checkbox/Radio.tsx +15 -104
  480. package/src/components/form-control/checkbox/RadioGroup.tsx +80 -17
  481. package/src/components/form-control/checkbox/SelectableBase.tsx +123 -0
  482. package/src/components/form-control/checkbox/SelectionGroupBase.tsx +57 -0
  483. package/src/components/form-control/color-picker/ColorPicker.tsx +12 -32
  484. package/src/components/form-control/combobox/Combobox.tsx +143 -44
  485. package/src/components/form-control/date-range-picker/DateRangePicker.tsx +10 -10
  486. package/src/components/form-control/editor/EditorToolbar.tsx +120 -217
  487. package/{dist/components/form-control/editor/editor.css → src/components/form-control/editor/RichTextEditor.tiptap.css} +0 -1
  488. package/src/components/form-control/editor/RichTextEditor.tsx +14 -29
  489. package/src/components/form-control/field/DatePicker.tsx +34 -76
  490. package/src/components/form-control/field/DateTimePicker.tsx +35 -83
  491. package/src/components/form-control/field/Field.styles.ts +48 -42
  492. package/src/components/form-control/field/FieldPlaceholder.tsx +2 -2
  493. package/src/components/form-control/field/FieldShell.tsx +113 -0
  494. package/src/components/form-control/field/NumberInput.tsx +75 -137
  495. package/src/components/form-control/field/TextInput.tsx +58 -120
  496. package/src/components/form-control/field/Textarea.tsx +67 -111
  497. package/src/components/form-control/field/TimePicker.tsx +33 -74
  498. package/src/components/form-control/numpad/Numpad.tsx +5 -6
  499. package/src/components/form-control/select/Select.tsx +266 -151
  500. package/src/components/form-control/state-preset/StatePreset.tsx +65 -88
  501. package/src/components/layout/FormGroup.tsx +10 -13
  502. package/src/components/layout/FormTable.tsx +40 -19
  503. package/src/components/layout/sidebar/Sidebar.tsx +456 -44
  504. package/src/components/layout/topbar/Topbar.tsx +420 -49
  505. package/src/helpers/createAppStructure.ts +22 -7
  506. package/src/helpers/createSlot.ts +45 -0
  507. package/src/helpers/createSlots.ts +44 -0
  508. package/src/hooks/createControllableSignal.ts +10 -18
  509. package/src/hooks/createControllableStore.ts +5 -6
  510. package/src/hooks/useLogger.ts +1 -1
  511. package/src/hooks/useSyncConfig.ts +1 -1
  512. package/src/index.ts +18 -23
  513. package/src/providers/ConfigContext.tsx +0 -1
  514. package/src/providers/PwaUpdateProvider.tsx +1 -1
  515. package/src/providers/ServiceClientProvider.tsx +62 -56
  516. package/src/providers/SystemProvider.tsx +4 -5
  517. package/src/providers/i18n/{I18nContext.tsx → I18nProvider.tsx} +1 -1
  518. package/src/providers/shared-data/SharedDataProvider.tsx +228 -124
  519. package/src/styles/base.styles.ts +21 -0
  520. package/src/styles/control.styles.ts +25 -0
  521. package/src/styles/theme.styles.ts +54 -0
  522. package/tailwind.config.ts +0 -11
  523. package/tests/components/data/List.spec.tsx +1 -262
  524. package/tests/components/data/Pagination.spec.tsx +0 -75
  525. package/tests/components/data/kanban/Kanban.selection.spec.tsx +1 -17
  526. package/tests/components/data/sheet/DataSheet.spec.tsx +38 -67
  527. package/tests/components/data/sheet/hooks/useDataSheetExpansion.spec.ts +254 -0
  528. package/tests/components/data/sheet/hooks/useDataSheetFixedColumns.spec.ts +488 -0
  529. package/tests/components/data/sheet/hooks/useDataSheetPaging.spec.ts +359 -0
  530. package/tests/components/data/sheet/hooks/useDataSheetReorder.spec.ts +251 -0
  531. package/tests/components/data/sheet/hooks/useDataSheetSelection.spec.ts +362 -0
  532. package/tests/components/data/sheet/hooks/useDataSheetSorting.spec.ts +279 -0
  533. package/tests/components/disclosure/Collapse.spec.tsx +0 -24
  534. package/tests/components/disclosure/Dialog.spec.tsx +11 -61
  535. package/tests/components/disclosure/DialogProvider.spec.tsx +9 -12
  536. package/tests/components/disclosure/Tabs.spec.tsx +0 -99
  537. package/tests/components/display/Barcode.spec.tsx +15 -15
  538. package/tests/components/features/address/AddressSearch.spec.tsx +3 -4
  539. package/tests/components/features/crud-detail/CrudDetail.spec.tsx +12 -74
  540. package/tests/components/features/crud-sheet/CrudSheet.spec.tsx +19 -72
  541. package/tests/components/features/data-select-button/DataSelectButton.spec.tsx +51 -29
  542. package/tests/components/features/permission-table/PermissionTable.spec.tsx +5 -30
  543. package/tests/components/features/shared-data/SharedDataSelect.spec.tsx +15 -19
  544. package/tests/components/features/shared-data/SharedDataSelectList.spec.tsx +17 -44
  545. package/tests/components/feedback/busy/BusyContainer.spec.tsx +15 -9
  546. package/tests/components/feedback/notification/LiveRegion.spec.tsx +2 -27
  547. package/tests/components/feedback/notification/NotificationBanner.spec.tsx +2 -27
  548. package/tests/components/feedback/notification/NotificationBell.spec.tsx +2 -16
  549. package/tests/components/feedback/notification/NotificationContext.spec.tsx +2 -16
  550. package/tests/components/form-control/Button.spec.tsx +0 -97
  551. package/tests/components/form-control/Invalid.spec.tsx +5 -20
  552. package/tests/components/form-control/checkbox/Checkbox.spec.tsx +1 -47
  553. package/tests/components/form-control/checkbox/CheckboxGroup.spec.tsx +1 -26
  554. package/tests/components/form-control/checkbox/Radio.spec.tsx +1 -46
  555. package/tests/components/form-control/checkbox/RadioGroup.spec.tsx +1 -26
  556. package/tests/components/form-control/color-picker/ColorPicker.spec.tsx +1 -31
  557. package/tests/components/form-control/combobox/Combobox.spec.tsx +28 -49
  558. package/tests/components/form-control/combobox/ComboboxItem.spec.tsx +7 -27
  559. package/tests/components/form-control/date-range-picker/DateRangePicker.spec.tsx +1 -58
  560. package/tests/components/form-control/field/DatePicker.spec.tsx +5 -93
  561. package/tests/components/form-control/field/DateTimePicker.spec.tsx +5 -86
  562. package/tests/components/form-control/field/FieldShell.spec.tsx +127 -0
  563. package/tests/components/form-control/field/NumberInput.spec.tsx +14 -133
  564. package/tests/components/form-control/field/TextInput.spec.tsx +6 -148
  565. package/tests/components/form-control/field/Textarea.spec.tsx +5 -69
  566. package/tests/components/form-control/field/TimePicker.spec.tsx +5 -84
  567. package/tests/components/form-control/numpad/Numpad.spec.tsx +1 -78
  568. package/tests/components/form-control/select/Select.spec.tsx +9 -59
  569. package/tests/components/form-control/select/SelectItem.spec.tsx +10 -62
  570. package/tests/components/layout/sidebar/Sidebar.spec.tsx +3 -122
  571. package/tests/components/layout/sidebar/SidebarContainer.spec.tsx +3 -45
  572. package/tests/components/layout/sidebar/SidebarMenu.spec.tsx +1 -74
  573. package/tests/components/layout/sidebar/SidebarUser.spec.tsx +0 -48
  574. package/tests/components/layout/topbar/TopbarActions.spec.tsx +5 -5
  575. package/tests/components/layout/topbar/{createTopbarActions.spec.tsx → useTopbarActions.spec.tsx} +4 -13
  576. package/tests/helpers/createAppStructure.spec.tsx +0 -26
  577. package/tests/helpers/createSlot.spec.tsx +99 -0
  578. package/tests/helpers/createSlots.spec.tsx +100 -0
  579. package/tests/hooks/createControllableSignal.spec.ts +0 -50
  580. package/tests/hooks/createControllableStore.spec.ts +67 -0
  581. package/tests/hooks/createMountTransition.spec.ts +0 -9
  582. package/tests/hooks/useLocalStorage.spec.tsx +0 -34
  583. package/tests/hooks/useLogger.spec.tsx +1 -18
  584. package/tests/hooks/usePrint.spec.tsx +1 -24
  585. package/tests/hooks/useSyncConfig.spec.tsx +1 -18
  586. package/tests/providers/ErrorLoggerProvider.spec.tsx +1 -11
  587. package/tests/providers/ServiceClientContext.spec.tsx +2 -20
  588. package/tests/providers/i18n/I18nContext.spec.tsx +1 -5
  589. package/tests/providers/shared-data/SharedDataProvider.spec.tsx +143 -21
  590. package/dist/components/data/kanban/KanbanContext.d.ts +0 -43
  591. package/dist/components/data/kanban/KanbanContext.d.ts.map +0 -1
  592. package/dist/components/data/kanban/KanbanContext.js +0 -24
  593. package/dist/components/data/kanban/KanbanContext.js.map +0 -6
  594. package/dist/components/data/sheet/DataSheet.css +0 -44
  595. package/dist/components/data/sheet/sheetUtils.d.ts.map +0 -1
  596. package/dist/components/data/sheet/sheetUtils.js.map +0 -6
  597. package/dist/components/data/sheet/types.d.ts.map +0 -1
  598. package/dist/components/data/sheet/types.js +0 -1
  599. package/dist/components/disclosure/DialogContext.d.ts +0 -57
  600. package/dist/components/disclosure/DialogContext.d.ts.map +0 -1
  601. package/dist/components/disclosure/DialogContext.js +0 -14
  602. package/dist/components/disclosure/DialogContext.js.map +0 -6
  603. package/dist/components/disclosure/DialogInstanceContext.d.ts +0 -20
  604. package/dist/components/disclosure/DialogInstanceContext.d.ts.map +0 -1
  605. package/dist/components/disclosure/DialogInstanceContext.js +0 -10
  606. package/dist/components/disclosure/DialogInstanceContext.js.map +0 -6
  607. package/dist/components/disclosure/DialogProvider.d.ts +0 -19
  608. package/dist/components/disclosure/DialogProvider.d.ts.map +0 -1
  609. package/dist/components/disclosure/DialogProvider.js +0 -145
  610. package/dist/components/disclosure/DialogProvider.js.map +0 -6
  611. package/dist/components/features/crud-detail/types.d.ts.map +0 -1
  612. package/dist/components/features/crud-detail/types.js +0 -1
  613. package/dist/components/features/crud-sheet/types.d.ts.map +0 -1
  614. package/dist/components/features/crud-sheet/types.js +0 -1
  615. package/dist/components/features/shared-data/SharedDataSelectListContext.d.ts +0 -15
  616. package/dist/components/features/shared-data/SharedDataSelectListContext.d.ts.map +0 -1
  617. package/dist/components/features/shared-data/SharedDataSelectListContext.js +0 -27
  618. package/dist/components/features/shared-data/SharedDataSelectListContext.js.map +0 -6
  619. package/dist/components/feedback/busy/BusyContext.d.ts +0 -29
  620. package/dist/components/feedback/busy/BusyContext.d.ts.map +0 -1
  621. package/dist/components/feedback/busy/BusyContext.js +0 -14
  622. package/dist/components/feedback/busy/BusyContext.js.map +0 -6
  623. package/dist/components/feedback/notification/NotificationContext.d.ts +0 -69
  624. package/dist/components/feedback/notification/NotificationContext.d.ts.map +0 -1
  625. package/dist/components/feedback/notification/NotificationContext.js +0 -14
  626. package/dist/components/feedback/notification/NotificationContext.js.map +0 -6
  627. package/dist/components/feedback/notification/index.d.ts +0 -5
  628. package/dist/components/feedback/notification/index.d.ts.map +0 -1
  629. package/dist/components/feedback/notification/index.js +0 -5
  630. package/dist/components/feedback/notification/index.js.map +0 -6
  631. package/dist/components/feedback/print/PrintContext.d.ts +0 -12
  632. package/dist/components/feedback/print/PrintContext.d.ts.map +0 -1
  633. package/dist/components/feedback/print/PrintContext.js +0 -12
  634. package/dist/components/feedback/print/PrintContext.js.map +0 -6
  635. package/dist/components/feedback/print/PrintInstanceContext.d.ts +0 -6
  636. package/dist/components/feedback/print/PrintInstanceContext.d.ts.map +0 -1
  637. package/dist/components/feedback/print/PrintInstanceContext.js +0 -10
  638. package/dist/components/feedback/print/PrintInstanceContext.js.map +0 -6
  639. package/dist/components/form-control/combobox/ComboboxContext.d.ts +0 -14
  640. package/dist/components/form-control/combobox/ComboboxContext.d.ts.map +0 -1
  641. package/dist/components/form-control/combobox/ComboboxContext.js +0 -14
  642. package/dist/components/form-control/combobox/ComboboxContext.js.map +0 -6
  643. package/dist/components/form-control/combobox/ComboboxItem.d.ts +0 -12
  644. package/dist/components/form-control/combobox/ComboboxItem.d.ts.map +0 -1
  645. package/dist/components/form-control/combobox/ComboboxItem.js +0 -56
  646. package/dist/components/form-control/combobox/ComboboxItem.js.map +0 -6
  647. package/dist/components/form-control/select/SelectContext.d.ts +0 -21
  648. package/dist/components/form-control/select/SelectContext.d.ts.map +0 -1
  649. package/dist/components/form-control/select/SelectContext.js +0 -14
  650. package/dist/components/form-control/select/SelectContext.js.map +0 -6
  651. package/dist/components/form-control/select/SelectItem.d.ts +0 -30
  652. package/dist/components/form-control/select/SelectItem.d.ts.map +0 -1
  653. package/dist/components/form-control/select/SelectItem.js +0 -112
  654. package/dist/components/form-control/select/SelectItem.js.map +0 -6
  655. package/dist/components/layout/sidebar/SidebarContainer.d.ts +0 -34
  656. package/dist/components/layout/sidebar/SidebarContainer.d.ts.map +0 -1
  657. package/dist/components/layout/sidebar/SidebarContainer.js +0 -88
  658. package/dist/components/layout/sidebar/SidebarContainer.js.map +0 -6
  659. package/dist/components/layout/sidebar/SidebarContext.d.ts +0 -28
  660. package/dist/components/layout/sidebar/SidebarContext.d.ts.map +0 -1
  661. package/dist/components/layout/sidebar/SidebarContext.js +0 -20
  662. package/dist/components/layout/sidebar/SidebarContext.js.map +0 -6
  663. package/dist/components/layout/sidebar/SidebarMenu.d.ts +0 -35
  664. package/dist/components/layout/sidebar/SidebarMenu.d.ts.map +0 -1
  665. package/dist/components/layout/sidebar/SidebarMenu.js +0 -153
  666. package/dist/components/layout/sidebar/SidebarMenu.js.map +0 -6
  667. package/dist/components/layout/sidebar/SidebarUser.d.ts +0 -48
  668. package/dist/components/layout/sidebar/SidebarUser.d.ts.map +0 -1
  669. package/dist/components/layout/sidebar/SidebarUser.js +0 -128
  670. package/dist/components/layout/sidebar/SidebarUser.js.map +0 -6
  671. package/dist/components/layout/topbar/TopbarActions.d.ts +0 -3
  672. package/dist/components/layout/topbar/TopbarActions.d.ts.map +0 -1
  673. package/dist/components/layout/topbar/TopbarActions.js +0 -17
  674. package/dist/components/layout/topbar/TopbarActions.js.map +0 -6
  675. package/dist/components/layout/topbar/TopbarContainer.d.ts +0 -25
  676. package/dist/components/layout/topbar/TopbarContainer.d.ts.map +0 -1
  677. package/dist/components/layout/topbar/TopbarContainer.js +0 -37
  678. package/dist/components/layout/topbar/TopbarContainer.js.map +0 -6
  679. package/dist/components/layout/topbar/TopbarContext.d.ts +0 -9
  680. package/dist/components/layout/topbar/TopbarContext.d.ts.map +0 -1
  681. package/dist/components/layout/topbar/TopbarContext.js +0 -29
  682. package/dist/components/layout/topbar/TopbarContext.js.map +0 -6
  683. package/dist/components/layout/topbar/TopbarMenu.d.ts +0 -41
  684. package/dist/components/layout/topbar/TopbarMenu.d.ts.map +0 -1
  685. package/dist/components/layout/topbar/TopbarMenu.js +0 -288
  686. package/dist/components/layout/topbar/TopbarMenu.js.map +0 -6
  687. package/dist/components/layout/topbar/TopbarUser.d.ts +0 -35
  688. package/dist/components/layout/topbar/TopbarUser.d.ts.map +0 -1
  689. package/dist/components/layout/topbar/TopbarUser.js +0 -110
  690. package/dist/components/layout/topbar/TopbarUser.js.map +0 -6
  691. package/dist/helpers/createHmrSafeContext.d.ts +0 -3
  692. package/dist/helpers/createHmrSafeContext.d.ts.map +0 -1
  693. package/dist/helpers/createHmrSafeContext.js +0 -10
  694. package/dist/helpers/createHmrSafeContext.js.map +0 -6
  695. package/dist/helpers/createSlotComponent.d.ts +0 -12
  696. package/dist/helpers/createSlotComponent.d.ts.map +0 -1
  697. package/dist/helpers/createSlotComponent.js +0 -13
  698. package/dist/helpers/createSlotComponent.js.map +0 -6
  699. package/dist/hooks/createSelectionGroup.d.ts +0 -70
  700. package/dist/hooks/createSelectionGroup.d.ts.map +0 -1
  701. package/dist/hooks/createSelectionGroup.js +0 -145
  702. package/dist/hooks/createSelectionGroup.js.map +0 -6
  703. package/dist/hooks/createSlotSignal.d.ts +0 -9
  704. package/dist/hooks/createSlotSignal.d.ts.map +0 -1
  705. package/dist/hooks/createSlotSignal.js +0 -10
  706. package/dist/hooks/createSlotSignal.js.map +0 -6
  707. package/dist/providers/LoggerContext.d.ts.map +0 -1
  708. package/dist/providers/ServiceClientContext.d.ts +0 -23
  709. package/dist/providers/ServiceClientContext.d.ts.map +0 -1
  710. package/dist/providers/ServiceClientContext.js +0 -14
  711. package/dist/providers/ServiceClientContext.js.map +0 -6
  712. package/dist/providers/SyncStorageContext.d.ts.map +0 -1
  713. package/dist/providers/i18n/I18nContext.d.ts.map +0 -1
  714. package/dist/providers/i18n/I18nContext.types.d.ts.map +0 -1
  715. package/dist/providers/i18n/I18nContext.types.js +0 -1
  716. package/dist/providers/shared-data/SharedDataContext.d.ts +0 -77
  717. package/dist/providers/shared-data/SharedDataContext.d.ts.map +0 -1
  718. package/dist/providers/shared-data/SharedDataContext.js +0 -14
  719. package/dist/providers/shared-data/SharedDataContext.js.map +0 -6
  720. package/dist/styles/patterns.styles.d.ts +0 -7
  721. package/dist/styles/patterns.styles.d.ts.map +0 -1
  722. package/dist/styles/patterns.styles.js +0 -47
  723. package/dist/styles/patterns.styles.js.map +0 -6
  724. package/dist/styles/tokens.styles.d.ts +0 -23
  725. package/dist/styles/tokens.styles.d.ts.map +0 -1
  726. package/dist/styles/tokens.styles.js +0 -76
  727. package/dist/styles/tokens.styles.js.map +0 -6
  728. package/src/components/data/kanban/KanbanContext.ts +0 -76
  729. package/src/components/data/sheet/DataSheet.css +0 -44
  730. package/src/components/disclosure/DialogContext.ts +0 -69
  731. package/src/components/disclosure/DialogInstanceContext.ts +0 -25
  732. package/src/components/disclosure/DialogProvider.tsx +0 -147
  733. package/src/components/features/shared-data/SharedDataSelectListContext.ts +0 -39
  734. package/src/components/feedback/busy/BusyContext.ts +0 -38
  735. package/src/components/feedback/notification/NotificationContext.ts +0 -95
  736. package/src/components/feedback/notification/index.ts +0 -4
  737. package/src/components/feedback/print/PrintContext.ts +0 -20
  738. package/src/components/feedback/print/PrintInstanceContext.ts +0 -11
  739. package/src/components/form-control/combobox/ComboboxContext.ts +0 -25
  740. package/src/components/form-control/combobox/ComboboxItem.tsx +0 -69
  741. package/src/components/form-control/select/SelectContext.ts +0 -35
  742. package/src/components/form-control/select/SelectItem.tsx +0 -128
  743. package/src/components/layout/sidebar/SidebarContainer.tsx +0 -123
  744. package/src/components/layout/sidebar/SidebarContext.ts +0 -40
  745. package/src/components/layout/sidebar/SidebarMenu.tsx +0 -182
  746. package/src/components/layout/sidebar/SidebarUser.tsx +0 -142
  747. package/src/components/layout/topbar/TopbarActions.tsx +0 -8
  748. package/src/components/layout/topbar/TopbarContainer.tsx +0 -44
  749. package/src/components/layout/topbar/TopbarContext.ts +0 -36
  750. package/src/components/layout/topbar/TopbarMenu.tsx +0 -227
  751. package/src/components/layout/topbar/TopbarUser.tsx +0 -97
  752. package/src/helpers/createHmrSafeContext.ts +0 -8
  753. package/src/helpers/createSlotComponent.ts +0 -23
  754. package/src/hooks/createSelectionGroup.tsx +0 -241
  755. package/src/hooks/createSlotSignal.ts +0 -14
  756. package/src/providers/ServiceClientContext.ts +0 -32
  757. package/src/providers/shared-data/SharedDataContext.ts +0 -91
  758. package/src/styles/patterns.styles.ts +0 -50
  759. package/src/styles/tokens.styles.ts +0 -86
  760. package/tests/components/data/Table.spec.tsx +0 -55
  761. package/tests/components/display/Alert.spec.tsx +0 -47
  762. package/tests/components/display/Card.spec.tsx +0 -41
  763. package/tests/components/display/Link.spec.tsx +0 -62
  764. package/tests/components/display/Tag.spec.tsx +0 -47
  765. package/tests/components/feedback/print/Print.spec.tsx +0 -45
  766. package/tests/components/layout/FormGroup.spec.tsx +0 -104
  767. package/tests/components/layout/FormTable.spec.tsx +0 -43
  768. package/tests/components/layout/topbar/TopbarContainer.spec.tsx +0 -38
  769. package/tests/providers/ClipboardProvider.spec.tsx +0 -20
  770. package/tests/providers/ConfigContext.spec.tsx +0 -42
  771. package/tests/providers/LoggerContext.spec.tsx +0 -76
  772. package/tests/providers/PwaUpdateProvider.spec.tsx +0 -32
  773. package/tests/providers/SyncStorageContext.spec.tsx +0 -77
  774. /package/dist/components/data/sheet/{types.js.map → DataSheet.types.js.map} +0 -0
  775. /package/dist/components/{features/crud-detail/types.js.map → display/Barcode.types.js.map} +0 -0
  776. /package/dist/components/features/{crud-sheet/types.js.map → crud-detail/CrudDetail.types.js.map} +0 -0
  777. /package/dist/{providers/i18n/I18nContext.types.js.map → components/features/crud-sheet/CrudSheet.types.js.map} +0 -0
  778. /package/dist/components/feedback/busy/{BusyContainer.css → BusyContainer.animate.css} +0 -0
  779. /package/src/components/feedback/busy/{BusyContainer.css → BusyContainer.animate.css} +0 -0
  780. /package/src/providers/{LoggerContext.tsx → LoggerProvider.tsx} +0 -0
  781. /package/src/providers/{SyncStorageContext.tsx → SyncStorageProvider.tsx} +0 -0
  782. /package/src/providers/i18n/{I18nContext.types.ts → I18nProvider.types.ts} +0 -0
@@ -1,5 +1,4 @@
1
1
  import {
2
- children as resolveChildren,
3
2
  type Component,
4
3
  createMemo,
5
4
  For,
@@ -8,73 +7,48 @@ import {
8
7
  splitProps,
9
8
  } from "solid-js";
10
9
  import { IconSearch } from "@tabler/icons-solidjs";
11
- import { type SharedDataAccessor } from "../../../providers/shared-data/SharedDataContext";
10
+ import { type SharedDataAccessor } from "../../../providers/shared-data/SharedDataProvider";
12
11
  import { Select, type SelectProps } from "../../form-control/select/Select";
13
12
  import { Icon } from "../../display/Icon";
14
- import { useDialog } from "../../disclosure/DialogContext";
15
- import { useDialogInstance } from "../../disclosure/DialogInstanceContext";
16
- import { useI18n } from "../../../providers/i18n/I18nContext";
17
- import { type ComponentSize } from "../../../styles/tokens.styles";
13
+ import { type DialogShowOptions, useDialog } from "../../disclosure/Dialog";
14
+ import { useI18n } from "../../../providers/i18n/I18nProvider";
15
+ import { type ComponentSize } from "../../../styles/control.styles";
18
16
  import {
19
- type DataSelectDialogResult,
20
- type DialogConfig,
17
+ type DialogPropsField,
18
+ type SelectDialogBaseProps,
21
19
  } from "../data-select-button/DataSelectButton";
20
+ import { createSlot } from "../../../helpers/createSlot";
21
+ import { createSlots } from "../../../helpers/createSlots";
22
22
 
23
- // -- Slot detection --
24
- const ITEM_TEMPLATE_BRAND = Symbol("SharedDataSelect.ItemTemplate");
25
- const ACTION_BRAND = Symbol("SharedDataSelect.Action");
26
-
27
- interface ItemTemplateDef {
28
- __brand: typeof ITEM_TEMPLATE_BRAND;
23
+ // -- Slot definitions --
24
+ interface ItemTemplateProps {
29
25
  children: (item: any, index: number, depth: number) => JSX.Element;
30
26
  }
31
27
 
32
- interface ActionDef {
33
- __brand: typeof ACTION_BRAND;
34
- children: JSX.Element;
28
+ interface ActionProps {
29
+ children?: JSX.Element;
35
30
  onClick?: (e: MouseEvent) => void;
36
31
  }
37
32
 
38
- function isItemTemplateDef(v: unknown): v is ItemTemplateDef {
39
- return v != null && typeof v === "object" && "__brand" in v && (v as any).__brand === ITEM_TEMPLATE_BRAND;
40
- }
41
-
42
- function isActionDef(v: unknown): v is ActionDef {
43
- return v != null && typeof v === "object" && "__brand" in v && (v as any).__brand === ACTION_BRAND;
44
- }
33
+ const [ItemTemplate, createItemTemplateSlotAccessor] = createSlot<ItemTemplateProps>();
34
+ const [ActionSlot, createActionSlotsAccessor] = createSlots<ActionProps>();
45
35
 
46
- // -- Compound components --
47
- const ItemTemplate: Component<{
48
- children: (item: any, index: number, depth: number) => JSX.Element;
49
- }> = (props) => {
50
- // eslint-disable-next-line solid/reactivity -- factory function, not reactive JSX
51
- return (() => ({
52
- __brand: ITEM_TEMPLATE_BRAND,
53
- children: props.children,
54
- })) as unknown as JSX.Element;
55
- };
56
-
57
- const Action: Component<{
58
- children?: JSX.Element;
59
- onClick?: (e: MouseEvent) => void;
60
- }> = (props) => {
61
- // eslint-disable-next-line solid/reactivity -- factory function, not reactive JSX
62
- return (() => ({
63
- __brand: ACTION_BRAND,
64
- children: props.children,
65
- onClick: props.onClick,
66
- })) as unknown as JSX.Element;
36
+ const Action: Component<ActionProps> = (props) => {
37
+ return ActionSlot(props);
67
38
  };
68
39
 
69
40
  /** SharedDataSelect Props */
70
- export interface SharedDataSelectProps<TItem> {
41
+ export type SharedDataSelectProps<
42
+ TItem,
43
+ TKey extends string | number = string | number,
44
+ TDialogProps extends SelectDialogBaseProps = SelectDialogBaseProps,
45
+ > = {
71
46
  /** Shared data accessor */
72
47
  data: SharedDataAccessor<TItem>;
73
-
74
48
  /** Currently selected key value (translated to item internally) */
75
- value?: unknown;
49
+ value?: TKey | TKey[];
76
50
  /** Value change callback (receives key, not item) */
77
- onValueChange?: (value: unknown) => void;
51
+ onValueChange?: (value: TKey | TKey[] | undefined) => void;
78
52
  /** Multiple selection mode */
79
53
  multiple?: boolean;
80
54
  /** Required input */
@@ -85,39 +59,38 @@ export interface SharedDataSelectProps<TItem> {
85
59
  size?: ComponentSize;
86
60
  /** Borderless style */
87
61
  inset?: boolean;
88
-
89
62
  /** Item filter function */
90
63
  filterFn?: (item: TItem, index: number) => boolean;
91
- /** Selection dialog configuration */
92
- dialog?: DialogConfig;
93
-
64
+ /** Selection dialog component */
65
+ dialog?: Component<TDialogProps>;
66
+ /** Dialog options (header, size, etc.) */
67
+ dialogOptions?: DialogShowOptions;
94
68
  /** Compound children: ItemTemplate, Action */
95
69
  children: JSX.Element;
96
- }
97
-
98
- interface SharedDataSelectComponent {
99
- <TItem>(props: SharedDataSelectProps<TItem>): JSX.Element;
100
- ItemTemplate: typeof ItemTemplate;
101
- Action: typeof Action;
102
- }
103
-
104
- const SharedDataSelectBase = <TItem,>(props: SharedDataSelectProps<TItem>): JSX.Element => {
70
+ } & DialogPropsField<TDialogProps>;
71
+
72
+ const SharedDataSelectBase = <
73
+ TItem,
74
+ TKey extends string | number = string | number,
75
+ TDialogProps extends SelectDialogBaseProps = SelectDialogBaseProps,
76
+ >(
77
+ props: SharedDataSelectProps<TItem, TKey, TDialogProps>,
78
+ ): JSX.Element => {
105
79
  const [local, rest] = splitProps(props, [
106
- "data", "filterFn", "dialog", "children",
80
+ "data",
81
+ "filterFn",
82
+ "dialog",
83
+ "dialogProps",
84
+ "dialogOptions",
85
+ "children",
107
86
  ]);
108
87
 
109
88
  const i18n = useI18n();
110
89
  const dialog = useDialog();
111
90
 
112
- // Resolve compound children
113
- const resolved = resolveChildren(() => local.children);
114
- const defs = createMemo(() => {
115
- const arr = resolved.toArray();
116
- return {
117
- itemTemplate: arr.find(isItemTemplateDef) as unknown as ItemTemplateDef | undefined,
118
- actions: arr.filter(isActionDef) as unknown as ActionDef[],
119
- };
120
- });
91
+ // Slot accessors
92
+ const [itemTemplateSlot, ItemTemplateProvider] = createItemTemplateSlotAccessor();
93
+ const [actionSlots, ActionsProvider] = createActionSlotsAccessor();
121
94
 
122
95
  // Items with filterFn applied
123
96
  const items = createMemo(() => {
@@ -127,54 +100,48 @@ const SharedDataSelectBase = <TItem,>(props: SharedDataSelectProps<TItem>): JSX.
127
100
  });
128
101
 
129
102
  // Normalize value to keys array
130
- const normalizeKeys = (value: unknown): (string | number)[] => {
103
+ const normalizeKeys = (value: TKey | TKey[] | undefined | null): TKey[] => {
131
104
  if (value === undefined || value === null) return [];
132
105
  if (Array.isArray(value)) return value;
133
- return [value as string | number];
106
+ return [value];
134
107
  };
135
108
 
136
109
  // Translate key(s) to item(s) for Select's value prop
137
- const keyToItem = (key: string | number): TItem | undefined => {
110
+ const keyToItem = (key: TKey): TItem | undefined => {
138
111
  return local.data.get(key);
139
112
  };
140
113
 
141
114
  const valueAsItem = createMemo((): TItem | TItem[] | undefined => {
142
- const key = rest.value;
143
- if (key === undefined || key === null) return undefined;
115
+ const key = rest.value as TKey | TKey[] | undefined;
116
+ if (key === undefined) return undefined;
144
117
  if (Array.isArray(key)) {
145
- return key.map((k) => keyToItem(k as string | number)).filter((v): v is TItem => v !== undefined);
118
+ return key
119
+ .map((k) => keyToItem(k))
120
+ .filter((v): v is TItem => v !== undefined);
146
121
  }
147
- return keyToItem(key as string | number);
122
+ return keyToItem(key);
148
123
  });
149
124
 
150
125
  // Translate item back to key for onValueChange callback
151
- const itemToKey = (item: TItem | TItem[] | undefined): unknown => {
126
+ const itemToKey = (item: TItem | TItem[] | undefined): TKey | TKey[] | undefined => {
152
127
  if (item === undefined || item === null) return undefined;
153
- if (Array.isArray(item)) return item.map((i) => local.data.getKey(i));
154
- return local.data.getKey(item);
128
+ if (Array.isArray(item)) return item.map((i) => local.data.getKey(i) as TKey);
129
+ return local.data.getKey(item) as TKey;
155
130
  };
156
131
 
157
132
  // Open dialog and handle selection result
158
133
  const handleOpenDialog = async () => {
159
134
  if (!local.dialog) return;
160
135
 
161
- const dialogConfig = local.dialog;
162
- const result = await dialog.show<DataSelectDialogResult<string | number>>(
163
- () => {
164
- const instance = useDialogInstance<DataSelectDialogResult<string | number>>();
165
- return (
166
- <dialogConfig.component
167
- {...(dialogConfig.props ?? {})}
168
- selectMode={rest.multiple ? "multiple" : "single"}
169
- selectedKeys={normalizeKeys(rest.value)}
170
- onSelect={(r: { keys: (string | number)[] }) =>
171
- instance?.close({ selectedKeys: r.keys })
172
- }
173
- />
174
- );
136
+ const result = (await dialog.show(
137
+ local.dialog as any,
138
+ {
139
+ ...((local as any).dialogProps ?? {}),
140
+ selectionMode: rest.multiple ? "multiple" : "single",
141
+ selectedKeys: normalizeKeys(rest.value),
175
142
  },
176
- dialogConfig.option ?? {},
177
- );
143
+ local.dialogOptions,
144
+ )) as { selectedKeys: TKey[] } | undefined;
178
145
 
179
146
  if (result) {
180
147
  const newKeys = result.selectedKeys;
@@ -192,7 +159,6 @@ const SharedDataSelectBase = <TItem,>(props: SharedDataSelectProps<TItem>): JSX.
192
159
  },
193
160
  get onValueChange() {
194
161
  if (!rest.onValueChange) return undefined;
195
- // eslint-disable-next-line solid/reactivity -- inside getter, tracked scope
196
162
  return (item: TItem | TItem[] | undefined) => {
197
163
  rest.onValueChange!(itemToKey(item));
198
164
  };
@@ -200,43 +166,47 @@ const SharedDataSelectBase = <TItem,>(props: SharedDataSelectProps<TItem>): JSX.
200
166
  get items() {
201
167
  return items();
202
168
  },
203
- get getChildren() {
169
+ get itemChildren() {
204
170
  if (!local.data.getParentKey) return undefined;
205
- // eslint-disable-next-line solid/reactivity -- return function is called within Select's internal JSX tracked scope
206
171
  return (item: TItem) => {
207
172
  const key = local.data.getKey(item);
208
- return items().filter((child) => local.data.getParentKey!(child) === key);
173
+ return items().filter((child: TItem) => local.data.getParentKey!(child) === key);
209
174
  };
210
175
  },
211
- get getSearchText() {
212
- return local.data.getSearchText;
176
+ get itemSearchText() {
177
+ return local.data.itemSearchText;
213
178
  },
214
- get getIsHidden() {
215
- return local.data.getIsHidden;
179
+ get isItemHidden() {
180
+ return local.data.isItemHidden;
216
181
  },
217
- }) as unknown as SelectProps;
182
+ }) as SelectProps<TItem>;
218
183
 
219
184
  return (
220
- <Select {...selectProps}>
221
- {defs().itemTemplate && (
222
- <Select.ItemTemplate>{defs().itemTemplate!.children}</Select.ItemTemplate>
223
- )}
224
- {local.dialog && (
225
- <Select.Action onClick={() => void handleOpenDialog()} aria-label={i18n.t("sharedDataSelect.search")}>
226
- <Icon icon={IconSearch} />
227
- </Select.Action>
228
- )}
229
- <For each={defs().actions}>
230
- {(action) => (
231
- <Select.Action onClick={action.onClick}>
232
- {action.children}
233
- </Select.Action>
234
- )}
235
- </For>
236
- </Select>
185
+ <ItemTemplateProvider>
186
+ <ActionsProvider>
187
+ {local.children}
188
+ <Select {...selectProps}>
189
+ {itemTemplateSlot() && (
190
+ <Select.ItemTemplate>{itemTemplateSlot()!.children}</Select.ItemTemplate>
191
+ )}
192
+ {local.dialog && (
193
+ <Select.Action
194
+ onClick={() => void handleOpenDialog()}
195
+ aria-label={i18n.t("sharedDataSelect.search")}
196
+ >
197
+ <Icon icon={IconSearch} />
198
+ </Select.Action>
199
+ )}
200
+ <For each={actionSlots()}>
201
+ {(action) => <Select.Action onClick={action.onClick}>{action.children}</Select.Action>}
202
+ </For>
203
+ </Select>
204
+ </ActionsProvider>
205
+ </ItemTemplateProvider>
237
206
  );
238
207
  };
239
208
 
240
- export const SharedDataSelect: SharedDataSelectComponent = SharedDataSelectBase as any;
241
- SharedDataSelect.ItemTemplate = ItemTemplate;
242
- SharedDataSelect.Action = Action;
209
+ export const SharedDataSelect = Object.assign(SharedDataSelectBase, {
210
+ ItemTemplate,
211
+ Action,
212
+ });
@@ -1,17 +1,21 @@
1
- import { type JSX, splitProps } from "solid-js";
2
- import { type SharedDataAccessor } from "../../../providers/shared-data/SharedDataContext";
1
+ import { type Component, type JSX, splitProps } from "solid-js";
2
+ import { type SharedDataAccessor } from "../../../providers/shared-data/SharedDataProvider";
3
3
  import {
4
4
  DataSelectButton,
5
5
  type DataSelectButtonProps,
6
- type DialogConfig,
6
+ type SelectDialogBaseProps,
7
+ type DialogPropsField,
7
8
  } from "../data-select-button/DataSelectButton";
8
- import { type ComponentSize } from "../../../styles/tokens.styles";
9
+ import { type DialogShowOptions } from "../../disclosure/Dialog";
10
+ import { type ComponentSize } from "../../../styles/control.styles";
9
11
 
10
12
  /** SharedDataSelectButton Props */
11
- export interface SharedDataSelectButtonProps<TItem> {
13
+ export type SharedDataSelectButtonProps<
14
+ TItem,
15
+ TDialogProps extends SelectDialogBaseProps = SelectDialogBaseProps,
16
+ > = {
12
17
  /** Shared data accessor */
13
18
  data: SharedDataAccessor<TItem>;
14
-
15
19
  /** Currently selected key(s) (single or multiple) */
16
20
  value?: DataSelectButtonProps<TItem>["value"];
17
21
  /** Value change callback */
@@ -26,23 +30,27 @@ export interface SharedDataSelectButtonProps<TItem> {
26
30
  size?: ComponentSize;
27
31
  /** Borderless style */
28
32
  inset?: boolean;
29
-
30
- /** Selection dialog configuration */
31
- dialog: DialogConfig;
33
+ /** Selection dialog component */
34
+ dialog: Component<TDialogProps>;
35
+ /** Dialog options (header, size, etc.) */
36
+ dialogOptions?: DialogShowOptions;
32
37
  /** Item rendering function */
33
38
  children: (item: TItem) => JSX.Element;
34
- }
39
+ } & DialogPropsField<TDialogProps>;
35
40
 
36
- export function SharedDataSelectButton<TItem>(
37
- props: SharedDataSelectButtonProps<TItem>,
41
+ export function SharedDataSelectButton<
42
+ TItem,
43
+ TDialogProps extends SelectDialogBaseProps = SelectDialogBaseProps,
44
+ >(
45
+ props: SharedDataSelectButtonProps<TItem, TDialogProps>,
38
46
  ): JSX.Element {
39
47
  const [local, rest] = splitProps(props, ["data", "children"]);
40
48
 
41
49
  return (
42
50
  <DataSelectButton
43
- load={(keys) => local.data.items().filter((item) => keys.includes(local.data.getKey(item)))}
51
+ load={(keys) => local.data.items().filter((item: TItem) => keys.includes(local.data.getKey(item)))}
44
52
  renderItem={local.children}
45
- {...rest}
53
+ {...(rest as any)}
46
54
  />
47
55
  );
48
56
  }
@@ -1,19 +1,45 @@
1
- import { createEffect, createMemo, createSignal, For, type JSX, Show, splitProps } from "solid-js";
1
+ import { createContext, createEffect, createMemo, createSignal, For, onCleanup, type JSX, Show, splitProps, useContext } from "solid-js";
2
2
  import clsx from "clsx";
3
3
  import { twMerge } from "tailwind-merge";
4
- import { type SharedDataAccessor } from "../../../providers/shared-data/SharedDataContext";
4
+ import { type SharedDataAccessor } from "../../../providers/shared-data/SharedDataProvider";
5
5
  import { List } from "../../data/list/List";
6
6
  import { Pagination } from "../../data/Pagination";
7
7
  import { TextInput } from "../../form-control/field/TextInput";
8
- import { useI18n } from "../../../providers/i18n/I18nContext";
9
- import { textMuted } from "../../../styles/tokens.styles";
10
- import { createSlotSignal } from "../../../hooks/createSlotSignal";
11
- import {
12
- SharedDataSelectListContext,
13
- type SharedDataSelectListContextValue,
14
- SharedDataSelectListItemTemplate,
15
- SharedDataSelectListFilter,
16
- } from "./SharedDataSelectListContext";
8
+ import { useI18n } from "../../../providers/i18n/I18nProvider";
9
+ import { text } from "../../../styles/base.styles";
10
+ import { gap } from "../../../styles/control.styles";
11
+ import { createSlot } from "../../../helpers/createSlot";
12
+
13
+ // ─── Context ──────────────────────────────────────────────
14
+
15
+ export interface SharedDataSelectListContextValue {
16
+ setItemTemplate: (fn: ((...args: unknown[]) => JSX.Element) | undefined) => void;
17
+ }
18
+
19
+ const SharedDataSelectListContext = createContext<SharedDataSelectListContextValue>();
20
+
21
+ function useSharedDataSelectListContext(): SharedDataSelectListContextValue {
22
+ const context = useContext(SharedDataSelectListContext);
23
+ if (!context) {
24
+ throw new Error("useSharedDataSelectListContext can only be used inside SharedDataSelectList");
25
+ }
26
+ return context;
27
+ }
28
+
29
+ // ─── Sub-components ───────────────────────────────────────
30
+
31
+ /** ItemTemplate sub-component — registers item render function */
32
+ const SharedDataSelectListItemTemplate = <TItem,>(props: {
33
+ children: (item: TItem, index: number) => JSX.Element;
34
+ }) => {
35
+ const ctx = useSharedDataSelectListContext();
36
+ ctx.setItemTemplate(props.children as (...args: unknown[]) => JSX.Element);
37
+ onCleanup(() => ctx.setItemTemplate(undefined));
38
+ return null;
39
+ };
40
+
41
+ /** Filter sub-component — registers custom filter UI slot */
42
+ const [SharedDataSelectListFilter, createFilterSlotAccessor] = createSlot<{ children: JSX.Element }>();
17
43
 
18
44
  /** SharedDataSelectList Props */
19
45
  export interface SharedDataSelectListProps<TItem> {
@@ -47,19 +73,9 @@ export interface SharedDataSelectListProps<TItem> {
47
73
  style?: JSX.CSSProperties;
48
74
  }
49
75
 
50
- // ─── Styles ──────────────────────────────────────────────
51
-
52
- const containerClass = clsx("flex-col gap-1");
53
-
54
76
  // ─── Component ───────────────────────────────────────────
55
77
 
56
- export interface SharedDataSelectListComponent {
57
- <TItem>(props: SharedDataSelectListProps<TItem>): JSX.Element;
58
- ItemTemplate: typeof SharedDataSelectListItemTemplate;
59
- Filter: typeof SharedDataSelectListFilter;
60
- }
61
-
62
- export const SharedDataSelectList: SharedDataSelectListComponent = (<TItem,>(
78
+ const SharedDataSelectListInner = (<TItem,>(
63
79
  props: SharedDataSelectListProps<TItem>,
64
80
  ): JSX.Element => {
65
81
  const [local, rest] = splitProps(props, [
@@ -81,7 +97,7 @@ export const SharedDataSelectList: SharedDataSelectListComponent = (<TItem,>(
81
97
 
82
98
  // ─── Slot signals ──────────────────────────────────────
83
99
 
84
- const [filter, setFilter] = createSlotSignal();
100
+ const [filter, FilterProvider] = createFilterSlotAccessor();
85
101
  const [itemTemplate, _setItemTemplate] = createSignal<
86
102
  ((item: TItem, index: number) => JSX.Element) | undefined
87
103
  >();
@@ -90,7 +106,6 @@ export const SharedDataSelectList: SharedDataSelectListComponent = (<TItem,>(
90
106
 
91
107
  const contextValue: SharedDataSelectListContextValue = {
92
108
  setItemTemplate,
93
- setFilter,
94
109
  };
95
110
 
96
111
  // ─── Search state ──────────────────────────────────────
@@ -113,20 +128,20 @@ export const SharedDataSelectList: SharedDataSelectListComponent = (<TItem,>(
113
128
  const filteredItems = createMemo(() => {
114
129
  let result = local.data.items();
115
130
 
116
- // getIsHidden filter
117
- const isHidden = local.data.getIsHidden;
131
+ // isItemHidden filter
132
+ const isHidden = local.data.isItemHidden;
118
133
  if (isHidden) {
119
- result = result.filter((item) => !isHidden(item));
134
+ result = result.filter((item: TItem) => !isHidden(item));
120
135
  }
121
136
 
122
- // Search filter (only when Filter compound is absent and getSearchText exists)
123
- const getSearchText = local.data.getSearchText;
124
- if (!filter() && getSearchText && searchText()) {
137
+ // Search filter (only when Filter compound is absent and itemSearchText exists)
138
+ const itemSearchText = local.data.itemSearchText;
139
+ if (!filter() && itemSearchText && searchText()) {
125
140
  const terms = searchText().trim().split(" ").filter(Boolean);
126
141
  if (terms.length > 0) {
127
- result = result.filter((item) => {
128
- const text = getSearchText(item).toLowerCase();
129
- return terms.every((t) => text.includes(t.toLowerCase()));
142
+ result = result.filter((item: TItem) => {
143
+ const itemText = itemSearchText(item).toLowerCase();
144
+ return terms.every((t) => itemText.includes(t.toLowerCase()));
130
145
  });
131
146
  }
132
147
  }
@@ -134,7 +149,7 @@ export const SharedDataSelectList: SharedDataSelectListComponent = (<TItem,>(
134
149
  // filterFn
135
150
  if (local.filterFn) {
136
151
  const fn = local.filterFn;
137
- result = result.filter((item, index) => fn(item, index));
152
+ result = result.filter((item: TItem, index: number) => fn(item, index));
138
153
  }
139
154
 
140
155
  return result;
@@ -185,20 +200,21 @@ export const SharedDataSelectList: SharedDataSelectListComponent = (<TItem,>(
185
200
  // ─── Render ────────────────────────────────────────────
186
201
 
187
202
  return (
203
+ <FilterProvider>
188
204
  <SharedDataSelectListContext.Provider value={contextValue}>
189
205
  {/* Render children inside Provider so sub-components (ItemTemplate, Filter) can access context */}
190
206
  {local.children}
191
207
  <div
192
208
  {...rest}
193
209
  data-shared-data-select-list
194
- class={twMerge(containerClass, local.class)}
210
+ class={twMerge(clsx("flex-col", gap.default), local.class)}
195
211
  style={local.style}
196
212
  >
197
213
  {/* Header */}
198
214
  <Show when={local.header != null}>{local.header}</Show>
199
215
 
200
- {/* Search input: when Filter compound is absent and getSearchText exists */}
201
- <Show when={!filter() && local.data.getSearchText}>
216
+ {/* Search input: when Filter compound is absent and itemSearchText exists */}
217
+ <Show when={!filter() && local.data.itemSearchText}>
202
218
  <div class={"p-1"}>
203
219
  <TextInput
204
220
  value={searchText()}
@@ -210,7 +226,7 @@ export const SharedDataSelectList: SharedDataSelectListComponent = (<TItem,>(
210
226
  </Show>
211
227
 
212
228
  {/* Custom Filter */}
213
- <Show when={filter()}>{filter()!()}</Show>
229
+ <Show when={filter()}>{filter()!.children}</Show>
214
230
 
215
231
  {/* Pagination */}
216
232
  <Show when={local.pageSize != null && totalPageCount() > 1}>
@@ -231,7 +247,7 @@ export const SharedDataSelectList: SharedDataSelectListComponent = (<TItem,>(
231
247
  disabled={local.disabled}
232
248
  onClick={() => handleSelect(undefined)}
233
249
  >
234
- <span class={textMuted}>{i18n.t("sharedDataSelectList.unspecified")}</span>
250
+ <span class={text.muted}>{i18n.t("sharedDataSelectList.unspecified")}</span>
235
251
  </List.Item>
236
252
  </Show>
237
253
 
@@ -250,8 +266,11 @@ export const SharedDataSelectList: SharedDataSelectListComponent = (<TItem,>(
250
266
  </List>
251
267
  </div>
252
268
  </SharedDataSelectListContext.Provider>
269
+ </FilterProvider>
253
270
  );
254
- }) as SharedDataSelectListComponent;
271
+ });
255
272
 
256
- SharedDataSelectList.ItemTemplate = SharedDataSelectListItemTemplate;
257
- SharedDataSelectList.Filter = SharedDataSelectListFilter;
273
+ export const SharedDataSelectList = Object.assign(SharedDataSelectListInner, {
274
+ ItemTemplate: SharedDataSelectListItemTemplate,
275
+ Filter: SharedDataSelectListFilter,
276
+ });
@@ -1,11 +1,9 @@
1
1
  import { type JSX, type ParentComponent, Show, splitProps } from "solid-js";
2
2
  import clsx from "clsx";
3
3
  import { twMerge } from "tailwind-merge";
4
- import {
5
- type ComponentSizeCompact,
6
- type SemanticTheme,
7
- themeTokens,
8
- } from "../../styles/tokens.styles";
4
+ import { bg, border } from "../../styles/base.styles";
5
+ import { type ComponentSize, pad } from "../../styles/control.styles";
6
+ import { type SemanticTheme, themeTokens } from "../../styles/theme.styles";
9
7
 
10
8
  export type ProgressTheme = SemanticTheme;
11
9
 
@@ -13,26 +11,18 @@ export interface ProgressProps extends JSX.HTMLAttributes<HTMLDivElement> {
13
11
  /** Progress value (range 0-1, 0 = 0%, 1 = 100%) */
14
12
  value: number;
15
13
  theme?: ProgressTheme;
16
- size?: ComponentSizeCompact;
14
+ size?: ComponentSize;
17
15
  inset?: boolean;
18
16
  }
19
17
 
20
- const baseClass = clsx(
21
- "relative block w-full",
22
- "overflow-hidden",
23
- "rounded",
24
- "bg-base-200 dark:bg-base-700",
25
- "border border-base-200 dark:border-base-700",
26
- );
27
-
28
- const sizeClasses: Record<"default" | ComponentSizeCompact, string> = {
29
- default: "py-1 px-2",
30
- sm: "py-0.5 px-2",
31
- lg: "py-2 px-3",
18
+ const sizeClasses: Record<ComponentSize, string> = {
19
+ default: pad.default,
20
+ xs: pad.xs,
21
+ sm: pad.sm,
22
+ lg: pad.lg,
23
+ xl: pad.xl,
32
24
  };
33
25
 
34
- const insetClass = clsx("rounded-none", "border-0", "bg-transparent");
35
-
36
26
  const barThemeClasses: Record<ProgressTheme, string> = Object.fromEntries(
37
27
  Object.entries(themeTokens).map(([theme, t]) => [theme, t.solid]),
38
28
  ) as Record<ProgressTheme, string>;
@@ -42,7 +32,12 @@ export const Progress: ParentComponent<ProgressProps> = (props) => {
42
32
 
43
33
  const getClassName = () => {
44
34
  const size = local.size ?? "default";
45
- return twMerge(baseClass, sizeClasses[size], local.inset ? insetClass : undefined, local.class);
35
+ return twMerge(
36
+ clsx("relative block w-full overflow-hidden rounded", bg.subtle, "border", border.default),
37
+ sizeClasses[size],
38
+ local.inset ? "rounded-none border-0 bg-transparent" : undefined,
39
+ local.class,
40
+ );
46
41
  };
47
42
 
48
43
  const getBarClassName = () => {