@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,25 +1,24 @@
1
- import { Show, splitProps, createMemo } from "solid-js";
1
+ import { template as _$template } from "solid-js/web";
2
+ import { delegateEvents as _$delegateEvents } from "solid-js/web";
3
+ import { insert as _$insert } from "solid-js/web";
4
+ import { createComponent as _$createComponent } from "solid-js/web";
5
+ import { className as _$className } from "solid-js/web";
6
+ import { memo as _$memo } from "solid-js/web";
7
+ import { spread as _$spread } from "solid-js/web";
8
+ import { mergeProps as _$mergeProps } from "solid-js/web";
9
+ var _tmpl$ = /* @__PURE__ */ _$template(`<div role=button aria-label="\uC0AC\uC774\uB4DC\uBC14 \uB2EB\uAE30"tabindex=0>`), _tmpl$2 = /* @__PURE__ */ _$template(`<div>`);
10
+ import { Show, splitProps, createMemo, createSignal } from "solid-js";
2
11
  import { useBeforeLeave } from "@solidjs/router";
3
12
  import { createMediaQuery } from "@solid-primitives/media";
4
13
  import clsx from "clsx";
5
14
  import { twMerge } from "tailwind-merge";
6
- import { SidebarContext, SM_MEDIA_QUERY } from "./SidebarContext";
7
- import { usePersisted } from "../../../hooks/usePersisted";
8
- import { mergeStyles } from "../../../helpers/mergeStyles";
9
- const backdropClass = clsx(
10
- "absolute",
11
- "top-0",
12
- "left-0",
13
- "right-0",
14
- "bottom-0",
15
- "z-sidebar-backdrop",
16
- "bg-black/50",
17
- "sm:hidden"
18
- );
15
+ import { SidebarContext, SM_MEDIA_QUERY } from "./SidebarContext.js";
16
+ import { mergeStyles } from "../../../helpers/mergeStyles.js";
17
+ const backdropClass = clsx("absolute", "top-0", "left-0", "right-0", "bottom-0", "z-sidebar-backdrop", "bg-black/50", "sm:hidden");
19
18
  const containerClass = clsx("relative h-full transition-[padding-left] duration-100");
