@simplysm/solid 13.0.0-beta.6 → 13.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (777) hide show
  1. package/README.md +103 -1544
  2. package/dist/components/data/Pagination.d.ts.map +1 -0
  3. package/dist/components/data/Pagination.js +102 -56
  4. package/dist/components/data/Pagination.js.map +2 -3
  5. package/dist/components/data/Table.d.ts.map +1 -0
  6. package/dist/components/data/Table.js +16 -8
  7. package/dist/components/data/Table.js.map +2 -3
  8. package/dist/components/data/calendar/Calendar.d.ts.map +1 -0
  9. package/dist/components/data/calendar/Calendar.js +73 -21
  10. package/dist/components/data/calendar/Calendar.js.map +2 -3
  11. package/dist/components/data/kanban/Kanban.css +10 -0
  12. package/dist/components/data/kanban/Kanban.d.ts.map +1 -0
  13. package/dist/components/data/kanban/Kanban.js +181 -103
  14. package/dist/components/data/kanban/Kanban.js.map +2 -3
  15. package/dist/components/data/kanban/KanbanContext.d.ts.map +1 -0
  16. package/dist/components/data/kanban/KanbanContext.js.map +0 -1
  17. package/dist/components/data/list/List.d.ts.map +1 -0
  18. package/dist/components/data/list/List.js +32 -23
  19. package/dist/components/data/list/List.js.map +2 -3
  20. package/dist/components/data/list/ListContext.d.ts.map +1 -0
  21. package/dist/components/data/list/ListContext.js.map +0 -1
  22. package/dist/components/data/list/ListItem.d.ts.map +1 -0
  23. package/dist/components/data/list/ListItem.js +108 -59
  24. package/dist/components/data/list/ListItem.js.map +2 -3
  25. package/dist/components/data/list/ListItem.styles.d.ts.map +1 -0
  26. package/dist/components/data/list/ListItem.styles.js +3 -3
  27. package/dist/components/data/list/ListItem.styles.js.map +0 -1
  28. package/dist/components/data/permission-table/PermissionTable.d.ts.map +1 -0
  29. package/dist/components/data/permission-table/PermissionTable.js +105 -38
  30. package/dist/components/data/permission-table/PermissionTable.js.map +2 -3
  31. package/dist/components/data/sheet/DataSheet.css +26 -0
  32. package/dist/components/data/sheet/DataSheet.d.ts.map +1 -0
  33. package/dist/components/data/sheet/DataSheet.js +654 -438
  34. package/dist/components/data/sheet/DataSheet.js.map +2 -3
  35. package/dist/components/data/sheet/DataSheet.styles.d.ts.map +1 -0
  36. package/dist/components/data/sheet/DataSheet.styles.js +1 -1
  37. package/dist/components/data/sheet/DataSheet.styles.js.map +0 -1
  38. package/dist/components/data/sheet/DataSheetColumn.d.ts.map +1 -0
  39. package/dist/components/data/sheet/DataSheetColumn.js +1 -1
  40. package/dist/components/data/sheet/DataSheetColumn.js.map +2 -3
  41. package/dist/components/data/sheet/DataSheetConfigDialog.d.ts.map +1 -0
  42. package/dist/components/data/sheet/DataSheetConfigDialog.js +92 -18
  43. package/dist/components/data/sheet/DataSheetConfigDialog.js.map +2 -3
  44. package/dist/components/data/sheet/sheetUtils.d.ts.map +1 -0
  45. package/dist/components/data/sheet/sheetUtils.js.map +0 -1
  46. package/dist/components/data/sheet/types.d.ts.map +1 -0
  47. package/dist/components/data/sheet/types.js.map +0 -1
  48. package/dist/components/disclosure/Collapse.d.ts.map +1 -0
  49. package/dist/components/disclosure/Collapse.js +40 -23
  50. package/dist/components/disclosure/Collapse.js.map +2 -3
  51. package/dist/components/disclosure/Dialog.d.ts.map +1 -0
  52. package/dist/components/disclosure/Dialog.js +133 -141
  53. package/dist/components/disclosure/Dialog.js.map +2 -3
  54. package/dist/components/disclosure/DialogContext.d.ts.map +1 -0
  55. package/dist/components/disclosure/DialogContext.js.map +0 -1
  56. package/dist/components/disclosure/DialogInstanceContext.d.ts.map +1 -0
  57. package/dist/components/disclosure/DialogInstanceContext.js.map +0 -1
  58. package/dist/components/disclosure/DialogProvider.d.ts.map +1 -0
  59. package/dist/components/disclosure/DialogProvider.js +92 -40
  60. package/dist/components/disclosure/DialogProvider.js.map +2 -3
  61. package/dist/components/disclosure/Dropdown.d.ts.map +1 -0
  62. package/dist/components/disclosure/Dropdown.js +62 -47
  63. package/dist/components/disclosure/Dropdown.js.map +2 -3
  64. package/dist/components/disclosure/Tabs.d.ts.map +1 -0
  65. package/dist/components/disclosure/Tabs.js +57 -29
  66. package/dist/components/disclosure/Tabs.js.map +2 -3
  67. package/dist/components/disclosure/dialogZIndex.d.ts.map +1 -0
  68. package/dist/components/disclosure/dialogZIndex.js.map +0 -1
  69. package/dist/components/display/Alert.d.ts.map +1 -0
  70. package/dist/components/display/Alert.js +16 -2
  71. package/dist/components/display/Alert.js.map +2 -3
  72. package/dist/components/display/Barcode.d.ts.map +1 -0
  73. package/dist/components/display/Barcode.js +16 -1
  74. package/dist/components/display/Barcode.js.map +2 -3
  75. package/dist/components/display/Card.css +14 -0
  76. package/dist/components/display/Card.d.ts.map +1 -0
  77. package/dist/components/display/Card.js +16 -10
  78. package/dist/components/display/Card.js.map +2 -3
  79. package/dist/{solid/src/components → components}/display/Echarts.d.ts +2 -2
  80. package/dist/components/display/Echarts.d.ts.map +1 -0
  81. package/dist/components/display/Echarts.js +28 -6
  82. package/dist/components/display/Echarts.js.map +2 -3
  83. package/dist/components/display/Icon.d.ts.map +1 -0
  84. package/dist/components/display/Icon.js +12 -1
  85. package/dist/components/display/Icon.js.map +2 -3
  86. package/dist/components/display/Tag.d.ts.map +1 -0
  87. package/dist/components/display/Tag.js +17 -5
  88. package/dist/components/display/Tag.js.map +2 -3
  89. package/dist/components/feedback/Progress.d.ts.map +1 -0
  90. package/dist/components/feedback/Progress.js +43 -12
  91. package/dist/components/feedback/Progress.js.map +2 -3
  92. package/dist/components/feedback/loading/LoadingContainer.css +19 -0
  93. package/dist/components/feedback/loading/LoadingContainer.d.ts.map +1 -0
  94. package/dist/components/feedback/loading/LoadingContainer.js +109 -45
  95. package/dist/components/feedback/loading/LoadingContainer.js.map +2 -3
  96. package/dist/components/feedback/loading/LoadingContext.d.ts.map +1 -0
  97. package/dist/components/feedback/loading/LoadingContext.js.map +0 -1
  98. package/dist/components/feedback/loading/LoadingProvider.d.ts.map +1 -0
  99. package/dist/components/feedback/loading/LoadingProvider.js +32 -12
  100. package/dist/components/feedback/loading/LoadingProvider.js.map +2 -3
  101. package/dist/components/feedback/notification/NotificationBanner.d.ts.map +1 -0
  102. package/dist/components/feedback/notification/NotificationBanner.js +64 -30
  103. package/dist/components/feedback/notification/NotificationBanner.js.map +2 -3
  104. package/dist/components/feedback/notification/NotificationBell.d.ts.map +1 -0
  105. package/dist/components/feedback/notification/NotificationBell.js +118 -50
  106. package/dist/components/feedback/notification/NotificationBell.js.map +2 -3
  107. package/dist/components/feedback/notification/NotificationContext.d.ts.map +1 -0
  108. package/dist/components/feedback/notification/NotificationContext.js.map +0 -1
  109. package/dist/components/feedback/notification/NotificationProvider.d.ts.map +1 -0
  110. package/dist/components/feedback/notification/NotificationProvider.js +41 -17
  111. package/dist/components/feedback/notification/NotificationProvider.js.map +2 -3
  112. package/dist/components/feedback/notification/index.d.ts.map +1 -0
  113. package/dist/components/feedback/notification/index.js +4 -4
  114. package/dist/components/feedback/notification/index.js.map +0 -1
  115. package/dist/components/feedback/print/Print.d.ts.map +1 -0
  116. package/dist/components/feedback/print/Print.js +10 -2
  117. package/dist/components/feedback/print/Print.js.map +2 -3
  118. package/dist/components/feedback/print/PrintInstanceContext.d.ts.map +1 -0
  119. package/dist/components/feedback/print/PrintInstanceContext.js.map +0 -1
  120. package/dist/components/form-control/Button.d.ts.map +1 -0
  121. package/dist/components/form-control/Button.js +35 -56
  122. package/dist/components/form-control/Button.js.map +2 -3
  123. package/dist/components/form-control/DropdownTrigger.styles.d.ts.map +1 -0
  124. package/dist/components/form-control/DropdownTrigger.styles.js +2 -2
  125. package/dist/components/form-control/DropdownTrigger.styles.js.map +0 -1
  126. package/dist/components/form-control/Invalid.d.ts +10 -0
  127. package/dist/components/form-control/Invalid.d.ts.map +1 -0
  128. package/dist/components/form-control/Invalid.js +51 -0
  129. package/dist/components/form-control/Invalid.js.map +6 -0
  130. package/dist/components/form-control/ThemeToggle.d.ts.map +1 -0
  131. package/dist/components/form-control/ThemeToggle.js +75 -30
  132. package/dist/components/form-control/ThemeToggle.js.map +2 -3
  133. package/dist/{solid/src/components/form-control/checkbox/Radio.d.ts.map → components/form-control/checkbox/Checkbox.d.ts.map} +1 -1
  134. package/dist/components/form-control/checkbox/Checkbox.js +60 -50
  135. package/dist/components/form-control/checkbox/Checkbox.js.map +2 -3
  136. package/dist/components/form-control/checkbox/Checkbox.styles.d.ts.map +1 -0
  137. package/dist/components/form-control/checkbox/Checkbox.styles.js +2 -2
  138. package/dist/components/form-control/checkbox/Checkbox.styles.js.map +0 -1
  139. package/dist/components/form-control/checkbox/CheckboxGroup.d.ts.map +1 -0
  140. package/dist/components/form-control/checkbox/CheckboxGroup.js +49 -27
  141. package/dist/components/form-control/checkbox/CheckboxGroup.js.map +2 -3
  142. package/dist/components/form-control/checkbox/Radio.d.ts.map +1 -0
  143. package/dist/components/form-control/checkbox/Radio.js +58 -49
  144. package/dist/components/form-control/checkbox/Radio.js.map +2 -3
  145. package/dist/components/form-control/checkbox/RadioGroup.d.ts.map +1 -0
  146. package/dist/components/form-control/checkbox/RadioGroup.js +49 -27
  147. package/dist/components/form-control/checkbox/RadioGroup.js.map +2 -3
  148. package/dist/components/form-control/color-picker/ColorPicker.d.ts.map +1 -0
  149. package/dist/components/form-control/color-picker/ColorPicker.js +30 -21
  150. package/dist/components/form-control/color-picker/ColorPicker.js.map +2 -3
  151. package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -0
  152. package/dist/components/form-control/combobox/Combobox.js +172 -84
  153. package/dist/components/form-control/combobox/Combobox.js.map +2 -3
  154. package/dist/components/form-control/combobox/ComboboxContext.d.ts.map +1 -0
  155. package/dist/components/form-control/combobox/ComboboxContext.js.map +0 -1
  156. package/dist/components/form-control/combobox/ComboboxItem.d.ts.map +1 -0
  157. package/dist/components/form-control/combobox/ComboboxItem.js +38 -31
  158. package/dist/components/form-control/combobox/ComboboxItem.js.map +2 -3
  159. package/dist/components/form-control/date-range-picker/DateRangePicker.d.ts.map +1 -0
  160. package/dist/components/form-control/date-range-picker/DateRangePicker.js +105 -67
  161. package/dist/components/form-control/date-range-picker/DateRangePicker.js.map +2 -3
  162. package/dist/components/form-control/editor/EditorToolbar.d.ts.map +1 -0
  163. package/dist/components/form-control/editor/EditorToolbar.js +211 -248
  164. package/dist/components/form-control/editor/EditorToolbar.js.map +2 -3
  165. package/dist/{solid/src/components → components}/form-control/editor/RichTextEditor.d.ts +0 -2
  166. package/dist/components/form-control/editor/RichTextEditor.d.ts.map +1 -0
  167. package/dist/components/form-control/editor/RichTextEditor.js +73 -58
  168. package/dist/components/form-control/editor/RichTextEditor.js.map +2 -3
  169. package/dist/components/form-control/editor/editor.css +81 -0
  170. package/dist/{solid/src/components → components}/form-control/field/DatePicker.d.ts +0 -2
  171. package/dist/components/form-control/field/DatePicker.d.ts.map +1 -0
  172. package/dist/components/form-control/field/DatePicker.js +123 -91
  173. package/dist/components/form-control/field/DatePicker.js.map +2 -3
  174. package/dist/{solid/src/components → components}/form-control/field/DateTimePicker.d.ts +0 -2
  175. package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -0
  176. package/dist/components/form-control/field/DateTimePicker.js +123 -108
  177. package/dist/components/form-control/field/DateTimePicker.js.map +2 -3
  178. package/dist/{solid/src/components → components}/form-control/field/Field.styles.d.ts +0 -1
  179. package/dist/components/form-control/field/Field.styles.d.ts.map +1 -0
  180. package/dist/components/form-control/field/Field.styles.js +2 -4
  181. package/dist/components/form-control/field/Field.styles.js.map +1 -2
  182. package/dist/{solid/src/components → components}/form-control/field/NumberInput.d.ts +0 -2
  183. package/dist/components/form-control/field/NumberInput.d.ts.map +1 -0
  184. package/dist/components/form-control/field/NumberInput.js +137 -102
  185. package/dist/components/form-control/field/NumberInput.js.map +2 -3
  186. package/dist/{solid/src/components → components}/form-control/field/TextInput.d.ts +0 -2
  187. package/dist/components/form-control/field/TextInput.d.ts.map +1 -0
  188. package/dist/components/form-control/field/TextInput.js +133 -98
  189. package/dist/components/form-control/field/TextInput.js.map +2 -3
  190. package/dist/{solid/src/components → components}/form-control/field/Textarea.d.ts +0 -2
  191. package/dist/components/form-control/field/Textarea.d.ts.map +1 -0
  192. package/dist/components/form-control/field/Textarea.js +147 -128
  193. package/dist/components/form-control/field/Textarea.js.map +2 -3
  194. package/dist/{solid/src/components → components}/form-control/field/TimePicker.d.ts +0 -2
  195. package/dist/components/form-control/field/TimePicker.d.ts.map +1 -0
  196. package/dist/components/form-control/field/TimePicker.js +115 -87
  197. package/dist/components/form-control/field/TimePicker.js.map +2 -3
  198. package/dist/components/form-control/numpad/Numpad.d.ts.map +1 -0
  199. package/dist/components/form-control/numpad/Numpad.js +189 -31
  200. package/dist/components/form-control/numpad/Numpad.js.map +2 -3
  201. package/dist/components/form-control/select/Select.d.ts.map +1 -0
  202. package/dist/components/form-control/select/Select.js +188 -86
  203. package/dist/components/form-control/select/Select.js.map +2 -3
  204. package/dist/components/form-control/select/SelectContext.d.ts.map +1 -0
  205. package/dist/components/form-control/select/SelectContext.js.map +0 -1
  206. package/dist/components/form-control/select/SelectItem.d.ts.map +1 -0
  207. package/dist/components/form-control/select/SelectItem.js +79 -38
  208. package/dist/components/form-control/select/SelectItem.js.map +2 -3
  209. package/dist/components/form-control/state-preset/StatePreset.d.ts.map +1 -0
  210. package/dist/components/form-control/state-preset/StatePreset.js +95 -80
  211. package/dist/components/form-control/state-preset/StatePreset.js.map +2 -3
  212. package/dist/components/layout/FormGroup.d.ts.map +1 -0
  213. package/dist/components/layout/FormGroup.js +47 -11
  214. package/dist/components/layout/FormGroup.js.map +2 -3
  215. package/dist/components/layout/FormTable.d.ts.map +1 -0
  216. package/dist/components/layout/FormTable.js +15 -1
  217. package/dist/components/layout/FormTable.js.map +2 -3
  218. package/dist/components/layout/sidebar/Sidebar.d.ts.map +1 -0
  219. package/dist/components/layout/sidebar/Sidebar.js +37 -36
  220. package/dist/components/layout/sidebar/Sidebar.js.map +2 -3
  221. package/dist/{solid/src/components → components}/layout/sidebar/SidebarContainer.d.ts +1 -1
  222. package/dist/components/layout/sidebar/SidebarContainer.d.ts.map +1 -0
  223. package/dist/components/layout/sidebar/SidebarContainer.js +48 -35
  224. package/dist/components/layout/sidebar/SidebarContainer.js.map +2 -3
  225. package/dist/components/layout/sidebar/SidebarContext.d.ts.map +1 -0
  226. package/dist/components/layout/sidebar/SidebarContext.js.map +0 -1
  227. package/dist/components/layout/sidebar/SidebarMenu.d.ts.map +1 -0
  228. package/dist/components/layout/sidebar/SidebarMenu.js +91 -25
  229. package/dist/components/layout/sidebar/SidebarMenu.js.map +2 -3
  230. package/dist/components/layout/sidebar/SidebarUser.d.ts +48 -0
  231. package/dist/components/layout/sidebar/SidebarUser.d.ts.map +1 -0
  232. package/dist/components/layout/sidebar/SidebarUser.js +99 -26
  233. package/dist/components/layout/sidebar/SidebarUser.js.map +2 -3
  234. package/dist/components/layout/topbar/Topbar.d.ts.map +1 -0
  235. package/dist/components/layout/topbar/Topbar.js +40 -7
  236. package/dist/components/layout/topbar/Topbar.js.map +2 -3
  237. package/dist/components/layout/topbar/TopbarContainer.d.ts.map +1 -0
  238. package/dist/components/layout/topbar/TopbarContainer.js +16 -1
  239. package/dist/components/layout/topbar/TopbarContainer.js.map +2 -3
  240. package/dist/components/layout/topbar/TopbarMenu.d.ts.map +1 -0
  241. package/dist/components/layout/topbar/TopbarMenu.js +200 -28
  242. package/dist/components/layout/topbar/TopbarMenu.js.map +2 -3
  243. package/dist/components/layout/topbar/TopbarUser.d.ts.map +1 -0
  244. package/dist/components/layout/topbar/TopbarUser.js +83 -16
  245. package/dist/components/layout/topbar/TopbarUser.js.map +2 -3
  246. package/dist/directives/ripple.d.ts.map +1 -0
  247. package/dist/directives/ripple.js.map +0 -1
  248. package/dist/helpers/createAppStructure.d.ts.map +1 -0
  249. package/dist/helpers/createAppStructure.js.map +0 -1
  250. package/dist/helpers/mergeStyles.d.ts.map +1 -0
  251. package/dist/helpers/mergeStyles.js.map +0 -1
  252. package/dist/helpers/splitSlots.d.ts.map +1 -0
  253. package/dist/helpers/splitSlots.js.map +0 -1
  254. package/dist/hooks/createControllableSignal.d.ts.map +1 -0
  255. package/dist/hooks/createControllableSignal.js.map +0 -1
  256. package/dist/hooks/createIMEHandler.d.ts.map +1 -0
  257. package/dist/hooks/createIMEHandler.js.map +0 -1
  258. package/dist/hooks/createMountTransition.d.ts.map +1 -0
  259. package/dist/hooks/createMountTransition.js.map +0 -1
  260. package/dist/hooks/createPwaUpdate.d.ts +14 -0
  261. package/dist/hooks/createPwaUpdate.d.ts.map +1 -0
  262. package/dist/hooks/createPwaUpdate.js +50 -0
  263. package/dist/hooks/createPwaUpdate.js.map +6 -0
  264. package/dist/hooks/useClipboardValueCopy.d.ts.map +1 -0
  265. package/dist/hooks/useClipboardValueCopy.js +1 -2
  266. package/dist/hooks/useClipboardValueCopy.js.map +1 -2
  267. package/dist/hooks/useLocalStorage.d.ts +29 -0
  268. package/dist/hooks/useLocalStorage.d.ts.map +1 -0
  269. package/dist/hooks/useLocalStorage.js +36 -0
  270. package/dist/hooks/useLocalStorage.js.map +6 -0
  271. package/dist/hooks/useLogger.d.ts +9 -0
  272. package/dist/hooks/useLogger.d.ts.map +1 -0
  273. package/dist/hooks/useLogger.js +24 -0
  274. package/dist/hooks/useLogger.js.map +6 -0
  275. package/dist/hooks/usePrint.d.ts.map +1 -0
  276. package/dist/hooks/usePrint.js +2 -2
  277. package/dist/hooks/usePrint.js.map +0 -1
  278. package/dist/hooks/useRouterLink.d.ts.map +1 -0
  279. package/dist/hooks/useRouterLink.js.map +0 -1
  280. package/dist/hooks/useSyncConfig.d.ts +24 -0
  281. package/dist/hooks/useSyncConfig.d.ts.map +1 -0
  282. package/dist/hooks/useSyncConfig.js +60 -0
  283. package/dist/hooks/useSyncConfig.js.map +6 -0
  284. package/dist/{solid/src/index.d.ts → index.d.ts} +9 -4
  285. package/dist/index.d.ts.map +1 -0
  286. package/dist/index.js +90 -84
  287. package/dist/index.js.map +1 -2
  288. package/dist/{solid/src/providers → providers}/ConfigContext.d.ts +20 -2
  289. package/dist/providers/ConfigContext.d.ts.map +1 -0
  290. package/dist/providers/ConfigContext.js.map +1 -2
  291. package/dist/{solid/src/providers → providers}/InitializeProvider.d.ts +6 -3
  292. package/dist/providers/InitializeProvider.d.ts.map +1 -0
  293. package/dist/providers/InitializeProvider.js +58 -3
  294. package/dist/providers/InitializeProvider.js.map +2 -3
  295. package/dist/providers/ServiceClientContext.d.ts.map +1 -0
  296. package/dist/providers/ServiceClientContext.js.map +0 -1
  297. package/dist/providers/ServiceClientProvider.d.ts.map +1 -0
  298. package/dist/providers/ServiceClientProvider.js +30 -24
  299. package/dist/providers/ServiceClientProvider.js.map +2 -3
  300. package/dist/{solid/src/providers → providers}/ThemeContext.d.ts +1 -1
  301. package/dist/providers/ThemeContext.d.ts.map +1 -0
  302. package/dist/providers/ThemeContext.js +10 -6
  303. package/dist/providers/ThemeContext.js.map +2 -3
  304. package/dist/providers/shared-data/SharedDataChangeEvent.d.ts +5 -0
  305. package/dist/providers/shared-data/SharedDataChangeEvent.d.ts.map +1 -0
  306. package/dist/providers/shared-data/SharedDataChangeEvent.js +4 -4
  307. package/dist/providers/shared-data/SharedDataChangeEvent.js.map +1 -2
  308. package/dist/providers/shared-data/SharedDataContext.d.ts.map +1 -0
  309. package/dist/providers/shared-data/SharedDataContext.js.map +0 -1
  310. package/dist/providers/shared-data/SharedDataProvider.d.ts.map +1 -0
  311. package/dist/providers/shared-data/SharedDataProvider.js +20 -17
  312. package/dist/providers/shared-data/SharedDataProvider.js.map +2 -3
  313. package/dist/styles/patterns.styles.d.ts.map +1 -0
  314. package/dist/styles/patterns.styles.js +1 -1
  315. package/dist/styles/patterns.styles.js.map +0 -1
  316. package/dist/styles/tokens.styles.d.ts.map +1 -0
  317. package/dist/styles/tokens.styles.js.map +0 -1
  318. package/docs/data-components.md +304 -0
  319. package/docs/disclosure.md +208 -0
  320. package/docs/display.md +136 -0
  321. package/docs/feedback.md +188 -0
  322. package/docs/form-controls.md +535 -0
  323. package/docs/helpers.md +46 -0
  324. package/docs/hooks.md +313 -0
  325. package/docs/layout.md +289 -0
  326. package/docs/providers.md +35 -0
  327. package/docs/styling.md +67 -0
  328. package/package.json +20 -10
  329. package/src/components/data/list/ListItem.styles.ts +2 -2
  330. package/src/components/data/sheet/DataSheet.tsx +3 -3
  331. package/src/components/display/Echarts.tsx +18 -11
  332. package/src/components/form-control/Invalid.tsx +61 -0
  333. package/src/components/form-control/editor/RichTextEditor.tsx +2 -9
  334. package/src/components/form-control/field/DatePicker.tsx +0 -6
  335. package/src/components/form-control/field/DateTimePicker.tsx +0 -6
  336. package/src/components/form-control/field/Field.styles.ts +0 -3
  337. package/src/components/form-control/field/NumberInput.tsx +0 -6
  338. package/src/components/form-control/field/TextInput.tsx +0 -6
  339. package/src/components/form-control/field/Textarea.tsx +0 -6
  340. package/src/components/form-control/field/TimePicker.tsx +0 -6
  341. package/src/components/form-control/state-preset/StatePreset.tsx +2 -2
  342. package/src/components/layout/sidebar/SidebarContainer.tsx +3 -4
  343. package/src/components/layout/sidebar/SidebarUser.tsx +44 -16
  344. package/src/hooks/createPwaUpdate.ts +73 -0
  345. package/src/hooks/useClipboardValueCopy.ts +1 -1
  346. package/src/hooks/useLocalStorage.ts +68 -0
  347. package/src/hooks/useLogger.ts +32 -0
  348. package/src/hooks/useSyncConfig.ts +99 -0
  349. package/src/index.ts +9 -4
  350. package/src/providers/ConfigContext.ts +23 -2
  351. package/src/providers/InitializeProvider.tsx +59 -5
  352. package/src/providers/ServiceClientProvider.tsx +2 -2
  353. package/src/providers/ThemeContext.tsx +3 -3
  354. package/src/providers/shared-data/SharedDataChangeEvent.ts +4 -7
  355. package/src/providers/shared-data/SharedDataProvider.tsx +3 -0
  356. package/.cache/typecheck-browser.tsbuildinfo +0 -1
  357. package/.cache/typecheck-tests-browser.tsbuildinfo +0 -1
  358. package/dist/core-browser/src/extensions/element-ext.d.ts +0 -98
  359. package/dist/core-browser/src/extensions/element-ext.d.ts.map +0 -1
  360. package/dist/core-browser/src/extensions/html-element-ext.d.ts +0 -54
  361. package/dist/core-browser/src/extensions/html-element-ext.d.ts.map +0 -1
  362. package/dist/core-browser/src/index.d.ts +0 -7
  363. package/dist/core-browser/src/index.d.ts.map +0 -1
  364. package/dist/core-browser/src/utils/blob.d.ts +0 -10
  365. package/dist/core-browser/src/utils/blob.d.ts.map +0 -1
  366. package/dist/core-browser/src/utils/download.d.ts +0 -11
  367. package/dist/core-browser/src/utils/download.d.ts.map +0 -1
  368. package/dist/core-common/src/common.types.d.ts +0 -74
  369. package/dist/core-common/src/common.types.d.ts.map +0 -1
  370. package/dist/core-common/src/env.d.ts +0 -6
  371. package/dist/core-common/src/env.d.ts.map +0 -1
  372. package/dist/core-common/src/errors/argument-error.d.ts +0 -25
  373. package/dist/core-common/src/errors/argument-error.d.ts.map +0 -1
  374. package/dist/core-common/src/errors/not-implemented-error.d.ts +0 -29
  375. package/dist/core-common/src/errors/not-implemented-error.d.ts.map +0 -1
  376. package/dist/core-common/src/errors/sd-error.d.ts +0 -27
  377. package/dist/core-common/src/errors/sd-error.d.ts.map +0 -1
  378. package/dist/core-common/src/errors/timeout-error.d.ts +0 -31
  379. package/dist/core-common/src/errors/timeout-error.d.ts.map +0 -1
  380. package/dist/core-common/src/extensions/arr-ext.d.ts +0 -15
  381. package/dist/core-common/src/extensions/arr-ext.d.ts.map +0 -1
  382. package/dist/core-common/src/extensions/arr-ext.helpers.d.ts +0 -19
  383. package/dist/core-common/src/extensions/arr-ext.helpers.d.ts.map +0 -1
  384. package/dist/core-common/src/extensions/arr-ext.types.d.ts +0 -215
  385. package/dist/core-common/src/extensions/arr-ext.types.d.ts.map +0 -1
  386. package/dist/core-common/src/extensions/map-ext.d.ts +0 -57
  387. package/dist/core-common/src/extensions/map-ext.d.ts.map +0 -1
  388. package/dist/core-common/src/extensions/set-ext.d.ts +0 -36
  389. package/dist/core-common/src/extensions/set-ext.d.ts.map +0 -1
  390. package/dist/core-common/src/features/debounce-queue.d.ts +0 -53
  391. package/dist/core-common/src/features/debounce-queue.d.ts.map +0 -1
  392. package/dist/core-common/src/features/event-emitter.d.ts +0 -66
  393. package/dist/core-common/src/features/event-emitter.d.ts.map +0 -1
  394. package/dist/core-common/src/features/serial-queue.d.ts +0 -47
  395. package/dist/core-common/src/features/serial-queue.d.ts.map +0 -1
  396. package/dist/core-common/src/index.d.ts +0 -32
  397. package/dist/core-common/src/index.d.ts.map +0 -1
  398. package/dist/core-common/src/types/date-only.d.ts +0 -152
  399. package/dist/core-common/src/types/date-only.d.ts.map +0 -1
  400. package/dist/core-common/src/types/date-time.d.ts +0 -96
  401. package/dist/core-common/src/types/date-time.d.ts.map +0 -1
  402. package/dist/core-common/src/types/lazy-gc-map.d.ts +0 -80
  403. package/dist/core-common/src/types/lazy-gc-map.d.ts.map +0 -1
  404. package/dist/core-common/src/types/time.d.ts +0 -68
  405. package/dist/core-common/src/types/time.d.ts.map +0 -1
  406. package/dist/core-common/src/types/uuid.d.ts +0 -35
  407. package/dist/core-common/src/types/uuid.d.ts.map +0 -1
  408. package/dist/core-common/src/utils/bytes.d.ts +0 -51
  409. package/dist/core-common/src/utils/bytes.d.ts.map +0 -1
  410. package/dist/core-common/src/utils/date-format.d.ts +0 -90
  411. package/dist/core-common/src/utils/date-format.d.ts.map +0 -1
  412. package/dist/core-common/src/utils/json.d.ts +0 -34
  413. package/dist/core-common/src/utils/json.d.ts.map +0 -1
  414. package/dist/core-common/src/utils/num.d.ts +0 -60
  415. package/dist/core-common/src/utils/num.d.ts.map +0 -1
  416. package/dist/core-common/src/utils/obj.d.ts +0 -258
  417. package/dist/core-common/src/utils/obj.d.ts.map +0 -1
  418. package/dist/core-common/src/utils/path.d.ts +0 -23
  419. package/dist/core-common/src/utils/path.d.ts.map +0 -1
  420. package/dist/core-common/src/utils/primitive.d.ts +0 -18
  421. package/dist/core-common/src/utils/primitive.d.ts.map +0 -1
  422. package/dist/core-common/src/utils/str.d.ts +0 -103
  423. package/dist/core-common/src/utils/str.d.ts.map +0 -1
  424. package/dist/core-common/src/utils/template-strings.d.ts +0 -84
  425. package/dist/core-common/src/utils/template-strings.d.ts.map +0 -1
  426. package/dist/core-common/src/utils/transferable.d.ts +0 -47
  427. package/dist/core-common/src/utils/transferable.d.ts.map +0 -1
  428. package/dist/core-common/src/utils/wait.d.ts +0 -19
  429. package/dist/core-common/src/utils/wait.d.ts.map +0 -1
  430. package/dist/core-common/src/utils/xml.d.ts +0 -36
  431. package/dist/core-common/src/utils/xml.d.ts.map +0 -1
  432. package/dist/core-common/src/zip/sd-zip.d.ts +0 -80
  433. package/dist/core-common/src/zip/sd-zip.d.ts.map +0 -1
  434. package/dist/hooks/usePersisted.js +0 -25
  435. package/dist/hooks/usePersisted.js.map +0 -7
  436. package/dist/orm-common/src/db-context.d.ts +0 -669
  437. package/dist/orm-common/src/db-context.d.ts.map +0 -1
  438. package/dist/orm-common/src/errors/db-transaction-error.d.ts +0 -51
  439. package/dist/orm-common/src/errors/db-transaction-error.d.ts.map +0 -1
  440. package/dist/orm-common/src/exec/executable.d.ts +0 -79
  441. package/dist/orm-common/src/exec/executable.d.ts.map +0 -1
  442. package/dist/orm-common/src/exec/queryable.d.ts +0 -708
  443. package/dist/orm-common/src/exec/queryable.d.ts.map +0 -1
  444. package/dist/orm-common/src/exec/search-parser.d.ts +0 -72
  445. package/dist/orm-common/src/exec/search-parser.d.ts.map +0 -1
  446. package/dist/orm-common/src/expr/expr-unit.d.ts +0 -25
  447. package/dist/orm-common/src/expr/expr-unit.d.ts.map +0 -1
  448. package/dist/orm-common/src/expr/expr.d.ts +0 -1369
  449. package/dist/orm-common/src/expr/expr.d.ts.map +0 -1
  450. package/dist/orm-common/src/index.d.ts +0 -32
  451. package/dist/orm-common/src/index.d.ts.map +0 -1
  452. package/dist/orm-common/src/models/system-migration.d.ts +0 -10
  453. package/dist/orm-common/src/models/system-migration.d.ts.map +0 -1
  454. package/dist/orm-common/src/query-builder/base/expr-renderer-base.d.ts +0 -95
  455. package/dist/orm-common/src/query-builder/base/expr-renderer-base.d.ts.map +0 -1
  456. package/dist/orm-common/src/query-builder/base/query-builder-base.d.ts +0 -66
  457. package/dist/orm-common/src/query-builder/base/query-builder-base.d.ts.map +0 -1
  458. package/dist/orm-common/src/query-builder/mssql/mssql-expr-renderer.d.ts +0 -84
  459. package/dist/orm-common/src/query-builder/mssql/mssql-expr-renderer.d.ts.map +0 -1
  460. package/dist/orm-common/src/query-builder/mssql/mssql-query-builder.d.ts +0 -45
  461. package/dist/orm-common/src/query-builder/mssql/mssql-query-builder.d.ts.map +0 -1
  462. package/dist/orm-common/src/query-builder/mysql/mysql-expr-renderer.d.ts +0 -84
  463. package/dist/orm-common/src/query-builder/mysql/mysql-expr-renderer.d.ts.map +0 -1
  464. package/dist/orm-common/src/query-builder/mysql/mysql-query-builder.d.ts +0 -54
  465. package/dist/orm-common/src/query-builder/mysql/mysql-query-builder.d.ts.map +0 -1
  466. package/dist/orm-common/src/query-builder/postgresql/postgresql-expr-renderer.d.ts +0 -84
  467. package/dist/orm-common/src/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +0 -1
  468. package/dist/orm-common/src/query-builder/postgresql/postgresql-query-builder.d.ts +0 -52
  469. package/dist/orm-common/src/query-builder/postgresql/postgresql-query-builder.d.ts.map +0 -1
  470. package/dist/orm-common/src/query-builder/query-builder.d.ts +0 -7
  471. package/dist/orm-common/src/query-builder/query-builder.d.ts.map +0 -1
  472. package/dist/orm-common/src/schema/factory/column-builder.d.ts +0 -394
  473. package/dist/orm-common/src/schema/factory/column-builder.d.ts.map +0 -1
  474. package/dist/orm-common/src/schema/factory/index-builder.d.ts +0 -151
  475. package/dist/orm-common/src/schema/factory/index-builder.d.ts.map +0 -1
  476. package/dist/orm-common/src/schema/factory/relation-builder.d.ts +0 -337
  477. package/dist/orm-common/src/schema/factory/relation-builder.d.ts.map +0 -1
  478. package/dist/orm-common/src/schema/procedure-builder.d.ts +0 -202
  479. package/dist/orm-common/src/schema/procedure-builder.d.ts.map +0 -1
  480. package/dist/orm-common/src/schema/table-builder.d.ts +0 -259
  481. package/dist/orm-common/src/schema/table-builder.d.ts.map +0 -1
  482. package/dist/orm-common/src/schema/view-builder.d.ts +0 -183
  483. package/dist/orm-common/src/schema/view-builder.d.ts.map +0 -1
  484. package/dist/orm-common/src/types/column.d.ts +0 -172
  485. package/dist/orm-common/src/types/column.d.ts.map +0 -1
  486. package/dist/orm-common/src/types/db.d.ts +0 -175
  487. package/dist/orm-common/src/types/db.d.ts.map +0 -1
  488. package/dist/orm-common/src/types/expr.d.ts +0 -474
  489. package/dist/orm-common/src/types/expr.d.ts.map +0 -1
  490. package/dist/orm-common/src/types/query-def.d.ts +0 -351
  491. package/dist/orm-common/src/types/query-def.d.ts.map +0 -1
  492. package/dist/orm-common/src/utils/result-parser.d.ts +0 -38
  493. package/dist/orm-common/src/utils/result-parser.d.ts.map +0 -1
  494. package/dist/service-client/src/features/event-client.d.ts +0 -14
  495. package/dist/service-client/src/features/event-client.d.ts.map +0 -1
  496. package/dist/service-client/src/features/file-client.d.ts +0 -13
  497. package/dist/service-client/src/features/file-client.d.ts.map +0 -1
  498. package/dist/service-client/src/features/orm/orm-client-connector.d.ts +0 -10
  499. package/dist/service-client/src/features/orm/orm-client-connector.d.ts.map +0 -1
  500. package/dist/service-client/src/features/orm/orm-client-db-context-executor.d.ts +0 -26
  501. package/dist/service-client/src/features/orm/orm-client-db-context-executor.d.ts.map +0 -1
  502. package/dist/service-client/src/features/orm/orm-connect-config.d.ts +0 -13
  503. package/dist/service-client/src/features/orm/orm-connect-config.d.ts.map +0 -1
  504. package/dist/service-client/src/index.d.ts +0 -12
  505. package/dist/service-client/src/index.d.ts.map +0 -1
  506. package/dist/service-client/src/protocol/client-protocol-wrapper.d.ts +0 -23
  507. package/dist/service-client/src/protocol/client-protocol-wrapper.d.ts.map +0 -1
  508. package/dist/service-client/src/service-client.d.ts +0 -41
  509. package/dist/service-client/src/service-client.d.ts.map +0 -1
  510. package/dist/service-client/src/transport/service-transport.d.ts +0 -24
  511. package/dist/service-client/src/transport/service-transport.d.ts.map +0 -1
  512. package/dist/service-client/src/transport/socket-provider.d.ts +0 -31
  513. package/dist/service-client/src/transport/socket-provider.d.ts.map +0 -1
  514. package/dist/service-client/src/types/connection-config.d.ts +0 -8
  515. package/dist/service-client/src/types/connection-config.d.ts.map +0 -1
  516. package/dist/service-client/src/types/progress.types.d.ts +0 -10
  517. package/dist/service-client/src/types/progress.types.d.ts.map +0 -1
  518. package/dist/service-common/src/index.d.ts +0 -8
  519. package/dist/service-common/src/index.d.ts.map +0 -1
  520. package/dist/service-common/src/protocol/protocol.types.d.ts +0 -100
  521. package/dist/service-common/src/protocol/protocol.types.d.ts.map +0 -1
  522. package/dist/service-common/src/protocol/service-protocol.d.ts +0 -63
  523. package/dist/service-common/src/protocol/service-protocol.d.ts.map +0 -1
  524. package/dist/service-common/src/service-types/auto-update-service.types.d.ts +0 -17
  525. package/dist/service-common/src/service-types/auto-update-service.types.d.ts.map +0 -1
  526. package/dist/service-common/src/service-types/crypto-service.types.d.ts +0 -22
  527. package/dist/service-common/src/service-types/crypto-service.types.d.ts.map +0 -1
  528. package/dist/service-common/src/service-types/orm-service.types.d.ts +0 -30
  529. package/dist/service-common/src/service-types/orm-service.types.d.ts.map +0 -1
  530. package/dist/service-common/src/service-types/smtp-service.types.d.ts +0 -55
  531. package/dist/service-common/src/service-types/smtp-service.types.d.ts.map +0 -1
  532. package/dist/service-common/src/types.d.ts +0 -43
  533. package/dist/service-common/src/types.d.ts.map +0 -1
  534. package/dist/solid/src/components/data/Pagination.d.ts.map +0 -1
  535. package/dist/solid/src/components/data/Table.d.ts.map +0 -1
  536. package/dist/solid/src/components/data/calendar/Calendar.d.ts.map +0 -1
  537. package/dist/solid/src/components/data/kanban/Kanban.d.ts.map +0 -1
  538. package/dist/solid/src/components/data/kanban/KanbanContext.d.ts.map +0 -1
  539. package/dist/solid/src/components/data/list/List.d.ts.map +0 -1
  540. package/dist/solid/src/components/data/list/ListContext.d.ts.map +0 -1
  541. package/dist/solid/src/components/data/list/ListItem.d.ts.map +0 -1
  542. package/dist/solid/src/components/data/list/ListItem.styles.d.ts.map +0 -1
  543. package/dist/solid/src/components/data/permission-table/PermissionTable.d.ts.map +0 -1
  544. package/dist/solid/src/components/data/sheet/DataSheet.d.ts.map +0 -1
  545. package/dist/solid/src/components/data/sheet/DataSheet.styles.d.ts.map +0 -1
  546. package/dist/solid/src/components/data/sheet/DataSheetColumn.d.ts.map +0 -1
  547. package/dist/solid/src/components/data/sheet/DataSheetConfigDialog.d.ts.map +0 -1
  548. package/dist/solid/src/components/data/sheet/sheetUtils.d.ts.map +0 -1
  549. package/dist/solid/src/components/data/sheet/types.d.ts.map +0 -1
  550. package/dist/solid/src/components/disclosure/Collapse.d.ts.map +0 -1
  551. package/dist/solid/src/components/disclosure/Dialog.d.ts.map +0 -1
  552. package/dist/solid/src/components/disclosure/DialogContext.d.ts.map +0 -1
  553. package/dist/solid/src/components/disclosure/DialogInstanceContext.d.ts.map +0 -1
  554. package/dist/solid/src/components/disclosure/DialogProvider.d.ts.map +0 -1
  555. package/dist/solid/src/components/disclosure/Dropdown.d.ts.map +0 -1
  556. package/dist/solid/src/components/disclosure/Tabs.d.ts.map +0 -1
  557. package/dist/solid/src/components/disclosure/dialogZIndex.d.ts.map +0 -1
  558. package/dist/solid/src/components/display/Alert.d.ts.map +0 -1
  559. package/dist/solid/src/components/display/Barcode.d.ts.map +0 -1
  560. package/dist/solid/src/components/display/Card.d.ts.map +0 -1
  561. package/dist/solid/src/components/display/Echarts.d.ts.map +0 -1
  562. package/dist/solid/src/components/display/Icon.d.ts.map +0 -1
  563. package/dist/solid/src/components/display/Tag.d.ts.map +0 -1
  564. package/dist/solid/src/components/feedback/Progress.d.ts.map +0 -1
  565. package/dist/solid/src/components/feedback/loading/LoadingContainer.d.ts.map +0 -1
  566. package/dist/solid/src/components/feedback/loading/LoadingContext.d.ts.map +0 -1
  567. package/dist/solid/src/components/feedback/loading/LoadingProvider.d.ts.map +0 -1
  568. package/dist/solid/src/components/feedback/notification/NotificationBanner.d.ts.map +0 -1
  569. package/dist/solid/src/components/feedback/notification/NotificationBell.d.ts.map +0 -1
  570. package/dist/solid/src/components/feedback/notification/NotificationContext.d.ts.map +0 -1
  571. package/dist/solid/src/components/feedback/notification/NotificationProvider.d.ts.map +0 -1
  572. package/dist/solid/src/components/feedback/notification/index.d.ts.map +0 -1
  573. package/dist/solid/src/components/feedback/print/Print.d.ts.map +0 -1
  574. package/dist/solid/src/components/feedback/print/PrintInstanceContext.d.ts.map +0 -1
  575. package/dist/solid/src/components/form-control/Button.d.ts.map +0 -1
  576. package/dist/solid/src/components/form-control/DropdownTrigger.styles.d.ts.map +0 -1
  577. package/dist/solid/src/components/form-control/ThemeToggle.d.ts.map +0 -1
  578. package/dist/solid/src/components/form-control/checkbox/Checkbox.d.ts.map +0 -1
  579. package/dist/solid/src/components/form-control/checkbox/Checkbox.styles.d.ts.map +0 -1
  580. package/dist/solid/src/components/form-control/checkbox/CheckboxGroup.d.ts.map +0 -1
  581. package/dist/solid/src/components/form-control/checkbox/RadioGroup.d.ts.map +0 -1
  582. package/dist/solid/src/components/form-control/color-picker/ColorPicker.d.ts.map +0 -1
  583. package/dist/solid/src/components/form-control/combobox/Combobox.d.ts.map +0 -1
  584. package/dist/solid/src/components/form-control/combobox/ComboboxContext.d.ts.map +0 -1
  585. package/dist/solid/src/components/form-control/combobox/ComboboxItem.d.ts.map +0 -1
  586. package/dist/solid/src/components/form-control/date-range-picker/DateRangePicker.d.ts.map +0 -1
  587. package/dist/solid/src/components/form-control/editor/EditorToolbar.d.ts.map +0 -1
  588. package/dist/solid/src/components/form-control/editor/RichTextEditor.d.ts.map +0 -1
  589. package/dist/solid/src/components/form-control/field/DatePicker.d.ts.map +0 -1
  590. package/dist/solid/src/components/form-control/field/DateTimePicker.d.ts.map +0 -1
  591. package/dist/solid/src/components/form-control/field/Field.styles.d.ts.map +0 -1
  592. package/dist/solid/src/components/form-control/field/NumberInput.d.ts.map +0 -1
  593. package/dist/solid/src/components/form-control/field/TextInput.d.ts.map +0 -1
  594. package/dist/solid/src/components/form-control/field/Textarea.d.ts.map +0 -1
  595. package/dist/solid/src/components/form-control/field/TimePicker.d.ts.map +0 -1
  596. package/dist/solid/src/components/form-control/numpad/Numpad.d.ts.map +0 -1
  597. package/dist/solid/src/components/form-control/select/Select.d.ts.map +0 -1
  598. package/dist/solid/src/components/form-control/select/SelectContext.d.ts.map +0 -1
  599. package/dist/solid/src/components/form-control/select/SelectItem.d.ts.map +0 -1
  600. package/dist/solid/src/components/form-control/state-preset/StatePreset.d.ts.map +0 -1
  601. package/dist/solid/src/components/layout/FormGroup.d.ts.map +0 -1
  602. package/dist/solid/src/components/layout/FormTable.d.ts.map +0 -1
  603. package/dist/solid/src/components/layout/sidebar/Sidebar.d.ts.map +0 -1
  604. package/dist/solid/src/components/layout/sidebar/SidebarContainer.d.ts.map +0 -1
  605. package/dist/solid/src/components/layout/sidebar/SidebarContext.d.ts.map +0 -1
  606. package/dist/solid/src/components/layout/sidebar/SidebarMenu.d.ts.map +0 -1
  607. package/dist/solid/src/components/layout/sidebar/SidebarUser.d.ts +0 -36
  608. package/dist/solid/src/components/layout/sidebar/SidebarUser.d.ts.map +0 -1
  609. package/dist/solid/src/components/layout/topbar/Topbar.d.ts.map +0 -1
  610. package/dist/solid/src/components/layout/topbar/TopbarContainer.d.ts.map +0 -1
  611. package/dist/solid/src/components/layout/topbar/TopbarMenu.d.ts.map +0 -1
  612. package/dist/solid/src/components/layout/topbar/TopbarUser.d.ts.map +0 -1
  613. package/dist/solid/src/directives/ripple.d.ts.map +0 -1
  614. package/dist/solid/src/helpers/createAppStructure.d.ts.map +0 -1
  615. package/dist/solid/src/helpers/mergeStyles.d.ts.map +0 -1
  616. package/dist/solid/src/helpers/splitSlots.d.ts.map +0 -1
  617. package/dist/solid/src/hooks/createControllableSignal.d.ts.map +0 -1
  618. package/dist/solid/src/hooks/createIMEHandler.d.ts.map +0 -1
  619. package/dist/solid/src/hooks/createMountTransition.d.ts.map +0 -1
  620. package/dist/solid/src/hooks/useClipboardValueCopy.d.ts.map +0 -1
  621. package/dist/solid/src/hooks/usePersisted.d.ts +0 -26
  622. package/dist/solid/src/hooks/usePersisted.d.ts.map +0 -1
  623. package/dist/solid/src/hooks/usePrint.d.ts.map +0 -1
  624. package/dist/solid/src/hooks/useRouterLink.d.ts.map +0 -1
  625. package/dist/solid/src/index.d.ts.map +0 -1
  626. package/dist/solid/src/providers/ConfigContext.d.ts.map +0 -1
  627. package/dist/solid/src/providers/InitializeProvider.d.ts.map +0 -1
  628. package/dist/solid/src/providers/ServiceClientContext.d.ts.map +0 -1
  629. package/dist/solid/src/providers/ServiceClientProvider.d.ts.map +0 -1
  630. package/dist/solid/src/providers/ThemeContext.d.ts.map +0 -1
  631. package/dist/solid/src/providers/shared-data/SharedDataChangeEvent.d.ts +0 -8
  632. package/dist/solid/src/providers/shared-data/SharedDataChangeEvent.d.ts.map +0 -1
  633. package/dist/solid/src/providers/shared-data/SharedDataContext.d.ts.map +0 -1
  634. package/dist/solid/src/providers/shared-data/SharedDataProvider.d.ts.map +0 -1
  635. package/dist/solid/src/styles/patterns.styles.d.ts.map +0 -1
  636. package/dist/solid/src/styles/tokens.styles.d.ts.map +0 -1
  637. package/src/hooks/usePersisted.ts +0 -51
  638. package/tests/components/data/List.spec.tsx +0 -683
  639. package/tests/components/data/Pagination.spec.tsx +0 -317
  640. package/tests/components/data/Table.spec.tsx +0 -55
  641. package/tests/components/data/kanban/Kanban.selection.spec.tsx +0 -209
  642. package/tests/components/data/permission-table/PermissionTable.spec.tsx +0 -280
  643. package/tests/components/data/sheet/DataSheet.spec.tsx +0 -564
  644. package/tests/components/disclosure/Collapse.spec.tsx +0 -162
  645. package/tests/components/disclosure/Dialog.spec.tsx +0 -319
  646. package/tests/components/disclosure/DialogProvider.spec.tsx +0 -110
  647. package/tests/components/disclosure/Dropdown.spec.tsx +0 -410
  648. package/tests/components/disclosure/Tabs.spec.tsx +0 -220
  649. package/tests/components/display/Alert.spec.tsx +0 -47
  650. package/tests/components/display/Barcode.spec.tsx +0 -61
  651. package/tests/components/display/Card.spec.tsx +0 -41
  652. package/tests/components/display/Tag.spec.tsx +0 -47
  653. package/tests/components/feedback/notification/LiveRegion.spec.tsx +0 -41
  654. package/tests/components/feedback/notification/NotificationBanner.spec.tsx +0 -164
  655. package/tests/components/feedback/notification/NotificationBell.spec.tsx +0 -207
  656. package/tests/components/feedback/notification/NotificationContext.spec.tsx +0 -331
  657. package/tests/components/feedback/print/Print.spec.tsx +0 -45
  658. package/tests/components/form-control/Button.spec.tsx +0 -119
  659. package/tests/components/form-control/checkbox/Checkbox.spec.tsx +0 -120
  660. package/tests/components/form-control/checkbox/Radio.spec.tsx +0 -112
  661. package/tests/components/form-control/color-picker/ColorPicker.spec.tsx +0 -67
  662. package/tests/components/form-control/combobox/Combobox.spec.tsx +0 -174
  663. package/tests/components/form-control/combobox/ComboboxItem.spec.tsx +0 -85
  664. package/tests/components/form-control/date-range-picker/DateRangePicker.spec.tsx +0 -172
  665. package/tests/components/form-control/field/DatePicker.spec.tsx +0 -305
  666. package/tests/components/form-control/field/DateTimePicker.spec.tsx +0 -287
  667. package/tests/components/form-control/field/NumberInput.spec.tsx +0 -276
  668. package/tests/components/form-control/field/TextInput.spec.tsx +0 -258
  669. package/tests/components/form-control/field/Textarea.spec.tsx +0 -181
  670. package/tests/components/form-control/field/TimePicker.spec.tsx +0 -243
  671. package/tests/components/form-control/numpad/Numpad.spec.tsx +0 -238
  672. package/tests/components/form-control/select/Select.spec.tsx +0 -239
  673. package/tests/components/form-control/select/SelectItem.spec.tsx +0 -149
  674. package/tests/components/layout/FormGroup.spec.tsx +0 -104
  675. package/tests/components/layout/FormTable.spec.tsx +0 -43
  676. package/tests/components/layout/sidebar/Sidebar.spec.tsx +0 -190
  677. package/tests/components/layout/sidebar/SidebarContainer.spec.tsx +0 -203
  678. package/tests/components/layout/sidebar/SidebarMenu.spec.tsx +0 -213
  679. package/tests/components/layout/sidebar/SidebarUser.spec.tsx +0 -171
  680. package/tests/directives/ripple.spec.tsx +0 -130
  681. package/tests/helpers/createAppStructure.spec.tsx +0 -338
  682. package/tests/helpers/mergeStyles.spec.ts +0 -163
  683. package/tests/helpers/splitSlots.spec.tsx +0 -188
  684. package/tests/hooks/createControllableSignal.spec.ts +0 -194
  685. package/tests/hooks/createIMEHandler.spec.ts +0 -80
  686. package/tests/hooks/createMountTransition.spec.ts +0 -86
  687. package/tests/hooks/usePersisted.spec.tsx +0 -191
  688. package/tests/hooks/usePrint.spec.tsx +0 -123
  689. package/tests/hooks/useRouterLink.spec.tsx +0 -183
  690. package/tests/providers/ConfigContext.spec.ts +0 -40
  691. package/tests/providers/ServiceClientContext.spec.tsx +0 -83
  692. package/tests/providers/shared-data/SharedDataProvider.spec.tsx +0 -233
  693. /package/dist/{solid/src/components → components}/data/Pagination.d.ts +0 -0
  694. /package/dist/{solid/src/components → components}/data/Table.d.ts +0 -0
  695. /package/dist/{solid/src/components → components}/data/calendar/Calendar.d.ts +0 -0
  696. /package/dist/{solid/src/components → components}/data/kanban/Kanban.d.ts +0 -0
  697. /package/dist/{solid/src/components → components}/data/kanban/KanbanContext.d.ts +0 -0
  698. /package/dist/{solid/src/components → components}/data/list/List.d.ts +0 -0
  699. /package/dist/{solid/src/components → components}/data/list/ListContext.d.ts +0 -0
  700. /package/dist/{solid/src/components → components}/data/list/ListItem.d.ts +0 -0
  701. /package/dist/{solid/src/components → components}/data/list/ListItem.styles.d.ts +0 -0
  702. /package/dist/{solid/src/components → components}/data/permission-table/PermissionTable.d.ts +0 -0
  703. /package/dist/{solid/src/components → components}/data/sheet/DataSheet.d.ts +0 -0
  704. /package/dist/{solid/src/components → components}/data/sheet/DataSheet.styles.d.ts +0 -0
  705. /package/dist/{solid/src/components → components}/data/sheet/DataSheetColumn.d.ts +0 -0
  706. /package/dist/{solid/src/components → components}/data/sheet/DataSheetConfigDialog.d.ts +0 -0
  707. /package/dist/{solid/src/components → components}/data/sheet/sheetUtils.d.ts +0 -0
  708. /package/dist/{solid/src/components → components}/data/sheet/types.d.ts +0 -0
  709. /package/dist/{solid/src/components → components}/disclosure/Collapse.d.ts +0 -0
  710. /package/dist/{solid/src/components → components}/disclosure/Dialog.d.ts +0 -0
  711. /package/dist/{solid/src/components → components}/disclosure/DialogContext.d.ts +0 -0
  712. /package/dist/{solid/src/components → components}/disclosure/DialogInstanceContext.d.ts +0 -0
  713. /package/dist/{solid/src/components → components}/disclosure/DialogProvider.d.ts +0 -0
  714. /package/dist/{solid/src/components → components}/disclosure/Dropdown.d.ts +0 -0
  715. /package/dist/{solid/src/components → components}/disclosure/Tabs.d.ts +0 -0
  716. /package/dist/{solid/src/components → components}/disclosure/dialogZIndex.d.ts +0 -0
  717. /package/dist/{solid/src/components → components}/display/Alert.d.ts +0 -0
  718. /package/dist/{solid/src/components → components}/display/Barcode.d.ts +0 -0
  719. /package/dist/{solid/src/components → components}/display/Card.d.ts +0 -0
  720. /package/dist/{solid/src/components → components}/display/Icon.d.ts +0 -0
  721. /package/dist/{solid/src/components → components}/display/Tag.d.ts +0 -0
  722. /package/dist/{solid/src/components → components}/feedback/Progress.d.ts +0 -0
  723. /package/dist/{solid/src/components → components}/feedback/loading/LoadingContainer.d.ts +0 -0
  724. /package/dist/{solid/src/components → components}/feedback/loading/LoadingContext.d.ts +0 -0
  725. /package/dist/{solid/src/components → components}/feedback/loading/LoadingProvider.d.ts +0 -0
  726. /package/dist/{solid/src/components → components}/feedback/notification/NotificationBanner.d.ts +0 -0
  727. /package/dist/{solid/src/components → components}/feedback/notification/NotificationBell.d.ts +0 -0
  728. /package/dist/{solid/src/components → components}/feedback/notification/NotificationContext.d.ts +0 -0
  729. /package/dist/{solid/src/components → components}/feedback/notification/NotificationProvider.d.ts +0 -0
  730. /package/dist/{solid/src/components → components}/feedback/notification/index.d.ts +0 -0
  731. /package/dist/{solid/src/components → components}/feedback/print/Print.d.ts +0 -0
  732. /package/dist/{solid/src/components → components}/feedback/print/PrintInstanceContext.d.ts +0 -0
  733. /package/dist/{solid/src/components → components}/form-control/Button.d.ts +0 -0
  734. /package/dist/{solid/src/components → components}/form-control/DropdownTrigger.styles.d.ts +0 -0
  735. /package/dist/{solid/src/components → components}/form-control/ThemeToggle.d.ts +0 -0
  736. /package/dist/{solid/src/components → components}/form-control/checkbox/Checkbox.d.ts +0 -0
  737. /package/dist/{solid/src/components → components}/form-control/checkbox/Checkbox.styles.d.ts +0 -0
  738. /package/dist/{solid/src/components → components}/form-control/checkbox/CheckboxGroup.d.ts +0 -0
  739. /package/dist/{solid/src/components → components}/form-control/checkbox/Radio.d.ts +0 -0
  740. /package/dist/{solid/src/components → components}/form-control/checkbox/RadioGroup.d.ts +0 -0
  741. /package/dist/{solid/src/components → components}/form-control/color-picker/ColorPicker.d.ts +0 -0
  742. /package/dist/{solid/src/components → components}/form-control/combobox/Combobox.d.ts +0 -0
  743. /package/dist/{solid/src/components → components}/form-control/combobox/ComboboxContext.d.ts +0 -0
  744. /package/dist/{solid/src/components → components}/form-control/combobox/ComboboxItem.d.ts +0 -0
  745. /package/dist/{solid/src/components → components}/form-control/date-range-picker/DateRangePicker.d.ts +0 -0
  746. /package/dist/{solid/src/components → components}/form-control/editor/EditorToolbar.d.ts +0 -0
  747. /package/dist/{solid/src/components → components}/form-control/numpad/Numpad.d.ts +0 -0
  748. /package/dist/{solid/src/components → components}/form-control/select/Select.d.ts +0 -0
  749. /package/dist/{solid/src/components → components}/form-control/select/SelectContext.d.ts +0 -0
  750. /package/dist/{solid/src/components → components}/form-control/select/SelectItem.d.ts +0 -0
  751. /package/dist/{solid/src/components → components}/form-control/state-preset/StatePreset.d.ts +0 -0
  752. /package/dist/{solid/src/components → components}/layout/FormGroup.d.ts +0 -0
  753. /package/dist/{solid/src/components → components}/layout/FormTable.d.ts +0 -0
  754. /package/dist/{solid/src/components → components}/layout/sidebar/Sidebar.d.ts +0 -0
  755. /package/dist/{solid/src/components → components}/layout/sidebar/SidebarContext.d.ts +0 -0
  756. /package/dist/{solid/src/components → components}/layout/sidebar/SidebarMenu.d.ts +0 -0
  757. /package/dist/{solid/src/components → components}/layout/topbar/Topbar.d.ts +0 -0
  758. /package/dist/{solid/src/components → components}/layout/topbar/TopbarContainer.d.ts +0 -0
  759. /package/dist/{solid/src/components → components}/layout/topbar/TopbarMenu.d.ts +0 -0
  760. /package/dist/{solid/src/components → components}/layout/topbar/TopbarUser.d.ts +0 -0
  761. /package/dist/{solid/src/directives → directives}/ripple.d.ts +0 -0
  762. /package/dist/{solid/src/helpers → helpers}/createAppStructure.d.ts +0 -0
  763. /package/dist/{solid/src/helpers → helpers}/mergeStyles.d.ts +0 -0
  764. /package/dist/{solid/src/helpers → helpers}/splitSlots.d.ts +0 -0
  765. /package/dist/{solid/src/hooks → hooks}/createControllableSignal.d.ts +0 -0
  766. /package/dist/{solid/src/hooks → hooks}/createIMEHandler.d.ts +0 -0
  767. /package/dist/{solid/src/hooks → hooks}/createMountTransition.d.ts +0 -0
  768. /package/dist/{solid/src/hooks → hooks}/useClipboardValueCopy.d.ts +0 -0
  769. /package/dist/{solid/src/hooks → hooks}/usePrint.d.ts +0 -0
  770. /package/dist/{solid/src/hooks → hooks}/useRouterLink.d.ts +0 -0
  771. /package/dist/{solid/src/providers → providers}/ServiceClientContext.d.ts +0 -0
  772. /package/dist/{solid/src/providers → providers}/ServiceClientProvider.d.ts +0 -0
  773. /package/dist/{solid/src/providers → providers}/shared-data/SharedDataContext.d.ts +0 -0
  774. /package/dist/{solid/src/providers → providers}/shared-data/SharedDataProvider.d.ts +0 -0
  775. /package/dist/{solid/src/styles → styles}/patterns.styles.d.ts +0 -0
  776. /package/dist/{solid/src/styles → styles}/tokens.styles.d.ts +0 -0
  777. /package/{src/base.css → tailwind.css} +0 -0
