@simplysm/solid 13.0.0-beta.6 → 13.0.2

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 +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 +12 -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 +15 -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 +21 -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/kanban/Kanban.css +3 -1
  330. package/src/components/data/list/ListItem.styles.ts +2 -2
  331. package/src/components/data/sheet/DataSheet.css +11 -11
  332. package/src/components/data/sheet/DataSheet.tsx +3 -3
  333. package/src/components/display/Card.css +1 -0
  334. package/src/components/display/Echarts.tsx +18 -11
  335. package/src/components/feedback/loading/LoadingContainer.css +2 -0
  336. package/src/components/form-control/Invalid.tsx +61 -0
  337. package/src/components/form-control/editor/RichTextEditor.tsx +2 -9
  338. package/src/components/form-control/editor/editor.css +5 -5
  339. package/src/components/form-control/field/DatePicker.tsx +0 -6
  340. package/src/components/form-control/field/DateTimePicker.tsx +0 -6
  341. package/src/components/form-control/field/Field.styles.ts +0 -3
  342. package/src/components/form-control/field/NumberInput.tsx +0 -6
  343. package/src/components/form-control/field/TextInput.tsx +0 -6
  344. package/src/components/form-control/field/Textarea.tsx +0 -6
  345. package/src/components/form-control/field/TimePicker.tsx +0 -6
  346. package/src/components/form-control/state-preset/StatePreset.tsx +2 -2
  347. package/src/components/layout/sidebar/SidebarContainer.tsx +3 -4
  348. package/src/components/layout/sidebar/SidebarUser.tsx +44 -16
  349. package/src/hooks/createPwaUpdate.ts +73 -0
  350. package/src/hooks/useClipboardValueCopy.ts +1 -1
  351. package/src/hooks/useLocalStorage.ts +68 -0
  352. package/src/hooks/useLogger.ts +32 -0
  353. package/src/hooks/useSyncConfig.ts +99 -0
  354. package/src/index.ts +9 -4
  355. package/src/providers/ConfigContext.ts +23 -2
  356. package/src/providers/InitializeProvider.tsx +59 -5
  357. package/src/providers/ServiceClientProvider.tsx +2 -2
  358. package/src/providers/ThemeContext.tsx +3 -3
  359. package/src/providers/shared-data/SharedDataChangeEvent.ts +4 -7
  360. package/src/providers/shared-data/SharedDataProvider.tsx +3 -0
  361. package/{src/base.css → tailwind.css} +9 -8
  362. package/.cache/typecheck-browser.tsbuildinfo +0 -1
  363. package/.cache/typecheck-tests-browser.tsbuildinfo +0 -1
  364. package/dist/core-browser/src/extensions/element-ext.d.ts +0 -98
  365. package/dist/core-browser/src/extensions/element-ext.d.ts.map +0 -1
  366. package/dist/core-browser/src/extensions/html-element-ext.d.ts +0 -54
  367. package/dist/core-browser/src/extensions/html-element-ext.d.ts.map +0 -1
  368. package/dist/core-browser/src/index.d.ts +0 -7
  369. package/dist/core-browser/src/index.d.ts.map +0 -1
  370. package/dist/core-browser/src/utils/blob.d.ts +0 -10
  371. package/dist/core-browser/src/utils/blob.d.ts.map +0 -1
  372. package/dist/core-browser/src/utils/download.d.ts +0 -11
  373. package/dist/core-browser/src/utils/download.d.ts.map +0 -1
  374. package/dist/core-common/src/common.types.d.ts +0 -74
  375. package/dist/core-common/src/common.types.d.ts.map +0 -1
  376. package/dist/core-common/src/env.d.ts +0 -6
  377. package/dist/core-common/src/env.d.ts.map +0 -1
  378. package/dist/core-common/src/errors/argument-error.d.ts +0 -25
  379. package/dist/core-common/src/errors/argument-error.d.ts.map +0 -1
  380. package/dist/core-common/src/errors/not-implemented-error.d.ts +0 -29
  381. package/dist/core-common/src/errors/not-implemented-error.d.ts.map +0 -1
  382. package/dist/core-common/src/errors/sd-error.d.ts +0 -27
  383. package/dist/core-common/src/errors/sd-error.d.ts.map +0 -1
  384. package/dist/core-common/src/errors/timeout-error.d.ts +0 -31
  385. package/dist/core-common/src/errors/timeout-error.d.ts.map +0 -1
  386. package/dist/core-common/src/extensions/arr-ext.d.ts +0 -15
  387. package/dist/core-common/src/extensions/arr-ext.d.ts.map +0 -1
  388. package/dist/core-common/src/extensions/arr-ext.helpers.d.ts +0 -19
  389. package/dist/core-common/src/extensions/arr-ext.helpers.d.ts.map +0 -1
  390. package/dist/core-common/src/extensions/arr-ext.types.d.ts +0 -215
  391. package/dist/core-common/src/extensions/arr-ext.types.d.ts.map +0 -1
  392. package/dist/core-common/src/extensions/map-ext.d.ts +0 -57
  393. package/dist/core-common/src/extensions/map-ext.d.ts.map +0 -1
  394. package/dist/core-common/src/extensions/set-ext.d.ts +0 -36
  395. package/dist/core-common/src/extensions/set-ext.d.ts.map +0 -1
  396. package/dist/core-common/src/features/debounce-queue.d.ts +0 -53
  397. package/dist/core-common/src/features/debounce-queue.d.ts.map +0 -1
  398. package/dist/core-common/src/features/event-emitter.d.ts +0 -66
  399. package/dist/core-common/src/features/event-emitter.d.ts.map +0 -1
  400. package/dist/core-common/src/features/serial-queue.d.ts +0 -47
  401. package/dist/core-common/src/features/serial-queue.d.ts.map +0 -1
  402. package/dist/core-common/src/index.d.ts +0 -32
  403. package/dist/core-common/src/index.d.ts.map +0 -1
  404. package/dist/core-common/src/types/date-only.d.ts +0 -152
  405. package/dist/core-common/src/types/date-only.d.ts.map +0 -1
  406. package/dist/core-common/src/types/date-time.d.ts +0 -96
  407. package/dist/core-common/src/types/date-time.d.ts.map +0 -1
  408. package/dist/core-common/src/types/lazy-gc-map.d.ts +0 -80
  409. package/dist/core-common/src/types/lazy-gc-map.d.ts.map +0 -1
  410. package/dist/core-common/src/types/time.d.ts +0 -68
  411. package/dist/core-common/src/types/time.d.ts.map +0 -1
  412. package/dist/core-common/src/types/uuid.d.ts +0 -35
  413. package/dist/core-common/src/types/uuid.d.ts.map +0 -1
  414. package/dist/core-common/src/utils/bytes.d.ts +0 -51
  415. package/dist/core-common/src/utils/bytes.d.ts.map +0 -1
  416. package/dist/core-common/src/utils/date-format.d.ts +0 -90
  417. package/dist/core-common/src/utils/date-format.d.ts.map +0 -1
  418. package/dist/core-common/src/utils/json.d.ts +0 -34
  419. package/dist/core-common/src/utils/json.d.ts.map +0 -1
  420. package/dist/core-common/src/utils/num.d.ts +0 -60
  421. package/dist/core-common/src/utils/num.d.ts.map +0 -1
  422. package/dist/core-common/src/utils/obj.d.ts +0 -258
  423. package/dist/core-common/src/utils/obj.d.ts.map +0 -1
  424. package/dist/core-common/src/utils/path.d.ts +0 -23
  425. package/dist/core-common/src/utils/path.d.ts.map +0 -1
  426. package/dist/core-common/src/utils/primitive.d.ts +0 -18
  427. package/dist/core-common/src/utils/primitive.d.ts.map +0 -1
  428. package/dist/core-common/src/utils/str.d.ts +0 -103
  429. package/dist/core-common/src/utils/str.d.ts.map +0 -1
  430. package/dist/core-common/src/utils/template-strings.d.ts +0 -84
  431. package/dist/core-common/src/utils/template-strings.d.ts.map +0 -1
  432. package/dist/core-common/src/utils/transferable.d.ts +0 -47
  433. package/dist/core-common/src/utils/transferable.d.ts.map +0 -1
  434. package/dist/core-common/src/utils/wait.d.ts +0 -19
  435. package/dist/core-common/src/utils/wait.d.ts.map +0 -1
  436. package/dist/core-common/src/utils/xml.d.ts +0 -36
  437. package/dist/core-common/src/utils/xml.d.ts.map +0 -1
  438. package/dist/core-common/src/zip/sd-zip.d.ts +0 -80
  439. package/dist/core-common/src/zip/sd-zip.d.ts.map +0 -1
  440. package/dist/hooks/usePersisted.js +0 -25
  441. package/dist/hooks/usePersisted.js.map +0 -7
  442. package/dist/orm-common/src/db-context.d.ts +0 -669
  443. package/dist/orm-common/src/db-context.d.ts.map +0 -1
  444. package/dist/orm-common/src/errors/db-transaction-error.d.ts +0 -51
  445. package/dist/orm-common/src/errors/db-transaction-error.d.ts.map +0 -1
  446. package/dist/orm-common/src/exec/executable.d.ts +0 -79
  447. package/dist/orm-common/src/exec/executable.d.ts.map +0 -1
  448. package/dist/orm-common/src/exec/queryable.d.ts +0 -708
  449. package/dist/orm-common/src/exec/queryable.d.ts.map +0 -1
  450. package/dist/orm-common/src/exec/search-parser.d.ts +0 -72
  451. package/dist/orm-common/src/exec/search-parser.d.ts.map +0 -1
  452. package/dist/orm-common/src/expr/expr-unit.d.ts +0 -25
  453. package/dist/orm-common/src/expr/expr-unit.d.ts.map +0 -1
  454. package/dist/orm-common/src/expr/expr.d.ts +0 -1369
  455. package/dist/orm-common/src/expr/expr.d.ts.map +0 -1
  456. package/dist/orm-common/src/index.d.ts +0 -32
  457. package/dist/orm-common/src/index.d.ts.map +0 -1
  458. package/dist/orm-common/src/models/system-migration.d.ts +0 -10
  459. package/dist/orm-common/src/models/system-migration.d.ts.map +0 -1
  460. package/dist/orm-common/src/query-builder/base/expr-renderer-base.d.ts +0 -95
  461. package/dist/orm-common/src/query-builder/base/expr-renderer-base.d.ts.map +0 -1
  462. package/dist/orm-common/src/query-builder/base/query-builder-base.d.ts +0 -66
  463. package/dist/orm-common/src/query-builder/base/query-builder-base.d.ts.map +0 -1
  464. package/dist/orm-common/src/query-builder/mssql/mssql-expr-renderer.d.ts +0 -84
  465. package/dist/orm-common/src/query-builder/mssql/mssql-expr-renderer.d.ts.map +0 -1
  466. package/dist/orm-common/src/query-builder/mssql/mssql-query-builder.d.ts +0 -45
  467. package/dist/orm-common/src/query-builder/mssql/mssql-query-builder.d.ts.map +0 -1
  468. package/dist/orm-common/src/query-builder/mysql/mysql-expr-renderer.d.ts +0 -84
  469. package/dist/orm-common/src/query-builder/mysql/mysql-expr-renderer.d.ts.map +0 -1
  470. package/dist/orm-common/src/query-builder/mysql/mysql-query-builder.d.ts +0 -54
  471. package/dist/orm-common/src/query-builder/mysql/mysql-query-builder.d.ts.map +0 -1
  472. package/dist/orm-common/src/query-builder/postgresql/postgresql-expr-renderer.d.ts +0 -84
  473. package/dist/orm-common/src/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +0 -1
  474. package/dist/orm-common/src/query-builder/postgresql/postgresql-query-builder.d.ts +0 -52
  475. package/dist/orm-common/src/query-builder/postgresql/postgresql-query-builder.d.ts.map +0 -1
  476. package/dist/orm-common/src/query-builder/query-builder.d.ts +0 -7
  477. package/dist/orm-common/src/query-builder/query-builder.d.ts.map +0 -1
  478. package/dist/orm-common/src/schema/factory/column-builder.d.ts +0 -394
  479. package/dist/orm-common/src/schema/factory/column-builder.d.ts.map +0 -1
  480. package/dist/orm-common/src/schema/factory/index-builder.d.ts +0 -151
  481. package/dist/orm-common/src/schema/factory/index-builder.d.ts.map +0 -1
  482. package/dist/orm-common/src/schema/factory/relation-builder.d.ts +0 -337
  483. package/dist/orm-common/src/schema/factory/relation-builder.d.ts.map +0 -1
  484. package/dist/orm-common/src/schema/procedure-builder.d.ts +0 -202
  485. package/dist/orm-common/src/schema/procedure-builder.d.ts.map +0 -1
  486. package/dist/orm-common/src/schema/table-builder.d.ts +0 -259
  487. package/dist/orm-common/src/schema/table-builder.d.ts.map +0 -1
  488. package/dist/orm-common/src/schema/view-builder.d.ts +0 -183
  489. package/dist/orm-common/src/schema/view-builder.d.ts.map +0 -1
  490. package/dist/orm-common/src/types/column.d.ts +0 -172
  491. package/dist/orm-common/src/types/column.d.ts.map +0 -1
  492. package/dist/orm-common/src/types/db.d.ts +0 -175
  493. package/dist/orm-common/src/types/db.d.ts.map +0 -1
  494. package/dist/orm-common/src/types/expr.d.ts +0 -474
  495. package/dist/orm-common/src/types/expr.d.ts.map +0 -1
  496. package/dist/orm-common/src/types/query-def.d.ts +0 -351
  497. package/dist/orm-common/src/types/query-def.d.ts.map +0 -1
  498. package/dist/orm-common/src/utils/result-parser.d.ts +0 -38
  499. package/dist/orm-common/src/utils/result-parser.d.ts.map +0 -1
  500. package/dist/service-client/src/features/event-client.d.ts +0 -14
  501. package/dist/service-client/src/features/event-client.d.ts.map +0 -1
  502. package/dist/service-client/src/features/file-client.d.ts +0 -13
  503. package/dist/service-client/src/features/file-client.d.ts.map +0 -1
  504. package/dist/service-client/src/features/orm/orm-client-connector.d.ts +0 -10
  505. package/dist/service-client/src/features/orm/orm-client-connector.d.ts.map +0 -1
  506. package/dist/service-client/src/features/orm/orm-client-db-context-executor.d.ts +0 -26
  507. package/dist/service-client/src/features/orm/orm-client-db-context-executor.d.ts.map +0 -1
  508. package/dist/service-client/src/features/orm/orm-connect-config.d.ts +0 -13
  509. package/dist/service-client/src/features/orm/orm-connect-config.d.ts.map +0 -1
  510. package/dist/service-client/src/index.d.ts +0 -12
  511. package/dist/service-client/src/index.d.ts.map +0 -1
  512. package/dist/service-client/src/protocol/client-protocol-wrapper.d.ts +0 -23
  513. package/dist/service-client/src/protocol/client-protocol-wrapper.d.ts.map +0 -1
  514. package/dist/service-client/src/service-client.d.ts +0 -41
  515. package/dist/service-client/src/service-client.d.ts.map +0 -1
  516. package/dist/service-client/src/transport/service-transport.d.ts +0 -24
  517. package/dist/service-client/src/transport/service-transport.d.ts.map +0 -1
  518. package/dist/service-client/src/transport/socket-provider.d.ts +0 -31
  519. package/dist/service-client/src/transport/socket-provider.d.ts.map +0 -1
  520. package/dist/service-client/src/types/connection-config.d.ts +0 -8
  521. package/dist/service-client/src/types/connection-config.d.ts.map +0 -1
  522. package/dist/service-client/src/types/progress.types.d.ts +0 -10
  523. package/dist/service-client/src/types/progress.types.d.ts.map +0 -1
  524. package/dist/service-common/src/index.d.ts +0 -8
  525. package/dist/service-common/src/index.d.ts.map +0 -1
  526. package/dist/service-common/src/protocol/protocol.types.d.ts +0 -100
  527. package/dist/service-common/src/protocol/protocol.types.d.ts.map +0 -1
  528. package/dist/service-common/src/protocol/service-protocol.d.ts +0 -63
  529. package/dist/service-common/src/protocol/service-protocol.d.ts.map +0 -1
  530. package/dist/service-common/src/service-types/auto-update-service.types.d.ts +0 -17
  531. package/dist/service-common/src/service-types/auto-update-service.types.d.ts.map +0 -1
  532. package/dist/service-common/src/service-types/crypto-service.types.d.ts +0 -22
  533. package/dist/service-common/src/service-types/crypto-service.types.d.ts.map +0 -1
  534. package/dist/service-common/src/service-types/orm-service.types.d.ts +0 -30
  535. package/dist/service-common/src/service-types/orm-service.types.d.ts.map +0 -1
  536. package/dist/service-common/src/service-types/smtp-service.types.d.ts +0 -55
  537. package/dist/service-common/src/service-types/smtp-service.types.d.ts.map +0 -1
  538. package/dist/service-common/src/types.d.ts +0 -43
  539. package/dist/service-common/src/types.d.ts.map +0 -1
  540. package/dist/solid/src/components/data/Pagination.d.ts.map +0 -1
  541. package/dist/solid/src/components/data/Table.d.ts.map +0 -1
  542. package/dist/solid/src/components/data/calendar/Calendar.d.ts.map +0 -1
  543. package/dist/solid/src/components/data/kanban/Kanban.d.ts.map +0 -1
  544. package/dist/solid/src/components/data/kanban/KanbanContext.d.ts.map +0 -1
  545. package/dist/solid/src/components/data/list/List.d.ts.map +0 -1
  546. package/dist/solid/src/components/data/list/ListContext.d.ts.map +0 -1
  547. package/dist/solid/src/components/data/list/ListItem.d.ts.map +0 -1
  548. package/dist/solid/src/components/data/list/ListItem.styles.d.ts.map +0 -1
  549. package/dist/solid/src/components/data/permission-table/PermissionTable.d.ts.map +0 -1
  550. package/dist/solid/src/components/data/sheet/DataSheet.d.ts.map +0 -1
  551. package/dist/solid/src/components/data/sheet/DataSheet.styles.d.ts.map +0 -1
  552. package/dist/solid/src/components/data/sheet/DataSheetColumn.d.ts.map +0 -1
  553. package/dist/solid/src/components/data/sheet/DataSheetConfigDialog.d.ts.map +0 -1
  554. package/dist/solid/src/components/data/sheet/sheetUtils.d.ts.map +0 -1
  555. package/dist/solid/src/components/data/sheet/types.d.ts.map +0 -1
  556. package/dist/solid/src/components/disclosure/Collapse.d.ts.map +0 -1
  557. package/dist/solid/src/components/disclosure/Dialog.d.ts.map +0 -1
  558. package/dist/solid/src/components/disclosure/DialogContext.d.ts.map +0 -1
  559. package/dist/solid/src/components/disclosure/DialogInstanceContext.d.ts.map +0 -1
  560. package/dist/solid/src/components/disclosure/DialogProvider.d.ts.map +0 -1
  561. package/dist/solid/src/components/disclosure/Dropdown.d.ts.map +0 -1
  562. package/dist/solid/src/components/disclosure/Tabs.d.ts.map +0 -1
  563. package/dist/solid/src/components/disclosure/dialogZIndex.d.ts.map +0 -1
  564. package/dist/solid/src/components/display/Alert.d.ts.map +0 -1
  565. package/dist/solid/src/components/display/Barcode.d.ts.map +0 -1
  566. package/dist/solid/src/components/display/Card.d.ts.map +0 -1
  567. package/dist/solid/src/components/display/Echarts.d.ts.map +0 -1
  568. package/dist/solid/src/components/display/Icon.d.ts.map +0 -1
  569. package/dist/solid/src/components/display/Tag.d.ts.map +0 -1
  570. package/dist/solid/src/components/feedback/Progress.d.ts.map +0 -1
  571. package/dist/solid/src/components/feedback/loading/LoadingContainer.d.ts.map +0 -1
  572. package/dist/solid/src/components/feedback/loading/LoadingContext.d.ts.map +0 -1
  573. package/dist/solid/src/components/feedback/loading/LoadingProvider.d.ts.map +0 -1
  574. package/dist/solid/src/components/feedback/notification/NotificationBanner.d.ts.map +0 -1
  575. package/dist/solid/src/components/feedback/notification/NotificationBell.d.ts.map +0 -1
  576. package/dist/solid/src/components/feedback/notification/NotificationContext.d.ts.map +0 -1
  577. package/dist/solid/src/components/feedback/notification/NotificationProvider.d.ts.map +0 -1
  578. package/dist/solid/src/components/feedback/notification/index.d.ts.map +0 -1
  579. package/dist/solid/src/components/feedback/print/Print.d.ts.map +0 -1
  580. package/dist/solid/src/components/feedback/print/PrintInstanceContext.d.ts.map +0 -1
  581. package/dist/solid/src/components/form-control/Button.d.ts.map +0 -1
  582. package/dist/solid/src/components/form-control/DropdownTrigger.styles.d.ts.map +0 -1
  583. package/dist/solid/src/components/form-control/ThemeToggle.d.ts.map +0 -1
  584. package/dist/solid/src/components/form-control/checkbox/Checkbox.d.ts.map +0 -1
  585. package/dist/solid/src/components/form-control/checkbox/Checkbox.styles.d.ts.map +0 -1
  586. package/dist/solid/src/components/form-control/checkbox/CheckboxGroup.d.ts.map +0 -1
  587. package/dist/solid/src/components/form-control/checkbox/RadioGroup.d.ts.map +0 -1
  588. package/dist/solid/src/components/form-control/color-picker/ColorPicker.d.ts.map +0 -1
  589. package/dist/solid/src/components/form-control/combobox/Combobox.d.ts.map +0 -1
  590. package/dist/solid/src/components/form-control/combobox/ComboboxContext.d.ts.map +0 -1
  591. package/dist/solid/src/components/form-control/combobox/ComboboxItem.d.ts.map +0 -1
  592. package/dist/solid/src/components/form-control/date-range-picker/DateRangePicker.d.ts.map +0 -1
  593. package/dist/solid/src/components/form-control/editor/EditorToolbar.d.ts.map +0 -1
  594. package/dist/solid/src/components/form-control/editor/RichTextEditor.d.ts.map +0 -1
  595. package/dist/solid/src/components/form-control/field/DatePicker.d.ts.map +0 -1
  596. package/dist/solid/src/components/form-control/field/DateTimePicker.d.ts.map +0 -1
  597. package/dist/solid/src/components/form-control/field/Field.styles.d.ts.map +0 -1
  598. package/dist/solid/src/components/form-control/field/NumberInput.d.ts.map +0 -1
  599. package/dist/solid/src/components/form-control/field/TextInput.d.ts.map +0 -1
  600. package/dist/solid/src/components/form-control/field/Textarea.d.ts.map +0 -1
  601. package/dist/solid/src/components/form-control/field/TimePicker.d.ts.map +0 -1
  602. package/dist/solid/src/components/form-control/numpad/Numpad.d.ts.map +0 -1
  603. package/dist/solid/src/components/form-control/select/Select.d.ts.map +0 -1
  604. package/dist/solid/src/components/form-control/select/SelectContext.d.ts.map +0 -1
  605. package/dist/solid/src/components/form-control/select/SelectItem.d.ts.map +0 -1
  606. package/dist/solid/src/components/form-control/state-preset/StatePreset.d.ts.map +0 -1
  607. package/dist/solid/src/components/layout/FormGroup.d.ts.map +0 -1
  608. package/dist/solid/src/components/layout/FormTable.d.ts.map +0 -1
  609. package/dist/solid/src/components/layout/sidebar/Sidebar.d.ts.map +0 -1
  610. package/dist/solid/src/components/layout/sidebar/SidebarContainer.d.ts.map +0 -1
  611. package/dist/solid/src/components/layout/sidebar/SidebarContext.d.ts.map +0 -1
  612. package/dist/solid/src/components/layout/sidebar/SidebarMenu.d.ts.map +0 -1
  613. package/dist/solid/src/components/layout/sidebar/SidebarUser.d.ts +0 -36
  614. package/dist/solid/src/components/layout/sidebar/SidebarUser.d.ts.map +0 -1
  615. package/dist/solid/src/components/layout/topbar/Topbar.d.ts.map +0 -1
  616. package/dist/solid/src/components/layout/topbar/TopbarContainer.d.ts.map +0 -1
  617. package/dist/solid/src/components/layout/topbar/TopbarMenu.d.ts.map +0 -1
  618. package/dist/solid/src/components/layout/topbar/TopbarUser.d.ts.map +0 -1
  619. package/dist/solid/src/directives/ripple.d.ts.map +0 -1
  620. package/dist/solid/src/helpers/createAppStructure.d.ts.map +0 -1
  621. package/dist/solid/src/helpers/mergeStyles.d.ts.map +0 -1
  622. package/dist/solid/src/helpers/splitSlots.d.ts.map +0 -1
  623. package/dist/solid/src/hooks/createControllableSignal.d.ts.map +0 -1
  624. package/dist/solid/src/hooks/createIMEHandler.d.ts.map +0 -1
  625. package/dist/solid/src/hooks/createMountTransition.d.ts.map +0 -1
  626. package/dist/solid/src/hooks/useClipboardValueCopy.d.ts.map +0 -1
  627. package/dist/solid/src/hooks/usePersisted.d.ts +0 -26
  628. package/dist/solid/src/hooks/usePersisted.d.ts.map +0 -1
  629. package/dist/solid/src/hooks/usePrint.d.ts.map +0 -1
  630. package/dist/solid/src/hooks/useRouterLink.d.ts.map +0 -1
  631. package/dist/solid/src/index.d.ts.map +0 -1
  632. package/dist/solid/src/providers/ConfigContext.d.ts.map +0 -1
  633. package/dist/solid/src/providers/InitializeProvider.d.ts.map +0 -1
  634. package/dist/solid/src/providers/ServiceClientContext.d.ts.map +0 -1
  635. package/dist/solid/src/providers/ServiceClientProvider.d.ts.map +0 -1
  636. package/dist/solid/src/providers/ThemeContext.d.ts.map +0 -1
  637. package/dist/solid/src/providers/shared-data/SharedDataChangeEvent.d.ts +0 -8
  638. package/dist/solid/src/providers/shared-data/SharedDataChangeEvent.d.ts.map +0 -1
  639. package/dist/solid/src/providers/shared-data/SharedDataContext.d.ts.map +0 -1
  640. package/dist/solid/src/providers/shared-data/SharedDataProvider.d.ts.map +0 -1
  641. package/dist/solid/src/styles/patterns.styles.d.ts.map +0 -1
  642. package/dist/solid/src/styles/tokens.styles.d.ts.map +0 -1
  643. package/src/hooks/usePersisted.ts +0 -51
  644. package/tests/components/data/List.spec.tsx +0 -683
  645. package/tests/components/data/Pagination.spec.tsx +0 -317
  646. package/tests/components/data/Table.spec.tsx +0 -55
  647. package/tests/components/data/kanban/Kanban.selection.spec.tsx +0 -209
  648. package/tests/components/data/permission-table/PermissionTable.spec.tsx +0 -280
  649. package/tests/components/data/sheet/DataSheet.spec.tsx +0 -564
  650. package/tests/components/disclosure/Collapse.spec.tsx +0 -162
  651. package/tests/components/disclosure/Dialog.spec.tsx +0 -319
  652. package/tests/components/disclosure/DialogProvider.spec.tsx +0 -110
  653. package/tests/components/disclosure/Dropdown.spec.tsx +0 -410
  654. package/tests/components/disclosure/Tabs.spec.tsx +0 -220
  655. package/tests/components/display/Alert.spec.tsx +0 -47
  656. package/tests/components/display/Barcode.spec.tsx +0 -61
  657. package/tests/components/display/Card.spec.tsx +0 -41
  658. package/tests/components/display/Tag.spec.tsx +0 -47
  659. package/tests/components/feedback/notification/LiveRegion.spec.tsx +0 -41
  660. package/tests/components/feedback/notification/NotificationBanner.spec.tsx +0 -164
  661. package/tests/components/feedback/notification/NotificationBell.spec.tsx +0 -207
  662. package/tests/components/feedback/notification/NotificationContext.spec.tsx +0 -331
  663. package/tests/components/feedback/print/Print.spec.tsx +0 -45
  664. package/tests/components/form-control/Button.spec.tsx +0 -119
  665. package/tests/components/form-control/checkbox/Checkbox.spec.tsx +0 -120
  666. package/tests/components/form-control/checkbox/Radio.spec.tsx +0 -112
  667. package/tests/components/form-control/color-picker/ColorPicker.spec.tsx +0 -67
  668. package/tests/components/form-control/combobox/Combobox.spec.tsx +0 -174
  669. package/tests/components/form-control/combobox/ComboboxItem.spec.tsx +0 -85
  670. package/tests/components/form-control/date-range-picker/DateRangePicker.spec.tsx +0 -172
  671. package/tests/components/form-control/field/DatePicker.spec.tsx +0 -305
  672. package/tests/components/form-control/field/DateTimePicker.spec.tsx +0 -287
  673. package/tests/components/form-control/field/NumberInput.spec.tsx +0 -276
  674. package/tests/components/form-control/field/TextInput.spec.tsx +0 -258
  675. package/tests/components/form-control/field/Textarea.spec.tsx +0 -181
  676. package/tests/components/form-control/field/TimePicker.spec.tsx +0 -243
  677. package/tests/components/form-control/numpad/Numpad.spec.tsx +0 -238
  678. package/tests/components/form-control/select/Select.spec.tsx +0 -239
  679. package/tests/components/form-control/select/SelectItem.spec.tsx +0 -149
  680. package/tests/components/layout/FormGroup.spec.tsx +0 -104
  681. package/tests/components/layout/FormTable.spec.tsx +0 -43
  682. package/tests/components/layout/sidebar/Sidebar.spec.tsx +0 -190
  683. package/tests/components/layout/sidebar/SidebarContainer.spec.tsx +0 -203
  684. package/tests/components/layout/sidebar/SidebarMenu.spec.tsx +0 -213
  685. package/tests/components/layout/sidebar/SidebarUser.spec.tsx +0 -171
  686. package/tests/directives/ripple.spec.tsx +0 -130
  687. package/tests/helpers/createAppStructure.spec.tsx +0 -338
  688. package/tests/helpers/mergeStyles.spec.ts +0 -163
  689. package/tests/helpers/splitSlots.spec.tsx +0 -188
  690. package/tests/hooks/createControllableSignal.spec.ts +0 -194
  691. package/tests/hooks/createIMEHandler.spec.ts +0 -80
  692. package/tests/hooks/createMountTransition.spec.ts +0 -86
  693. package/tests/hooks/usePersisted.spec.tsx +0 -191
  694. package/tests/hooks/usePrint.spec.tsx +0 -123
  695. package/tests/hooks/useRouterLink.spec.tsx +0 -183
  696. package/tests/providers/ConfigContext.spec.ts +0 -40
  697. package/tests/providers/ServiceClientContext.spec.tsx +0 -83
  698. package/tests/providers/shared-data/SharedDataProvider.spec.tsx +0 -233
  699. /package/dist/{solid/src/components → components}/data/Pagination.d.ts +0 -0
  700. /package/dist/{solid/src/components → components}/data/Table.d.ts +0 -0
  701. /package/dist/{solid/src/components → components}/data/calendar/Calendar.d.ts +0 -0
  702. /package/dist/{solid/src/components → components}/data/kanban/Kanban.d.ts +0 -0
  703. /package/dist/{solid/src/components → components}/data/kanban/KanbanContext.d.ts +0 -0
  704. /package/dist/{solid/src/components → components}/data/list/List.d.ts +0 -0
  705. /package/dist/{solid/src/components → components}/data/list/ListContext.d.ts +0 -0
  706. /package/dist/{solid/src/components → components}/data/list/ListItem.d.ts +0 -0
  707. /package/dist/{solid/src/components → components}/data/list/ListItem.styles.d.ts +0 -0
  708. /package/dist/{solid/src/components → components}/data/permission-table/PermissionTable.d.ts +0 -0
  709. /package/dist/{solid/src/components → components}/data/sheet/DataSheet.d.ts +0 -0
  710. /package/dist/{solid/src/components → components}/data/sheet/DataSheet.styles.d.ts +0 -0
  711. /package/dist/{solid/src/components → components}/data/sheet/DataSheetColumn.d.ts +0 -0
  712. /package/dist/{solid/src/components → components}/data/sheet/DataSheetConfigDialog.d.ts +0 -0
  713. /package/dist/{solid/src/components → components}/data/sheet/sheetUtils.d.ts +0 -0
  714. /package/dist/{solid/src/components → components}/data/sheet/types.d.ts +0 -0
  715. /package/dist/{solid/src/components → components}/disclosure/Collapse.d.ts +0 -0
  716. /package/dist/{solid/src/components → components}/disclosure/Dialog.d.ts +0 -0
  717. /package/dist/{solid/src/components → components}/disclosure/DialogContext.d.ts +0 -0
  718. /package/dist/{solid/src/components → components}/disclosure/DialogInstanceContext.d.ts +0 -0
  719. /package/dist/{solid/src/components → components}/disclosure/DialogProvider.d.ts +0 -0
  720. /package/dist/{solid/src/components → components}/disclosure/Dropdown.d.ts +0 -0
  721. /package/dist/{solid/src/components → components}/disclosure/Tabs.d.ts +0 -0
  722. /package/dist/{solid/src/components → components}/disclosure/dialogZIndex.d.ts +0 -0
  723. /package/dist/{solid/src/components → components}/display/Alert.d.ts +0 -0
  724. /package/dist/{solid/src/components → components}/display/Barcode.d.ts +0 -0
  725. /package/dist/{solid/src/components → components}/display/Card.d.ts +0 -0
  726. /package/dist/{solid/src/components → components}/display/Icon.d.ts +0 -0
  727. /package/dist/{solid/src/components → components}/display/Tag.d.ts +0 -0
  728. /package/dist/{solid/src/components → components}/feedback/Progress.d.ts +0 -0
  729. /package/dist/{solid/src/components → components}/feedback/loading/LoadingContainer.d.ts +0 -0
  730. /package/dist/{solid/src/components → components}/feedback/loading/LoadingContext.d.ts +0 -0
  731. /package/dist/{solid/src/components → components}/feedback/loading/LoadingProvider.d.ts +0 -0
  732. /package/dist/{solid/src/components → components}/feedback/notification/NotificationBanner.d.ts +0 -0
  733. /package/dist/{solid/src/components → components}/feedback/notification/NotificationBell.d.ts +0 -0
  734. /package/dist/{solid/src/components → components}/feedback/notification/NotificationContext.d.ts +0 -0
  735. /package/dist/{solid/src/components → components}/feedback/notification/NotificationProvider.d.ts +0 -0
  736. /package/dist/{solid/src/components → components}/feedback/notification/index.d.ts +0 -0
  737. /package/dist/{solid/src/components → components}/feedback/print/Print.d.ts +0 -0
  738. /package/dist/{solid/src/components → components}/feedback/print/PrintInstanceContext.d.ts +0 -0
  739. /package/dist/{solid/src/components → components}/form-control/Button.d.ts +0 -0
  740. /package/dist/{solid/src/components → components}/form-control/DropdownTrigger.styles.d.ts +0 -0
  741. /package/dist/{solid/src/components → components}/form-control/ThemeToggle.d.ts +0 -0
  742. /package/dist/{solid/src/components → components}/form-control/checkbox/Checkbox.d.ts +0 -0
  743. /package/dist/{solid/src/components → components}/form-control/checkbox/Checkbox.styles.d.ts +0 -0
  744. /package/dist/{solid/src/components → components}/form-control/checkbox/CheckboxGroup.d.ts +0 -0
  745. /package/dist/{solid/src/components → components}/form-control/checkbox/Radio.d.ts +0 -0
  746. /package/dist/{solid/src/components → components}/form-control/checkbox/RadioGroup.d.ts +0 -0
  747. /package/dist/{solid/src/components → components}/form-control/color-picker/ColorPicker.d.ts +0 -0
  748. /package/dist/{solid/src/components → components}/form-control/combobox/Combobox.d.ts +0 -0
  749. /package/dist/{solid/src/components → components}/form-control/combobox/ComboboxContext.d.ts +0 -0
  750. /package/dist/{solid/src/components → components}/form-control/combobox/ComboboxItem.d.ts +0 -0
  751. /package/dist/{solid/src/components → components}/form-control/date-range-picker/DateRangePicker.d.ts +0 -0
  752. /package/dist/{solid/src/components → components}/form-control/editor/EditorToolbar.d.ts +0 -0
  753. /package/dist/{solid/src/components → components}/form-control/numpad/Numpad.d.ts +0 -0
  754. /package/dist/{solid/src/components → components}/form-control/select/Select.d.ts +0 -0
  755. /package/dist/{solid/src/components → components}/form-control/select/SelectContext.d.ts +0 -0
  756. /package/dist/{solid/src/components → components}/form-control/select/SelectItem.d.ts +0 -0
  757. /package/dist/{solid/src/components → components}/form-control/state-preset/StatePreset.d.ts +0 -0
  758. /package/dist/{solid/src/components → components}/layout/FormGroup.d.ts +0 -0
  759. /package/dist/{solid/src/components → components}/layout/FormTable.d.ts +0 -0
  760. /package/dist/{solid/src/components → components}/layout/sidebar/Sidebar.d.ts +0 -0
  761. /package/dist/{solid/src/components → components}/layout/sidebar/SidebarContext.d.ts +0 -0
  762. /package/dist/{solid/src/components → components}/layout/sidebar/SidebarMenu.d.ts +0 -0
  763. /package/dist/{solid/src/components → components}/layout/topbar/Topbar.d.ts +0 -0
  764. /package/dist/{solid/src/components → components}/layout/topbar/TopbarContainer.d.ts +0 -0
  765. /package/dist/{solid/src/components → components}/layout/topbar/TopbarMenu.d.ts +0 -0
  766. /package/dist/{solid/src/components → components}/layout/topbar/TopbarUser.d.ts +0 -0
  767. /package/dist/{solid/src/directives → directives}/ripple.d.ts +0 -0
  768. /package/dist/{solid/src/helpers → helpers}/createAppStructure.d.ts +0 -0
  769. /package/dist/{solid/src/helpers → helpers}/mergeStyles.d.ts +0 -0
  770. /package/dist/{solid/src/helpers → helpers}/splitSlots.d.ts +0 -0
  771. /package/dist/{solid/src/hooks → hooks}/createControllableSignal.d.ts +0 -0
  772. /package/dist/{solid/src/hooks → hooks}/createIMEHandler.d.ts +0 -0
  773. /package/dist/{solid/src/hooks → hooks}/createMountTransition.d.ts +0 -0
  774. /package/dist/{solid/src/hooks → hooks}/useClipboardValueCopy.d.ts +0 -0
  775. /package/dist/{solid/src/hooks → hooks}/usePrint.d.ts +0 -0
  776. /package/dist/{solid/src/hooks → hooks}/useRouterLink.d.ts +0 -0
  777. /package/dist/{solid/src/providers → providers}/ServiceClientContext.d.ts +0 -0
  778. /package/dist/{solid/src/providers → providers}/ServiceClientProvider.d.ts +0 -0
  779. /package/dist/{solid/src/providers → providers}/shared-data/SharedDataContext.d.ts +0 -0
  780. /package/dist/{solid/src/providers → providers}/shared-data/SharedDataProvider.d.ts +0 -0
  781. /package/dist/{solid/src/styles → styles}/patterns.styles.d.ts +0 -0
  782. /package/dist/{solid/src/styles → styles}/tokens.styles.d.ts +0 -0