20
19
  const SidebarContainer = (props) => {
21
20
  const [local, rest] = splitProps(props, ["children", "class", "style"]);
22
- const [toggle, setToggle] = usePersisted("sidebar.toggle", false);
21
+ const [toggle, setToggle] = createSignal(false);
23
22
  const isDesktop = createMediaQuery(SM_MEDIA_QUERY);
24
23
  const isOpen = createMemo(() => {
25
24
  if (isDesktop()) {
@@ -42,28 +41,42 @@ const SidebarContainer = (props) => {
42
41
  return void 0;
43
42
  };
44
43
  const getClassName = () => twMerge(containerClass, local.class);
45
- return /* @__PURE__ */ React.createElement(SidebarContext.Provider, { value: { toggle, setToggle } }, /* @__PURE__ */ React.createElement(
46
- "div",
47
- {
48
- ...rest,
49
- "data-sidebar-container": true,
50
- class: getClassName(),
51
- style: mergeStyles(local.style, { "padding-left": getPaddingLeft() })
44
+ return _$createComponent(SidebarContext.Provider, {
45
+ value: {
46
+ toggle,
47
+ setToggle
52
48
  },
53
- local.children,
54
- /* @__PURE__ */ React.createElement(Show, { when: !isDesktop() && isOpen() }, /* @__PURE__ */ React.createElement(
55
- "div",
56
- {
57
- class: backdropClass,
58
- onClick: handleBackdropClick,
59
- onKeyDown: (e) => e.key === "Escape" && handleBackdropClick(),
60
- role: "button",
61
- "aria-label": "\uC0AC\uC774\uB4DC\uBC14 \uB2EB\uAE30",
62
- tabIndex: 0
63
- }
64
- ))
65
- ));
49
+ get children() {
50
+ var _el$ = _tmpl$2();
51
+ _$spread(_el$, _$mergeProps(rest, {
52
+ "data-sidebar-container": "",
53
+ get ["class"]() {
54
+ return getClassName();
55
+ },
56
+ get style() {
57
+ return mergeStyles(local.style, {
58
+ "padding-left": getPaddingLeft()
59
+ });
60
+ }
61
+ }), false, true);
62
+ _$insert(_el$, () => local.children, null);
63
+ _$insert(_el$, _$createComponent(Show, {
64
+ get when() {
65
+ return _$memo(() => !!!isDesktop())() && isOpen();
66
+ },
67
+ get children() {
68
+ var _el$2 = _tmpl$();
69
+ _el$2.$$keydown = (e) => e.key === "Escape" && handleBackdropClick();
70
+ _el$2.$$click = handleBackdropClick;
71
+ _$className(_el$2, backdropClass);
72
+ return _el$2;
73
+ }
74
+ }), null);
75
+ return _el$;
76
+ }
77
+ });
66
78
  };
79
+ _$delegateEvents(["click", "keydown"]);
67
80
  export {
68
81
  SidebarContainer
69
82
  };
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/layout/sidebar/SidebarContainer.tsx"],
4
- "sourcesContent": ["import { type JSX, type ParentComponent, Show, splitProps, createMemo } from \"solid-js\";\nimport { useBeforeLeave } from \"@solidjs/router\";\nimport { createMediaQuery } from \"@solid-primitives/media\";\nimport clsx from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\nimport { SidebarContext, SM_MEDIA_QUERY } from \"./SidebarContext\";\nimport { usePersisted } from \"../../../hooks/usePersisted\";\nimport { mergeStyles } from \"../../../helpers/mergeStyles\";\n\nconst backdropClass = clsx(\n \"absolute\",\n \"top-0\",\n \"left-0\",\n \"right-0\",\n \"bottom-0\",\n \"z-sidebar-backdrop\",\n \"bg-black/50\",\n \"sm:hidden\",\n);\n\nconst containerClass = clsx(\"relative h-full transition-[padding-left] duration-100\");\n\nexport interface SidebarContainerProps extends JSX.HTMLAttributes<HTMLDivElement> {\n children: JSX.Element;\n}\n\n/**\n * \uC0AC\uC774\uB4DC\uBC14 \uCEE8\uD14C\uC774\uB108 \uCEF4\uD3EC\uB10C\uD2B8\n *\n * @remarks\n * - `position: relative`\uB85C Sidebar\uB97C \uD3EC\uD568\uD558\uB294 \uCEE8\uD14C\uC774\uB108 \uC5ED\uD560\n * - \uBD80\uBAA8 \uC694\uC18C\uC5D0 \uB192\uC774\uAC00 \uC9C0\uC815\uB418\uC5B4\uC57C \uD568 (`h-full` \uC0AC\uC6A9)\n * - \uCF58\uD150\uCE20 \uC601\uC5ED\uC758 `overflow-auto`\uB294 \uC0AC\uC6A9\uC790\uAC00 \uC9C1\uC811 \uC801\uC6A9\uD574\uC57C \uD568\n * - SidebarContext.Provider\uB85C toggle \uC0C1\uD0DC \uACF5\uC720\n * - usePersisted\uB85C toggle \uC0C1\uD0DC localStorage \uC800\uC7A5 (\uD0A4: sidebar.toggle)\n * - \uB370\uC2A4\uD06C\uD0D1(640px+)\uC5D0\uC11C padding-left + transition\uC73C\uB85C \uCF58\uD150\uCE20 \uD655\uC7A5/\uCD95\uC18C\n * - \uBAA8\uBC14\uC77C(640px-)\uC5D0\uC11C backdrop \uB80C\uB354\uB9C1 \uBC0F \uD074\uB9AD \uC2DC \uB2EB\uAE30\n * - \uD398\uC774\uC9C0 \uC774\uB3D9 \uC2DC \uBAA8\uBC14\uC77C\uC5D0\uC11C \uC790\uB3D9 \uB2EB\uAE30\n *\n * @example\n * ```tsx\n * <div class=\"h-screen\">\n * <SidebarContainer>\n * <Sidebar>\n * <SidebarUser menus={userMenus}>\n * <span>\uC0AC\uC6A9\uC790</span>\n * </SidebarUser>\n * <SidebarMenu menus={menuItems} />\n * </Sidebar>\n * <main class=\"h-full overflow-auto\">\uCF58\uD150\uCE20</main>\n * </SidebarContainer>\n * </div>\n * ```\n */\nexport const SidebarContainer: ParentComponent<SidebarContainerProps> = (props) => {\n const [local, rest] = splitProps(props, [\"children\", \"class\", \"style\"]);\n\n const [toggle, setToggle] = usePersisted(\"sidebar.toggle\", false);\n\n // Tailwind sm: breakpoint \uAC10\uC9C0\n const isDesktop = createMediaQuery(SM_MEDIA_QUERY);\n\n // \uC0AC\uC774\uB4DC\uBC14 \uC5F4\uB9BC \uC5EC\uBD80 \uACC4\uC0B0\n const isOpen = createMemo(() => {\n if (isDesktop()) {\n return !toggle();\n }\n return toggle();\n });\n\n // backdrop \uD074\uB9AD \uC2DC \uB2EB\uAE30\n const handleBackdropClick = () => {\n setToggle(false);\n };\n\n // \uBAA8\uBC14\uC77C\uC5D0\uC11C \uD398\uC774\uC9C0 \uC774\uB3D9 \uC2DC \uC790\uB3D9 \uB2EB\uAE30\n useBeforeLeave(() => {\n if (!isDesktop() && toggle()) {\n setToggle(false);\n }\n });\n\n // \uB370\uC2A4\uD06C\uD0D1\uC5D0\uC11C \uC0AC\uC774\uB4DC\uBC14 \uC5F4\uB9BC \uC2DC padding-left \uC801\uC6A9 (16rem = w-64)\n const getPaddingLeft = () => {\n if (isDesktop() && isOpen()) {\n return \"16rem\";\n }\n return undefined;\n };\n\n const getClassName = () => twMerge(containerClass, local.class);\n\n return (\n <SidebarContext.Provider value={{ toggle, setToggle }}>\n <div\n {...rest}\n data-sidebar-container\n class={getClassName()}\n style={mergeStyles(local.style, { \"padding-left\": getPaddingLeft() })}\n >\n {local.children}\n <Show when={!isDesktop() && isOpen()}>\n <div\n class={backdropClass}\n onClick={handleBackdropClick}\n onKeyDown={(e) => e.key === \"Escape\" && handleBackdropClick()}\n role=\"button\"\n aria-label=\"\uC0AC\uC774\uB4DC\uBC14 \uB2EB\uAE30\"\n tabIndex={0}\n />\n </Show>\n </div>\n </SidebarContext.Provider>\n );\n};\n"],
5
- "mappings": "AAAA,SAAyC,MAAM,YAAY,kBAAkB;AAC7E,SAAS,sBAAsB;AAC/B,SAAS,wBAAwB;AACjC,OAAO,UAAU;AACjB,SAAS,eAAe;AACxB,SAAS,gBAAgB,sBAAsB;AAC/C,SAAS,oBAAoB;AAC7B,SAAS,mBAAmB;AAE5B,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,iBAAiB,KAAK,wDAAwD;AAkC7E,MAAM,mBAA2D,CAAC,UAAU;AACjF,QAAM,CAAC,OAAO,IAAI,IAAI,WAAW,OAAO,CAAC,YAAY,SAAS,OAAO,CAAC;AAEtE,QAAM,CAAC,QAAQ,SAAS,IAAI,aAAa,kBAAkB,KAAK;AAGhE,QAAM,YAAY,iBAAiB,cAAc;AAGjD,QAAM,SAAS,WAAW,MAAM;AAC9B,QAAI,UAAU,GAAG;AACf,aAAO,CAAC,OAAO;AAAA,IACjB;AACA,WAAO,OAAO;AAAA,EAChB,CAAC;AAGD,QAAM,sBAAsB,MAAM;AAChC,cAAU,KAAK;AAAA,EACjB;AAGA,iBAAe,MAAM;AACnB,QAAI,CAAC,UAAU,KAAK,OAAO,GAAG;AAC5B,gBAAU,KAAK;AAAA,IACjB;AAAA,EACF,CAAC;AAGD,QAAM,iBAAiB,MAAM;AAC3B,QAAI,UAAU,KAAK,OAAO,GAAG;AAC3B,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAEA,QAAM,eAAe,MAAM,QAAQ,gBAAgB,MAAM,KAAK;AAE9D,SACE,oCAAC,eAAe,UAAf,EAAwB,OAAO,EAAE,QAAQ,UAAU,KAClD;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,0BAAsB;AAAA,MACtB,OAAO,aAAa;AAAA,MACpB,OAAO,YAAY,MAAM,OAAO,EAAE,gBAAgB,eAAe,EAAE,CAAC;AAAA;AAAA,IAEnE,MAAM;AAAA,IACP,oCAAC,QAAK,MAAM,CAAC,UAAU,KAAK,OAAO,KACjC;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,QACP,SAAS;AAAA,QACT,WAAW,CAAC,MAAM,EAAE,QAAQ,YAAY,oBAAoB;AAAA,QAC5D,MAAK;AAAA,QACL,cAAW;AAAA,QACX,UAAU;AAAA;AAAA,IACZ,CACF;AAAA,EACF,CACF;AAEJ;",
6
- "names": []
4
+ "mappings": ";;;;;;;;;AAAA,SAAyCA,MAAMC,YAAYC,YAAYC,oBAAoB;AAC3F,SAASC,sBAAsB;AAC/B,SAASC,wBAAwB;AACjC,OAAOC,UAAU;AACjB,SAASC,eAAe;AACxB,SAASC,gBAAgBC,sBAAsB;AAC/C,SAASC,mBAAmB;AAE5B,MAAMC,gBAAgBL,KACpB,YACA,SACA,UACA,WACA,YACA,sBACA,eACA,WACF;AAEA,MAAMM,iBAAiBN,KAAK,wDAAwD;AAkC7E,MAAMO,mBAA4DC,WAAU;AACjF,QAAM,CAACC,OAAOC,IAAI,IAAIf,WAAWa,OAAO,CAAC,YAAY,SAAS,OAAO,CAAC;AAEtE,QAAM,CAACG,QAAQC,SAAS,IAAIf,aAAa,KAAK;AAG9C,QAAMgB,YAAYd,iBAAiBI,cAAc;AAGjD,QAAMW,SAASlB,WAAW,MAAM;AAC9B,QAAIiB,UAAU,GAAG;AACf,aAAO,CAACF,OAAO;IACjB;AACA,WAAOA,OAAO;EAChB,CAAC;AAGD,QAAMI,sBAAsBA,MAAM;AAChCH,cAAU,KAAK;EACjB;AAGAd,iBAAe,MAAM;AACnB,QAAI,CAACe,UAAU,KAAKF,OAAO,GAAG;AAC5BC,gBAAU,KAAK;IACjB;EACF,CAAC;AAGD,QAAMI,iBAAiBA,MAAM;AAC3B,QAAIH,UAAU,KAAKC,OAAO,GAAG;AAC3B,aAAO;IACT;AACA,WAAOG;EACT;AAEA,QAAMC,eAAeA,MAAMjB,QAAQK,gBAAgBG,MAAMU,KAAK;AAE9D,SAAAC,kBACGlB,eAAemB,UAAQ;IAACC,OAAO;MAAEX;MAAQC;IAAU;IAAC,IAAAW,WAAA;AAAA,UAAAC,OAAAC,QAAA;AAAAC,eAAAF,MAAAG,aAE7CjB,MAAI;QAAA,0BAAA;QAAA,KAAA,OAAA,IAAA;AAAA,iBAEDQ,aAAa;QAAC;QAAA,IACrBU,QAAK;AAAA,iBAAExB,YAAYK,MAAMmB,OAAO;YAAE,gBAAgBZ,eAAe;UAAE,CAAC;QAAC;MAAA,CAAA,GAAA,OAAA,IAAA;AAAAa,eAAAL,MAAA,MAEpEf,MAAMc,UAAQ,IAAA;AAAAM,eAAAL,MAAAJ,kBACd1B,MAAI;QAAA,IAACoC,OAAI;AAAA,iBAAEC,OAAA,MAAA,CAAA,CAAA,CAAClB,UAAU,CAAC,EAAA,KAAIC,OAAO;QAAC;QAAA,IAAAS,WAAA;AAAA,cAAAS,QAAAC,OAAA;AAAAD,gBAAAE,YAIpBC,OAAMA,EAAEC,QAAQ,YAAYrB,oBAAoB;AAACiB,gBAAAK,UADpDtB;AAAmBuB,sBAAAN,OADrB3B,aAAa;AAAA,iBAAA2B;QAAA;MAAA,CAAA,GAAA,IAAA;AAAA,aAAAR;IAAA;EAAA,CAAA;AAWhC;AAAEe,iBAAA,CAAA,SAAA,SAAA,CAAA;",
5
+ "names": ["Show", "splitProps", "createMemo", "createSignal", "useBeforeLeave", "createMediaQuery", "clsx", "twMerge", "SidebarContext", "SM_MEDIA_QUERY", "mergeStyles", "backdropClass", "containerClass", "SidebarContainer", "props", "local", "rest", "toggle", "setToggle", "isDesktop", "isOpen", "handleBackdropClick", "getPaddingLeft", "undefined", "getClassName", "class", "_$createComponent", "Provider", "value", "children", "_el$", "_tmpl$2", "_$spread", "_$mergeProps", "style", "_$insert", "when", "_$memo", "_el$2", "_tmpl$", "$$keydown", "e", "key", "$$click", "_$className", "_$delegateEvents"]
7
6
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarContext.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/sidebar/SidebarContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAEjF;;;GAGG;AACH,eAAO,MAAM,cAAc,uBAAuB,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;CAC5B;AAED,eAAO,MAAM,cAAc,6DAAuC,CAAC;AAEnE,wBAAgB,iBAAiB,IAAI,mBAAmB,CAMvD;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,mBAAmB,GAAG,SAAS,CAE3E"}
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/layout/sidebar/SidebarContext.ts"],
4
- "sourcesContent": ["import { createContext, useContext, type Accessor, type Setter } from \"solid-js\";\n\n/**\n * Tailwind sm: breakpoint\uC5D0 \uD574\uB2F9\uD558\uB294 \uBBF8\uB514\uC5B4 \uCFFC\uB9AC\n * @see tailwind.config.ts screens.sm (640px)\n */\nexport const SM_MEDIA_QUERY = \"(min-width: 640px)\";\n\n/**\n * \uC0AC\uC774\uB4DC\uBC14 toggle \uC0C1\uD0DC \uACF5\uC720 Context\n *\n * @remarks\n * toggle \uC2DC\uB9E8\uD2F1:\n * - `toggle=false` (\uAE30\uBCF8\uAC12): \uB370\uC2A4\uD06C\uD0D1(640px+)\uC5D0\uC11C \uC5F4\uB9BC, \uBAA8\uBC14\uC77C(640px-)\uC5D0\uC11C \uB2EB\uD798\n * - `toggle=true`: \uB370\uC2A4\uD06C\uD0D1(640px+)\uC5D0\uC11C \uB2EB\uD798, \uBAA8\uBC14\uC77C(640px-)\uC5D0\uC11C \uC5F4\uB9BC (\uC624\uBC84\uB808\uC774)\n */\nexport interface SidebarContextValue {\n toggle: Accessor<boolean>;\n setToggle: Setter<boolean>;\n}\n\nexport const SidebarContext = createContext<SidebarContextValue>();\n\nexport function useSidebarContext(): SidebarContextValue {\n const context = useContext(SidebarContext);\n if (!context) {\n throw new Error(\"useSidebarContext\uB294 SidebarContainer \uB0B4\uBD80\uC5D0\uC11C\uB9CC \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4\");\n }\n return context;\n}\n\n/**\n * SidebarContext\uB97C \uC120\uD0DD\uC801\uC73C\uB85C \uC0AC\uC6A9 (Context \uC5C6\uC73C\uBA74 undefined \uBC18\uD658)\n *\n * @remarks\n * SidebarContainer \uC678\uBD80\uC5D0\uC11C\uB3C4 \uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uCEF4\uD3EC\uB10C\uD2B8(\uC608: Topbar)\uC5D0\uC11C \uC0AC\uC6A9\n */\nexport function useSidebarContextOptional(): SidebarContextValue | undefined {\n return useContext(SidebarContext);\n}\n"],
5
4
  "mappings": "AAAA,SAAS,eAAe,kBAA8C;AAM/D,MAAM,iBAAiB;AAevB,MAAM,iBAAiB,cAAmC;AAE1D,SAAS,oBAAyC;AACvD,QAAM,UAAU,WAAW,cAAc;AACzC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,4HAAsD;AAAA,EACxE;AACA,SAAO;AACT;AAQO,SAAS,4BAA6D;AAC3E,SAAO,WAAW,cAAc;AAClC;",
6
5
  "names": []
7
6
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/sidebar/SidebarMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,GAAG,EAUT,MAAM,UAAU,CAAC;AAIlB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAiBvD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5F;;OAEG;IACH,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AASD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,gBAAgB,CA4CnD,CAAC"}
@@ -1,29 +1,18 @@
1
- import {
2
- For,
3
- Show,
4
- splitProps,
5
- createSignal,
6
- createMemo,
7
- createEffect,
8
- createContext,
9
- useContext
10
- } from "solid-js";
1
+ import { template as _$template } from "solid-js/web";
2
+ import { insert as _$insert } from "solid-js/web";
3
+ import { createComponent as _$createComponent } from "solid-js/web";
4
+ import { className as _$className } from "solid-js/web";
5
+ import { spread as _$spread } from "solid-js/web";
6
+ import { mergeProps as _$mergeProps } from "solid-js/web";
7
+ var _tmpl$ = /* @__PURE__ */ _$template(`<div><div>MENU`), _tmpl$2 = /* @__PURE__ */ _$template(`<span class=truncate>`);
8
+ import { For, Show, splitProps, createSignal, createMemo, createEffect, createContext, useContext } from "solid-js";
11
9
  import { useLocation, useNavigate } from "@solidjs/router";
12
10
  import clsx from "clsx";
13
11
  import { twMerge } from "tailwind-merge";
14
- import { Icon } from "../../display/Icon";
15
- import { List } from "../../data/list/List";
16
- import { ListItem } from "../../data/list/ListItem";
17
- const headerClass = clsx(
18
- "px-4",
19
- "py-2",
20
- "text-xs",
21
- "font-semibold",
22
- "text-base-500",
23
- "dark:text-base-400",
24
- "uppercase",
25
- "tracking-wider"
26
- );
12
+ import { Icon } from "../../display/Icon.js";
13
+ import { List } from "../../data/list/List.js";
14
+ import { ListItem } from "../../data/list/ListItem.js";
15
+ const headerClass = clsx("px-4", "py-2", "text-xs", "font-semibold", "text-base-500", "dark:text-base-400", "uppercase", "tracking-wider");
27
16
  const MenuContext = createContext();
28
17
  const SidebarMenu = (props) => {
29
18
  const [local, rest] = splitProps(props, ["menus", "class"]);
@@ -46,7 +35,36 @@ const SidebarMenu = (props) => {
46
35
  return selectedPath ? new Set(selectedPath.slice(0, -1)) : /* @__PURE__ */ new Set();
47
36
  });
48
37
  const getClassName = () => twMerge("flex-1 overflow-y-auto", local.class);
49
- return /* @__PURE__ */ React.createElement(MenuContext.Provider, { value: { initialOpenItems } }, /* @__PURE__ */ React.createElement("div", { ...rest, "data-sidebar-menu": true, class: getClassName() }, /* @__PURE__ */ React.createElement("div", { class: headerClass }, "MENU"), /* @__PURE__ */ React.createElement(List, { inset: true }, /* @__PURE__ */ React.createElement(For, { each: local.menus }, (menu) => /* @__PURE__ */ React.createElement(MenuItem, { menu, size: "lg" })))));
38
+ return _$createComponent(MenuContext.Provider, {
39
+ value: {
40
+ initialOpenItems
41
+ },
42
+ get children() {
43
+ var _el$ = _tmpl$(), _el$2 = _el$.firstChild;
44
+ _$spread(_el$, _$mergeProps(rest, {
45
+ "data-sidebar-menu": "",
46
+ get ["class"]() {
47
+ return getClassName();
48
+ }
49
+ }), false, true);
50
+ _$className(_el$2, headerClass);
51
+ _$insert(_el$, _$createComponent(List, {
52
+ inset: true,
53
+ get children() {
54
+ return _$createComponent(For, {
55
+ get each() {
56
+ return local.menus;
57
+ },
58
+ children: (menu) => _$createComponent(MenuItem, {
59
+ menu,
60
+ size: "lg"
61
+ })
62
+ });
63
+ }
64
+ }), null);
65
+ return _el$;
66
+ }
67
+ });
50
68
  };
51
69
  const MenuItem = (props) => {
52
70
  const location = useLocation();
@@ -76,7 +94,55 @@ const MenuItem = (props) => {
76
94
  }
77
95
  }
78
96
  };
79
- return /* @__PURE__ */ React.createElement(ListItem, { selected: isSelected(), open: open(), onOpenChange: setOpen, onClick: handleClick, size: props.size }, /* @__PURE__ */ React.createElement(Show, { when: props.menu.icon }, /* @__PURE__ */ React.createElement(Icon, { icon: props.menu.icon })), /* @__PURE__ */ React.createElement("span", { class: "truncate" }, props.menu.title), /* @__PURE__ */ React.createElement(Show, { when: hasChildren() }, /* @__PURE__ */ React.createElement(ListItem.Children, null, /* @__PURE__ */ React.createElement(For, { each: props.menu.children }, (child) => /* @__PURE__ */ React.createElement(MenuItem, { menu: child })))));
97
+ return _$createComponent(ListItem, {
98
+ get selected() {
99
+ return isSelected();
100
+ },
101
+ get open() {
102
+ return open();
103
+ },
104
+ onOpenChange: setOpen,
105
+ onClick: handleClick,
106
+ get size() {
107
+ return props.size;
108
+ },
109
+ get children() {
110
+ return [_$createComponent(Show, {
111
+ get when() {
112
+ return props.menu.icon;
113
+ },
114
+ get children() {
115
+ return _$createComponent(Icon, {
116
+ get icon() {
117
+ return props.menu.icon;
118
+ }
119
+ });
120
+ }
121
+ }), (() => {
122
+ var _el$3 = _tmpl$2();
123
+ _$insert(_el$3, () => props.menu.title);
124
+ return _el$3;
125
+ })(), _$createComponent(Show, {
126
+ get when() {
127
+ return hasChildren();
128
+ },
129
+ get children() {
130
+ return _$createComponent(ListItem.Children, {
131
+ get children() {
132
+ return _$createComponent(For, {
133
+ get each() {
134
+ return props.menu.children;
135
+ },
136
+ children: (child) => _$createComponent(MenuItem, {
137
+ menu: child
138
+ })
139
+ });
140
+ }
141
+ });
142
+ }
143
+ })];
144
+ }
145
+ });
80
146
  };
81
147
  export {
82
148
  SidebarMenu
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/layout/sidebar/SidebarMenu.tsx"],
4
- "sourcesContent": ["import {\n type Component,\n type JSX,\n For,\n Show,\n splitProps,\n createSignal,\n createMemo,\n createEffect,\n createContext,\n useContext,\n type Accessor,\n} from \"solid-js\";\nimport { useLocation, useNavigate } from \"@solidjs/router\";\nimport clsx from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\nimport type { IconProps } from \"@tabler/icons-solidjs\";\nimport type { ComponentSize } from \"../../../styles/tokens.styles\";\nimport { Icon } from \"../../display/Icon\";\nimport { List } from \"../../data/list/List\";\nimport { ListItem } from \"../../data/list/ListItem\";\n\nconst headerClass = clsx(\n \"px-4\",\n \"py-2\",\n \"text-xs\",\n \"font-semibold\",\n \"text-base-500\",\n \"dark:text-base-400\",\n \"uppercase\",\n \"tracking-wider\",\n);\n\nexport interface SidebarMenuItem {\n title: string;\n href?: string;\n icon?: Component<IconProps>;\n children?: SidebarMenuItem[];\n}\n\nexport interface SidebarMenuProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"children\"> {\n /**\n * \uBA54\uB274 \uC544\uC774\uD15C \uBC30\uC5F4\n */\n menus: SidebarMenuItem[];\n}\n\n// \uB0B4\uBD80 Context: \uCD08\uAE30 \uD3BC\uCE68 \uC0C1\uD0DC \uACF5\uC720\ninterface MenuContextValue {\n initialOpenItems: Accessor<Set<SidebarMenuItem>>;\n}\n\nconst MenuContext = createContext<MenuContextValue>();\n\n/**\n * \uC0AC\uC774\uB4DC\uBC14 \uBA54\uB274 \uCEF4\uD3EC\uB10C\uD2B8\n *\n * @remarks\n * - \"MENU\" \uD5E4\uB354 \uACE0\uC815 \uD45C\uC2DC\n * - List/ListItem\uC73C\uB85C \uC7AC\uADC0\uC801 \uBA54\uB274 \uB80C\uB354\uB9C1\n * - pathname \uC815\uD655 \uC77C\uCE58\uB85C \uC120\uD0DD \uC0C1\uD0DC \uD310\uB2E8 (query string \uBB34\uC2DC)\n * - \uC120\uD0DD\uB41C \uBA54\uB274\uC758 \uBD80\uBAA8\uB4E4\uC740 \uCD08\uAE30 \uB80C\uB354\uB9C1 \uC2DC \uC790\uB3D9 \uD3BC\uCE68\n * - \uC678\uBD80 \uB9C1\uD06C(://\uD3EC\uD568)\uB294 \uC0C8 \uD0ED\uC5D0\uC11C \uC5F4\uAE30\n *\n * @example\n * ```tsx\n * <SidebarMenu menus={[\n * { title: \"\uB300\uC2DC\uBCF4\uB4DC\", href: \"/dashboard\", icon: IconHome },\n * {\n * title: \"\uC124\uC815\",\n * icon: IconSettings,\n * children: [\n * { title: \"\uD504\uB85C\uD544\", href: \"/settings/profile\" },\n * { title: \"\uBCF4\uC548\", href: \"/settings/security\" },\n * ],\n * },\n * ]} />\n * ```\n */\nexport const SidebarMenu: Component<SidebarMenuProps> = (props) => {\n const [local, rest] = splitProps(props, [\"menus\", \"class\"]);\n\n const location = useLocation();\n\n // \uD604\uC7AC pathname\uACFC \uC77C\uCE58\uD558\uB294 \uBA54\uB274\uC758 \uBD80\uBAA8\uB4E4\uC744 \uCC3E\uC544 \uD3BC\uCE68 \uC0C1\uD0DC \uACC4\uC0B0\n const findSelectedPath = (\n menus: SidebarMenuItem[],\n pathname: string,\n path: SidebarMenuItem[] = [],\n ): SidebarMenuItem[] | null => {\n for (const menu of menus) {\n const currentPath = [...path, menu];\n if (menu.href === pathname) {\n return currentPath;\n }\n if (menu.children) {\n const found = findSelectedPath(menu.children, pathname, currentPath);\n if (found) return found;\n }\n }\n return null;\n };\n\n // pathname \uBCC0\uACBD\uC5D0 \uBC18\uC751\uD558\uC5EC \uD3BC\uCE68 \uC0C1\uD0DC \uC7AC\uACC4\uC0B0\n const initialOpenItems = createMemo(() => {\n const selectedPath = findSelectedPath(local.menus, location.pathname);\n return selectedPath\n ? new Set(selectedPath.slice(0, -1)) // \uB9C8\uC9C0\uB9C9 \uD56D\uBAA9(\uC120\uD0DD\uB41C \uBA54\uB274)\uC740 \uC81C\uC678\uD558\uACE0 \uBD80\uBAA8\uB4E4\uB9CC \uD3BC\uCE68\n : new Set<SidebarMenuItem>();\n });\n\n const getClassName = () => twMerge(\"flex-1 overflow-y-auto\", local.class);\n\n return (\n <MenuContext.Provider value={{ initialOpenItems }}>\n <div {...rest} data-sidebar-menu class={getClassName()}>\n <div class={headerClass}>MENU</div>\n <List inset>\n <For each={local.menus}>{(menu) => <MenuItem menu={menu} size=\"lg\" />}</For>\n </List>\n </div>\n </MenuContext.Provider>\n );\n};\n\ninterface MenuItemProps {\n menu: SidebarMenuItem;\n size?: ComponentSize;\n}\n\nconst MenuItem: Component<MenuItemProps> = (props) => {\n const location = useLocation();\n const navigate = useNavigate();\n const menuContext = useContext(MenuContext)!;\n\n const hasChildren = () => props.menu.children !== undefined && props.menu.children.length > 0;\n\n // \uC678\uBD80 \uB9C1\uD06C \uC5EC\uBD80 \uD655\uC778\n const isExternalLink = () => props.menu.href?.includes(\"://\") ?? false;\n\n // \uC120\uD0DD \uC0C1\uD0DC\n const isSelected = () => props.menu.href === location.pathname;\n\n // \uD3BC\uCE68 \uC0C1\uD0DC \uACC4\uC0B0 (object reference\uB85C \uBE44\uAD50)\n const shouldBeOpen = () => menuContext.initialOpenItems().has(props.menu);\n\n const [open, setOpen] = createSignal(false);\n\n // pathname \uBCC0\uACBD\uC5D0 \uBC18\uC751\uD558\uC5EC \uD3BC\uCE68 \uC0C1\uD0DC \uC5C5\uB370\uC774\uD2B8\n createEffect(() => {\n if (shouldBeOpen()) {\n setOpen(true);\n }\n });\n\n const handleClick = () => {\n if (hasChildren()) {\n setOpen((v) => !v);\n } else if (props.menu.href !== undefined) {\n if (isExternalLink()) {\n window.open(props.menu.href, \"_blank\", \"noopener,noreferrer\");\n } else {\n navigate(props.menu.href);\n }\n }\n };\n\n return (\n <ListItem selected={isSelected()} open={open()} onOpenChange={setOpen} onClick={handleClick} size={props.size}>\n <Show when={props.menu.icon}>\n <Icon icon={props.menu.icon!} />\n </Show>\n <span class=\"truncate\">{props.menu.title}</span>\n <Show when={hasChildren()}>\n <ListItem.Children>\n <For each={props.menu.children}>{(child) => <MenuItem menu={child} />}</For>\n </ListItem.Children>\n </Show>\n </ListItem>\n );\n};\n"],
5
- "mappings": "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",
6
- "names": []
4
+ "mappings": "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",
5
+ "names": ["For", "Show", "splitProps", "createSignal", "createMemo", "createEffect", "createContext", "useContext", "useLocation", "useNavigate", "clsx", "twMerge", "Icon", "List", "ListItem", "headerClass", "MenuContext", "SidebarMenu", "props", "local", "rest", "location", "findSelectedPath", "menus", "pathname", "path", "menu", "currentPath", "href", "children", "found", "initialOpenItems", "selectedPath", "Set", "slice", "getClassName", "class", "_$createComponent", "Provider", "value", "_el$", "_tmpl$", "_el$2", "firstChild", "_$spread", "_$mergeProps", "_$className", "_$insert", "inset", "each", "MenuItem", "size", "navigate", "menuContext", "hasChildren", "undefined", "length", "isExternalLink", "includes", "isSelected", "shouldBeOpen", "has", "open", "setOpen", "handleClick", "v", "window", "selected", "onOpenChange", "onClick", "when", "icon", "_el$3", "_tmpl$2", "title", "Children", "child"]
7
6
  }
@@ -0,0 +1,48 @@
1
+ import { type Component, type JSX } from "solid-js";
2
+ import type { IconProps as TablerIconProps } from "@tabler/icons-solidjs";
3
+ export interface SidebarUserMenu {
4
+ title: string;
5
+ onClick: () => void;
6
+ }
7
+ export interface SidebarUserProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, "onClick"> {
8
+ /**
9
+ * 사용자 이름 (필수)
10
+ */
11
+ name: string;
12
+ /**
13
+ * 아바타 아이콘 (미입력 시 기본 사용자 아이콘)
14
+ */
15
+ icon?: Component<TablerIconProps>;
16
+ /**
17
+ * 부가 정보 (이메일 등, 미입력 시 이름만 표시)
18
+ */
19
+ description?: string;
20
+ /**
21
+ * 드롭다운 메뉴 (있을 때만 클릭 가능)
22
+ */
23
+ menus?: SidebarUserMenu[];
24
+ }
25
+ /**
26
+ * 사이드바 사용자 정보 컴포넌트
27
+ *
28
+ * @remarks
29
+ * - name, icon, description props로 사용자 정보 표시
30
+ * - icon 미입력 시 기본 사용자 아이콘 표시
31
+ * - description 미입력 시 이름만 세로 중앙 정렬
32
+ * - menus가 있을 때만 클릭 가능 및 ripple 효과 적용
33
+ * - 클릭 시 드롭다운 메뉴 펼침/접힘
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * <SidebarUser
38
+ * name="홍길동"
39
+ * description="hong@example.com"
40
+ * menus={[
41
+ * { title: "프로필", onClick: () => navigate("/profile") },
42
+ * { title: "로그아웃", onClick: handleLogout },
43
+ * ]}
44
+ * />
45
+ * ```
46
+ */
47
+ export declare const SidebarUser: Component<SidebarUserProps>;
48
+ //# sourceMappingURL=SidebarUser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarUser.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/sidebar/SidebarUser.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAqB,KAAK,GAAG,EAAoB,MAAM,UAAU,CAAC;AAGzF,OAAO,KAAK,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AA2B1E,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3F;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IAElC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,gBAAgB,CAuDnD,CAAC"}
@@ -1,25 +1,31 @@
1
+ import { template as _$template } from "solid-js/web";
2
+ import { delegateEvents as _$delegateEvents } from "solid-js/web";
3
+ import { setAttribute as _$setAttribute } from "solid-js/web";
4
+ import { effect as _$effect } from "solid-js/web";
5
+ import { insert as _$insert } from "solid-js/web";
6
+ import { createComponent as _$createComponent } from "solid-js/web";
7
+ import { memo as _$memo } from "solid-js/web";
8
+ import { className as _$className } from "solid-js/web";
9
+ import { use as _$use } from "solid-js/web";
10
+ import { spread as _$spread } from "solid-js/web";
11
+ import { mergeProps as _$mergeProps } from "solid-js/web";
12
+ var _tmpl$ = /* @__PURE__ */ _$template(`<div class="flex flex-col"><span class=font-semibold></span><span>`), _tmpl$2 = /* @__PURE__ */ _$template(`<div><button type=button><div class="relative flex flex-1 items-center gap-3"><div>`), _tmpl$3 = /* @__PURE__ */ _$template(`<span class=font-semibold>`);
1
13
  import { createSignal, For, Show, splitProps } from "solid-js";
2
14
  import clsx from "clsx";
3
15
  import { twMerge } from "tailwind-merge";
4
- import { ripple } from "../../../directives/ripple";
5
- import { Collapse } from "../../disclosure/Collapse";
6
- import { List } from "../../data/list/List";
7
- import { ListItem } from "../../data/list/ListItem";
16
+ import { IconUser } from "@tabler/icons-solidjs";
17
+ import { ripple } from "../../../directives/ripple.js";
18
+ import { Collapse } from "../../disclosure/Collapse.js";
19
+ import { List } from "../../data/list/List.js";
20
+ import { ListItem } from "../../data/list/ListItem.js";
21
+ import { Icon } from "../../display/Icon.js";
8
22
  void ripple;
9
23
  const containerClass = clsx("m-2 flex flex-col overflow-hidden rounded bg-white dark:bg-base-800");
10
- const headerClass = clsx(
11
- "flex",
12
- "items-center",
13
- "p-2",
14
- "text-left",
15
- "cursor-pointer",
16
- "transition-colors",
17
- "hover:bg-base-100",
18
- "dark:hover:bg-base-700"
19
- );
24
+ const headerClass = clsx("flex", "items-center", "p-2", "text-left", "cursor-pointer", "transition-colors", "hover:bg-base-100", "dark:hover:bg-base-700");
20
25
  const headerReadonlyClass = clsx("cursor-default hover:bg-transparent dark:hover:bg-transparent");
26
+ const avatarClass = clsx("flex size-10 items-center justify-center rounded-full", "bg-primary-500 text-white");
21
27
  const SidebarUser = (props) => {
22
- const [local, rest] = splitProps(props, ["children", "class", "menus"]);
28
+ const [local, rest] = splitProps(props, ["name", "icon", "description", "class", "menus"]);
23
29
  const [open, setOpen] = createSignal(false);
24
30
  const hasMenus = () => local.menus !== void 0 && local.menus.length > 0;
25
31
  const handleClick = () => {
@@ -33,18 +39,85 @@ const SidebarUser = (props) => {
33
39
  };
34
40
  const getHeaderClassName = () => twMerge(headerClass, !hasMenus() && headerReadonlyClass, open() && "border-b border-b-base-50");
35
41
  const getContainerClassName = () => twMerge(containerClass, local.class);
36
- return /* @__PURE__ */ React.createElement("div", { ...rest, "data-sidebar-user": true, class: getContainerClassName() }, /* @__PURE__ */ React.createElement(
37
- "button",
38
- {
39
- type: "button",
40
- "use:ripple": hasMenus(),
41
- class: getHeaderClassName(),
42
- onClick: handleClick,
43
- "aria-expanded": hasMenus() ? open() : void 0
44
- },
45
- local.children
46
- ), /* @__PURE__ */ React.createElement(Show, { when: hasMenus() }, /* @__PURE__ */ React.createElement(Collapse, { open: open() }, /* @__PURE__ */ React.createElement(List, { inset: true }, /* @__PURE__ */ React.createElement(For, { each: local.menus }, (menu) => /* @__PURE__ */ React.createElement(ListItem, { onClick: () => handleMenuClick(menu) }, menu.title))))));
42
+ return (() => {
43
+ var _el$ = _tmpl$2(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild;
44
+ _$spread(_el$, _$mergeProps(rest, {
45
+ "data-sidebar-user": "",
46
+ get ["class"]() {
47
+ return getContainerClassName();
48
+ }
49
+ }), false, true);
50
+ _el$2.$$click = handleClick;
51
+ _$use(ripple, _el$2, () => hasMenus());
52
+ _$className(_el$4, avatarClass);
53
+ _$insert(_el$4, _$createComponent(Icon, {
54
+ get icon() {
55
+ return local.icon ?? IconUser;
56
+ },
57
+ "class": "size-6"
58
+ }));
59
+ _$insert(_el$3, _$createComponent(Show, {
60
+ get when() {
61
+ return local.description;
62
+ },
63
+ get fallback() {
64
+ return (() => {
65
+ var _el$8 = _tmpl$3();
66
+ _$insert(_el$8, () => local.name);
67
+ return _el$8;
68
+ })();
69
+ },
70
+ get children() {
71
+ var _el$5 = _tmpl$(), _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling;
72
+ _$insert(_el$6, () => local.name);
73
+ _$insert(_el$7, () => local.description);
74
+ _$effect(() => _$className(_el$7, clsx("text-sm", "text-base-500 dark:text-base-400")));
75
+ return _el$5;
76
+ }
77
+ }), null);
78
+ _$insert(_el$, _$createComponent(Show, {
79
+ get when() {
80
+ return hasMenus();
81
+ },
82
+ get children() {
83
+ return _$createComponent(Collapse, {
84
+ get open() {
85
+ return open();
86
+ },
87
+ get children() {
88
+ return _$createComponent(List, {
89
+ inset: true,
90
+ get children() {
91
+ return _$createComponent(For, {
92
+ get each() {
93
+ return local.menus;
94
+ },
95
+ children: (menu) => _$createComponent(ListItem, {
96
+ onClick: () => handleMenuClick(menu),
97
+ get children() {
98
+ return menu.title;
99
+ }
100
+ })
101
+ });
102
+ }
103
+ });
104
+ }
105
+ });
106
+ }
107
+ }), null);
108
+ _$effect((_p$) => {
109
+ var _v$ = getHeaderClassName(), _v$2 = hasMenus() ? open() : void 0;
110
+ _v$ !== _p$.e && _$className(_el$2, _p$.e = _v$);
111
+ _v$2 !== _p$.t && _$setAttribute(_el$2, "aria-expanded", _p$.t = _v$2);
112
+ return _p$;
113
+ }, {
114
+ e: void 0,
115
+ t: void 0
116
+ });
117
+ return _el$;
118
+ })();
47
119
  };
120
+ _$delegateEvents(["click"]);
48
121
  export {
49
122
  SidebarUser
50
123
  };
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/layout/sidebar/SidebarUser.tsx"],
4
- "sourcesContent": ["import { createSignal, For, type JSX, type ParentComponent, Show, splitProps } from \"solid-js\";\nimport clsx from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\nimport { ripple } from \"../../../directives/ripple\";\nimport { Collapse } from \"../../disclosure/Collapse\";\nimport { List } from \"../../data/list/List\";\nimport { ListItem } from \"../../data/list/ListItem\";\n\nvoid ripple;\n\nconst containerClass = clsx(\"m-2 flex flex-col overflow-hidden rounded bg-white dark:bg-base-800\");\n\nconst headerClass = clsx(\n \"flex\",\n \"items-center\",\n \"p-2\",\n \"text-left\",\n \"cursor-pointer\",\n \"transition-colors\",\n \"hover:bg-base-100\",\n \"dark:hover:bg-base-700\",\n);\n\nconst headerReadonlyClass = clsx(\"cursor-default hover:bg-transparent dark:hover:bg-transparent\");\n\nexport interface SidebarUserMenu {\n title: string;\n onClick: () => void;\n}\n\nexport interface SidebarUserProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"onClick\"> {\n /**\n * \uB4DC\uB86D\uB2E4\uC6B4 \uBA54\uB274 (\uC788\uC744 \uB54C\uB9CC \uD074\uB9AD \uAC00\uB2A5)\n */\n menus?: SidebarUserMenu[];\n\n /**\n * \uC0AC\uC6A9\uC790 \uC815\uBCF4 \uC601\uC5ED (\uCEE4\uC2A4\uD130\uB9C8\uC774\uC9D5)\n */\n children: JSX.Element;\n}\n\n/**\n * \uC0AC\uC774\uB4DC\uBC14 \uC0AC\uC6A9\uC790 \uC815\uBCF4 \uCEF4\uD3EC\uB10C\uD2B8\n *\n * @remarks\n * - children\uC73C\uB85C \uC0AC\uC6A9\uC790 \uC815\uBCF4 \uC601\uC5ED \uCEE4\uC2A4\uD130\uB9C8\uC774\uC9D5\n * - menus\uAC00 \uC788\uC744 \uB54C\uB9CC \uD074\uB9AD \uAC00\uB2A5 \uBC0F ripple \uD6A8\uACFC \uC801\uC6A9\n * - \uD074\uB9AD \uC2DC \uB4DC\uB86D\uB2E4\uC6B4 \uBA54\uB274 \uD3BC\uCE68/\uC811\uD798\n *\n * @example\n * ```tsx\n * <SidebarUser menus={[\n * { title: \"\uD504\uB85C\uD544\", onClick: () => navigate(\"/profile\") },\n * { title: \"\uB85C\uADF8\uC544\uC6C3\", onClick: handleLogout },\n * ]}>\n * <Avatar src={user.avatar} />\n * <span>{user.name}</span>\n * </SidebarUser>\n * ```\n */\nexport const SidebarUser: ParentComponent<SidebarUserProps> = (props) => {\n const [local, rest] = splitProps(props, [\"children\", \"class\", \"menus\"]);\n\n const [open, setOpen] = createSignal(false);\n\n const hasMenus = () => local.menus !== undefined && local.menus.length > 0;\n\n const handleClick = () => {\n if (hasMenus()) {\n setOpen((v) => !v);\n }\n };\n\n const handleMenuClick = (menu: SidebarUserMenu) => {\n setOpen(false);\n menu.onClick();\n };\n\n const getHeaderClassName = () =>\n twMerge(headerClass, !hasMenus() && headerReadonlyClass, open() && \"border-b border-b-base-50\");\n\n const getContainerClassName = () => twMerge(containerClass, local.class);\n\n return (\n <div {...rest} data-sidebar-user class={getContainerClassName()}>\n <button\n type=\"button\"\n use:ripple={hasMenus()}\n class={getHeaderClassName()}\n onClick={handleClick}\n aria-expanded={hasMenus() ? open() : undefined}\n >\n {local.children}\n </button>\n <Show when={hasMenus()}>\n <Collapse open={open()}>\n <List inset>\n <For each={local.menus}>\n {(menu) => <ListItem onClick={() => handleMenuClick(menu)}>{menu.title}</ListItem>}\n </For>\n </List>\n </Collapse>\n </Show>\n </div>\n );\n};\n"],
5
- "mappings": "AAAA,SAAS,cAAc,KAAqC,MAAM,kBAAkB;AACpF,OAAO,UAAU;AACjB,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,SAAS,gBAAgB;AACzB,SAAS,YAAY;AACrB,SAAS,gBAAgB;AAEzB,KAAK;AAEL,MAAM,iBAAiB,KAAK,qEAAqE;AAEjG,MAAM,cAAc;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,sBAAsB,KAAK,+DAA+D;AAsCzF,MAAM,cAAiD,CAAC,UAAU;AACvE,QAAM,CAAC,OAAO,IAAI,IAAI,WAAW,OAAO,CAAC,YAAY,SAAS,OAAO,CAAC;AAEtE,QAAM,CAAC,MAAM,OAAO,IAAI,aAAa,KAAK;AAE1C,QAAM,WAAW,MAAM,MAAM,UAAU,UAAa,MAAM,MAAM,SAAS;AAEzE,QAAM,cAAc,MAAM;AACxB,QAAI,SAAS,GAAG;AACd,cAAQ,CAAC,MAAM,CAAC,CAAC;AAAA,IACnB;AAAA,EACF;AAEA,QAAM,kBAAkB,CAAC,SAA0B;AACjD,YAAQ,KAAK;AACb,SAAK,QAAQ;AAAA,EACf;AAEA,QAAM,qBAAqB,MACzB,QAAQ,aAAa,CAAC,SAAS,KAAK,qBAAqB,KAAK,KAAK,2BAA2B;AAEhG,QAAM,wBAAwB,MAAM,QAAQ,gBAAgB,MAAM,KAAK;AAEvE,SACE,oCAAC,SAAK,GAAG,MAAM,qBAAiB,MAAC,OAAO,sBAAsB,KAC5D;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAY,SAAS;AAAA,MACrB,OAAO,mBAAmB;AAAA,MAC1B,SAAS;AAAA,MACT,iBAAe,SAAS,IAAI,KAAK,IAAI;AAAA;AAAA,IAEpC,MAAM;AAAA,EACT,GACA,oCAAC,QAAK,MAAM,SAAS,KACnB,oCAAC,YAAS,MAAM,KAAK,KACnB,oCAAC,QAAK,OAAK,QACT,oCAAC,OAAI,MAAM,MAAM,SACd,CAAC,SAAS,oCAAC,YAAS,SAAS,MAAM,gBAAgB,IAAI,KAAI,KAAK,KAAM,CACzE,CACF,CACF,CACF,CACF;AAEJ;",
6
- "names": []
4
+ "mappings": "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",
5
+ "names": ["createSignal", "For", "Show", "splitProps", "clsx", "twMerge", "IconUser", "ripple", "Collapse", "List", "ListItem", "Icon", "containerClass", "headerClass", "headerReadonlyClass", "avatarClass", "SidebarUser", "props", "local", "rest", "open", "setOpen", "hasMenus", "menus", "undefined", "length", "handleClick", "v", "handleMenuClick", "menu", "onClick", "getHeaderClassName", "getContainerClassName", "class", "_el$", "_tmpl$2", "_el$2", "firstChild", "_el$3", "_el$4", "_$spread", "_$mergeProps", "$$click", "_$use", "_$className", "_$insert", "_$createComponent", "icon", "when", "description", "fallback", "_el$8", "_tmpl$3", "name", "children", "_el$5", "_tmpl$", "_el$6", "_el$7", "nextSibling", "_$effect", "inset", "each", "title", "_p$", "_v$", "_v$2", "e", "t", "_$setAttribute", "_$delegateEvents"]
7
6
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Topbar.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/topbar/Topbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,eAAe,EAAoB,MAAM,UAAU,CAAC;AAO5E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAwBpE,MAAM,WAAW,WAAY,SAAQ,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC;IAClE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,UAAU,eAAgB,SAAQ,eAAe,CAAC,WAAW,CAAC;IAC5D,SAAS,EAAE,OAAO,eAAe,CAAC;IAClC,IAAI,EAAE,OAAO,UAAU,CAAC;IACxB,IAAI,EAAE,OAAO,UAAU,CAAC;CACzB;AA0BD,eAAO,MAAM,MAAM,EAAiB,eAAe,CAAC"}
@@ -1,13 +1,19 @@
1
+ import { template as _$template } from "solid-js/web";
2
+ import { insert as _$insert } from "solid-js/web";
3
+ import { createComponent as _$createComponent } from "solid-js/web";
4
+ import { spread as _$spread } from "solid-js/web";
5
+ import { mergeProps as _$mergeProps } from "solid-js/web";
6
+ var _tmpl$ = /* @__PURE__ */ _$template(`<header>`);
1
7
  import { splitProps, Show } from "solid-js";
2
8
  import { IconMenu2 } from "@tabler/icons-solidjs";
3
9
  import clsx from "clsx";
4
- import { Icon } from "../../display/Icon";
10
+ import { Icon } from "../../display/Icon.js";
5
11
  import { twMerge } from "tailwind-merge";
6
- import { Button } from "../../form-control/Button";
7
- import { useSidebarContextOptional } from "../sidebar/SidebarContext";
8
- import { TopbarContainer } from "./TopbarContainer";
9
- import { TopbarMenu } from "./TopbarMenu";
10
- import { TopbarUser } from "./TopbarUser";
12
+ import { Button } from "../../form-control/Button.js";
13
+ import { useSidebarContextOptional } from "../sidebar/SidebarContext.js";
14
+ import { TopbarContainer } from "./TopbarContainer.js";
15
+ import { TopbarMenu } from "./TopbarMenu.js";
16
+ import { TopbarUser } from "./TopbarUser.js";
11
17
  const baseClass = clsx(
12
18
  // 레이아웃
13
19
  "flex",
@@ -36,7 +42,34 @@ const TopbarBase = (props) => {
36
42
  sidebarContext == null ? void 0 : sidebarContext.setToggle((v) => !v);
37
43
  };
38
44
  const getClassName = () => twMerge(baseClass, local.class);
39
- return /* @__PURE__ */ React.createElement("header", { ...rest, "data-topbar": true, class: getClassName() }, /* @__PURE__ */ React.createElement(Show, { when: sidebarContext }, /* @__PURE__ */ React.createElement(Button, { variant: "ghost", onClick: handleToggle, class: "p-2", "aria-label": "\uC0AC\uC774\uB4DC\uBC14 \uD1A0\uAE00" }, /* @__PURE__ */ React.createElement(Icon, { icon: IconMenu2, size: "1.5em" }))), local.children);
45
+ return (() => {
46
+ var _el$ = _tmpl$();
47
+ _$spread(_el$, _$mergeProps(rest, {
48
+ "data-topbar": "",
49
+ get ["class"]() {
50
+ return getClassName();
51
+ }
52
+ }), false, true);
53
+ _$insert(_el$, _$createComponent(Show, {
54
+ when: sidebarContext,
55
+ get children() {
56
+ return _$createComponent(Button, {
57
+ variant: "ghost",
58
+ onClick: handleToggle,
59
+ "class": "p-2",
60
+ "aria-label": "\uC0AC\uC774\uB4DC\uBC14 \uD1A0\uAE00",
61
+ get children() {
62
+ return _$createComponent(Icon, {
63
+ icon: IconMenu2,
64
+ size: "1.5em"
65
+ });
66
+ }
67
+ });
68
+ }
69
+ }), null);
70
+ _$insert(_el$, () => local.children, null);
71
+ return _el$;
72
+ })();
40
73
  };
41
74
  const Topbar = TopbarBase;
42
75
  Topbar.Container = TopbarContainer;