@@ -0,0 +1,5 @@
1
+ export declare const SharedDataChangeEvent: import("@simplysm/service-common").ServiceEventDef<{
2
+ name: string;
3
+ filter: unknown;
4
+ }, (string | number)[] | undefined>;
5
+ //# sourceMappingURL=SharedDataChangeEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SharedDataChangeEvent.d.ts","sourceRoot":"","sources":["../../../src/providers/shared-data/SharedDataChangeEvent.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB;UAAuB,MAAM;YAAU,OAAO;mCAE/E,CAAC"}
@@ -1,7 +1,7 @@
1
- import { ServiceEventListener } from "@simplysm/service-common";
2
- class SharedDataChangeEvent extends ServiceEventListener {
3
- eventName = "SharedDataChangeEvent";
4
- }
1
+ import { defineEvent } from "@simplysm/service-common";
2
+ const SharedDataChangeEvent = defineEvent(
3
+ "SharedDataChangeEvent"
4
+ );
5
5
  export {
6
6
  SharedDataChangeEvent
7
7
  };
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/providers/shared-data/SharedDataChangeEvent.ts"],
4
- "sourcesContent": ["import { ServiceEventListener } from \"@simplysm/service-common\";\n\nexport class SharedDataChangeEvent extends ServiceEventListener<\n { name: string; filter: unknown },\n (string | number)[] | undefined\n> {\n readonly eventName = \"SharedDataChangeEvent\";\n}\n"],
5
- "mappings": "AAAA,SAAS,4BAA4B;AAE9B,MAAM,8BAA8B,qBAGzC;AAAA,EACS,YAAY;AACvB;",
4
+ "mappings": "AAAA,SAAS,mBAAmB;AAErB,MAAM,wBAAwB;AAAA,EACnC;AACF;",
6
5
  "names": []
