@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
@@ -1,708 +0,0 @@
1
- import { TableBuilder } from "../schema/table-builder";
2
- import { ViewBuilder } from "../schema/view-builder";
3
- import type { DataRecord, ResultMeta } from "../types/db";
4
- import type { DeleteQueryDef, InsertIfNotExistsQueryDef, InsertIntoQueryDef, InsertQueryDef, SelectQueryDef, UpdateQueryDef, UpsertQueryDef } from "../types/query-def";
5
- import type { DbContext } from "../db-context";
6
- import { type DataToColumnBuilderRecord } from "../schema/factory/column-builder";
7
- import type { ColumnPrimitive } from "../types/column";
8
- import type { WhereExprUnit } from "../expr/expr-unit";
9
- import { ExprUnit } from "../expr/expr-unit";
10
- /**
11
- * JOIN 쿼리 빌더
12
- *
13
- * join/joinSingle 메서드 내부에서 사용되며, 조인 대상 테이블을 지정하는 역할을 수행
14
- */
15
- declare class JoinQueryable {
16
- private readonly _db;
17
- private readonly _joinAlias;
18
- constructor(_db: DbContext, _joinAlias: string);
19
- /**
20
- * 조인할 테이블을 지정
21
- *
22
- * @param table - 조인 대상 테이블
23
- * @returns 조인된 Queryable
24
- */
25
- from<T extends TableBuilder<any, any>>(table: T): Queryable<T["$infer"], T>;
26
- /**
27
- * 조인 결과의 컬럼을 직접 지정
28
- *
29
- * @param columns - 커스텀 컬럼 정의
30
- * @returns 커스텀 컬럼이 적용된 Queryable
31
- */
32
- select<R extends DataRecord>(columns: QueryableRecord<R>): Queryable<R, never>;
33
- /**
34
- * 여러 Queryable을 UNION으로 결합
35
- *
36
- * @param queries - UNION할 Queryable 배열 (최소 2개)
37
- * @returns UNION된 Queryable
38
- * @throws 2개 미만의 queryable이 전달된 경우
39
- */
40
- union<TData extends DataRecord>(...queries: Queryable<TData, any>[]): Queryable<TData, never>;
41
- }
42
- /**
43
- * 재귀 CTE(Common Table Expression) 빌더
44
- *
45
- * recursive() 메서드 내부에서 사용되며, 재귀 쿼리의 본문을 정의하는 역할을 수행
46
- *
47
- * @template TBaseData - 기본 쿼리의 데이터 타입
48
- */
49
- declare class RecursiveQueryable<TBaseData extends DataRecord> {
50
- private readonly _baseQr;
51
- private readonly _cteName;
52
- constructor(_baseQr: Queryable<TBaseData, any>, _cteName: string);
53
- /**
54
- * 재귀 쿼리의 대상 테이블을 지정
55
- *
56
- * @param table - 재귀할 대상 테이블
57
- * @returns self 속성이 추가된 Queryable (자기 참조용)
58
- */
59
- from<T extends TableBuilder<any, any>>(table: T): Queryable<T["$infer"] & {
60
- self?: TBaseData[];
61
- }, T>;
62
- /**
63
- * 재귀 쿼리의 컬럼을 직접 지정
64
- *
65
- * @param columns - 커스텀 컬럼 정의
66
- * @returns self 속성이 추가된 Queryable
67
- */
68
- select<R extends DataRecord>(columns: QueryableRecord<R>): Queryable<R & {
69
- self?: TBaseData[];
70
- }, never>;
71
- /**
72
- * 여러 Queryable을 UNION으로 결합 (재귀 쿼리용)
73
- *
74
- * @param queries - UNION할 Queryable 배열 (최소 2개)
75
- * @returns self 속성이 추가된 UNION Queryable
76
- * @throws 2개 미만의 queryable이 전달된 경우
77
- */
78
- union<TData extends DataRecord>(...queries: Queryable<TData, any>[]): Queryable<TData & {
79
- self?: TBaseData[];
80
- }, never>;
81
- }
82
- /**
83
- * 쿼리 빌더 클래스
84
- *
85
- * 테이블/뷰에 대한 SELECT, INSERT, UPDATE, DELETE 등의 쿼리를 체이닝 방식으로 구성
86
- *
87
- * @template TData - 쿼리 결과의 데이터 타입
88
- * @template TFrom - 원본 테이블 (CUD 작업에 필요)
89
- *
90
- * @example
91
- * ```typescript
92
- * // 기본 조회
93
- * const users = await db.user()
94
- * .where((u) => [expr.eq(u.isActive, true)])
95
- * .orderBy((u) => u.name)
96
- * .result();
97
- *
98
- * // JOIN 조회
99
- * const posts = await db.post()
100
- * .include((p) => p.user)
101
- * .result();
102
- *
103
- * // INSERT
104
- * await db.user().insert([{ name: "홍길동", email: "test@test.com" }]);
105
- * ```
106
- */
107
- export declare class Queryable<TData extends DataRecord, TFrom extends TableBuilder<any, any> | never> {
108
- readonly meta: QueryableMeta<TData>;
109
- constructor(meta: QueryableMeta<TData>);
110
- /**
111
- * SELECT할 컬럼을 지정합니다.
112
- *
113
- * @param fn - 컬럼 매핑 함수. 원본 컬럼을 받아 새 컬럼 구조를 반환
114
- * @returns 새로운 컬럼 구조가 적용된 Queryable
115
- *
116
- * @example
117
- * ```typescript
118
- * db.user().select((u) => ({
119
- * userName: u.name,
120
- * userEmail: u.email,
121
- * }))
122
- * ```
123
- */
124
- select<R extends DataRecord>(fn: (columns: QueryableRecord<TData>) => QueryableRecord<R>): Queryable<R, never>;
125
- /**
126
- * DISTINCT 옵션을 적용하여 중복 행을 제거
127
- *
128
- * @returns DISTINCT가 적용된 Queryable
129
- *
130
- * @example
131
- * ```typescript
132
- * db.user()
133
- * .select((u) => ({ name: u.name }))
134
- * .distinct()
135
- * ```
136
- */
137
- distinct(): Queryable<TData, never>;
138
- /**
139
- * 행 잠금(FOR UPDATE)을 적용
140
- *
141
- * 트랜잭션 내에서 선택된 행에 대한 배타적 잠금을 획득
142
- *
143
- * @returns 잠금이 적용된 Queryable
144
- *
145
- * @example
146
- * ```typescript
147
- * await db.connect(async () => {
148
- * const user = await db.user()
149
- * .where((u) => [expr.eq(u.id, 1)])
150
- * .lock()
151
- * .single();
152
- * });
153
- * ```
154
- */
155
- lock(): Queryable<TData, TFrom>;
156
- /**
157
- * 상위 N개의 행만 조회 (ORDER BY 없이 사용 가능)
158
- *
159
- * @param count - 조회할 행 수
160
- * @returns TOP이 적용된 Queryable
161
- *
162
- * @example
163
- * ```typescript
164
- * // 최신 사용자 10명
165
- * db.user()
166
- * .orderBy((u) => u.createdAt, "DESC")
167
- * .top(10)
168
- * ```
169
- */
170
- top(count: number): Queryable<TData, TFrom>;
171
- /**
172
- * 페이지네이션을 위한 LIMIT/OFFSET을 설정합니다.
173
- * 반드시 orderBy()를 먼저 호출해야 합니다.
174
- *
175
- * @param skip - 건너뛸 행 수 (OFFSET)
176
- * @param take - 가져올 행 수 (LIMIT)
177
- * @returns 페이지네이션이 적용된 Queryable
178
- * @throws ORDER BY 절이 없으면 에러
179
- *
180
- * @example
181
- * ```typescript
182
- * db.user
183
- * .orderBy((u) => u.createdAt)
184
- * .limit(0, 20) // 첫 20개
185
- * ```
186
- */
187
- limit(skip: number, take: number): Queryable<TData, TFrom>;
188
- /**
189
- * 정렬 조건을 추가합니다. 여러 번 호출하면 순서대로 적용됩니다.
190
- *
191
- * @param fn - 정렬 기준 컬럼을 반환하는 함수
192
- * @param orderBy - 정렬 방향 (ASC/DESC). 기본값: ASC
193
- * @returns 정렬 조건이 추가된 Queryable
194
- *
195
- * @example
196
- * ```typescript
197
- * db.user
198
- * .orderBy((u) => u.name) // 이름 ASC
199
- * .orderBy((u) => u.age, "DESC") // 나이 DESC
200
- * ```
201
- */
202
- orderBy(fn: (columns: QueryableRecord<TData>) => ExprUnit<ColumnPrimitive>, orderBy?: "ASC" | "DESC"): Queryable<TData, TFrom>;
203
- /**
204
- * WHERE 조건을 추가합니다. 여러 번 호출하면 AND로 결합됩니다.
205
- *
206
- * @param predicate - 조건 배열을 반환하는 함수
207
- * @returns 조건이 추가된 Queryable
208
- *
209
- * @example
210
- * ```typescript
211
- * db.user
212
- * .where((u) => [expr.eq(u.isActive, true)])
213
- * .where((u) => [expr.gte(u.age, 18)])
214
- * ```
215
- */
216
- where(predicate: (columns: QueryableRecord<TData>) => WhereExprUnit[]): Queryable<TData, TFrom>;
217
- /**
218
- * 텍스트 검색을 수행
219
- *
220
- * 검색 문법은 {@link parseSearchQuery}를 참조
221
- * - 공백으로 구분된 단어는 OR 조건
222
- * - `+`로 시작하는 단어는 필수 포함 (AND 조건)
223
- * - `-`로 시작하는 단어는 제외 (NOT 조건)
224
- *
225
- * @param fn - 검색 대상 컬럼을 반환하는 함수
226
- * @param searchText - 검색 텍스트
227
- * @returns 검색 조건이 추가된 Queryable
228
- *
229
- * @example
230
- * ```typescript
231
- * db.user()
232
- * .search((u) => [u.name, u.email], "홍길동 -탈퇴")
233
- * ```
234
- */
235
- search(fn: (columns: QueryableRecord<TData>) => ExprUnit<string | undefined>[], searchText: string): Queryable<TData, TFrom>;
236
- /**
237
- * GROUP BY 절을 추가
238
- *
239
- * @param fn - 그룹화 기준 컬럼을 반환하는 함수
240
- * @returns GROUP BY가 적용된 Queryable
241
- *
242
- * @example
243
- * ```typescript
244
- * db.order()
245
- * .select((o) => ({
246
- * userId: o.userId,
247
- * totalAmount: expr.sum(o.amount),
248
- * }))
249
- * .groupBy((o) => [o.userId])
250
- * ```
251
- */
252
- groupBy(fn: (columns: QueryableRecord<TData>) => ExprUnit<ColumnPrimitive>[]): Queryable<TData, never>;
253
- /**
254
- * HAVING 절을 추가 (GROUP BY 후 필터링)
255
- *
256
- * @param predicate - 조건 배열을 반환하는 함수
257
- * @returns HAVING이 적용된 Queryable
258
- *
259
- * @example
260
- * ```typescript
261
- * db.order()
262
- * .select((o) => ({
263
- * userId: o.userId,
264
- * totalAmount: expr.sum(o.amount),
265
- * }))
266
- * .groupBy((o) => [o.userId])
267
- * .having((o) => [expr.gte(o.totalAmount, 10000)])
268
- * ```
269
- */
270
- having(predicate: (columns: QueryableRecord<TData>) => WhereExprUnit[]): Queryable<TData, never>;
271
- /**
272
- * 1:N 관계의 LEFT OUTER JOIN을 수행 (배열로 결과 추가)
273
- *
274
- * @param as - 결과에 추가할 속성 이름
275
- * @param fwd - 조인 조건을 정의하는 콜백 함수
276
- * @returns 조인 결과가 배열로 추가된 Queryable
277
- *
278
- * @example
279
- * ```typescript
280
- * db.user()
281
- * .join("posts", (qr, u) =>
282
- * qr.from(Post)
283
- * .where((p) => [expr.eq(p.userId, u.id)])
284
- * )
285
- * // 결과: { id, name, posts: [{ id, title }, ...] }
286
- * ```
287
- */
288
- join<A extends string, R extends DataRecord>(as: A, fwd: (qr: JoinQueryable, cols: QueryableRecord<TData>) => Queryable<R, any>): Queryable<TData & {
289
- [K in A]?: R[];
290
- }, TFrom>;
291
- /**
292
- * N:1 또는 1:1 관계의 LEFT OUTER JOIN을 수행 (단일 객체로 결과 추가)
293
- *
294
- * @param as - 결과에 추가할 속성 이름
295
- * @param fwd - 조인 조건을 정의하는 콜백 함수
296
- * @returns 조인 결과가 단일 객체로 추가된 Queryable
297
- *
298
- * @example
299
- * ```typescript
300
- * db.post()
301
- * .joinSingle("user", (qr, p) =>
302
- * qr.from(User)
303
- * .where((u) => [expr.eq(u.id, p.userId)])
304
- * )
305
- * // 결과: { id, title, user: { id, name } | undefined }
306
- * ```
307
- */
308
- joinSingle<A extends string, R extends DataRecord>(as: A, fwd: (qr: JoinQueryable, cols: QueryableRecord<TData>) => Queryable<R, any>): Queryable<{
309
- [K in keyof TData as K extends A ? never : K]: TData[K];
310
- } & {
311
- [K in A]?: R;
312
- }, TFrom>;
313
- /**
314
- * 관계된 테이블을 자동으로 JOIN합니다.
315
- * TableBuilder에 정의된 FK/FKT 관계를 기반으로 동작합니다.
316
- *
317
- * @param fn - 포함할 관계를 선택하는 함수 (PathProxy를 통해 타입 체크됨)
318
- * @returns JOIN이 추가된 Queryable
319
- * @throws 관계가 정의되지 않은 경우 에러
320
- *
321
- * @example
322
- * ```typescript
323
- * // 단일 관계 포함
324
- * db.post.include((p) => p.user)
325
- *
326
- * // 중첩 관계 포함
327
- * db.post.include((p) => p.user.company)
328
- *
329
- * // 다중 관계 포함
330
- * db.user
331
- * .include((u) => u.company)
332
- * .include((u) => u.posts)
333
- * ```
334
- */
335
- include(fn: (item: PathProxy<TData>) => PathProxy<any>): Queryable<TData, TFrom>;
336
- private _include;
337
- /**
338
- * 현재 Queryable을 서브쿼리로 감싸기
339
- *
340
- * distinct() 또는 groupBy() 후 count() 사용 시 필요
341
- *
342
- * @returns 서브쿼리로 감싸진 Queryable
343
- *
344
- * @example
345
- * ```typescript
346
- * // DISTINCT 후 카운트
347
- * const count = await db.user()
348
- * .select((u) => ({ name: u.name }))
349
- * .distinct()
350
- * .wrap()
351
- * .count();
352
- * ```
353
- */
354
- wrap(): Queryable<TData, never>;
355
- /**
356
- * 여러 Queryable을 UNION으로 결합 (중복 제거)
357
- *
358
- * @param queries - UNION할 Queryable 배열 (최소 2개)
359
- * @returns UNION된 Queryable
360
- * @throws 2개 미만의 queryable이 전달된 경우
361
- *
362
- * @example
363
- * ```typescript
364
- * const combined = Queryable.union(
365
- * db.user().where((u) => [expr.eq(u.type, "admin")]),
366
- * db.user().where((u) => [expr.eq(u.type, "manager")]),
367
- * );
368
- * ```
369
- */
370
- static union<TData extends DataRecord>(...queries: Queryable<TData, any>[]): Queryable<TData, never>;
371
- /**
372
- * 재귀 CTE(Common Table Expression)를 생성
373
- *
374
- * 계층 구조 데이터(조직도, 카테고리 트리 등)를 조회할 때 사용
375
- *
376
- * @param fwd - 재귀 부분을 정의하는 콜백 함수
377
- * @returns 재귀 CTE가 적용된 Queryable
378
- *
379
- * @example
380
- * ```typescript
381
- * // 조직도 계층 조회
382
- * db.employee()
383
- * .where((e) => [expr.null(e.managerId)]) // 루트 노드
384
- * .recursive((cte) =>
385
- * cte.from(Employee)
386
- * .where((e) => [expr.eq(e.managerId, e.self[0].id)])
387
- * )
388
- * ```
389
- */
390
- recursive(fwd: (qr: RecursiveQueryable<TData>) => Queryable<TData, any>): Queryable<TData, never>;
391
- /**
392
- * SELECT 쿼리를 실행하고 결과 배열을 반환
393
- *
394
- * @returns 쿼리 결과 배열
395
- *
396
- * @example
397
- * ```typescript
398
- * const users = await db.user()
399
- * .where((u) => [expr.eq(u.isActive, true)])
400
- * .result();
401
- * ```
402
- */
403
- result(): Promise<TData[]>;
404
- /**
405
- * 단일 결과를 반환 (2개 이상이면 에러)
406
- *
407
- * @returns 단일 결과 또는 undefined
408
- * @throws 2개 이상의 결과가 반환된 경우
409
- *
410
- * @example
411
- * ```typescript
412
- * const user = await db.user()
413
- * .where((u) => [expr.eq(u.id, 1)])
414
- * .single();
415
- * ```
416
- */
417
- single(): Promise<TData | undefined>;
418
- /**
419
- * 쿼리 소스 이름 반환 (에러 메시지용)
420
- */
421
- private _getSourceName;
422
- /**
423
- * 첫 번째 결과를 반환 (여러 개여도 첫 번째만)
424
- *
425
- * @returns 첫 번째 결과 또는 undefined
426
- *
427
- * @example
428
- * ```typescript
429
- * const latestUser = await db.user()
430
- * .orderBy((u) => u.createdAt, "DESC")
431
- * .first();
432
- * ```
433
- */
434
- first(): Promise<TData | undefined>;
435
- /**
436
- * 결과 행 수를 반환
437
- *
438
- * @param fwd - 카운트할 컬럼을 지정하는 함수 (선택)
439
- * @returns 행 수
440
- * @throws distinct() 또는 groupBy() 후 직접 호출 시 에러 (wrap() 필요)
441
- *
442
- * @example
443
- * ```typescript
444
- * const count = await db.user()
445
- * .where((u) => [expr.eq(u.isActive, true)])
446
- * .count();
447
- * ```
448
- */
449
- count(fwd?: (cols: QueryableRecord<TData>) => ExprUnit<ColumnPrimitive>): Promise<number>;
450
- /**
451
- * 조건에 맞는 데이터 존재 여부를 확인
452
- *
453
- * @returns 존재하면 true, 없으면 false
454
- *
455
- * @example
456
- * ```typescript
457
- * const hasAdmin = await db.user()
458
- * .where((u) => [expr.eq(u.role, "admin")])
459
- * .exists();
460
- * ```
461
- */
462
- exists(): Promise<boolean>;
463
- getSelectQueryDef(): SelectQueryDef;
464
- private _buildFromDef;
465
- private _buildSelectDef;
466
- private _buildJoinDefs;
467
- getResultMeta(outputColumns?: string[]): ResultMeta;
468
- /**
469
- * INSERT 쿼리를 실행
470
- *
471
- * MSSQL의 1000개 제한을 위해 자동으로 1000개씩 청크로 분할하여 실행
472
- *
473
- * @param records - 삽입할 레코드 배열
474
- * @param outputColumns - 반환받을 컬럼 이름 배열 (선택)
475
- * @returns outputColumns 지정 시 삽입된 레코드 배열 반환
476
- *
477
- * @example
478
- * ```typescript
479
- * // 단순 삽입
480
- * await db.user().insert([
481
- * { name: "홍길동", email: "hong@test.com" },
482
- * ]);
483
- *
484
- * // 삽입 후 ID 반환
485
- * const [inserted] = await db.user().insert(
486
- * [{ name: "홍길동" }],
487
- * ["id"],
488
- * );
489
- * ```
490
- */
491
- insert(records: TFrom["$inferInsert"][]): Promise<void>;
492
- insert<K extends keyof TFrom["$inferColumns"] & string>(records: TFrom["$inferInsert"][], outputColumns: K[]): Promise<Pick<TFrom["$inferColumns"], K>[]>;
493
- /**
494
- * WHERE 조건에 맞는 데이터가 없으면 INSERT
495
- *
496
- * @param record - 삽입할 레코드
497
- * @param outputColumns - 반환받을 컬럼 이름 배열 (선택)
498
- * @returns outputColumns 지정 시 삽입된 레코드 반환
499
- *
500
- * @example
501
- * ```typescript
502
- * await db.user()
503
- * .where((u) => [expr.eq(u.email, "test@test.com")])
504
- * .insertIfNotExists({ name: "테스트", email: "test@test.com" });
505
- * ```
506
- */
507
- insertIfNotExists(record: TFrom["$inferInsert"]): Promise<void>;
508
- insertIfNotExists<K extends keyof TFrom["$inferColumns"] & string>(record: TFrom["$inferInsert"], outputColumns: K[]): Promise<Pick<TFrom["$inferColumns"], K>>;
509
- /**
510
- * INSERT INTO ... SELECT (현재 SELECT 결과를 다른 테이블에 INSERT)
511
- *
512
- * @param targetTable - 삽입 대상 테이블
513
- * @param outputColumns - 반환받을 컬럼 이름 배열 (선택)
514
- * @returns outputColumns 지정 시 삽입된 레코드 배열 반환
515
- *
516
- * @example
517
- * ```typescript
518
- * await db.user()
519
- * .select((u) => ({ name: u.name, createdAt: u.createdAt }))
520
- * .where((u) => [expr.eq(u.isArchived, false)])
521
- * .insertInto(ArchivedUser);
522
- * ```
523
- */
524
- insertInto<TTable extends TableBuilder<DataToColumnBuilderRecord<TData>, any>>(targetTable: TTable): Promise<void>;
525
- insertInto<TTable extends TableBuilder<DataToColumnBuilderRecord<TData>, any>, TOut extends keyof TTable["$inferColumns"] & string>(targetTable: TTable, outputColumns: TOut[]): Promise<Pick<TData, TOut>[]>;
526
- getInsertQueryDef(records: TFrom["$inferInsert"][], outputColumns?: (keyof TFrom["$inferColumns"] & string)[]): InsertQueryDef;
527
- getInsertIfNotExistsQueryDef(record: TFrom["$inferInsert"], outputColumns?: (keyof TFrom["$inferColumns"] & string)[]): InsertIfNotExistsQueryDef;
528
- getInsertIntoQueryDef<TTable extends TableBuilder<DataToColumnBuilderRecord<TData>, any>>(targetTable: TTable, outputColumns?: (keyof TTable["$inferColumns"] & string)[]): InsertIntoQueryDef;
529
- /**
530
- * UPDATE 쿼리를 실행
531
- *
532
- * @param recordFwd - 업데이트할 컬럼과 값을 반환하는 함수
533
- * @param outputColumns - 반환받을 컬럼 이름 배열 (선택)
534
- * @returns outputColumns 지정 시 업데이트된 레코드 배열 반환
535
- *
536
- * @example
537
- * ```typescript
538
- * // 단순 업데이트
539
- * await db.user()
540
- * .where((u) => [expr.eq(u.id, 1)])
541
- * .update((u) => ({
542
- * name: expr.val("string", "새이름"),
543
- * updatedAt: expr.val("DateTime", DateTime.now()),
544
- * }));
545
- *
546
- * // 기존 값 참조
547
- * await db.product()
548
- * .update((p) => ({
549
- * price: expr.mul(p.price, expr.val("number", 1.1)),
550
- * }));
551
- * ```
552
- */
553
- update(recordFwd: (cols: QueryableRecord<TData>) => QueryableRecord<TFrom["$inferUpdate"]>): Promise<void>;
554
- update<K extends keyof TFrom["$columns"] & string>(recordFwd: (cols: QueryableRecord<TData>) => QueryableRecord<TFrom["$inferUpdate"]>, outputColumns: K[]): Promise<Pick<TFrom["$columns"], K>[]>;
555
- /**
556
- * DELETE 쿼리를 실행
557
- *
558
- * @param outputColumns - 반환받을 컬럼 이름 배열 (선택)
559
- * @returns outputColumns 지정 시 삭제된 레코드 배열 반환
560
- *
561
- * @example
562
- * ```typescript
563
- * // 단순 삭제
564
- * await db.user()
565
- * .where((u) => [expr.eq(u.id, 1)])
566
- * .delete();
567
- *
568
- * // 삭제된 데이터 반환
569
- * const deleted = await db.user()
570
- * .where((u) => [expr.eq(u.isExpired, true)])
571
- * .delete(["id", "name"]);
572
- * ```
573
- */
574
- delete(): Promise<void>;
575
- delete<K extends keyof TFrom["$columns"] & string>(outputColumns: K[]): Promise<Pick<TFrom["$columns"], K>[]>;
576
- getUpdateQueryDef(recordFwd: (cols: QueryableRecord<TData>) => QueryableRecord<TFrom["$inferUpdate"]>, outputColumns?: (keyof TFrom["$inferColumns"] & string)[]): UpdateQueryDef;
577
- getDeleteQueryDef(outputColumns?: (keyof TFrom["$inferColumns"] & string)[]): DeleteQueryDef;
578
- /**
579
- * UPSERT (UPDATE or INSERT) 쿼리를 실행
580
- *
581
- * WHERE 조건에 맞는 데이터가 있으면 UPDATE, 없으면 INSERT
582
- *
583
- * @param updateFwd - 업데이트할 컬럼과 값을 반환하는 함수
584
- * @param insertFwd - 삽입할 레코드를 반환하는 함수 (선택, 미지정 시 updateFwd와 동일)
585
- * @param outputColumns - 반환받을 컬럼 이름 배열 (선택)
586
- * @returns outputColumns 지정 시 영향받은 레코드 배열 반환
587
- *
588
- * @example
589
- * ```typescript
590
- * // UPDATE/INSERT 동일 데이터
591
- * await db.user()
592
- * .where((u) => [expr.eq(u.email, "test@test.com")])
593
- * .upsert(() => ({
594
- * name: expr.val("string", "테스트"),
595
- * email: expr.val("string", "test@test.com"),
596
- * }));
597
- *
598
- * // UPDATE/INSERT 다른 데이터
599
- * await db.user()
600
- * .where((u) => [expr.eq(u.email, "test@test.com")])
601
- * .upsert(
602
- * () => ({ loginCount: expr.val("number", 1) }),
603
- * (update) => ({ ...update, email: expr.val("string", "test@test.com") }),
604
- * );
605
- * ```
606
- */
607
- upsert(updateFwd: (cols: QueryableRecord<TData>) => QueryableRecord<TFrom["$inferUpdate"]>): Promise<void>;
608
- upsert<K extends keyof TFrom["$inferColumns"] & string>(insertFwd: (cols: QueryableRecord<TData>) => QueryableRecord<TFrom["$inferInsert"]>, outputColumns?: K[]): Promise<Pick<TFrom["$inferColumns"], K>[]>;
609
- upsert<U extends QueryableRecord<TFrom["$inferUpdate"]>>(updateFwd: (cols: QueryableRecord<TData>) => U, insertFwd: (updateRecord: U) => QueryableRecord<TFrom["$inferInsert"]>): Promise<void>;
610
- upsert<U extends QueryableRecord<TFrom["$inferUpdate"]>, K extends keyof TFrom["$inferColumns"] & string>(updateFwd: (cols: QueryableRecord<TData>) => U, insertFwd: (updateRecord: U) => QueryableRecord<TFrom["$inferInsert"]>, outputColumns?: K[]): Promise<Pick<TFrom["$inferColumns"], K>[]>;
611
- getUpsertQueryDef<U extends QueryableRecord<TFrom["$inferUpdate"]>>(updateRecordFwd: (cols: QueryableRecord<TData>) => U, insertRecordFwd: (updateRecord: U) => QueryableRecord<TFrom["$inferInsert"]>, outputColumns?: (keyof TFrom["$inferColumns"] & string)[]): UpsertQueryDef;
612
- /**
613
- * FK 제약조건 on/off (트랜잭션 내 사용 가능)
614
- */
615
- switchFk(switch_: "on" | "off"): Promise<void>;
616
- private _getCudOutputDef;
617
- }
618
- /**
619
- * FK 컬럼 배열과 대상 테이블의 PK를 매칭하여 PK 컬럼명 배열을 반환
620
- *
621
- * @param fkCols - FK 컬럼명 배열
622
- * @param targetTable - 참조 대상 테이블 빌더
623
- * @returns 매칭된 PK 컬럼명 배열
624
- * @throws FK/PK 컬럼 수 불일치 시
625
- */
626
- export declare function getMatchedPrimaryKeys(fkCols: string[], targetTable: TableBuilder<any, any>): string[];
627
- interface QueryableMeta<TData extends DataRecord> {
628
- db: DbContext;
629
- from?: TableBuilder<any, any> | ViewBuilder<any, any, any> | Queryable<any, any> | Queryable<TData, any>[] | string;
630
- as: string;
631
- columns: QueryableRecord<TData>;
632
- isCustomColumns?: boolean;
633
- distinct?: boolean;
634
- top?: number;
635
- lock?: boolean;
636
- where?: WhereExprUnit[];
637
- joins?: QueryableMetaJoin[];
638
- orderBy?: [ExprUnit<ColumnPrimitive>, ("ASC" | "DESC")?][];
639
- limit?: [number, number];
640
- groupBy?: ExprUnit<ColumnPrimitive>[];
641
- having?: WhereExprUnit[];
642
- with?: {
643
- name: string;
644
- base: Queryable<any, any>;
645
- recursive: Queryable<any, any>;
646
- };
647
- }
648
- interface QueryableMetaJoin {
649
- queryable: Queryable<any, any>;
650
- isSingle: boolean;
651
- }
652
- export type QueryableRecord<TData extends DataRecord> = {
653
- [K in keyof TData]: TData[K] extends ColumnPrimitive ? ExprUnit<TData[K]> : TData[K] extends (infer U)[] ? U extends DataRecord ? QueryableRecord<U>[] : never : TData[K] extends (infer U)[] | undefined ? U extends DataRecord ? QueryableRecord<U>[] | undefined : never : TData[K] extends DataRecord ? QueryableRecord<TData[K]> : TData[K] extends DataRecord | undefined ? QueryableRecord<Exclude<TData[K], undefined>> | undefined : never;
654
- };
655
- /**
656
- * include()에서 관계 경로를 타입 안전하게 지정하기 위한 Proxy 타입
657
- * ColumnPrimitive가 아닌 필드(FK, FKT 관계)만 접근 가능
658
- *
659
- * @example
660
- * ```typescript
661
- * // item.user.company 접근 시 내부적으로 ["user", "company"] 경로 수집
662
- * db.post.include(item => item.user.company)
663
- *
664
- * // item.title은 string(ColumnPrimitive)이므로 컴파일 에러
665
- * db.post.include(item => item.title) // ❌ 에러
666
- * ```
667
- */
668
- /**
669
- * 배열이면 요소 타입 추출
670
- */
671
- type UnwrapArray<T> = T extends (infer U)[] ? U : T;
672
- declare const PATH_SYMBOL: unique symbol;
673
- /**
674
- * include()용 타입 안전 경로 프록시
675
- */
676
- export type PathProxy<T> = {
677
- [K in keyof T as T[K] extends ColumnPrimitive ? never : K]-?: PathProxy<UnwrapArray<T[K]>>;
678
- } & {
679
- readonly [PATH_SYMBOL]: string[];
680
- };
681
- /**
682
- * 테이블 또는 뷰에 대한 Queryable 팩토리 함수를 생성
683
- *
684
- * DbContext에서 테이블/뷰별 getter를 정의할 때 사용
685
- *
686
- * @param db - DbContext 인스턴스
687
- * @param tableOrView - TableBuilder 또는 ViewBuilder 인스턴스
688
- * @param as - alias 지정 (선택, 미지정 시 자동 생성)
689
- * @returns Queryable을 반환하는 팩토리 함수
690
- *
691
- * @example
692
- * ```typescript
693
- * class AppDbContext extends DbContext {
694
- * // 호출 시마다 새로운 alias 할당
695
- * user = queryable(this, User);
696
- *
697
- * // 사용 예시
698
- * async getActiveUsers() {
699
- * return this.user()
700
- * .where((u) => [expr.eq(u.isActive, true)])
701
- * .result();
702
- * }
703
- * }
704
- * ```
705
- */
706
- export declare function queryable<T extends TableBuilder<any, any> | ViewBuilder<any, any, any>>(db: DbContext, tableOrView: T, as?: string): () => Queryable<T["$infer"], T extends TableBuilder<any, any> ? T : never>;
707
- export {};
708
- //# sourceMappingURL=queryable.d.ts.map