@@ -0,0 +1,535 @@
1
+ # Form Controls
2
+
3
+ ## Button
4
+
5
+ Interactive button component with built-in Material Design ripple effect.
6
+
7
+ ```tsx
8
+ import { Button } from "@simplysm/solid";
9
+
10
+ <Button theme="primary" variant="solid">Confirm</Button>
11
+ <Button theme="danger" variant="outline" size="sm">Delete</Button>
12
+ <Button variant="ghost">Cancel</Button>
13
+ <Button disabled>Disabled</Button>
14
+ ```
15
+
16
+ | Prop | Type | Default | Description |
17
+ |------|------|---------|-------------|
18
+ | `theme` | `"primary" \| "info" \| "success" \| "warning" \| "danger" \| "base"` | `"base"` | Color theme |
19
+ | `variant` | `"solid" \| "outline" \| "ghost"` | `"outline"` | Style variant |
20
+ | `size` | `"sm" \| "lg"` | - | Size |
21
+ | `inset` | `boolean` | - | Inset style (removes border/rounded corners) |
22
+ | `disabled` | `boolean` | - | Disabled state |
23
+
24
+ All standard HTML `<button>` element attributes can also be passed.
25
+
26
+ ---
27
+
28
+ ## TextInput
29
+
30
+ Text input field with format mask and IME (Korean, etc.) composition support.
31
+
32
+ ```tsx
33
+ import { TextInput } from "@simplysm/solid";
34
+
35
+ // Basic usage
36
+ <TextInput value={name()} onValueChange={setName} placeholder="Enter name" />
37
+
38
+ // Password
39
+ <TextInput type="password" />
40
+
41
+ // Format mask (e.g., phone number)
42
+ <TextInput format="XXX-XXXX-XXXX" value={phone()} onValueChange={setPhone} />
43
+ ```
44
+
45
+ | Prop | Type | Default | Description |
46
+ |------|------|---------|-------------|
47
+ | `value` | `string` | `""` | Input value |
48
+ | `onValueChange` | `(value: string) => void` | - | Value change callback |
49
+ | `type` | `"text" \| "password" \| "email"` | `"text"` | Input type |
50
+ | `format` | `string` | - | Input format (`X` represents character position, rest are separators) |
51
+ | `placeholder` | `string` | - | Placeholder |
52
+ | `disabled` | `boolean` | - | Disabled state |
53
+ | `readonly` | `boolean` | - | Read-only state |
54
+ | `size` | `"sm" \| "lg"` | - | Size |
55
+ | `inset` | `boolean` | - | Inset style |
56
+
57
+ ---
58
+
59
+ ## NumberInput
60
+
61
+ Number input field with thousand separators and minimum decimal places support.
62
+
63
+ ```tsx
64
+ import { NumberInput } from "@simplysm/solid";
65
+
66
+ // Basic usage (thousand separators auto-applied)
67
+ <NumberInput value={amount()} onValueChange={setAmount} />
68
+
69
+ // Without thousand separators
70
+ <NumberInput value={num()} comma={false} />
71
+
72
+ // Minimum 2 decimal places
73
+ <NumberInput value={price()} minDigits={2} />
74
+ ```
75
+
76
+ | Prop | Type | Default | Description |
77
+ |------|------|---------|-------------|
78
+ | `value` | `number` | - | Input value |
79
+ | `onValueChange` | `(value: number \| undefined) => void` | - | Value change callback |
80
+ | `comma` | `boolean` | `true` | Show thousand separators |
81
+ | `minDigits` | `number` | - | Minimum decimal places |
82
+ | `placeholder` | `string` | - | Placeholder |
83
+ | `disabled` | `boolean` | - | Disabled state |
84
+ | `readonly` | `boolean` | - | Read-only state |
85
+ | `size` | `"sm" \| "lg"` | - | Size |
86
+ | `inset` | `boolean` | - | Inset style |
87
+
88
+ ---
89
+
90
+ ## DatePicker
91
+
92
+ Date input field supporting year, month, and date units. Values are handled using the `DateOnly` type.
93
+
94
+ ```tsx
95
+ import { DatePicker } from "@simplysm/solid";
96
+ import { DateOnly } from "@simplysm/core-common";
97
+
98
+ // Date input
99
+ <DatePicker unit="date" value={date()} onValueChange={setDate} />
100
+
101
+ // Year-month input
102
+ <DatePicker unit="month" value={monthDate()} onValueChange={setMonthDate} />
103
+
104
+ // Year-only input
105
+ <DatePicker unit="year" value={yearDate()} onValueChange={setYearDate} />
106
+
107
+ // min/max constraints
108
+ <DatePicker
109
+ unit="date"
110
+ value={date()}
111
+ onValueChange={setDate}
112
+ min={new DateOnly(2025, 1, 1)}
113
+ max={new DateOnly(2025, 12, 31)}
114
+ />
115
+ ```
116
+
117
+ | Prop | Type | Default | Description |
118
+ |------|------|---------|-------------|
119
+ | `value` | `DateOnly` | - | Input value |
120
+ | `onValueChange` | `(value: DateOnly \| undefined) => void` | - | Value change callback |
121
+ | `unit` | `"year" \| "month" \| "date"` | `"date"` | Date unit |
122
+ | `min` | `DateOnly` | - | Minimum date |
123
+ | `max` | `DateOnly` | - | Maximum date |
124
+ | `disabled` | `boolean` | - | Disabled state |
125
+ | `readonly` | `boolean` | - | Read-only state |
126
+ | `size` | `"sm" \| "lg"` | - | Size |
127
+ | `inset` | `boolean` | - | Inset style |
128
+
129
+ > `DateTimePicker` and `TimePicker` follow the same pattern for datetime (`DateTime`) and time (`Time`) input.
130
+
131
+ ---
132
+
133
+ ## DateRangePicker
134
+
135
+ Component for inputting date ranges with period type selection (day/month/range). The from/to values are automatically adjusted when periodType changes.
136
+
137
+ ```tsx
138
+ import { DateRangePicker, type DateRangePeriodType } from "@simplysm/solid";
139
+ import { createSignal } from "solid-js";
140
+ import { DateOnly } from "@simplysm/core-common";
141
+
142
+ const [periodType, setPeriodType] = createSignal<DateRangePeriodType>("range");
143
+ const [from, setFrom] = createSignal<DateOnly>();
144
+ const [to, setTo] = createSignal<DateOnly>();
145
+
146
+ <DateRangePicker
147
+ periodType={periodType()}
148
+ onPeriodTypeChange={setPeriodType}
149
+ from={from()}
150
+ onFromChange={setFrom}
151
+ to={to()}
152
+ onToChange={setTo}
153
+ />
154
+ ```
155
+
156
+ | Prop | Type | Default | Description |
157
+ |------|------|---------|-------------|
158
+ | `periodType` | `"day" \| "month" \| "range"` | `"range"` | Period type |
159
+ | `onPeriodTypeChange` | `(value: DateRangePeriodType) => void` | - | Period type change callback |
160
+ | `from` | `DateOnly` | - | Start date |
161
+ | `onFromChange` | `(value: DateOnly \| undefined) => void` | - | Start date change callback |
162
+ | `to` | `DateOnly` | - | End date |
163
+ | `onToChange` | `(value: DateOnly \| undefined) => void` | - | End date change callback |
164
+ | `disabled` | `boolean` | - | Disabled state |
165
+ | `size` | `"sm" \| "lg"` | - | Size |
166
+ | `periodLabels` | `Partial<Record<DateRangePeriodType, string>>` | `{ day: "Day", month: "Month", range: "Range" }` | Period type labels |
167
+
168
+ ---
169
+
170
+ ## Textarea
171
+
172
+ Multi-line text input field. Height adjusts automatically based on content, with IME composition support.
173
+
174
+ ```tsx
175
+ import { Textarea } from "@simplysm/solid";
176
+
177
+ <Textarea value={text()} onValueChange={setText} />
178
+
179
+ // Minimum 3 rows height
180
+ <Textarea minRows={3} value={text()} onValueChange={setText} />
181
+ ```
182
+
183
+ | Prop | Type | Default | Description |
184
+ |------|------|---------|-------------|
185
+ | `value` | `string` | `""` | Input value |
186
+ | `onValueChange` | `(value: string) => void` | - | Value change callback |
187
+ | `placeholder` | `string` | - | Placeholder |
188
+ | `minRows` | `number` | `1` | Minimum number of rows |
189
+ | `disabled` | `boolean` | - | Disabled state |
190
+ | `readonly` | `boolean` | - | Read-only state |
191
+ | `size` | `"sm" \| "lg"` | - | Size |
192
+ | `inset` | `boolean` | - | Inset style |
193
+
194
+ ---
195
+
196
+ ## Select
197
+
198
+ Dropdown selection component. Supports both items prop approach and children (Compound Components) approach. Single and multiple selection supported.
199
+
200
+ ```tsx
201
+ import { Select } from "@simplysm/solid";
202
+
203
+ // items approach (simple array)
204
+ <Select
205
+ items={["Apple", "Banana", "Strawberry"]}
206
+ value={fruit()}
207
+ onValueChange={setFruit}
208
+ placeholder="Select fruit"
209
+ />
210
+
211
+ // children approach (Compound Components)
212
+ <Select value={fruit()} onValueChange={setFruit} renderValue={(v) => v.name}>
213
+ <Select.Item value={item1}>{item1.name}</Select.Item>
214
+ <Select.Item value={item2}>{item2.name}</Select.Item>
215
+ </Select>
216
+
217
+ // items approach + ItemTemplate for custom rendering
218
+ <Select items={users} value={selectedUser()} onValueChange={setSelectedUser}>
219
+ <Select.ItemTemplate>
220
+ {(user) => <>{user.name} ({user.email})</>}
221
+ </Select.ItemTemplate>
222
+ </Select>
223
+
224
+ // Multiple selection
225
+ <Select items={options} value={selected()} onValueChange={setSelected} multiple />
226
+
227
+ // Hierarchical items (children approach)
228
+ <Select value={item()} onValueChange={setItem} renderValue={(v) => v.name}>
229
+ <Select.Item value={parent}>
230
+ {parent.name}
231
+ <Select.Item.Children>
232
+ <Select.Item value={child1}>{child1.name}</Select.Item>
233
+ <Select.Item value={child2}>{child2.name}</Select.Item>
234
+ </Select.Item.Children>
235
+ </Select.Item>
236
+ </Select>
237
+
238
+ // With action buttons and header
239
+ <Select value={item()} onValueChange={setItem} renderValue={(v) => v.name}>
240
+ <Select.Header><div>Custom header</div></Select.Header>
241
+ <Select.Action onClick={handleAdd}>+</Select.Action>
242
+ <Select.Item value={item1}>{item1.name}</Select.Item>
243
+ </Select>
244
+ ```
245
+
246
+ | Prop | Type | Default | Description |
247
+ |------|------|---------|-------------|
248
+ | `value` | `T \| T[]` | - | Selected value |
249
+ | `onValueChange` | `(value: T \| T[]) => void` | - | Value change callback |
250
+ | `items` | `T[]` | - | Items array (items approach) |
251
+ | `getChildren` | `(item: T, index: number, depth: number) => T[] \| undefined` | - | Tree structure children getter |
252
+ | `renderValue` | `(value: T) => JSX.Element` | - | Value rendering function (required for children approach) |
253
+ | `multiple` | `boolean` | `false` | Multiple selection |
254
+ | `multiDisplayDirection` | `"horizontal" \| "vertical"` | `"horizontal"` | Display direction for multiple selection |
255
+ | `hideSelectAll` | `boolean` | - | Hide select all button (multiple selection) |
256
+ | `placeholder` | `string` | - | Placeholder |
257
+ | `disabled` | `boolean` | - | Disabled state |
258
+ | `required` | `boolean` | - | Required field |
259
+ | `size` | `"sm" \| "lg"` | - | Size |
260
+ | `inset` | `boolean` | - | Inset style |
261
+
262
+ **Sub-components:**
263
+ - `Select.Item` -- Selection item
264
+ - `Select.Item.Children` -- Nested child items container (for hierarchical selection)
265
+ - `Select.Action` -- Right-side action button
266
+ - `Select.Header` -- Dropdown top custom area
267
+ - `Select.ItemTemplate` -- Item rendering template for items approach
268
+
269
+ ---
270
+
271
+ ## Combobox
272
+
273
+ Autocomplete component with async search and item selection support. Debouncing is built-in.
274
+
275
+ ```tsx
276
+ import { Combobox } from "@simplysm/solid";
277
+
278
+ <Combobox
279
+ loadItems={async (query) => {
280
+ const response = await fetch(`/api/search?q=${query}`);
281
+ return response.json();
282
+ }}
283
+ renderValue={(item) => item.name}
284
+ value={selected()}
285
+ onValueChange={setSelected}
286
+ placeholder="Search..."
287
+ >
288
+ <Combobox.ItemTemplate>
289
+ {(item) => <>{item.name}</>}
290
+ </Combobox.ItemTemplate>
291
+ </Combobox>
292
+ ```
293
+
294
+ | Prop | Type | Default | Description |
295
+ |------|------|---------|-------------|
296
+ | `value` | `T` | - | Selected value |
297
+ | `onValueChange` | `(value: T) => void` | - | Value change callback |
298
+ | `loadItems` | `(query: string) => Promise<T[]>` | **(required)** | Item loading function |
299
+ | `renderValue` | `(value: T) => JSX.Element` | **(required)** | Value rendering function |
300
+ | `debounceMs` | `number` | `300` | Debounce delay (ms) |
301
+ | `allowCustomValue` | `boolean` | - | Allow custom values |
302
+ | `parseCustomValue` | `(text: string) => T` | - | Custom value parsing function |
303
+ | `placeholder` | `string` | - | Placeholder |
304
+ | `disabled` | `boolean` | - | Disabled state |
305
+ | `size` | `"sm" \| "lg"` | - | Size |
306
+ | `inset` | `boolean` | - | Inset style |
307
+
308
+ **Sub-components:**
309
+ - `Combobox.Item` -- Selection item
310
+ - `Combobox.ItemTemplate` -- Item rendering template
311
+
312
+ ---
313
+
314
+ ## Checkbox / Radio
315
+
316
+ Checkbox and radio button components.
317
+
318
+ ```tsx
319
+ import { Checkbox, Radio } from "@simplysm/solid";
320
+
321
+ <Checkbox value={checked()} onValueChange={setChecked}>I agree</Checkbox>
322
+ <Checkbox theme="success" value={active()} onValueChange={setActive}>Activate</Checkbox>
323
+
324
+ <Radio value={option() === "a"} onValueChange={() => setOption("a")}>Option A</Radio>
325
+ <Radio value={option() === "b"} onValueChange={() => setOption("b")}>Option B</Radio>
326
+ ```
327
+
328
+ | Prop | Type | Default | Description |
329
+ |------|------|---------|-------------|
330
+ | `value` | `boolean` | `false` | Checked state |
331
+ | `onValueChange` | `(value: boolean) => void` | - | Value change callback |
332
+ | `theme` | `"primary" \| "info" \| "success" \| "warning" \| "danger" \| "base"` | `"primary"` | Color theme |
333
+ | `size` | `"sm" \| "lg"` | - | Size |
334
+ | `disabled` | `boolean` | - | Disabled state |
335
+ | `inset` | `boolean` | - | Inset style |
336
+ | `inline` | `boolean` | - | Inline style |
337
+
338
+ ---
339
+
340
+ ## CheckboxGroup / RadioGroup
341
+
342
+ Group components for managing multiple/single selection across items.
343
+
344
+ ```tsx
345
+ import { CheckboxGroup, RadioGroup } from "@simplysm/solid";
346
+
347
+ // Multiple selection
348
+ <CheckboxGroup value={selectedColors()} onValueChange={setSelectedColors}>
349
+ <CheckboxGroup.Item value="red">Red</CheckboxGroup.Item>
350
+ <CheckboxGroup.Item value="green">Green</CheckboxGroup.Item>
351
+ <CheckboxGroup.Item value="blue">Blue</CheckboxGroup.Item>
352
+ </CheckboxGroup>
353
+
354
+ // Single selection
355
+ <RadioGroup value={size()} onValueChange={setSize}>
356
+ <RadioGroup.Item value="sm">Small</RadioGroup.Item>
357
+ <RadioGroup.Item value="md">Medium</RadioGroup.Item>
358
+ <RadioGroup.Item value="lg">Large</RadioGroup.Item>
359
+ </RadioGroup>
360
+ ```
361
+
362
+ **CheckboxGroup Props:**
363
+
364
+ | Prop | Type | Default | Description |
365
+ |------|------|---------|-------------|
366
+ | `value` | `T[]` | `[]` | Selected values array |
367
+ | `onValueChange` | `(value: T[]) => void` | - | Value change callback |
368
+ | `theme` | `SemanticTheme` | `"primary"` | Color theme |
369
+ | `size` | `"sm" \| "lg"` | - | Size |
370
+ | `disabled` | `boolean` | - | Disable all items |
371
+ | `inline` | `boolean` | - | Inline style |
372
+ | `inset` | `boolean` | - | Inset style |
373
+
374
+ **RadioGroup Props:**
375
+
376
+ | Prop | Type | Default | Description |
377
+ |------|------|---------|-------------|
378
+ | `value` | `T` | - | Selected value |
379
+ | `onValueChange` | `(value: T) => void` | - | Value change callback |
380
+ | `theme` | `SemanticTheme` | `"primary"` | Color theme |
381
+ | `size` | `"sm" \| "lg"` | - | Size |
382
+ | `disabled` | `boolean` | - | Disable all items |
383
+ | `inline` | `boolean` | - | Inline style |
384
+ | `inset` | `boolean` | - | Inset style |
385
+
386
+ ---
387
+
388
+ ## ColorPicker
389
+
390
+ Color selection component.
391
+
392
+ ```tsx
393
+ import { ColorPicker } from "@simplysm/solid";
394
+
395
+ <ColorPicker value={color()} onValueChange={setColor} />
396
+ <ColorPicker value={color()} size="sm" disabled />
397
+ ```
398
+
399
+ | Prop | Type | Default | Description |
400
+ |------|------|---------|-------------|
401
+ | `value` | `string` | `"#000000"` | Color value (#RRGGBB format) |
402
+ | `onValueChange` | `(value: string) => void` | - | Value change callback |
403
+ | `size` | `"sm" \| "lg"` | - | Size |
404
+ | `disabled` | `boolean` | - | Disabled state |
405
+
406
+ ---
407
+
408
+ ## ThemeToggle
409
+
410
+ Dark/light/system theme cycle toggle button. Must be used inside `InitializeProvider`.
411
+
412
+ ```tsx
413
+ import { ThemeToggle } from "@simplysm/solid";
414
+
415
+ <ThemeToggle />
416
+ <ThemeToggle size="sm" />
417
+ <ThemeToggle size="lg" />
418
+ ```
419
+
420
+ Clicking cycles through `light -> system -> dark -> light`, displaying an icon matching the current mode.
421
+
422
+ | Prop | Type | Default | Description |
423
+ |------|------|---------|-------------|
424
+ | `size` | `"sm" \| "lg"` | - | Button size |
425
+
426
+ ---
427
+
428
+ ## RichTextEditor
429
+
430
+ Tiptap-based rich text editor. Supports text formatting (bold, italic, strikethrough), alignment, colors, highlights, tables, and image insertion.
431
+
432
+ ```tsx
433
+ import { RichTextEditor } from "@simplysm/solid";
434
+
435
+ <RichTextEditor value={html()} onValueChange={setHtml} />
436
+ ```
437
+
438
+ | Prop | Type | Default | Description |
439
+ |------|------|---------|-------------|
440
+ | `value` | `string` | - | HTML string value |
441
+ | `onValueChange` | `(value: string) => void` | - | Value change callback |
442
+ | `disabled` | `boolean` | - | Disabled state |
443
+ | `size` | `"sm" \| "lg"` | - | Size |
444
+
445
+ ---
446
+
447
+ ## Invalid
448
+
449
+ Wrapper component for form validation using native browser `setCustomValidity` API. Displays a red indicator dot and manages validation state for form fields. Useful for integrating with native form validation or custom validation frameworks.
450
+
451
+ ```tsx
452
+ import { Invalid, TextInput } from "@simplysm/solid";
453
+ import { createSignal } from "solid-js";
454
+
455
+ const [value, setValue] = createSignal("");
456
+ const [error, setError] = createSignal("");
457
+
458
+ const handleChange = (val: string) => {
459
+ setValue(val);
460
+ setError(val.length < 3 ? "Must be at least 3 characters" : "");
461
+ };
462
+
463
+ <Invalid message={error()}>
464
+ <TextInput value={value()} onValueChange={handleChange} />
465
+ </Invalid>
466
+ ```
467
+
468
+ The `Invalid` component wraps any form field and displays a validation state using the browser's native validation API. A red indicator dot appears when a message is present.
469
+
470
+ | Prop | Type | Default | Description |
471
+ |------|------|---------|-------------|
472
+ | `message` | `string` | - | Validation error message (non-empty = invalid state) |
473
+ | `class` | `string` | - | Custom CSS class |
474
+
475
+ **Key features:**
476
+ - Uses native `setCustomValidity` for browser validation integration
477
+ - Red indicator dot displayed when error message is present
478
+ - Reactively updates validation state when message changes
479
+ - Works with any form field component
480
+
481
+ ---
482
+
483
+ ## Numpad
484
+
485
+ Numeric keypad component. Used in environments requiring touch-based number input.
486
+
487
+ ```tsx
488
+ import { Numpad } from "@simplysm/solid";
489
+
490
+ <Numpad value={amount()} onValueChange={setAmount} />
491
+
492
+ // With ENT/minus buttons
493
+ <Numpad
494
+ value={amount()}
495
+ onValueChange={setAmount}
496
+ useEnterButton
497
+ useMinusButton
498
+ onEnterButtonClick={handleSubmit}
499
+ />
500
+ ```
501
+
502
+ | Prop | Type | Default | Description |
503
+ |------|------|---------|-------------|
504
+ | `value` | `number` | - | Input value |
505
+ | `onValueChange` | `(value: number \| undefined) => void` | - | Value change callback |
506
+ | `placeholder` | `string` | - | Placeholder |
507
+ | `required` | `boolean` | - | Required field |
508
+ | `inputDisabled` | `boolean` | - | Disable direct text field input |
509
+ | `useEnterButton` | `boolean` | - | Show ENT button |
510
+ | `useMinusButton` | `boolean` | - | Show minus button |
511
+ | `onEnterButtonClick` | `() => void` | - | ENT click callback |
512
+ | `size` | `"sm" \| "lg"` | - | Size |
513
+
514
+ ---
515
+
516
+ ## StatePreset
517
+
518
+ Component for saving/loading screen state (search conditions, etc.) as presets. Persisted via `useSyncConfig` (defaults to localStorage, can be configured to sync externally).
519
+
520
+ ```tsx
521
+ import { StatePreset } from "@simplysm/solid";
522
+
523
+ <StatePreset
524
+ presetKey="user-search"
525
+ value={searchState()}
526
+ onValueChange={setSearchState}
527
+ />
528
+ ```
529
+
530
+ | Prop | Type | Default | Description |
531
+ |------|------|---------|-------------|
532
+ | `presetKey` | `string` | **(required)** | Preset storage key |
533
+ | `value` | `T` | **(required)** | Current state value |
534
+ | `onValueChange` | `(value: T) => void` | **(required)** | State restore callback |
535
+ | `size` | `"sm" \| "lg"` | - | Size |
@@ -0,0 +1,46 @@
1
+ # Helpers & Directives
2
+
3
+ ## mergeStyles
4
+
5
+ Utility for merging inline style strings and `JSX.CSSProperties` objects.
6
+
7
+ ```typescript
8
+ import { mergeStyles } from "@simplysm/solid";
9
+
10
+ const style = mergeStyles("color: red", { fontSize: "14px" }, props.style);
11
+ ```
12
+
13
+ ---
14
+
15
+ ## splitSlots
16
+
17
+ Utility for splitting children into named slots based on component type.
18
+
19
+ ```typescript
20
+ import { splitSlots } from "@simplysm/solid";
21
+
22
+ const slots = splitSlots(props.children, {
23
+ header: HeaderComponent,
24
+ footer: FooterComponent,
25
+ });
26
+ // slots.header, slots.footer, slots.rest
27
+ ```
28
+
29
+ ---
30
+
31
+ ## ripple directive
32
+
33
+ Material Design ripple effect directive. Displays ripple effect on click.
34
+
35
+ ```tsx
36
+ import { ripple } from "@simplysm/solid";
37
+ // Keep reference to register directive
38
+ void ripple;
39
+
40
+ <button use:ripple={true}>Click</button>
41
+ <button use:ripple={!props.disabled}>Conditional activation</button>
42
+ ```
43
+
44
+ - Creates internal ripple container, operates without affecting parent element
45
+ - Automatically disabled when `prefers-reduced-motion: reduce` is set
46
+ - Single ripple mode: removes previous ripple on new click