7
6
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SharedDataContext.d.ts","sourceRoot":"","sources":["../../../src/providers/shared-data/SharedDataContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAA6B,MAAM,UAAU,CAAC;AAEpE,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7D,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACrB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KAAK,CAAC,GAAG,SAAS,CAAC;IACzD,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KAC9D,CAAC,IAAI,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACzC,GAAG;IACF,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,kFAA4D,CAAC;AAE3F,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,CAQ/G"}
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/providers/shared-data/SharedDataContext.ts"],
4
- "sourcesContent": ["import { type Accessor, createContext, useContext } from \"solid-js\";\n\nexport interface SharedDataDefinition<T> {\n serviceKey: string;\n fetch: (changeKeys?: Array<string | number>) => Promise<T[]>;\n getKey: (item: T) => string | number;\n orderBy: [(item: T) => unknown, \"asc\" | \"desc\"][];\n filter?: unknown;\n}\n\nexport interface SharedDataAccessor<T> {\n items: Accessor<T[]>;\n get: (key: string | number | undefined) => T | undefined;\n emit: (changeKeys?: Array<string | number>) => Promise<void>;\n}\n\nexport type SharedDataValue<T extends Record<string, unknown>> = {\n [K in keyof T]: SharedDataAccessor<T[K]>;\n} & {\n wait: () => Promise<void>;\n loading: Accessor<boolean>;\n};\n\nexport const SharedDataContext = createContext<SharedDataValue<Record<string, unknown>>>();\n\nexport function useSharedData<T extends Record<string, unknown> = Record<string, unknown>>(): SharedDataValue<T> {\n const context = useContext(SharedDataContext);\n if (!context) {\n throw new Error(\n \"useSharedData\uB294 SharedDataProvider \uB0B4\uBD80\uC5D0\uC11C\uB9CC \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. SharedDataProvider\uB294 ServiceClientProvider \uC544\uB798\uC5D0 \uC704\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4\",\n );\n }\n return context as unknown as SharedDataValue<T>;\n}\n"],
5
4
  "mappings": "AAAA,SAAwB,eAAe,kBAAkB;AAuBlD,MAAM,oBAAoB,cAAwD;AAElF,SAAS,gBAAiG;AAC/G,QAAM,UAAU,WAAW,iBAAiB;AAC5C,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;",
6
5
  "names": []
7
6
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SharedDataProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/shared-data/SharedDataProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,GAAG,EAAuC,MAAM,UAAU,CAAC;AAExF,OAAO,EAGL,KAAK,oBAAoB,EAE1B,MAAM,qBAAqB,CAAC;AAM7B,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE;IAC3E,WAAW,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,CAAC;IAC5D,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACvB,GAAG,GAAG,CAAC,OAAO,CAuId"}
@@ -1,14 +1,15 @@
1
+ import { createComponent as _$createComponent } from "solid-js/web";
1
2
  import { createMemo, createSignal, onCleanup } from "solid-js";
2
3
  import { objEqual, waitUntil } from "@simplysm/core-common";
3
- import {
4
- SharedDataContext
5
- } from "./SharedDataContext";
6
- import { SharedDataChangeEvent } from "./SharedDataChangeEvent";
7
- import { useServiceClient } from "../ServiceClientContext";
8
- import { useNotification } from "../../components/feedback/notification/NotificationContext";
4
+ import { SharedDataContext } from "./SharedDataContext.js";
5
+ import { SharedDataChangeEvent } from "./SharedDataChangeEvent.js";
6
+ import { useServiceClient } from "../ServiceClientContext.js";
7
+ import { useNotification } from "../../components/feedback/notification/NotificationContext.js";
8
+ import { useLogger } from "../../hooks/useLogger.js";
9
9
  function SharedDataProvider(props) {
10
10
  const serviceClient = useServiceClient();
11
11
  const notification = useNotification();
12
+ const logger = useLogger();
12
13
  const [loadingCount, setLoadingCount] = createSignal(0);
13
14
  const loading = () => loadingCount() > 0;
14
15
  const signalMap = /* @__PURE__ */ new Map();
@@ -47,10 +48,8 @@ function SharedDataProvider(props) {
47
48
  });
48
49
  }
49
50
  } catch (err) {
50
- notification.danger(
51
- "\uACF5\uC720 \uB370\uC774\uD130 \uB85C\uB4DC \uC2E4\uD328",
52
- err instanceof Error ? err.message : `'${name}' \uB370\uC774\uD130\uB97C \uBD88\uB7EC\uC624\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.`
53
- );
51
+ logger.error(`SharedData '${name}' fetch failed:`, err);
52
+ notification.danger("\uACF5\uC720 \uB370\uC774\uD130 \uB85C\uB4DC \uC2E4\uD328", err instanceof Error ? err.message : `'${name}' \uB370\uC774\uD130\uB97C \uBD88\uB7EC\uC624\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.`);
54
53
  } finally {
55
54
  setLoadingCount((c) => c - 1);
56
55
  }
@@ -71,7 +70,10 @@ function SharedDataProvider(props) {
71
70
  });
72
71
  memoMap.set(name, itemMap);
73
72
  const client = serviceClient.get(def.serviceKey);
74
- void client.addEventListener(SharedDataChangeEvent, { name, filter: def.filter }, async (changeKeys) => {
73
+ void client.addEventListener(SharedDataChangeEvent, {
74
+ name,
75
+ filter: def.filter
76
+ }, async (changeKeys) => {
75
77
  await loadData(name, def, changeKeys);
76
78
  }).then((key) => {
77
79
  listenerKeyMap.set(name, key);
@@ -84,11 +86,7 @@ function SharedDataProvider(props) {
84
86
  return itemMap().get(key);
85
87
  },
86
88
  emit: async (changeKeys) => {
87
- await client.emitToServer(
88
- SharedDataChangeEvent,
89
- (info) => info.name === name && objEqual(info.filter, def.filter),
90
- changeKeys
91
- );
89
+ await client.emitToServer(SharedDataChangeEvent, (info) => info.name === name && objEqual(info.filter, def.filter), changeKeys);
92
90
  }
93
91
  };
94
92
  }
@@ -107,7 +105,12 @@ function SharedDataProvider(props) {
107
105
  wait,
108
106
  loading
109
107
  };
110
- return /* @__PURE__ */ React.createElement(SharedDataContext.Provider, { value: contextValue }, props.children);
108
+ return _$createComponent(SharedDataContext.Provider, {
109
+ value: contextValue,
110
+ get children() {
111
+ return props.children;
112
+ }
113
+ });
111
114
  }
112
115
  export {
113
116
  SharedDataProvider
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/providers/shared-data/SharedDataProvider.tsx"],
4
- "sourcesContent": ["import { type Accessor, type JSX, createMemo, createSignal, onCleanup } from \"solid-js\";\nimport { objEqual, waitUntil } from \"@simplysm/core-common\";\nimport {\n SharedDataContext,\n type SharedDataAccessor,\n type SharedDataDefinition,\n type SharedDataValue,\n} from \"./SharedDataContext\";\nimport { SharedDataChangeEvent } from \"./SharedDataChangeEvent\";\nimport { useServiceClient } from \"../ServiceClientContext\";\nimport { useNotification } from \"../../components/feedback/notification/NotificationContext\";\n\nexport function SharedDataProvider<T extends Record<string, unknown>>(props: {\n definitions: { [K in keyof T]: SharedDataDefinition<T[K]> };\n children: JSX.Element;\n}): JSX.Element {\n const serviceClient = useServiceClient();\n const notification = useNotification();\n\n const [loadingCount, setLoadingCount] = createSignal(0);\n const loading: Accessor<boolean> = () => loadingCount() > 0;\n\n const signalMap = new Map<string, ReturnType<typeof createSignal<unknown[]>>>();\n const memoMap = new Map<string, Accessor<Map<string | number, unknown>>>();\n const listenerKeyMap = new Map<string, string>();\n const versionMap = new Map<string, number>();\n\n function ordering<TT>(data: TT[], orderByList: [(item: TT) => unknown, \"asc\" | \"desc\"][]): TT[] {\n let result = [...data];\n for (const orderBy of [...orderByList].reverse()) {\n const selector = (item: TT) => orderBy[0](item) as string | number | undefined;\n if (orderBy[1] === \"desc\") {\n result = result.orderByDesc(selector);\n } else {\n result = result.orderBy(selector);\n }\n }\n return result;\n }\n\n async function loadData(\n name: string,\n def: SharedDataDefinition<unknown>,\n changeKeys?: Array<string | number>,\n ): Promise<void> {\n // CR-1: version counter\uB85C \uB3D9\uC2DC \uD638\uCD9C \uC2DC \uB370\uC774\uD130 \uC5ED\uC804 \uBC29\uC9C0\n const currentVersion = (versionMap.get(name) ?? 0) + 1;\n versionMap.set(name, currentVersion);\n\n setLoadingCount((c) => c + 1);\n try {\n const signal = signalMap.get(name);\n if (!signal) throw new Error(`'${name}'\uC5D0 \uB300\uD55C \uACF5\uC720\uB370\uC774\uD130 \uC800\uC7A5\uC18C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.`);\n\n const [, setItems] = signal;\n const resData = await def.fetch(changeKeys);\n\n // CR-1: \uC624\uB798\uB41C \uC751\uB2F5\uC740 \uBB34\uC2DC\n if (versionMap.get(name) !== currentVersion) return;\n\n if (!changeKeys) {\n setItems(ordering(resData, def.orderBy));\n } else {\n setItems((prev) => {\n const filtered = prev.filter((item) => !changeKeys.includes(def.getKey(item as never)));\n filtered.push(...resData);\n return ordering(filtered, def.orderBy);\n });\n }\n } catch (err) {\n // CR-2: fetch \uC2E4\uD328 \uC2DC \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uC54C\uB9BC\n notification.danger(\n \"\uACF5\uC720 \uB370\uC774\uD130 \uB85C\uB4DC \uC2E4\uD328\",\n err instanceof Error ? err.message : `'${name}' \uB370\uC774\uD130\uB97C \uBD88\uB7EC\uC624\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.`,\n );\n } finally {\n setLoadingCount((c) => c - 1);\n }\n }\n\n async function wait(): Promise<void> {\n // eslint-disable-next-line solid/reactivity -- waitUntil\uC740 \uD3F4\uB9C1 \uAE30\uBC18\uC774\uBBC0\uB85C tracked scope \uBD88\uD544\uC694\n await waitUntil(() => loadingCount() <= 0);\n }\n\n const accessors: Record<string, SharedDataAccessor<unknown>> = {};\n\n // eslint-disable-next-line solid/reactivity -- definitions\uB294 \uCD08\uAE30 \uC124\uC815\uC6A9\uC73C\uB85C \uB9C8\uC6B4\uD2B8 \uC2DC 1\uD68C\uB9CC \uC77D\uC74C\n for (const [name, def] of Object.entries(props.definitions) as [string, SharedDataDefinition<unknown>][]) {\n const [items, setItems] = createSignal<unknown[]>([]);\n // eslint-disable-next-line solid/reactivity -- signal \uCC38\uC870\uB97C Map\uC5D0 \uC800\uC7A5\uD558\uB294 \uAC83\uC740 \uBC18\uC751\uC131 \uC811\uADFC\uC774 \uC544\uB2D8\n signalMap.set(name, [items, setItems]);\n\n const itemMap = createMemo(() => {\n const map = new Map<string | number, unknown>();\n for (const item of items()) {\n map.set(def.getKey(item as never), item);\n }\n return map;\n });\n // eslint-disable-next-line solid/reactivity -- memo \uCC38\uC870\uB97C Map\uC5D0 \uC800\uC7A5\uD558\uB294 \uAC83\uC740 \uBC18\uC751\uC131 \uC811\uADFC\uC774 \uC544\uB2D8\n memoMap.set(name, itemMap);\n\n const client = serviceClient.get(def.serviceKey);\n void client\n .addEventListener(SharedDataChangeEvent, { name, filter: def.filter }, async (changeKeys) => {\n await loadData(name, def, changeKeys);\n })\n .then((key) => {\n listenerKeyMap.set(name, key);\n });\n\n void loadData(name, def);\n\n accessors[name] = {\n items,\n get: (key: string | number | undefined) => {\n if (key === undefined) return undefined;\n return itemMap().get(key);\n },\n emit: async (changeKeys?: Array<string | number>) => {\n await client.emitToServer(\n SharedDataChangeEvent,\n (info) => info.name === name && objEqual(info.filter, def.filter),\n changeKeys,\n );\n },\n };\n }\n\n onCleanup(() => {\n for (const [name] of Object.entries(props.definitions)) {\n const listenerKey = listenerKeyMap.get(name);\n if (listenerKey != null) {\n const def = (props.definitions as Record<string, SharedDataDefinition<unknown>>)[name];\n const client = serviceClient.get(def.serviceKey);\n void client.removeEventListener(listenerKey);\n }\n }\n });\n\n const contextValue = {\n ...accessors,\n wait,\n loading,\n } as SharedDataValue<Record<string, unknown>>;\n\n return <SharedDataContext.Provider value={contextValue}>{props.children}</SharedDataContext.Provider>;\n}\n"],
5
- "mappings": "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",
6
- "names": []
4
+ "mappings": "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",
5
+ "names": ["createMemo", "createSignal", "onCleanup", "objEqual", "waitUntil", "SharedDataContext", "SharedDataChangeEvent", "useServiceClient", "useNotification", "useLogger", "SharedDataProvider", "props", "serviceClient", "notification", "logger", "loadingCount", "setLoadingCount", "loading", "signalMap", "Map", "memoMap", "listenerKeyMap", "versionMap", "ordering", "data", "orderByList", "result", "orderBy", "reverse", "selector", "item", "orderByDesc", "loadData", "name", "def", "changeKeys", "currentVersion", "get", "set", "c", "signal", "Error", "setItems", "resData", "fetch", "prev", "filtered", "filter", "includes", "getKey", "push", "err", "error", "danger", "message", "wait", "accessors", "Object", "entries", "definitions", "items", "itemMap", "map", "client", "serviceKey", "addEventListener", "then", "key", "undefined", "emit", "emitToServer", "info", "listenerKey", "removeEventListener", "contextValue", "_$createComponent", "Provider", "value", "children"]
7
6
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patterns.styles.d.ts","sourceRoot":"","sources":["../../src/styles/patterns.styles.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB,QAI7B,CAAC;AAGF,eAAO,MAAM,qBAAqB,QAIjC,CAAC;AAGF,eAAO,MAAM,SAAS,oCAAoC,CAAC;AAG3D,eAAO,MAAM,YAAY,QAOxB,CAAC;AAGF,eAAO,MAAM,SAAS,QAA4E,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import clsx from "clsx";
2
- import { bgSurface, borderDefault, textDefault, textPlaceholder } from "./tokens.styles";
2
+ import { bgSurface, borderDefault, textDefault, textPlaceholder } from "./tokens.styles.js";
3
3
  const insetFocusOutline = clsx(
4
4
  "focus-within:[outline-style:solid]",
5
5
  "focus-within:outline-1 focus-within:-outline-offset-1",
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/styles/patterns.styles.ts"],
4
- "sourcesContent": ["import clsx from \"clsx\";\nimport { bgSurface, borderDefault, textDefault, textPlaceholder } from \"./tokens.styles\";\n\n// \u2500\u2500 inset \uD3EC\uCEE4\uC2A4 \uC544\uC6C3\uB77C\uC778 (focus-within \uBC84\uC804: Field, TextArea) \u2500\u2500\nexport const insetFocusOutline = clsx(\n \"focus-within:[outline-style:solid]\",\n \"focus-within:outline-1 focus-within:-outline-offset-1\",\n \"focus-within:outline-primary-400 dark:focus-within:outline-primary-400\",\n);\n\n// \u2500\u2500 inset \uD3EC\uCEE4\uC2A4 \uC544\uC6C3\uB77C\uC778 (focus \uBC84\uC804: Checkbox, Select trigger) \u2500\u2500\nexport const insetFocusOutlineSelf = clsx(\n \"focus:[outline-style:solid]\",\n \"focus:outline-1 focus:-outline-offset-1\",\n \"focus:outline-primary-400 dark:focus:outline-primary-400\",\n);\n\n// \u2500\u2500 inset \uAE30\uBCF8 \uB808\uC774\uC544\uC6C3 \u2500\u2500\nexport const insetBase = \"w-full rounded-none border-none\";\n\n// \u2500\u2500 \uD3FC \uD544\uB4DC \uACF5\uD1B5 \uD45C\uBA74 (\uBC30\uACBD + \uD14D\uC2A4\uD2B8 + \uD14C\uB450\uB9AC + \uD3EC\uCEE4\uC2A4) \u2500\u2500\nexport const fieldSurface = clsx(\n bgSurface,\n textDefault,\n \"border\",\n borderDefault,\n \"rounded\",\n \"focus-within:border-primary-500\",\n);\n\n// \u2500\u2500 \uC785\uB825 \uC694\uC18C \uACF5\uD1B5 \u2500\u2500\nexport const inputBase = clsx(\"min-w-0 flex-1\", \"bg-transparent\", \"outline-none\", textPlaceholder);\n"],
5
4
  "mappings": "AAAA,OAAO,UAAU;AACjB,SAAS,WAAW,eAAe,aAAa,uBAAuB;AAGhE,MAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACF;AAGO,MAAM,wBAAwB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AACF;AAGO,MAAM,YAAY;AAGlB,MAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGO,MAAM,YAAY,KAAK,kBAAkB,kBAAkB,gBAAgB,eAAe;",
6
5
  "names": []
7
6
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.styles.d.ts","sourceRoot":"","sources":["../../src/styles/tokens.styles.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,aAAa,yCAAyC,CAAC;AACpE,eAAO,MAAM,YAAY,yCAAyC,CAAC;AAGnE,eAAO,MAAM,SAAS,8BAA8B,CAAC;AAGrD,eAAO,MAAM,WAAW,qCAAqC,CAAC;AAC9D,eAAO,MAAM,SAAS,qCAAqC,CAAC;AAC5D,eAAO,MAAM,eAAe,6DAA6D,CAAC;AAG1F,eAAO,MAAM,eAAe,kDAAkD,CAAC;AAG/E,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC;AACxC,eAAO,MAAM,SAAS,kBAAkB,CAAC;AACzC,eAAO,MAAM,SAAS,cAAc,CAAC;AAGrC,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3F,eAAO,MAAM,WAAW,EAAE,MAAM,CAC9B,aAAa,EACb;IACE,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAkDF,CAAC"}
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/styles/tokens.styles.ts"],
4
- "sourcesContent": ["// \u2500\u2500 \uD14C\uB450\uB9AC \u2500\u2500\nexport const borderDefault = \"border-base-300 dark:border-base-700\";\nexport const borderSubtle = \"border-base-200 dark:border-base-800\";\n\n// \u2500\u2500 \uD45C\uBA74 \uBC30\uACBD \u2500\u2500\nexport const bgSurface = \"bg-white dark:bg-base-900\";\n\n// \u2500\u2500 \uD14D\uC2A4\uD2B8 \u2500\u2500\nexport const textDefault = \"text-base-900 dark:text-base-100\";\nexport const textMuted = \"text-base-400 dark:text-base-500\";\nexport const textPlaceholder = \"placeholder:text-base-400 dark:placeholder:text-base-500\";\n\n// \u2500\u2500 disabled \u2500\u2500\nexport const disabledOpacity = \"cursor-default opacity-50 pointer-events-none\";\n\n// \u2500\u2500 \uC0AC\uC774\uC988 \u2500\u2500\nexport type ComponentSize = \"sm\" | \"lg\";\nexport const paddingSm = \"px-1.5 py-0.5\";\nexport const paddingLg = \"px-3 py-2\";\n\n// \u2500\u2500 \uD14C\uB9C8 \u2500\u2500\nexport type SemanticTheme = \"primary\" | \"info\" | \"success\" | \"warning\" | \"danger\" | \"base\";\n\nexport const themeTokens: Record<\n SemanticTheme,\n {\n solid: string;\n solidHover: string;\n light: string;\n text: string;\n hoverBg: string;\n border: string;\n }\n> = {\n primary: {\n solid: \"bg-primary-500 text-white\",\n solidHover: \"hover:bg-primary-600 dark:hover:bg-primary-400\",\n light: \"bg-primary-100 text-primary-900 dark:bg-primary-900/40 dark:text-primary-100\",\n text: \"text-primary-600 dark:text-primary-400\",\n hoverBg: \"hover:bg-primary-100 dark:hover:bg-primary-800/30\",\n border: \"border-primary-300 dark:border-primary-600\",\n },\n info: {\n solid: \"bg-info-500 text-white\",\n solidHover: \"hover:bg-info-600 dark:hover:bg-info-400\",\n light: \"bg-info-100 text-info-900 dark:bg-info-900/40 dark:text-info-100\",\n text: \"text-info-600 dark:text-info-400\",\n hoverBg: \"hover:bg-info-100 dark:hover:bg-info-800/30\",\n border: \"border-info-300 dark:border-info-600\",\n },\n success: {\n solid: \"bg-success-500 text-white\",\n solidHover: \"hover:bg-success-600 dark:hover:bg-success-400\",\n light: \"bg-success-100 text-success-900 dark:bg-success-900/40 dark:text-success-100\",\n text: \"text-success-600 dark:text-success-400\",\n hoverBg: \"hover:bg-success-100 dark:hover:bg-success-800/30\",\n border: \"border-success-300 dark:border-success-600\",\n },\n warning: {\n solid: \"bg-warning-500 text-white\",\n solidHover: \"hover:bg-warning-600 dark:hover:bg-warning-400\",\n light: \"bg-warning-100 text-warning-900 dark:bg-warning-900/40 dark:text-warning-100\",\n text: \"text-warning-600 dark:text-warning-400\",\n hoverBg: \"hover:bg-warning-100 dark:hover:bg-warning-800/30\",\n border: \"border-warning-300 dark:border-warning-600\",\n },\n danger: {\n solid: \"bg-danger-500 text-white\",\n solidHover: \"hover:bg-danger-600 dark:hover:bg-danger-400\",\n light: \"bg-danger-100 text-danger-900 dark:bg-danger-900/40 dark:text-danger-100\",\n text: \"text-danger-600 dark:text-danger-400\",\n hoverBg: \"hover:bg-danger-100 dark:hover:bg-danger-800/30\",\n border: \"border-danger-300 dark:border-danger-600\",\n },\n base: {\n solid: \"bg-base-500 text-white\",\n solidHover: \"hover:bg-base-600 dark:hover:bg-base-400\",\n light: \"bg-base-100 text-base-900 dark:bg-base-800 dark:text-base-100\",\n text: \"text-base-600 dark:text-base-300\",\n hoverBg: \"hover:bg-base-100 dark:hover:bg-base-800/30\",\n border: \"border-base-300 dark:border-base-700\",\n },\n};\n"],
5
4
  "mappings": "AACO,MAAM,gBAAgB;AACtB,MAAM,eAAe;AAGrB,MAAM,YAAY;AAGlB,MAAM,cAAc;AACpB,MAAM,YAAY;AAClB,MAAM,kBAAkB;AAGxB,MAAM,kBAAkB;AAIxB,MAAM,YAAY;AAClB,MAAM,YAAY;AAKlB,MAAM,cAUT;AAAA,EACF,SAAS;AAAA,IACP,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAAA,EACA,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAAA,EACA,SAAS;AAAA,IACP,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAAA,EACA,SAAS;AAAA,IACP,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAAA,EACA,QAAQ;AAAA,IACN,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAAA,EACA,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AACF;",
6
5
  "names": []
7
6
  }
@@ -0,0 +1,304 @@
1
+ # Data Components
2
+
3
+ ## Table
4
+
5
+ Basic HTML table wrapper. Provides consistent styling for borders, header backgrounds, etc.
6
+
7
+ ```tsx
8
+ import { Table } from "@simplysm/solid";
9
+
10
+ <Table>
11
+ <thead>
12
+ <tr><th>Name</th><th>Age</th></tr>
13
+ </thead>
14
+ <tbody>
15
+ <tr><td>John Doe</td><td>30</td></tr>
16
+ <tr><td>Jane Smith</td><td>25</td></tr>
17
+ </tbody>
18
+ </Table>
19
+
20
+ // Inset style (removes outer border, fits parent container)
21
+ <Table inset>...</Table>
22
+ ```
23
+
24
+ | Prop | Type | Default | Description |
25
+ |------|------|---------|-------------|
26
+ | `inset` | `boolean` | - | Inset style |
27
+
28
+ ---
29
+
30
+ ## DataSheet
31
+
32
+ Advanced data table component. Supports sorting, pagination, row selection, tree expansion, column resize, column configuration, drag-and-drop reordering, and persistent column settings.
33
+
34
+ ```tsx
35
+ import { DataSheet } from "@simplysm/solid";
36
+
37
+ // Basic usage
38
+ <DataSheet items={users()} persistKey="user-table">
39
+ <DataSheet.Column key="name" header="Name" sortable class="px-2 py-1">
40
+ {({ item }) => <>{item.name}</>}
41
+ </DataSheet.Column>
42
+ <DataSheet.Column key="age" header="Age" sortable width="80px" class="px-2 py-1">
43
+ {({ item }) => <>{item.age}</>}
44
+ </DataSheet.Column>
45
+ <DataSheet.Column key="email" header="Email" class="px-2 py-1">
46
+ {({ item }) => <>{item.email}</>}
47
+ </DataSheet.Column>
48
+ </DataSheet>
49
+
50
+ // With pagination + sorting + selection
51
+ <DataSheet
52
+ items={data()}
53
+ persistKey="data-table"
54
+ pageIndex={pageIndex()}
55
+ onPageIndexChange={setPageIndex}
56
+ itemsPerPage={20}
57
+ totalPageCount={totalPages()}
58
+ sorts={sorts()}
59
+ onSortsChange={setSorts}
60
+ selectMode="multiple"
61
+ selectedItems={selectedItems()}
62
+ onSelectedItemsChange={setSelectedItems}
63
+ >
64
+ {/* columns */}
65
+ </DataSheet>
66
+
67
+ // Tree structure with expansion
68
+ <DataSheet
69
+ items={treeData()}
70
+ persistKey="tree-table"
71
+ getChildren={(item) => item.children}
72
+ expandedItems={expanded()}
73
+ onExpandedItemsChange={setExpanded}
74
+ >
75
+ {/* columns */}
76
+ </DataSheet>
77
+
78
+ // Auto-select on row click + drag reorder
79
+ <DataSheet
80
+ items={items()}
81
+ persistKey="reorder-table"
82
+ autoSelect="click"
83
+ selectMode="single"
84
+ selectedItems={selected()}
85
+ onSelectedItemsChange={setSelected}
86
+ onItemsReorder={(e) => {
87
+ // e: { item: T, targetItem: T, position: "before" | "after" | "inside" }
88
+ reorderItems(e);
89
+ }}
90
+ >
91
+ {/* columns */}
92
+ </DataSheet>
93
+ ```
94
+
95
+ **DataSheet Props:**
96
+
97
+ | Prop | Type | Default | Description |
98
+ |------|------|---------|-------------|
99
+ | `items` | `T[]` | - | Data array |
100
+ | `persistKey` | `string` | - | Column configuration localStorage key |
101
+ | `class` | `string` | - | CSS class |
102
+ | `contentStyle` | `JSX.CSSProperties \| string` | - | Scroll area style |
103
+ | `inset` | `boolean` | - | Inset style |
104
+ | `hideConfigBar` | `boolean` | - | Hide config bar and pagination |
105
+ | `sorts` | `SortingDef[]` | - | Sort state (`{ key: string; desc: boolean }[]`) |
106
+ | `onSortsChange` | `(sorts: SortingDef[]) => void` | - | Sort change callback |
107
+ | `autoSort` | `boolean` | - | Client-side auto-sorting |
108
+ | `pageIndex` | `number` | - | Current page index (0-based) |
109
+ | `onPageIndexChange` | `(pageIndex: number) => void` | - | Page change callback |
110
+ | `totalPageCount` | `number` | - | Total page count |
111
+ | `itemsPerPage` | `number` | - | Items per page |
112
+ | `displayPageCount` | `number` | - | Number of page buttons to display |
113
+ | `selectMode` | `"single" \| "multiple"` | - | Selection mode |
114
+ | `selectedItems` | `T[]` | - | Selected items |
115
+ | `onSelectedItemsChange` | `(items: T[]) => void` | - | Selection change callback |
116
+ | `autoSelect` | `"click"` | - | Auto-select row on click |
117
+ | `isItemSelectable` | `(item: T) => boolean \| string` | - | Item selectability (string returns tooltip) |
118
+ | `getChildren` | `(item: T, index: number) => T[] \| undefined` | - | Tree structure children getter |
119
+ | `expandedItems` | `T[]` | - | Expanded tree items |
120
+ | `onExpandedItemsChange` | `(items: T[]) => void` | - | Expansion state change callback |
121
+ | `cellClass` | `(item: T, colKey: string) => string \| undefined` | - | Dynamic cell class function |
122
+ | `cellStyle` | `(item: T, colKey: string) => string \| undefined` | - | Dynamic cell style function |
123
+ | `onItemsReorder` | `(event: DataSheetReorderEvent<T>) => void` | - | Drag reorder handler (shows drag handle when set) |
124
+
125
+ `DataSheetReorderEvent<T>`: `{ item: T; targetItem: T; position: "before" | "after" | "inside" }`
126
+
127
+ **DataSheet.Column Props:**
128
+
129
+ | Prop | Type | Default | Description |
130
+ |------|------|---------|-------------|
131
+ | `key` | `string` | **(required)** | Column identifier key |
132
+ | `header` | `string \| string[]` | - | Header text (array for multi-level headers) |
133
+ | `headerContent` | `() => JSX.Element` | - | Custom header rendering |
134
+ | `headerStyle` | `string` | - | Header style |
135
+ | `summary` | `() => JSX.Element` | - | Summary row rendering |
136
+ | `tooltip` | `string` | - | Header tooltip |
137
+ | `width` | `string` | - | Column width (e.g., `"100px"`, `"10rem"`) |
138
+ | `class` | `string` | - | Cell CSS class |
139
+ | `fixed` | `boolean` | `false` | Fixed column |
140
+ | `hidden` | `boolean` | `false` | Hidden column |
141
+ | `collapse` | `boolean` | `false` | Hidden in config modal |
142
+ | `sortable` | `boolean` | `true` | Sortable |
143
+ | `resizable` | `boolean` | `true` | Resizable |
144
+ | `children` | `(ctx: { item: T, index: number, depth: number }) => JSX.Element` | **(required)** | Cell rendering function |
145
+
146
+ ---
147
+
148
+ ## List
149
+
150
+ Tree-view style list component. Supports keyboard navigation.
151
+
152
+ ```tsx
153
+ import { List } from "@simplysm/solid";
154
+
155
+ <List>
156
+ <List.Item>Item 1</List.Item>
157
+ <List.Item>Item 2</List.Item>
158
+ <List.Item>
159
+ Parent item
160
+ <List.Item.Children>
161
+ <List.Item>Child item 1</List.Item>
162
+ <List.Item>Child item 2</List.Item>
163
+ </List.Item.Children>
164
+ </List.Item>
165
+ </List>
166
+
167
+ // Inset style
168
+ <List inset>
169
+ <List.Item>Inset item</List.Item>
170
+ </List>
171
+ ```
172
+
173
+ **Keyboard navigation:**
174
+ - `ArrowUp` / `ArrowDown` -- Move focus to previous/next item
175
+ - `Space` / `Enter` -- Click current item
176
+ - `ArrowRight` -- Expand if collapsed, focus first child if expanded
177
+ - `ArrowLeft` -- Collapse if expanded, focus parent if collapsed
178
+ - `Home` / `End` -- Focus first/last item
179
+
180
+ | Prop | Type | Default | Description |
181
+ |------|------|---------|-------------|
182
+ | `inset` | `boolean` | - | Transparent background style |
183
+
184
+ ---
185
+
186
+ ## Pagination
187
+
188
+ Page navigation component.
189
+
190
+ ```tsx
191
+ import { Pagination } from "@simplysm/solid";
192
+
193
+ <Pagination
194
+ page={currentPage()}
195
+ onPageChange={setCurrentPage}
196
+ totalPageCount={20}
197
+ displayPageCount={10}
198
+ />
199
+ ```
200
+
201
+ | Prop | Type | Default | Description |
202
+ |------|------|---------|-------------|
203
+ | `page` | `number` | **(required)** | Current page (0-based) |
204
+ | `onPageChange` | `(page: number) => void` | - | Page change callback |
205
+ | `totalPageCount` | `number` | **(required)** | Total page count |
206
+ | `displayPageCount` | `number` | `10` | Number of pages to display at once |
207
+ | `size` | `"sm" \| "lg"` | - | Size |
208
+
209
+ ---
210
+
211
+ ## Calendar
212
+
213
+ Calendar-style data display component.
214
+
215
+ ```tsx
216
+ import { Calendar } from "@simplysm/solid";
217
+
218
+ <Calendar
219
+ items={events()}
220
+ getItemDate={(event) => event.date}
221
+ renderItem={(event) => <div>{event.title}</div>}
222
+ yearMonth={yearMonth()}
223
+ onYearMonthChange={setYearMonth}
224
+ />
225
+ ```
226
+
227
+ | Prop | Type | Default | Description |
228
+ |------|------|---------|-------------|
229
+ | `items` | `T[]` | **(required)** | Data array |
230
+ | `getItemDate` | `(item: T, index: number) => DateOnly` | **(required)** | Item date extraction function |
231
+ | `renderItem` | `(item: T, index: number) => JSX.Element` | **(required)** | Item rendering function |
232
+ | `yearMonth` | `DateOnly` | - | Year-month to display |
233
+ | `onYearMonthChange` | `(value: DateOnly) => void` | - | Year-month change callback |
234
+ | `weekStartDay` | `number` | `0` (Sunday) | Week start day |
235
+
236
+ ---
237
+
238
+ ## PermissionTable
239
+
240
+ Hierarchical permission management table. Displays a tree of permission items with per-item checkboxes for each permission type. Supports cascading checks (parent toggles children) and permission dependencies (disabling the first permission disables the rest).
241
+
242
+ ```tsx
243
+ import { createSignal } from "solid-js";
244
+ import { type PermissionItem, PermissionTable } from "@simplysm/solid";
245
+
246
+ const items: PermissionItem[] = [
247
+ {
248
+ title: "User Management",
249
+ href: "/user",
250
+ perms: ["use", "edit"],
251
+ children: [
252
+ { title: "Permission Settings", href: "/user/permission", perms: ["use", "edit", "approve"] },
253
+ { title: "User List", href: "/user/list", perms: ["use", "edit"] },
254
+ ],
255
+ },
256
+ {
257
+ title: "Board",
258
+ href: "/board",
259
+ perms: ["use", "edit"],
260
+ modules: ["community"], // only shown when "community" module is active
261
+ children: [
262
+ { title: "Notice", href: "/board/notice", perms: ["use", "edit"] },
263
+ { title: "Free Board", href: "/board/free", perms: ["use"] },
264
+ ],
265
+ },
266
+ ];
267
+
268
+ const [value, setValue] = createSignal<Record<string, boolean>>({});
269
+
270
+ // Basic usage
271
+ <PermissionTable items={items} value={value()} onValueChange={setValue} />
272
+
273
+ // Filtered by module
274
+ <PermissionTable items={items} value={value()} onValueChange={setValue} modules={["community"]} />
275
+
276
+ // Disabled
277
+ <PermissionTable items={items} value={value()} disabled />
278
+ ```
279
+
280
+ The `value` record uses keys in `"{href}/{perm}"` format (e.g., `{ "/user/use": true, "/user/edit": false }`).
281
+
282
+ **PermissionTable Props:**
283
+
284
+ | Prop | Type | Default | Description |
285
+ |------|------|---------|-------------|
286
+ | `items` | `PermissionItem<TModule>[]` | - | Permission tree structure |
287
+ | `value` | `Record<string, boolean>` | - | Permission state record |
288
+ | `onValueChange` | `(value: Record<string, boolean>) => void` | - | State change callback |
289
+ | `modules` | `TModule[]` | - | Module filter (show only matching items) |
290
+ | `disabled` | `boolean` | - | Disable all checkboxes |
291
+
292
+ **PermissionItem type:**
293
+
294
+ ```typescript
295
+ interface PermissionItem<TModule = string> {
296
+ title: string; // Display text
297
+ href?: string; // Permission path (used as value key prefix)
298
+ modules?: TModule[]; // Modules this item belongs to
299
+ perms?: string[]; // Permission types (e.g., ["use", "edit", "approve"])
300
+ children?: PermissionItem<TModule>[]; // Child items
301
+ }
302
+ ```
303
+
304
+ **Cascading behavior:** Checking a parent checks all children. Unchecking `perms[0]` (base permission) automatically unchecks all other permissions for that item.