@simplysm/solid 13.0.0-beta.6 → 13.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (777) hide show
  1. package/README.md +103 -1544
  2. package/dist/components/data/Pagination.d.ts.map +1 -0
  3. package/dist/components/data/Pagination.js +102 -56
  4. package/dist/components/data/Pagination.js.map +2 -3
  5. package/dist/components/data/Table.d.ts.map +1 -0
  6. package/dist/components/data/Table.js +16 -8
  7. package/dist/components/data/Table.js.map +2 -3
  8. package/dist/components/data/calendar/Calendar.d.ts.map +1 -0
  9. package/dist/components/data/calendar/Calendar.js +73 -21
  10. package/dist/components/data/calendar/Calendar.js.map +2 -3
  11. package/dist/components/data/kanban/Kanban.css +10 -0
  12. package/dist/components/data/kanban/Kanban.d.ts.map +1 -0
  13. package/dist/components/data/kanban/Kanban.js +181 -103
  14. package/dist/components/data/kanban/Kanban.js.map +2 -3
  15. package/dist/components/data/kanban/KanbanContext.d.ts.map +1 -0
  16. package/dist/components/data/kanban/KanbanContext.js.map +0 -1
  17. package/dist/components/data/list/List.d.ts.map +1 -0
  18. package/dist/components/data/list/List.js +32 -23
  19. package/dist/components/data/list/List.js.map +2 -3
  20. package/dist/components/data/list/ListContext.d.ts.map +1 -0
  21. package/dist/components/data/list/ListContext.js.map +0 -1
  22. package/dist/components/data/list/ListItem.d.ts.map +1 -0
  23. package/dist/components/data/list/ListItem.js +108 -59
  24. package/dist/components/data/list/ListItem.js.map +2 -3
  25. package/dist/components/data/list/ListItem.styles.d.ts.map +1 -0
  26. package/dist/components/data/list/ListItem.styles.js +3 -3
  27. package/dist/components/data/list/ListItem.styles.js.map +0 -1
  28. package/dist/components/data/permission-table/PermissionTable.d.ts.map +1 -0
  29. package/dist/components/data/permission-table/PermissionTable.js +105 -38
  30. package/dist/components/data/permission-table/PermissionTable.js.map +2 -3
  31. package/dist/components/data/sheet/DataSheet.css +26 -0
  32. package/dist/components/data/sheet/DataSheet.d.ts.map +1 -0
  33. package/dist/components/data/sheet/DataSheet.js +654 -438
  34. package/dist/components/data/sheet/DataSheet.js.map +2 -3
  35. package/dist/components/data/sheet/DataSheet.styles.d.ts.map +1 -0
  36. package/dist/components/data/sheet/DataSheet.styles.js +1 -1
  37. package/dist/components/data/sheet/DataSheet.styles.js.map +0 -1
  38. package/dist/components/data/sheet/DataSheetColumn.d.ts.map +1 -0
  39. package/dist/components/data/sheet/DataSheetColumn.js +1 -1
  40. package/dist/components/data/sheet/DataSheetColumn.js.map +2 -3
  41. package/dist/components/data/sheet/DataSheetConfigDialog.d.ts.map +1 -0
  42. package/dist/components/data/sheet/DataSheetConfigDialog.js +92 -18
  43. package/dist/components/data/sheet/DataSheetConfigDialog.js.map +2 -3
  44. package/dist/components/data/sheet/sheetUtils.d.ts.map +1 -0
  45. package/dist/components/data/sheet/sheetUtils.js.map +0 -1
  46. package/dist/components/data/sheet/types.d.ts.map +1 -0
  47. package/dist/components/data/sheet/types.js.map +0 -1
  48. package/dist/components/disclosure/Collapse.d.ts.map +1 -0
  49. package/dist/components/disclosure/Collapse.js +40 -23
  50. package/dist/components/disclosure/Collapse.js.map +2 -3
  51. package/dist/components/disclosure/Dialog.d.ts.map +1 -0
  52. package/dist/components/disclosure/Dialog.js +133 -141
  53. package/dist/components/disclosure/Dialog.js.map +2 -3
  54. package/dist/components/disclosure/DialogContext.d.ts.map +1 -0
  55. package/dist/components/disclosure/DialogContext.js.map +0 -1
  56. package/dist/components/disclosure/DialogInstanceContext.d.ts.map +1 -0
  57. package/dist/components/disclosure/DialogInstanceContext.js.map +0 -1
  58. package/dist/components/disclosure/DialogProvider.d.ts.map +1 -0
  59. package/dist/components/disclosure/DialogProvider.js +92 -40
  60. package/dist/components/disclosure/DialogProvider.js.map +2 -3
  61. package/dist/components/disclosure/Dropdown.d.ts.map +1 -0
  62. package/dist/components/disclosure/Dropdown.js +62 -47
  63. package/dist/components/disclosure/Dropdown.js.map +2 -3
  64. package/dist/components/disclosure/Tabs.d.ts.map +1 -0
  65. package/dist/components/disclosure/Tabs.js +57 -29
  66. package/dist/components/disclosure/Tabs.js.map +2 -3
  67. package/dist/components/disclosure/dialogZIndex.d.ts.map +1 -0
  68. package/dist/components/disclosure/dialogZIndex.js.map +0 -1
  69. package/dist/components/display/Alert.d.ts.map +1 -0
  70. package/dist/components/display/Alert.js +16 -2
  71. package/dist/components/display/Alert.js.map +2 -3
  72. package/dist/components/display/Barcode.d.ts.map +1 -0
  73. package/dist/components/display/Barcode.js +16 -1
  74. package/dist/components/display/Barcode.js.map +2 -3
  75. package/dist/components/display/Card.css +14 -0
  76. package/dist/components/display/Card.d.ts.map +1 -0
  77. package/dist/components/display/Card.js +16 -10
  78. package/dist/components/display/Card.js.map +2 -3
  79. package/dist/{solid/src/components → components}/display/Echarts.d.ts +2 -2
  80. package/dist/components/display/Echarts.d.ts.map +1 -0
  81. package/dist/components/display/Echarts.js +28 -6
  82. package/dist/components/display/Echarts.js.map +2 -3
  83. package/dist/components/display/Icon.d.ts.map +1 -0
  84. package/dist/components/display/Icon.js +12 -1
  85. package/dist/components/display/Icon.js.map +2 -3
  86. package/dist/components/display/Tag.d.ts.map +1 -0
  87. package/dist/components/display/Tag.js +17 -5
  88. package/dist/components/display/Tag.js.map +2 -3
  89. package/dist/components/feedback/Progress.d.ts.map +1 -0
  90. package/dist/components/feedback/Progress.js +43 -12
  91. package/dist/components/feedback/Progress.js.map +2 -3
  92. package/dist/components/feedback/loading/LoadingContainer.css +19 -0
  93. package/dist/components/feedback/loading/LoadingContainer.d.ts.map +1 -0
  94. package/dist/components/feedback/loading/LoadingContainer.js +109 -45
  95. package/dist/components/feedback/loading/LoadingContainer.js.map +2 -3
  96. package/dist/components/feedback/loading/LoadingContext.d.ts.map +1 -0
  97. package/dist/components/feedback/loading/LoadingContext.js.map +0 -1
  98. package/dist/components/feedback/loading/LoadingProvider.d.ts.map +1 -0
  99. package/dist/components/feedback/loading/LoadingProvider.js +32 -12
  100. package/dist/components/feedback/loading/LoadingProvider.js.map +2 -3
  101. package/dist/components/feedback/notification/NotificationBanner.d.ts.map +1 -0
  102. package/dist/components/feedback/notification/NotificationBanner.js +64 -30
  103. package/dist/components/feedback/notification/NotificationBanner.js.map +2 -3
  104. package/dist/components/feedback/notification/NotificationBell.d.ts.map +1 -0
  105. package/dist/components/feedback/notification/NotificationBell.js +118 -50
  106. package/dist/components/feedback/notification/NotificationBell.js.map +2 -3
  107. package/dist/components/feedback/notification/NotificationContext.d.ts.map +1 -0
  108. package/dist/components/feedback/notification/NotificationContext.js.map +0 -1
  109. package/dist/components/feedback/notification/NotificationProvider.d.ts.map +1 -0
  110. package/dist/components/feedback/notification/NotificationProvider.js +41 -17
  111. package/dist/components/feedback/notification/NotificationProvider.js.map +2 -3
  112. package/dist/components/feedback/notification/index.d.ts.map +1 -0
  113. package/dist/components/feedback/notification/index.js +4 -4
  114. package/dist/components/feedback/notification/index.js.map +0 -1
  115. package/dist/components/feedback/print/Print.d.ts.map +1 -0
  116. package/dist/components/feedback/print/Print.js +10 -2
  117. package/dist/components/feedback/print/Print.js.map +2 -3
  118. package/dist/components/feedback/print/PrintInstanceContext.d.ts.map +1 -0
  119. package/dist/components/feedback/print/PrintInstanceContext.js.map +0 -1
  120. package/dist/components/form-control/Button.d.ts.map +1 -0
  121. package/dist/components/form-control/Button.js +35 -56
  122. package/dist/components/form-control/Button.js.map +2 -3
  123. package/dist/components/form-control/DropdownTrigger.styles.d.ts.map +1 -0
  124. package/dist/components/form-control/DropdownTrigger.styles.js +2 -2
  125. package/dist/components/form-control/DropdownTrigger.styles.js.map +0 -1
  126. package/dist/components/form-control/Invalid.d.ts +10 -0
  127. package/dist/components/form-control/Invalid.d.ts.map +1 -0
  128. package/dist/components/form-control/Invalid.js +51 -0
  129. package/dist/components/form-control/Invalid.js.map +6 -0
  130. package/dist/components/form-control/ThemeToggle.d.ts.map +1 -0
  131. package/dist/components/form-control/ThemeToggle.js +75 -30
  132. package/dist/components/form-control/ThemeToggle.js.map +2 -3
  133. package/dist/{solid/src/components/form-control/checkbox/Radio.d.ts.map → components/form-control/checkbox/Checkbox.d.ts.map} +1 -1
  134. package/dist/components/form-control/checkbox/Checkbox.js +60 -50
  135. package/dist/components/form-control/checkbox/Checkbox.js.map +2 -3
  136. package/dist/components/form-control/checkbox/Checkbox.styles.d.ts.map +1 -0
  137. package/dist/components/form-control/checkbox/Checkbox.styles.js +2 -2
  138. package/dist/components/form-control/checkbox/Checkbox.styles.js.map +0 -1
  139. package/dist/components/form-control/checkbox/CheckboxGroup.d.ts.map +1 -0
  140. package/dist/components/form-control/checkbox/CheckboxGroup.js +49 -27
  141. package/dist/components/form-control/checkbox/CheckboxGroup.js.map +2 -3
  142. package/dist/components/form-control/checkbox/Radio.d.ts.map +1 -0
  143. package/dist/components/form-control/checkbox/Radio.js +58 -49
  144. package/dist/components/form-control/checkbox/Radio.js.map +2 -3
  145. package/dist/components/form-control/checkbox/RadioGroup.d.ts.map +1 -0
  146. package/dist/components/form-control/checkbox/RadioGroup.js +49 -27
  147. package/dist/components/form-control/checkbox/RadioGroup.js.map +2 -3
  148. package/dist/components/form-control/color-picker/ColorPicker.d.ts.map +1 -0
  149. package/dist/components/form-control/color-picker/ColorPicker.js +30 -21
  150. package/dist/components/form-control/color-picker/ColorPicker.js.map +2 -3
  151. package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -0
  152. package/dist/components/form-control/combobox/Combobox.js +172 -84
  153. package/dist/components/form-control/combobox/Combobox.js.map +2 -3
  154. package/dist/components/form-control/combobox/ComboboxContext.d.ts.map +1 -0
  155. package/dist/components/form-control/combobox/ComboboxContext.js.map +0 -1
  156. package/dist/components/form-control/combobox/ComboboxItem.d.ts.map +1 -0
  157. package/dist/components/form-control/combobox/ComboboxItem.js +38 -31
  158. package/dist/components/form-control/combobox/ComboboxItem.js.map +2 -3
  159. package/dist/components/form-control/date-range-picker/DateRangePicker.d.ts.map +1 -0
  160. package/dist/components/form-control/date-range-picker/DateRangePicker.js +105 -67
  161. package/dist/components/form-control/date-range-picker/DateRangePicker.js.map +2 -3
  162. package/dist/components/form-control/editor/EditorToolbar.d.ts.map +1 -0
  163. package/dist/components/form-control/editor/EditorToolbar.js +211 -248
  164. package/dist/components/form-control/editor/EditorToolbar.js.map +2 -3
  165. package/dist/{solid/src/components → components}/form-control/editor/RichTextEditor.d.ts +0 -2
  166. package/dist/components/form-control/editor/RichTextEditor.d.ts.map +1 -0
  167. package/dist/components/form-control/editor/RichTextEditor.js +73 -58
  168. package/dist/components/form-control/editor/RichTextEditor.js.map +2 -3
  169. package/dist/components/form-control/editor/editor.css +81 -0
  170. package/dist/{solid/src/components → components}/form-control/field/DatePicker.d.ts +0 -2
  171. package/dist/components/form-control/field/DatePicker.d.ts.map +1 -0
  172. package/dist/components/form-control/field/DatePicker.js +123 -91
  173. package/dist/components/form-control/field/DatePicker.js.map +2 -3
  174. package/dist/{solid/src/components → components}/form-control/field/DateTimePicker.d.ts +0 -2
  175. package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -0
  176. package/dist/components/form-control/field/DateTimePicker.js +123 -108
  177. package/dist/components/form-control/field/DateTimePicker.js.map +2 -3
  178. package/dist/{solid/src/components → components}/form-control/field/Field.styles.d.ts +0 -1
  179. package/dist/components/form-control/field/Field.styles.d.ts.map +1 -0
  180. package/dist/components/form-control/field/Field.styles.js +2 -4
  181. package/dist/components/form-control/field/Field.styles.js.map +1 -2
  182. package/dist/{solid/src/components → components}/form-control/field/NumberInput.d.ts +0 -2
  183. package/dist/components/form-control/field/NumberInput.d.ts.map +1 -0
  184. package/dist/components/form-control/field/NumberInput.js +137 -102
  185. package/dist/components/form-control/field/NumberInput.js.map +2 -3
  186. package/dist/{solid/src/components → components}/form-control/field/TextInput.d.ts +0 -2
  187. package/dist/components/form-control/field/TextInput.d.ts.map +1 -0
  188. package/dist/components/form-control/field/TextInput.js +133 -98
  189. package/dist/components/form-control/field/TextInput.js.map +2 -3
  190. package/dist/{solid/src/components → components}/form-control/field/Textarea.d.ts +0 -2
  191. package/dist/components/form-control/field/Textarea.d.ts.map +1 -0
  192. package/dist/components/form-control/field/Textarea.js +147 -128
  193. package/dist/components/form-control/field/Textarea.js.map +2 -3
  194. package/dist/{solid/src/components → components}/form-control/field/TimePicker.d.ts +0 -2
  195. package/dist/components/form-control/field/TimePicker.d.ts.map +1 -0
  196. package/dist/components/form-control/field/TimePicker.js +115 -87
  197. package/dist/components/form-control/field/TimePicker.js.map +2 -3
  198. package/dist/components/form-control/numpad/Numpad.d.ts.map +1 -0
  199. package/dist/components/form-control/numpad/Numpad.js +189 -31
  200. package/dist/components/form-control/numpad/Numpad.js.map +2 -3
  201. package/dist/components/form-control/select/Select.d.ts.map +1 -0
  202. package/dist/components/form-control/select/Select.js +188 -86
  203. package/dist/components/form-control/select/Select.js.map +2 -3
  204. package/dist/components/form-control/select/SelectContext.d.ts.map +1 -0
  205. package/dist/components/form-control/select/SelectContext.js.map +0 -1
  206. package/dist/components/form-control/select/SelectItem.d.ts.map +1 -0
  207. package/dist/components/form-control/select/SelectItem.js +79 -38
  208. package/dist/components/form-control/select/SelectItem.js.map +2 -3
  209. package/dist/components/form-control/state-preset/StatePreset.d.ts.map +1 -0
  210. package/dist/components/form-control/state-preset/StatePreset.js +95 -80
  211. package/dist/components/form-control/state-preset/StatePreset.js.map +2 -3
  212. package/dist/components/layout/FormGroup.d.ts.map +1 -0
  213. package/dist/components/layout/FormGroup.js +47 -11
  214. package/dist/components/layout/FormGroup.js.map +2 -3
  215. package/dist/components/layout/FormTable.d.ts.map +1 -0
  216. package/dist/components/layout/FormTable.js +15 -1
  217. package/dist/components/layout/FormTable.js.map +2 -3
  218. package/dist/components/layout/sidebar/Sidebar.d.ts.map +1 -0
  219. package/dist/components/layout/sidebar/Sidebar.js +37 -36
  220. package/dist/components/layout/sidebar/Sidebar.js.map +2 -3
  221. package/dist/{solid/src/components → components}/layout/sidebar/SidebarContainer.d.ts +1 -1
  222. package/dist/components/layout/sidebar/SidebarContainer.d.ts.map +1 -0
  223. package/dist/components/layout/sidebar/SidebarContainer.js +48 -35
  224. package/dist/components/layout/sidebar/SidebarContainer.js.map +2 -3
  225. package/dist/components/layout/sidebar/SidebarContext.d.ts.map +1 -0
  226. package/dist/components/layout/sidebar/SidebarContext.js.map +0 -1
  227. package/dist/components/layout/sidebar/SidebarMenu.d.ts.map +1 -0
  228. package/dist/components/layout/sidebar/SidebarMenu.js +91 -25
  229. package/dist/components/layout/sidebar/SidebarMenu.js.map +2 -3
  230. package/dist/components/layout/sidebar/SidebarUser.d.ts +48 -0
  231. package/dist/components/layout/sidebar/SidebarUser.d.ts.map +1 -0
  232. package/dist/components/layout/sidebar/SidebarUser.js +99 -26
  233. package/dist/components/layout/sidebar/SidebarUser.js.map +2 -3
  234. package/dist/components/layout/topbar/Topbar.d.ts.map +1 -0
  235. package/dist/components/layout/topbar/Topbar.js +40 -7
  236. package/dist/components/layout/topbar/Topbar.js.map +2 -3
  237. package/dist/components/layout/topbar/TopbarContainer.d.ts.map +1 -0
  238. package/dist/components/layout/topbar/TopbarContainer.js +16 -1
  239. package/dist/components/layout/topbar/TopbarContainer.js.map +2 -3
  240. package/dist/components/layout/topbar/TopbarMenu.d.ts.map +1 -0
  241. package/dist/components/layout/topbar/TopbarMenu.js +200 -28
  242. package/dist/components/layout/topbar/TopbarMenu.js.map +2 -3
  243. package/dist/components/layout/topbar/TopbarUser.d.ts.map +1 -0
  244. package/dist/components/layout/topbar/TopbarUser.js +83 -16
  245. package/dist/components/layout/topbar/TopbarUser.js.map +2 -3
  246. package/dist/directives/ripple.d.ts.map +1 -0
  247. package/dist/directives/ripple.js.map +0 -1
  248. package/dist/helpers/createAppStructure.d.ts.map +1 -0
  249. package/dist/helpers/createAppStructure.js.map +0 -1
  250. package/dist/helpers/mergeStyles.d.ts.map +1 -0
  251. package/dist/helpers/mergeStyles.js.map +0 -1
  252. package/dist/helpers/splitSlots.d.ts.map +1 -0
  253. package/dist/helpers/splitSlots.js.map +0 -1
  254. package/dist/hooks/createControllableSignal.d.ts.map +1 -0
  255. package/dist/hooks/createControllableSignal.js.map +0 -1
  256. package/dist/hooks/createIMEHandler.d.ts.map +1 -0
  257. package/dist/hooks/createIMEHandler.js.map +0 -1
  258. package/dist/hooks/createMountTransition.d.ts.map +1 -0
  259. package/dist/hooks/createMountTransition.js.map +0 -1
  260. package/dist/hooks/createPwaUpdate.d.ts +14 -0
  261. package/dist/hooks/createPwaUpdate.d.ts.map +1 -0
  262. package/dist/hooks/createPwaUpdate.js +50 -0
  263. package/dist/hooks/createPwaUpdate.js.map +6 -0
  264. package/dist/hooks/useClipboardValueCopy.d.ts.map +1 -0
  265. package/dist/hooks/useClipboardValueCopy.js +1 -2
  266. package/dist/hooks/useClipboardValueCopy.js.map +1 -2
  267. package/dist/hooks/useLocalStorage.d.ts +29 -0
  268. package/dist/hooks/useLocalStorage.d.ts.map +1 -0
  269. package/dist/hooks/useLocalStorage.js +36 -0
  270. package/dist/hooks/useLocalStorage.js.map +6 -0
  271. package/dist/hooks/useLogger.d.ts +9 -0
  272. package/dist/hooks/useLogger.d.ts.map +1 -0
  273. package/dist/hooks/useLogger.js +24 -0
  274. package/dist/hooks/useLogger.js.map +6 -0
  275. package/dist/hooks/usePrint.d.ts.map +1 -0
  276. package/dist/hooks/usePrint.js +2 -2
  277. package/dist/hooks/usePrint.js.map +0 -1
  278. package/dist/hooks/useRouterLink.d.ts.map +1 -0
  279. package/dist/hooks/useRouterLink.js.map +0 -1
  280. package/dist/hooks/useSyncConfig.d.ts +24 -0
  281. package/dist/hooks/useSyncConfig.d.ts.map +1 -0
  282. package/dist/hooks/useSyncConfig.js +60 -0
  283. package/dist/hooks/useSyncConfig.js.map +6 -0
  284. package/dist/{solid/src/index.d.ts → index.d.ts} +9 -4
  285. package/dist/index.d.ts.map +1 -0
  286. package/dist/index.js +90 -84
  287. package/dist/index.js.map +1 -2
  288. package/dist/{solid/src/providers → providers}/ConfigContext.d.ts +20 -2
  289. package/dist/providers/ConfigContext.d.ts.map +1 -0
  290. package/dist/providers/ConfigContext.js.map +1 -2
  291. package/dist/{solid/src/providers → providers}/InitializeProvider.d.ts +6 -3
  292. package/dist/providers/InitializeProvider.d.ts.map +1 -0
  293. package/dist/providers/InitializeProvider.js +58 -3
  294. package/dist/providers/InitializeProvider.js.map +2 -3
  295. package/dist/providers/ServiceClientContext.d.ts.map +1 -0
  296. package/dist/providers/ServiceClientContext.js.map +0 -1
  297. package/dist/providers/ServiceClientProvider.d.ts.map +1 -0
  298. package/dist/providers/ServiceClientProvider.js +30 -24
  299. package/dist/providers/ServiceClientProvider.js.map +2 -3
  300. package/dist/{solid/src/providers → providers}/ThemeContext.d.ts +1 -1
  301. package/dist/providers/ThemeContext.d.ts.map +1 -0
  302. package/dist/providers/ThemeContext.js +10 -6
  303. package/dist/providers/ThemeContext.js.map +2 -3
  304. package/dist/providers/shared-data/SharedDataChangeEvent.d.ts +5 -0
  305. package/dist/providers/shared-data/SharedDataChangeEvent.d.ts.map +1 -0
  306. package/dist/providers/shared-data/SharedDataChangeEvent.js +4 -4
  307. package/dist/providers/shared-data/SharedDataChangeEvent.js.map +1 -2
  308. package/dist/providers/shared-data/SharedDataContext.d.ts.map +1 -0
  309. package/dist/providers/shared-data/SharedDataContext.js.map +0 -1
  310. package/dist/providers/shared-data/SharedDataProvider.d.ts.map +1 -0
  311. package/dist/providers/shared-data/SharedDataProvider.js +20 -17
  312. package/dist/providers/shared-data/SharedDataProvider.js.map +2 -3
  313. package/dist/styles/patterns.styles.d.ts.map +1 -0
  314. package/dist/styles/patterns.styles.js +1 -1
  315. package/dist/styles/patterns.styles.js.map +0 -1
  316. package/dist/styles/tokens.styles.d.ts.map +1 -0
  317. package/dist/styles/tokens.styles.js.map +0 -1
  318. package/docs/data-components.md +304 -0
  319. package/docs/disclosure.md +208 -0
  320. package/docs/display.md +136 -0
  321. package/docs/feedback.md +188 -0
  322. package/docs/form-controls.md +535 -0
  323. package/docs/helpers.md +46 -0
  324. package/docs/hooks.md +313 -0
  325. package/docs/layout.md +289 -0
  326. package/docs/providers.md +35 -0
  327. package/docs/styling.md +67 -0
  328. package/package.json +20 -10
  329. package/src/components/data/list/ListItem.styles.ts +2 -2
  330. package/src/components/data/sheet/DataSheet.tsx +3 -3
  331. package/src/components/display/Echarts.tsx +18 -11
  332. package/src/components/form-control/Invalid.tsx +61 -0
  333. package/src/components/form-control/editor/RichTextEditor.tsx +2 -9
  334. package/src/components/form-control/field/DatePicker.tsx +0 -6
  335. package/src/components/form-control/field/DateTimePicker.tsx +0 -6
  336. package/src/components/form-control/field/Field.styles.ts +0 -3
  337. package/src/components/form-control/field/NumberInput.tsx +0 -6
  338. package/src/components/form-control/field/TextInput.tsx +0 -6
  339. package/src/components/form-control/field/Textarea.tsx +0 -6
  340. package/src/components/form-control/field/TimePicker.tsx +0 -6
  341. package/src/components/form-control/state-preset/StatePreset.tsx +2 -2
  342. package/src/components/layout/sidebar/SidebarContainer.tsx +3 -4
  343. package/src/components/layout/sidebar/SidebarUser.tsx +44 -16
  344. package/src/hooks/createPwaUpdate.ts +73 -0
  345. package/src/hooks/useClipboardValueCopy.ts +1 -1
  346. package/src/hooks/useLocalStorage.ts +68 -0
  347. package/src/hooks/useLogger.ts +32 -0
  348. package/src/hooks/useSyncConfig.ts +99 -0
  349. package/src/index.ts +9 -4
  350. package/src/providers/ConfigContext.ts +23 -2
  351. package/src/providers/InitializeProvider.tsx +59 -5
  352. package/src/providers/ServiceClientProvider.tsx +2 -2
  353. package/src/providers/ThemeContext.tsx +3 -3
  354. package/src/providers/shared-data/SharedDataChangeEvent.ts +4 -7
  355. package/src/providers/shared-data/SharedDataProvider.tsx +3 -0
  356. package/.cache/typecheck-browser.tsbuildinfo +0 -1
  357. package/.cache/typecheck-tests-browser.tsbuildinfo +0 -1
  358. package/dist/core-browser/src/extensions/element-ext.d.ts +0 -98
  359. package/dist/core-browser/src/extensions/element-ext.d.ts.map +0 -1
  360. package/dist/core-browser/src/extensions/html-element-ext.d.ts +0 -54
  361. package/dist/core-browser/src/extensions/html-element-ext.d.ts.map +0 -1
  362. package/dist/core-browser/src/index.d.ts +0 -7
  363. package/dist/core-browser/src/index.d.ts.map +0 -1
  364. package/dist/core-browser/src/utils/blob.d.ts +0 -10
  365. package/dist/core-browser/src/utils/blob.d.ts.map +0 -1
  366. package/dist/core-browser/src/utils/download.d.ts +0 -11
  367. package/dist/core-browser/src/utils/download.d.ts.map +0 -1
  368. package/dist/core-common/src/common.types.d.ts +0 -74
  369. package/dist/core-common/src/common.types.d.ts.map +0 -1
  370. package/dist/core-common/src/env.d.ts +0 -6
  371. package/dist/core-common/src/env.d.ts.map +0 -1
  372. package/dist/core-common/src/errors/argument-error.d.ts +0 -25
  373. package/dist/core-common/src/errors/argument-error.d.ts.map +0 -1
  374. package/dist/core-common/src/errors/not-implemented-error.d.ts +0 -29
  375. package/dist/core-common/src/errors/not-implemented-error.d.ts.map +0 -1
  376. package/dist/core-common/src/errors/sd-error.d.ts +0 -27
  377. package/dist/core-common/src/errors/sd-error.d.ts.map +0 -1
  378. package/dist/core-common/src/errors/timeout-error.d.ts +0 -31
  379. package/dist/core-common/src/errors/timeout-error.d.ts.map +0 -1
  380. package/dist/core-common/src/extensions/arr-ext.d.ts +0 -15
  381. package/dist/core-common/src/extensions/arr-ext.d.ts.map +0 -1
  382. package/dist/core-common/src/extensions/arr-ext.helpers.d.ts +0 -19
  383. package/dist/core-common/src/extensions/arr-ext.helpers.d.ts.map +0 -1
  384. package/dist/core-common/src/extensions/arr-ext.types.d.ts +0 -215
  385. package/dist/core-common/src/extensions/arr-ext.types.d.ts.map +0 -1
  386. package/dist/core-common/src/extensions/map-ext.d.ts +0 -57
  387. package/dist/core-common/src/extensions/map-ext.d.ts.map +0 -1
  388. package/dist/core-common/src/extensions/set-ext.d.ts +0 -36
  389. package/dist/core-common/src/extensions/set-ext.d.ts.map +0 -1
  390. package/dist/core-common/src/features/debounce-queue.d.ts +0 -53
  391. package/dist/core-common/src/features/debounce-queue.d.ts.map +0 -1
  392. package/dist/core-common/src/features/event-emitter.d.ts +0 -66
  393. package/dist/core-common/src/features/event-emitter.d.ts.map +0 -1
  394. package/dist/core-common/src/features/serial-queue.d.ts +0 -47
  395. package/dist/core-common/src/features/serial-queue.d.ts.map +0 -1
  396. package/dist/core-common/src/index.d.ts +0 -32
  397. package/dist/core-common/src/index.d.ts.map +0 -1
  398. package/dist/core-common/src/types/date-only.d.ts +0 -152
  399. package/dist/core-common/src/types/date-only.d.ts.map +0 -1
  400. package/dist/core-common/src/types/date-time.d.ts +0 -96
  401. package/dist/core-common/src/types/date-time.d.ts.map +0 -1
  402. package/dist/core-common/src/types/lazy-gc-map.d.ts +0 -80
  403. package/dist/core-common/src/types/lazy-gc-map.d.ts.map +0 -1
  404. package/dist/core-common/src/types/time.d.ts +0 -68
  405. package/dist/core-common/src/types/time.d.ts.map +0 -1
  406. package/dist/core-common/src/types/uuid.d.ts +0 -35
  407. package/dist/core-common/src/types/uuid.d.ts.map +0 -1
  408. package/dist/core-common/src/utils/bytes.d.ts +0 -51
  409. package/dist/core-common/src/utils/bytes.d.ts.map +0 -1
  410. package/dist/core-common/src/utils/date-format.d.ts +0 -90
  411. package/dist/core-common/src/utils/date-format.d.ts.map +0 -1
  412. package/dist/core-common/src/utils/json.d.ts +0 -34
  413. package/dist/core-common/src/utils/json.d.ts.map +0 -1
  414. package/dist/core-common/src/utils/num.d.ts +0 -60
  415. package/dist/core-common/src/utils/num.d.ts.map +0 -1
  416. package/dist/core-common/src/utils/obj.d.ts +0 -258
  417. package/dist/core-common/src/utils/obj.d.ts.map +0 -1
  418. package/dist/core-common/src/utils/path.d.ts +0 -23
  419. package/dist/core-common/src/utils/path.d.ts.map +0 -1
  420. package/dist/core-common/src/utils/primitive.d.ts +0 -18
  421. package/dist/core-common/src/utils/primitive.d.ts.map +0 -1
  422. package/dist/core-common/src/utils/str.d.ts +0 -103
  423. package/dist/core-common/src/utils/str.d.ts.map +0 -1
  424. package/dist/core-common/src/utils/template-strings.d.ts +0 -84
  425. package/dist/core-common/src/utils/template-strings.d.ts.map +0 -1
  426. package/dist/core-common/src/utils/transferable.d.ts +0 -47
  427. package/dist/core-common/src/utils/transferable.d.ts.map +0 -1
  428. package/dist/core-common/src/utils/wait.d.ts +0 -19
  429. package/dist/core-common/src/utils/wait.d.ts.map +0 -1
  430. package/dist/core-common/src/utils/xml.d.ts +0 -36
  431. package/dist/core-common/src/utils/xml.d.ts.map +0 -1
  432. package/dist/core-common/src/zip/sd-zip.d.ts +0 -80
  433. package/dist/core-common/src/zip/sd-zip.d.ts.map +0 -1
  434. package/dist/hooks/usePersisted.js +0 -25
  435. package/dist/hooks/usePersisted.js.map +0 -7
  436. package/dist/orm-common/src/db-context.d.ts +0 -669
  437. package/dist/orm-common/src/db-context.d.ts.map +0 -1
  438. package/dist/orm-common/src/errors/db-transaction-error.d.ts +0 -51
  439. package/dist/orm-common/src/errors/db-transaction-error.d.ts.map +0 -1
  440. package/dist/orm-common/src/exec/executable.d.ts +0 -79
  441. package/dist/orm-common/src/exec/executable.d.ts.map +0 -1
  442. package/dist/orm-common/src/exec/queryable.d.ts +0 -708
  443. package/dist/orm-common/src/exec/queryable.d.ts.map +0 -1
  444. package/dist/orm-common/src/exec/search-parser.d.ts +0 -72
  445. package/dist/orm-common/src/exec/search-parser.d.ts.map +0 -1
  446. package/dist/orm-common/src/expr/expr-unit.d.ts +0 -25
  447. package/dist/orm-common/src/expr/expr-unit.d.ts.map +0 -1
  448. package/dist/orm-common/src/expr/expr.d.ts +0 -1369
  449. package/dist/orm-common/src/expr/expr.d.ts.map +0 -1
  450. package/dist/orm-common/src/index.d.ts +0 -32
  451. package/dist/orm-common/src/index.d.ts.map +0 -1
  452. package/dist/orm-common/src/models/system-migration.d.ts +0 -10
  453. package/dist/orm-common/src/models/system-migration.d.ts.map +0 -1
  454. package/dist/orm-common/src/query-builder/base/expr-renderer-base.d.ts +0 -95
  455. package/dist/orm-common/src/query-builder/base/expr-renderer-base.d.ts.map +0 -1
  456. package/dist/orm-common/src/query-builder/base/query-builder-base.d.ts +0 -66
  457. package/dist/orm-common/src/query-builder/base/query-builder-base.d.ts.map +0 -1
  458. package/dist/orm-common/src/query-builder/mssql/mssql-expr-renderer.d.ts +0 -84
  459. package/dist/orm-common/src/query-builder/mssql/mssql-expr-renderer.d.ts.map +0 -1
  460. package/dist/orm-common/src/query-builder/mssql/mssql-query-builder.d.ts +0 -45
  461. package/dist/orm-common/src/query-builder/mssql/mssql-query-builder.d.ts.map +0 -1
  462. package/dist/orm-common/src/query-builder/mysql/mysql-expr-renderer.d.ts +0 -84
  463. package/dist/orm-common/src/query-builder/mysql/mysql-expr-renderer.d.ts.map +0 -1
  464. package/dist/orm-common/src/query-builder/mysql/mysql-query-builder.d.ts +0 -54
  465. package/dist/orm-common/src/query-builder/mysql/mysql-query-builder.d.ts.map +0 -1
  466. package/dist/orm-common/src/query-builder/postgresql/postgresql-expr-renderer.d.ts +0 -84
  467. package/dist/orm-common/src/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +0 -1
  468. package/dist/orm-common/src/query-builder/postgresql/postgresql-query-builder.d.ts +0 -52
  469. package/dist/orm-common/src/query-builder/postgresql/postgresql-query-builder.d.ts.map +0 -1
  470. package/dist/orm-common/src/query-builder/query-builder.d.ts +0 -7
  471. package/dist/orm-common/src/query-builder/query-builder.d.ts.map +0 -1
  472. package/dist/orm-common/src/schema/factory/column-builder.d.ts +0 -394
  473. package/dist/orm-common/src/schema/factory/column-builder.d.ts.map +0 -1
  474. package/dist/orm-common/src/schema/factory/index-builder.d.ts +0 -151
  475. package/dist/orm-common/src/schema/factory/index-builder.d.ts.map +0 -1
  476. package/dist/orm-common/src/schema/factory/relation-builder.d.ts +0 -337
  477. package/dist/orm-common/src/schema/factory/relation-builder.d.ts.map +0 -1
  478. package/dist/orm-common/src/schema/procedure-builder.d.ts +0 -202
  479. package/dist/orm-common/src/schema/procedure-builder.d.ts.map +0 -1
  480. package/dist/orm-common/src/schema/table-builder.d.ts +0 -259
  481. package/dist/orm-common/src/schema/table-builder.d.ts.map +0 -1
  482. package/dist/orm-common/src/schema/view-builder.d.ts +0 -183
  483. package/dist/orm-common/src/schema/view-builder.d.ts.map +0 -1
  484. package/dist/orm-common/src/types/column.d.ts +0 -172
  485. package/dist/orm-common/src/types/column.d.ts.map +0 -1
  486. package/dist/orm-common/src/types/db.d.ts +0 -175
  487. package/dist/orm-common/src/types/db.d.ts.map +0 -1
  488. package/dist/orm-common/src/types/expr.d.ts +0 -474
  489. package/dist/orm-common/src/types/expr.d.ts.map +0 -1
  490. package/dist/orm-common/src/types/query-def.d.ts +0 -351
  491. package/dist/orm-common/src/types/query-def.d.ts.map +0 -1
  492. package/dist/orm-common/src/utils/result-parser.d.ts +0 -38
  493. package/dist/orm-common/src/utils/result-parser.d.ts.map +0 -1
  494. package/dist/service-client/src/features/event-client.d.ts +0 -14
  495. package/dist/service-client/src/features/event-client.d.ts.map +0 -1
  496. package/dist/service-client/src/features/file-client.d.ts +0 -13
  497. package/dist/service-client/src/features/file-client.d.ts.map +0 -1
  498. package/dist/service-client/src/features/orm/orm-client-connector.d.ts +0 -10
  499. package/dist/service-client/src/features/orm/orm-client-connector.d.ts.map +0 -1
  500. package/dist/service-client/src/features/orm/orm-client-db-context-executor.d.ts +0 -26
  501. package/dist/service-client/src/features/orm/orm-client-db-context-executor.d.ts.map +0 -1
  502. package/dist/service-client/src/features/orm/orm-connect-config.d.ts +0 -13
  503. package/dist/service-client/src/features/orm/orm-connect-config.d.ts.map +0 -1
  504. package/dist/service-client/src/index.d.ts +0 -12
  505. package/dist/service-client/src/index.d.ts.map +0 -1
  506. package/dist/service-client/src/protocol/client-protocol-wrapper.d.ts +0 -23
  507. package/dist/service-client/src/protocol/client-protocol-wrapper.d.ts.map +0 -1
  508. package/dist/service-client/src/service-client.d.ts +0 -41
  509. package/dist/service-client/src/service-client.d.ts.map +0 -1
  510. package/dist/service-client/src/transport/service-transport.d.ts +0 -24
  511. package/dist/service-client/src/transport/service-transport.d.ts.map +0 -1
  512. package/dist/service-client/src/transport/socket-provider.d.ts +0 -31
  513. package/dist/service-client/src/transport/socket-provider.d.ts.map +0 -1
  514. package/dist/service-client/src/types/connection-config.d.ts +0 -8
  515. package/dist/service-client/src/types/connection-config.d.ts.map +0 -1
  516. package/dist/service-client/src/types/progress.types.d.ts +0 -10
  517. package/dist/service-client/src/types/progress.types.d.ts.map +0 -1
  518. package/dist/service-common/src/index.d.ts +0 -8
  519. package/dist/service-common/src/index.d.ts.map +0 -1
  520. package/dist/service-common/src/protocol/protocol.types.d.ts +0 -100
  521. package/dist/service-common/src/protocol/protocol.types.d.ts.map +0 -1
  522. package/dist/service-common/src/protocol/service-protocol.d.ts +0 -63
  523. package/dist/service-common/src/protocol/service-protocol.d.ts.map +0 -1
  524. package/dist/service-common/src/service-types/auto-update-service.types.d.ts +0 -17
  525. package/dist/service-common/src/service-types/auto-update-service.types.d.ts.map +0 -1
  526. package/dist/service-common/src/service-types/crypto-service.types.d.ts +0 -22
  527. package/dist/service-common/src/service-types/crypto-service.types.d.ts.map +0 -1
  528. package/dist/service-common/src/service-types/orm-service.types.d.ts +0 -30
  529. package/dist/service-common/src/service-types/orm-service.types.d.ts.map +0 -1
  530. package/dist/service-common/src/service-types/smtp-service.types.d.ts +0 -55
  531. package/dist/service-common/src/service-types/smtp-service.types.d.ts.map +0 -1
  532. package/dist/service-common/src/types.d.ts +0 -43
  533. package/dist/service-common/src/types.d.ts.map +0 -1
  534. package/dist/solid/src/components/data/Pagination.d.ts.map +0 -1
  535. package/dist/solid/src/components/data/Table.d.ts.map +0 -1
  536. package/dist/solid/src/components/data/calendar/Calendar.d.ts.map +0 -1
  537. package/dist/solid/src/components/data/kanban/Kanban.d.ts.map +0 -1
  538. package/dist/solid/src/components/data/kanban/KanbanContext.d.ts.map +0 -1
  539. package/dist/solid/src/components/data/list/List.d.ts.map +0 -1
  540. package/dist/solid/src/components/data/list/ListContext.d.ts.map +0 -1
  541. package/dist/solid/src/components/data/list/ListItem.d.ts.map +0 -1
  542. package/dist/solid/src/components/data/list/ListItem.styles.d.ts.map +0 -1
  543. package/dist/solid/src/components/data/permission-table/PermissionTable.d.ts.map +0 -1
  544. package/dist/solid/src/components/data/sheet/DataSheet.d.ts.map +0 -1
  545. package/dist/solid/src/components/data/sheet/DataSheet.styles.d.ts.map +0 -1
  546. package/dist/solid/src/components/data/sheet/DataSheetColumn.d.ts.map +0 -1
  547. package/dist/solid/src/components/data/sheet/DataSheetConfigDialog.d.ts.map +0 -1
  548. package/dist/solid/src/components/data/sheet/sheetUtils.d.ts.map +0 -1
  549. package/dist/solid/src/components/data/sheet/types.d.ts.map +0 -1
  550. package/dist/solid/src/components/disclosure/Collapse.d.ts.map +0 -1
  551. package/dist/solid/src/components/disclosure/Dialog.d.ts.map +0 -1
  552. package/dist/solid/src/components/disclosure/DialogContext.d.ts.map +0 -1
  553. package/dist/solid/src/components/disclosure/DialogInstanceContext.d.ts.map +0 -1
  554. package/dist/solid/src/components/disclosure/DialogProvider.d.ts.map +0 -1
  555. package/dist/solid/src/components/disclosure/Dropdown.d.ts.map +0 -1
  556. package/dist/solid/src/components/disclosure/Tabs.d.ts.map +0 -1
  557. package/dist/solid/src/components/disclosure/dialogZIndex.d.ts.map +0 -1
  558. package/dist/solid/src/components/display/Alert.d.ts.map +0 -1
  559. package/dist/solid/src/components/display/Barcode.d.ts.map +0 -1
  560. package/dist/solid/src/components/display/Card.d.ts.map +0 -1
  561. package/dist/solid/src/components/display/Echarts.d.ts.map +0 -1
  562. package/dist/solid/src/components/display/Icon.d.ts.map +0 -1
  563. package/dist/solid/src/components/display/Tag.d.ts.map +0 -1
  564. package/dist/solid/src/components/feedback/Progress.d.ts.map +0 -1
  565. package/dist/solid/src/components/feedback/loading/LoadingContainer.d.ts.map +0 -1
  566. package/dist/solid/src/components/feedback/loading/LoadingContext.d.ts.map +0 -1
  567. package/dist/solid/src/components/feedback/loading/LoadingProvider.d.ts.map +0 -1
  568. package/dist/solid/src/components/feedback/notification/NotificationBanner.d.ts.map +0 -1
  569. package/dist/solid/src/components/feedback/notification/NotificationBell.d.ts.map +0 -1
  570. package/dist/solid/src/components/feedback/notification/NotificationContext.d.ts.map +0 -1
  571. package/dist/solid/src/components/feedback/notification/NotificationProvider.d.ts.map +0 -1
  572. package/dist/solid/src/components/feedback/notification/index.d.ts.map +0 -1
  573. package/dist/solid/src/components/feedback/print/Print.d.ts.map +0 -1
  574. package/dist/solid/src/components/feedback/print/PrintInstanceContext.d.ts.map +0 -1
  575. package/dist/solid/src/components/form-control/Button.d.ts.map +0 -1
  576. package/dist/solid/src/components/form-control/DropdownTrigger.styles.d.ts.map +0 -1
  577. package/dist/solid/src/components/form-control/ThemeToggle.d.ts.map +0 -1
  578. package/dist/solid/src/components/form-control/checkbox/Checkbox.d.ts.map +0 -1
  579. package/dist/solid/src/components/form-control/checkbox/Checkbox.styles.d.ts.map +0 -1
  580. package/dist/solid/src/components/form-control/checkbox/CheckboxGroup.d.ts.map +0 -1
  581. package/dist/solid/src/components/form-control/checkbox/RadioGroup.d.ts.map +0 -1
  582. package/dist/solid/src/components/form-control/color-picker/ColorPicker.d.ts.map +0 -1
  583. package/dist/solid/src/components/form-control/combobox/Combobox.d.ts.map +0 -1
  584. package/dist/solid/src/components/form-control/combobox/ComboboxContext.d.ts.map +0 -1
  585. package/dist/solid/src/components/form-control/combobox/ComboboxItem.d.ts.map +0 -1
  586. package/dist/solid/src/components/form-control/date-range-picker/DateRangePicker.d.ts.map +0 -1
  587. package/dist/solid/src/components/form-control/editor/EditorToolbar.d.ts.map +0 -1
  588. package/dist/solid/src/components/form-control/editor/RichTextEditor.d.ts.map +0 -1
  589. package/dist/solid/src/components/form-control/field/DatePicker.d.ts.map +0 -1
  590. package/dist/solid/src/components/form-control/field/DateTimePicker.d.ts.map +0 -1
  591. package/dist/solid/src/components/form-control/field/Field.styles.d.ts.map +0 -1
  592. package/dist/solid/src/components/form-control/field/NumberInput.d.ts.map +0 -1
  593. package/dist/solid/src/components/form-control/field/TextInput.d.ts.map +0 -1
  594. package/dist/solid/src/components/form-control/field/Textarea.d.ts.map +0 -1
  595. package/dist/solid/src/components/form-control/field/TimePicker.d.ts.map +0 -1
  596. package/dist/solid/src/components/form-control/numpad/Numpad.d.ts.map +0 -1
  597. package/dist/solid/src/components/form-control/select/Select.d.ts.map +0 -1
  598. package/dist/solid/src/components/form-control/select/SelectContext.d.ts.map +0 -1
  599. package/dist/solid/src/components/form-control/select/SelectItem.d.ts.map +0 -1
  600. package/dist/solid/src/components/form-control/state-preset/StatePreset.d.ts.map +0 -1
  601. package/dist/solid/src/components/layout/FormGroup.d.ts.map +0 -1
  602. package/dist/solid/src/components/layout/FormTable.d.ts.map +0 -1
  603. package/dist/solid/src/components/layout/sidebar/Sidebar.d.ts.map +0 -1
  604. package/dist/solid/src/components/layout/sidebar/SidebarContainer.d.ts.map +0 -1
  605. package/dist/solid/src/components/layout/sidebar/SidebarContext.d.ts.map +0 -1
  606. package/dist/solid/src/components/layout/sidebar/SidebarMenu.d.ts.map +0 -1
  607. package/dist/solid/src/components/layout/sidebar/SidebarUser.d.ts +0 -36
  608. package/dist/solid/src/components/layout/sidebar/SidebarUser.d.ts.map +0 -1
  609. package/dist/solid/src/components/layout/topbar/Topbar.d.ts.map +0 -1
  610. package/dist/solid/src/components/layout/topbar/TopbarContainer.d.ts.map +0 -1
  611. package/dist/solid/src/components/layout/topbar/TopbarMenu.d.ts.map +0 -1
  612. package/dist/solid/src/components/layout/topbar/TopbarUser.d.ts.map +0 -1
  613. package/dist/solid/src/directives/ripple.d.ts.map +0 -1
  614. package/dist/solid/src/helpers/createAppStructure.d.ts.map +0 -1
  615. package/dist/solid/src/helpers/mergeStyles.d.ts.map +0 -1
  616. package/dist/solid/src/helpers/splitSlots.d.ts.map +0 -1
  617. package/dist/solid/src/hooks/createControllableSignal.d.ts.map +0 -1
  618. package/dist/solid/src/hooks/createIMEHandler.d.ts.map +0 -1
  619. package/dist/solid/src/hooks/createMountTransition.d.ts.map +0 -1
  620. package/dist/solid/src/hooks/useClipboardValueCopy.d.ts.map +0 -1
  621. package/dist/solid/src/hooks/usePersisted.d.ts +0 -26
  622. package/dist/solid/src/hooks/usePersisted.d.ts.map +0 -1
  623. package/dist/solid/src/hooks/usePrint.d.ts.map +0 -1
  624. package/dist/solid/src/hooks/useRouterLink.d.ts.map +0 -1
  625. package/dist/solid/src/index.d.ts.map +0 -1
  626. package/dist/solid/src/providers/ConfigContext.d.ts.map +0 -1
  627. package/dist/solid/src/providers/InitializeProvider.d.ts.map +0 -1
  628. package/dist/solid/src/providers/ServiceClientContext.d.ts.map +0 -1
  629. package/dist/solid/src/providers/ServiceClientProvider.d.ts.map +0 -1
  630. package/dist/solid/src/providers/ThemeContext.d.ts.map +0 -1
  631. package/dist/solid/src/providers/shared-data/SharedDataChangeEvent.d.ts +0 -8
  632. package/dist/solid/src/providers/shared-data/SharedDataChangeEvent.d.ts.map +0 -1
  633. package/dist/solid/src/providers/shared-data/SharedDataContext.d.ts.map +0 -1
  634. package/dist/solid/src/providers/shared-data/SharedDataProvider.d.ts.map +0 -1
  635. package/dist/solid/src/styles/patterns.styles.d.ts.map +0 -1
  636. package/dist/solid/src/styles/tokens.styles.d.ts.map +0 -1
  637. package/src/hooks/usePersisted.ts +0 -51
  638. package/tests/components/data/List.spec.tsx +0 -683
  639. package/tests/components/data/Pagination.spec.tsx +0 -317
  640. package/tests/components/data/Table.spec.tsx +0 -55
  641. package/tests/components/data/kanban/Kanban.selection.spec.tsx +0 -209
  642. package/tests/components/data/permission-table/PermissionTable.spec.tsx +0 -280
  643. package/tests/components/data/sheet/DataSheet.spec.tsx +0 -564
  644. package/tests/components/disclosure/Collapse.spec.tsx +0 -162
  645. package/tests/components/disclosure/Dialog.spec.tsx +0 -319
  646. package/tests/components/disclosure/DialogProvider.spec.tsx +0 -110
  647. package/tests/components/disclosure/Dropdown.spec.tsx +0 -410
  648. package/tests/components/disclosure/Tabs.spec.tsx +0 -220
  649. package/tests/components/display/Alert.spec.tsx +0 -47
  650. package/tests/components/display/Barcode.spec.tsx +0 -61
  651. package/tests/components/display/Card.spec.tsx +0 -41
  652. package/tests/components/display/Tag.spec.tsx +0 -47
  653. package/tests/components/feedback/notification/LiveRegion.spec.tsx +0 -41
  654. package/tests/components/feedback/notification/NotificationBanner.spec.tsx +0 -164
  655. package/tests/components/feedback/notification/NotificationBell.spec.tsx +0 -207
  656. package/tests/components/feedback/notification/NotificationContext.spec.tsx +0 -331
  657. package/tests/components/feedback/print/Print.spec.tsx +0 -45
  658. package/tests/components/form-control/Button.spec.tsx +0 -119
  659. package/tests/components/form-control/checkbox/Checkbox.spec.tsx +0 -120
  660. package/tests/components/form-control/checkbox/Radio.spec.tsx +0 -112
  661. package/tests/components/form-control/color-picker/ColorPicker.spec.tsx +0 -67
  662. package/tests/components/form-control/combobox/Combobox.spec.tsx +0 -174
  663. package/tests/components/form-control/combobox/ComboboxItem.spec.tsx +0 -85
  664. package/tests/components/form-control/date-range-picker/DateRangePicker.spec.tsx +0 -172
  665. package/tests/components/form-control/field/DatePicker.spec.tsx +0 -305
  666. package/tests/components/form-control/field/DateTimePicker.spec.tsx +0 -287
  667. package/tests/components/form-control/field/NumberInput.spec.tsx +0 -276
  668. package/tests/components/form-control/field/TextInput.spec.tsx +0 -258
  669. package/tests/components/form-control/field/Textarea.spec.tsx +0 -181
  670. package/tests/components/form-control/field/TimePicker.spec.tsx +0 -243
  671. package/tests/components/form-control/numpad/Numpad.spec.tsx +0 -238
  672. package/tests/components/form-control/select/Select.spec.tsx +0 -239
  673. package/tests/components/form-control/select/SelectItem.spec.tsx +0 -149
  674. package/tests/components/layout/FormGroup.spec.tsx +0 -104
  675. package/tests/components/layout/FormTable.spec.tsx +0 -43
  676. package/tests/components/layout/sidebar/Sidebar.spec.tsx +0 -190
  677. package/tests/components/layout/sidebar/SidebarContainer.spec.tsx +0 -203
  678. package/tests/components/layout/sidebar/SidebarMenu.spec.tsx +0 -213
  679. package/tests/components/layout/sidebar/SidebarUser.spec.tsx +0 -171
  680. package/tests/directives/ripple.spec.tsx +0 -130
  681. package/tests/helpers/createAppStructure.spec.tsx +0 -338
  682. package/tests/helpers/mergeStyles.spec.ts +0 -163
  683. package/tests/helpers/splitSlots.spec.tsx +0 -188
  684. package/tests/hooks/createControllableSignal.spec.ts +0 -194
  685. package/tests/hooks/createIMEHandler.spec.ts +0 -80
  686. package/tests/hooks/createMountTransition.spec.ts +0 -86
  687. package/tests/hooks/usePersisted.spec.tsx +0 -191
  688. package/tests/hooks/usePrint.spec.tsx +0 -123
  689. package/tests/hooks/useRouterLink.spec.tsx +0 -183
  690. package/tests/providers/ConfigContext.spec.ts +0 -40
  691. package/tests/providers/ServiceClientContext.spec.tsx +0 -83
  692. package/tests/providers/shared-data/SharedDataProvider.spec.tsx +0 -233
  693. /package/dist/{solid/src/components → components}/data/Pagination.d.ts +0 -0
  694. /package/dist/{solid/src/components → components}/data/Table.d.ts +0 -0
  695. /package/dist/{solid/src/components → components}/data/calendar/Calendar.d.ts +0 -0
  696. /package/dist/{solid/src/components → components}/data/kanban/Kanban.d.ts +0 -0
  697. /package/dist/{solid/src/components → components}/data/kanban/KanbanContext.d.ts +0 -0
  698. /package/dist/{solid/src/components → components}/data/list/List.d.ts +0 -0
  699. /package/dist/{solid/src/components → components}/data/list/ListContext.d.ts +0 -0
  700. /package/dist/{solid/src/components → components}/data/list/ListItem.d.ts +0 -0
  701. /package/dist/{solid/src/components → components}/data/list/ListItem.styles.d.ts +0 -0
  702. /package/dist/{solid/src/components → components}/data/permission-table/PermissionTable.d.ts +0 -0
  703. /package/dist/{solid/src/components → components}/data/sheet/DataSheet.d.ts +0 -0
  704. /package/dist/{solid/src/components → components}/data/sheet/DataSheet.styles.d.ts +0 -0
  705. /package/dist/{solid/src/components → components}/data/sheet/DataSheetColumn.d.ts +0 -0
  706. /package/dist/{solid/src/components → components}/data/sheet/DataSheetConfigDialog.d.ts +0 -0
  707. /package/dist/{solid/src/components → components}/data/sheet/sheetUtils.d.ts +0 -0
  708. /package/dist/{solid/src/components → components}/data/sheet/types.d.ts +0 -0
  709. /package/dist/{solid/src/components → components}/disclosure/Collapse.d.ts +0 -0
  710. /package/dist/{solid/src/components → components}/disclosure/Dialog.d.ts +0 -0
  711. /package/dist/{solid/src/components → components}/disclosure/DialogContext.d.ts +0 -0
  712. /package/dist/{solid/src/components → components}/disclosure/DialogInstanceContext.d.ts +0 -0
  713. /package/dist/{solid/src/components → components}/disclosure/DialogProvider.d.ts +0 -0
  714. /package/dist/{solid/src/components → components}/disclosure/Dropdown.d.ts +0 -0
  715. /package/dist/{solid/src/components → components}/disclosure/Tabs.d.ts +0 -0
  716. /package/dist/{solid/src/components → components}/disclosure/dialogZIndex.d.ts +0 -0
  717. /package/dist/{solid/src/components → components}/display/Alert.d.ts +0 -0
  718. /package/dist/{solid/src/components → components}/display/Barcode.d.ts +0 -0
  719. /package/dist/{solid/src/components → components}/display/Card.d.ts +0 -0
  720. /package/dist/{solid/src/components → components}/display/Icon.d.ts +0 -0
  721. /package/dist/{solid/src/components → components}/display/Tag.d.ts +0 -0
  722. /package/dist/{solid/src/components → components}/feedback/Progress.d.ts +0 -0
  723. /package/dist/{solid/src/components → components}/feedback/loading/LoadingContainer.d.ts +0 -0
  724. /package/dist/{solid/src/components → components}/feedback/loading/LoadingContext.d.ts +0 -0
  725. /package/dist/{solid/src/components → components}/feedback/loading/LoadingProvider.d.ts +0 -0
  726. /package/dist/{solid/src/components → components}/feedback/notification/NotificationBanner.d.ts +0 -0
  727. /package/dist/{solid/src/components → components}/feedback/notification/NotificationBell.d.ts +0 -0
  728. /package/dist/{solid/src/components → components}/feedback/notification/NotificationContext.d.ts +0 -0
  729. /package/dist/{solid/src/components → components}/feedback/notification/NotificationProvider.d.ts +0 -0
  730. /package/dist/{solid/src/components → components}/feedback/notification/index.d.ts +0 -0
  731. /package/dist/{solid/src/components → components}/feedback/print/Print.d.ts +0 -0
  732. /package/dist/{solid/src/components → components}/feedback/print/PrintInstanceContext.d.ts +0 -0
  733. /package/dist/{solid/src/components → components}/form-control/Button.d.ts +0 -0
  734. /package/dist/{solid/src/components → components}/form-control/DropdownTrigger.styles.d.ts +0 -0
  735. /package/dist/{solid/src/components → components}/form-control/ThemeToggle.d.ts +0 -0
  736. /package/dist/{solid/src/components → components}/form-control/checkbox/Checkbox.d.ts +0 -0
  737. /package/dist/{solid/src/components → components}/form-control/checkbox/Checkbox.styles.d.ts +0 -0
  738. /package/dist/{solid/src/components → components}/form-control/checkbox/CheckboxGroup.d.ts +0 -0
  739. /package/dist/{solid/src/components → components}/form-control/checkbox/Radio.d.ts +0 -0
  740. /package/dist/{solid/src/components → components}/form-control/checkbox/RadioGroup.d.ts +0 -0
  741. /package/dist/{solid/src/components → components}/form-control/color-picker/ColorPicker.d.ts +0 -0
  742. /package/dist/{solid/src/components → components}/form-control/combobox/Combobox.d.ts +0 -0
  743. /package/dist/{solid/src/components → components}/form-control/combobox/ComboboxContext.d.ts +0 -0
  744. /package/dist/{solid/src/components → components}/form-control/combobox/ComboboxItem.d.ts +0 -0
  745. /package/dist/{solid/src/components → components}/form-control/date-range-picker/DateRangePicker.d.ts +0 -0
  746. /package/dist/{solid/src/components → components}/form-control/editor/EditorToolbar.d.ts +0 -0
  747. /package/dist/{solid/src/components → components}/form-control/numpad/Numpad.d.ts +0 -0
  748. /package/dist/{solid/src/components → components}/form-control/select/Select.d.ts +0 -0
  749. /package/dist/{solid/src/components → components}/form-control/select/SelectContext.d.ts +0 -0
  750. /package/dist/{solid/src/components → components}/form-control/select/SelectItem.d.ts +0 -0
  751. /package/dist/{solid/src/components → components}/form-control/state-preset/StatePreset.d.ts +0 -0
  752. /package/dist/{solid/src/components → components}/layout/FormGroup.d.ts +0 -0
  753. /package/dist/{solid/src/components → components}/layout/FormTable.d.ts +0 -0
  754. /package/dist/{solid/src/components → components}/layout/sidebar/Sidebar.d.ts +0 -0
  755. /package/dist/{solid/src/components → components}/layout/sidebar/SidebarContext.d.ts +0 -0
  756. /package/dist/{solid/src/components → components}/layout/sidebar/SidebarMenu.d.ts +0 -0
  757. /package/dist/{solid/src/components → components}/layout/topbar/Topbar.d.ts +0 -0
  758. /package/dist/{solid/src/components → components}/layout/topbar/TopbarContainer.d.ts +0 -0
  759. /package/dist/{solid/src/components → components}/layout/topbar/TopbarMenu.d.ts +0 -0
  760. /package/dist/{solid/src/components → components}/layout/topbar/TopbarUser.d.ts +0 -0
  761. /package/dist/{solid/src/directives → directives}/ripple.d.ts +0 -0
  762. /package/dist/{solid/src/helpers → helpers}/createAppStructure.d.ts +0 -0
  763. /package/dist/{solid/src/helpers → helpers}/mergeStyles.d.ts +0 -0
  764. /package/dist/{solid/src/helpers → helpers}/splitSlots.d.ts +0 -0
  765. /package/dist/{solid/src/hooks → hooks}/createControllableSignal.d.ts +0 -0
  766. /package/dist/{solid/src/hooks → hooks}/createIMEHandler.d.ts +0 -0
  767. /package/dist/{solid/src/hooks → hooks}/createMountTransition.d.ts +0 -0
  768. /package/dist/{solid/src/hooks → hooks}/useClipboardValueCopy.d.ts +0 -0
  769. /package/dist/{solid/src/hooks → hooks}/usePrint.d.ts +0 -0
  770. /package/dist/{solid/src/hooks → hooks}/useRouterLink.d.ts +0 -0
  771. /package/dist/{solid/src/providers → providers}/ServiceClientContext.d.ts +0 -0
  772. /package/dist/{solid/src/providers → providers}/ServiceClientProvider.d.ts +0 -0
  773. /package/dist/{solid/src/providers → providers}/shared-data/SharedDataContext.d.ts +0 -0
  774. /package/dist/{solid/src/providers → providers}/shared-data/SharedDataProvider.d.ts +0 -0
  775. /package/dist/{solid/src/styles → styles}/patterns.styles.d.ts +0 -0
  776. /package/dist/{solid/src/styles → styles}/tokens.styles.d.ts +0 -0
  777. /package/{src/base.css → tailwind.css} +0 -0
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/layout/topbar/Topbar.tsx"],
4
- "sourcesContent": ["import { type JSX, type ParentComponent, splitProps, Show } from \"solid-js\";\nimport { IconMenu2 } from \"@tabler/icons-solidjs\";\nimport clsx from \"clsx\";\nimport { Icon } from \"../../display/Icon\";\nimport { twMerge } from \"tailwind-merge\";\nimport { Button } from \"../../form-control/Button\";\nimport { useSidebarContextOptional } from \"../sidebar/SidebarContext\";\nimport { TopbarContainer } from \"./TopbarContainer\";\nimport { TopbarMenu } from \"./TopbarMenu\";\nimport { TopbarUser } from \"./TopbarUser\";\n\nexport type { TopbarContainerProps } from \"./TopbarContainer\";\nexport type { TopbarMenuItem, TopbarMenuProps } from \"./TopbarMenu\";\nexport type { TopbarUserMenu, TopbarUserProps } from \"./TopbarUser\";\n\nconst baseClass = clsx(\n // \uB808\uC774\uC544\uC6C3\n \"flex\",\n \"flex-row\",\n \"gap-2\",\n \"items-center\",\n // \uD06C\uAE30\n \"min-h-12\",\n \"px-2\",\n // \uBC30\uACBD/\uD14C\uB450\uB9AC\n \"bg-white\",\n \"dark:bg-base-950\",\n \"border-b\",\n \"border-base-200\",\n \"dark:border-base-700\",\n // \uC2A4\uD06C\uB864\n \"overflow-x-auto\",\n \"overflow-y-hidden\",\n // \uAE30\uD0C0\n \"select-none\",\n);\n\nexport interface TopbarProps extends JSX.HTMLAttributes<HTMLElement> {\n children: JSX.Element;\n}\n\n/**\n * \uC0C1\uB2E8\uBC14 \uBCF8\uCCB4 \uCEF4\uD3EC\uB10C\uD2B8\n *\n * @remarks\n * - SidebarContext\uAC00 \uC788\uC744 \uACBD\uC6B0 \uC0AC\uC774\uB4DC\uBC14 \uD1A0\uAE00 \uBC84\uD2BC \uC790\uB3D9 \uD45C\uC2DC\n * - SidebarContainer \uB0B4\uBD80\uC5D0\uC11C \uC0AC\uC6A9\uD558\uBA74 \uD1A0\uAE00 \uBC84\uD2BC\uC774 \uB098\uD0C0\uB0A8\n * - \uB2E8\uB3C5 \uC0AC\uC6A9 \uC2DC \uD1A0\uAE00 \uBC84\uD2BC \uC5C6\uC774 \uC21C\uC218 Topbar\uB85C \uB3D9\uC791\n *\n * @example\n * ```tsx\n * <Topbar>\n * <h1 class=\"text-lg font-bold\">\uC571 \uC774\uB984</h1>\n * <Topbar.Menu menus={menuItems} />\n * <div class=\"flex-1\" />\n * <Topbar.User menus={userMenus}>\uC0AC\uC6A9\uC790</Topbar.User>\n * </Topbar>\n * ```\n */\ninterface TopbarComponent extends ParentComponent<TopbarProps> {\n Container: typeof TopbarContainer;\n Menu: typeof TopbarMenu;\n User: typeof TopbarUser;\n}\n\nconst TopbarBase: ParentComponent<TopbarProps> = (props) => {\n const [local, rest] = splitProps(props, [\"children\", \"class\"]);\n\n // SidebarContext \uC120\uD0DD\uC801 \uC0AC\uC6A9 (Context \uC5C6\uC73C\uBA74 \uD1A0\uAE00 \uBC84\uD2BC \uBBF8\uD45C\uC2DC)\n const sidebarContext = useSidebarContextOptional();\n\n const handleToggle = () => {\n sidebarContext?.setToggle((v) => !v);\n };\n\n const getClassName = () => twMerge(baseClass, local.class);\n\n return (\n <header {...rest} data-topbar class={getClassName()}>\n <Show when={sidebarContext}>\n <Button variant=\"ghost\" onClick={handleToggle} class=\"p-2\" aria-label=\"\uC0AC\uC774\uB4DC\uBC14 \uD1A0\uAE00\">\n <Icon icon={IconMenu2} size=\"1.5em\" />\n </Button>\n </Show>\n {local.children}\n </header>\n );\n};\n\nexport const Topbar = TopbarBase as TopbarComponent;\nTopbar.Container = TopbarContainer;\nTopbar.Menu = TopbarMenu;\nTopbar.User = TopbarUser;\n"],
5
- "mappings": "AAAA,SAAyC,YAAY,YAAY;AACjE,SAAS,iBAAiB;AAC1B,OAAO,UAAU;AACjB,SAAS,YAAY;AACrB,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,SAAS,iCAAiC;AAC1C,SAAS,uBAAuB;AAChC,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAM3B,MAAM,YAAY;AAAA;AAAA,EAEhB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAEA;AACF;AA8BA,MAAM,aAA2C,CAAC,UAAU;AAC1D,QAAM,CAAC,OAAO,IAAI,IAAI,WAAW,OAAO,CAAC,YAAY,OAAO,CAAC;AAG7D,QAAM,iBAAiB,0BAA0B;AAEjD,QAAM,eAAe,MAAM;AACzB,qDAAgB,UAAU,CAAC,MAAM,CAAC;AAAA,EACpC;AAEA,QAAM,eAAe,MAAM,QAAQ,WAAW,MAAM,KAAK;AAEzD,SACE,oCAAC,YAAQ,GAAG,MAAM,eAAW,MAAC,OAAO,aAAa,KAChD,oCAAC,QAAK,MAAM,kBACV,oCAAC,UAAO,SAAQ,SAAQ,SAAS,cAAc,OAAM,OAAM,cAAW,2CACpE,oCAAC,QAAK,MAAM,WAAW,MAAK,SAAQ,CACtC,CACF,GACC,MAAM,QACT;AAEJ;AAEO,MAAM,SAAS;AACtB,OAAO,YAAY;AACnB,OAAO,OAAO;AACd,OAAO,OAAO;",
6
- "names": []
4
+ "mappings": ";;;;;;AAAA,SAAyCA,YAAYC,YAAY;AACjE,SAASC,iBAAiB;AAC1B,OAAOC,UAAU;AACjB,SAASC,YAAY;AACrB,SAASC,eAAe;AACxB,SAASC,cAAc;AACvB,SAASC,iCAAiC;AAC1C,SAASC,uBAAuB;AAChC,SAASC,kBAAkB;AAC3B,SAASC,kBAAkB;AAM3B,MAAMC,YAAYR;;EAEhB;EACA;EACA;EACA;;EAEA;EACA;;EAEA;EACA;EACA;EACA;EACA;;EAEA;EACA;;EAEA;AACF;AA8BA,MAAMS,aAA4CC,WAAU;AAC1D,QAAM,CAACC,OAAOC,IAAI,IAAIf,WAAWa,OAAO,CAAC,YAAY,OAAO,CAAC;AAG7D,QAAMG,iBAAiBT,0BAA0B;AAEjD,QAAMU,eAAeA,MAAM;AACzBD,qDAAgBE,UAAWC,OAAM,CAACA;EACpC;AAEA,QAAMC,eAAeA,MAAMf,QAAQM,WAAWG,MAAMO,KAAK;AAEzD,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAA;AAAAC,aAAAF,MAAAG,aACcV,MAAI;MAAA,eAAA;MAAA,KAAA,OAAA,IAAA;AAAA,eAAqBK,aAAa;MAAC;IAAA,CAAA,GAAA,OAAA,IAAA;AAAAM,aAAAJ,MAAAK,kBAChD1B,MAAI;MAAC2B,MAAMZ;MAAc,IAAAa,WAAA;AAAA,eAAAF,kBACvBrB,QAAM;UAACwB,SAAO;UAASC,SAASd;UAAY,SAAA;UAAA,cAAA;UAAA,IAAAY,WAAA;AAAA,mBAAAF,kBAC1CvB,MAAI;cAAC4B,MAAM9B;cAAW+B,MAAI;YAAA,CAAA;UAAA;QAAA,CAAA;MAAA;IAAA,CAAA,GAAA,IAAA;AAAAP,aAAAJ,MAAA,MAG9BR,MAAMe,UAAQ,IAAA;AAAA,WAAAP;EAAA,GAAA;AAGrB;AAEO,MAAMY,SAAStB;AACtBsB,OAAOC,YAAY3B;AACnB0B,OAAOE,OAAO3B;AACdyB,OAAOG,OAAO3B;",
5
+ "names": ["splitProps", "Show", "IconMenu2", "clsx", "Icon", "twMerge", "Button", "useSidebarContextOptional", "TopbarContainer", "TopbarMenu", "TopbarUser", "baseClass", "TopbarBase", "props", "local", "rest", "sidebarContext", "handleToggle", "setToggle", "v", "getClassName", "class", "_el$", "_tmpl$", "_$spread", "_$mergeProps", "_$insert", "_$createComponent", "when", "children", "variant", "onClick", "icon", "size", "Topbar", "Container", "Menu", "User"]
7
6
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TopbarContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/topbar/TopbarContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,eAAe,EAAc,MAAM,UAAU,CAAC;AAMtE,MAAM,WAAW,oBAAqB,SAAQ,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC;IAC9E,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,oBAAoB,CAUjE,CAAC"}
@@ -1,3 +1,8 @@
1
+ import { template as _$template } from "solid-js/web";
2
+ import { insert as _$insert } from "solid-js/web";
3
+ import { spread as _$spread } from "solid-js/web";
4
+ import { mergeProps as _$mergeProps } from "solid-js/web";
5
+ var _tmpl$ = /* @__PURE__ */ _$template(`<div>`);
1
6
  import { splitProps } from "solid-js";
2
7
  import clsx from "clsx";
3
8
  import { twMerge } from "tailwind-merge";
@@ -5,7 +10,17 @@ const containerClass = clsx("flex h-full flex-col");
5
10
  const TopbarContainer = (props) => {
6
11
  const [local, rest] = splitProps(props, ["children", "class"]);
7
12
  const getClassName = () => twMerge(containerClass, local.class);
8
- return /* @__PURE__ */ React.createElement("div", { ...rest, "data-topbar-container": true, class: getClassName() }, local.children);
13
+ return (() => {
14
+ var _el$ = _tmpl$();
15
+ _$spread(_el$, _$mergeProps(rest, {
16
+ "data-topbar-container": "",
17
+ get ["class"]() {
18
+ return getClassName();
19
+ }
20
+ }), false, true);
21
+ _$insert(_el$, () => local.children);
22
+ return _el$;
23
+ })();
9
24
  };
10
25
  export {
11
26
  TopbarContainer
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/layout/topbar/TopbarContainer.tsx"],
4
- "sourcesContent": ["import { type JSX, type ParentComponent, splitProps } from \"solid-js\";\nimport clsx from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nconst containerClass = clsx(\"flex h-full flex-col\");\n\nexport interface TopbarContainerProps extends JSX.HTMLAttributes<HTMLDivElement> {\n children: JSX.Element;\n}\n\n/**\n * Topbar + \uCF58\uD150\uCE20 \uC601\uC5ED\uC744 \uAC10\uC2F8\uB294 \uB808\uC774\uC544\uC6C3 \uCEE8\uD14C\uC774\uB108\n *\n * @remarks\n * - `flex flex-col h-full` \uAD6C\uC870\uB85C Topbar\uC640 \uCF58\uD150\uCE20\uB97C \uC218\uC9C1 \uBC30\uCE58\n * - Context \uC5C6\uC774 \uC21C\uC218 \uB808\uC774\uC544\uC6C3 \uC5ED\uD560\uB9CC \uC218\uD589\n * - \uBD80\uBAA8 \uC694\uC18C\uC5D0 \uB192\uC774\uAC00 \uC9C0\uC815\uB418\uC5B4\uC57C \uD568\n *\n * @example\n * ```tsx\n * <TopbarContainer>\n * <Topbar>\n * <h1>\uC571 \uC774\uB984</h1>\n * <TopbarMenu menus={menuItems} />\n * </Topbar>\n * <main class=\"flex-1 overflow-auto\">\uCF58\uD150\uCE20</main>\n * </TopbarContainer>\n * ```\n */\nexport const TopbarContainer: ParentComponent<TopbarContainerProps> = (props) => {\n const [local, rest] = splitProps(props, [\"children\", \"class\"]);\n\n const getClassName = () => twMerge(containerClass, local.class);\n\n return (\n <div {...rest} data-topbar-container class={getClassName()}>\n {local.children}\n </div>\n );\n};\n"],
5
- "mappings": "AAAA,SAAyC,kBAAkB;AAC3D,OAAO,UAAU;AACjB,SAAS,eAAe;AAExB,MAAM,iBAAiB,KAAK,sBAAsB;AAyB3C,MAAM,kBAAyD,CAAC,UAAU;AAC/E,QAAM,CAAC,OAAO,IAAI,IAAI,WAAW,OAAO,CAAC,YAAY,OAAO,CAAC;AAE7D,QAAM,eAAe,MAAM,QAAQ,gBAAgB,MAAM,KAAK;AAE9D,SACE,oCAAC,SAAK,GAAG,MAAM,yBAAqB,MAAC,OAAO,aAAa,KACtD,MAAM,QACT;AAEJ;",
6
- "names": []
4
+ "mappings": ";;;;;AAAA,SAAyCA,kBAAkB;AAC3D,OAAOC,UAAU;AACjB,SAASC,eAAe;AAExB,MAAMC,iBAAiBF,KAAK,sBAAsB;AAyB3C,MAAMG,kBAA0DC,WAAU;AAC/E,QAAM,CAACC,OAAOC,IAAI,IAAIP,WAAWK,OAAO,CAAC,YAAY,OAAO,CAAC;AAE7D,QAAMG,eAAeA,MAAMN,QAAQC,gBAAgBG,MAAMG,KAAK;AAE9D,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAA;AAAAC,aAAAF,MAAAG,aACWN,MAAI;MAAA,yBAAA;MAAA,KAAA,OAAA,IAAA;AAAA,eAA+BC,aAAa;MAAC;IAAA,CAAA,GAAA,OAAA,IAAA;AAAAM,aAAAJ,MAAA,MACvDJ,MAAMS,QAAQ;AAAA,WAAAL;EAAA,GAAA;AAGrB;",
5
+ "names": ["splitProps", "clsx", "twMerge", "containerClass", "TopbarContainer", "props", "local", "rest", "getClassName", "class", "_el$", "_tmpl$", "_$spread", "_$mergeProps", "_$insert", "children"]
7
6
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TopbarMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/topbar/TopbarMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAmD,MAAM,UAAU,CAAC;AAErG,OAAO,EAAqC,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAa1F,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IACxF;;OAEG;IACH,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,CAAC,eAAe,CAkCjD,CAAC"}
@@ -1,13 +1,21 @@
1
+ import { template as _$template } from "solid-js/web";
2
+ import { memo as _$memo } from "solid-js/web";
3
+ import { className as _$className } from "solid-js/web";
4
+ import { insert as _$insert } from "solid-js/web";
5
+ import { createComponent as _$createComponent } from "solid-js/web";
6
+ import { spread as _$spread } from "solid-js/web";
7
+ import { mergeProps as _$mergeProps } from "solid-js/web";
8
+ var _tmpl$ = /* @__PURE__ */ _$template(`<nav>`), _tmpl$2 = /* @__PURE__ */ _$template(`<div>`), _tmpl$3 = /* @__PURE__ */ _$template(`<span>`), _tmpl$4 = /* @__PURE__ */ _$template(`<span class=truncate>`);
1
9
  import { For, Show, splitProps, createSignal, createMemo } from "solid-js";
2
10
  import { useLocation, useNavigate } from "@solidjs/router";
3
11
  import { IconChevronDown, IconDotsVertical } from "@tabler/icons-solidjs";
4
- import { Icon } from "../../display/Icon";
12
+ import { Icon } from "../../display/Icon.js";
5
13
  import clsx from "clsx";
6
14
  import { twMerge } from "tailwind-merge";
7
- import { Button } from "../../form-control/Button";
8
- import { Dropdown } from "../../disclosure/Dropdown";
9
- import { List } from "../../data/list/List";
10
- import { ListItem } from "../../data/list/ListItem";
15
+ import { Button } from "../../form-control/Button.js";
16
+ import { Dropdown } from "../../disclosure/Dropdown.js";
17
+ import { List } from "../../data/list/List.js";
18
+ import { ListItem } from "../../data/list/ListItem.js";
11
19
  const desktopNavBaseClass = clsx("hidden sm:flex", "flex-row gap-1", "items-center");
12
20
  const mobileWrapperClass = clsx("flex sm:hidden");
13
21
  const menuButtonContentClass = clsx("flex items-center", "gap-1");
@@ -15,18 +23,70 @@ const TopbarMenu = (props) => {
15
23
  const [local, rest] = splitProps(props, ["menus", "class"]);
16
24
  const [mobileMenuOpen, setMobileMenuOpen] = createSignal(false);
17
25
  let mobileButtonRef;
18
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("nav", { ...rest, "data-topbar-menu": true, class: twMerge(desktopNavBaseClass, local.class) }, /* @__PURE__ */ React.createElement(For, { each: local.menus }, (menu) => /* @__PURE__ */ React.createElement(TopbarMenuButton, { menu }))), /* @__PURE__ */ React.createElement("div", { class: mobileWrapperClass }, /* @__PURE__ */ React.createElement(
19
- Button,
20
- {
21
- ref: mobileButtonRef,
26
+ return [(() => {
27
+ var _el$ = _tmpl$();
28
+ _$spread(_el$, _$mergeProps(rest, {
29
+ "data-topbar-menu": "",
30
+ get ["class"]() {
31
+ return twMerge(desktopNavBaseClass, local.class);
32
+ }
33
+ }), false, true);
34
+ _$insert(_el$, _$createComponent(For, {
35
+ get each() {
36
+ return local.menus;
37
+ },
38
+ children: (menu) => _$createComponent(TopbarMenuButton, {
39
+ menu
40
+ })
41
+ }));
42
+ return _el$;
43
+ })(), (() => {
44
+ var _el$2 = _tmpl$2();
45
+ _$className(_el$2, mobileWrapperClass);
46
+ _$insert(_el$2, _$createComponent(Button, {
47
+ ref(r$) {
48
+ var _ref$ = mobileButtonRef;
49
+ typeof _ref$ === "function" ? _ref$(r$) : mobileButtonRef = r$;
50
+ },
22
51
  variant: "ghost",
23
52
  onClick: () => setMobileMenuOpen((v) => !v),
24
53
  "aria-label": "\uBA54\uB274",
25
54
  "aria-haspopup": "menu",
26
- "aria-expanded": mobileMenuOpen()
27
- },
28
- /* @__PURE__ */ React.createElement(Icon, { icon: IconDotsVertical, size: "1.25em" })
29
- ), /* @__PURE__ */ React.createElement(Dropdown, { triggerRef: () => mobileButtonRef, open: mobileMenuOpen(), onOpenChange: setMobileMenuOpen }, /* @__PURE__ */ React.createElement(List, { inset: true }, /* @__PURE__ */ React.createElement(For, { each: local.menus }, (menu) => /* @__PURE__ */ React.createElement(TopbarMenuDropdownItem, { menu, onClose: () => setMobileMenuOpen(false) }))))));
55
+ get ["aria-expanded"]() {
56
+ return mobileMenuOpen();
57
+ },
58
+ get children() {
59
+ return _$createComponent(Icon, {
60
+ icon: IconDotsVertical,
61
+ size: "1.25em"
62
+ });
63
+ }
64
+ }), null);
65
+ _$insert(_el$2, _$createComponent(Dropdown, {
66
+ triggerRef: () => mobileButtonRef,
67
+ get open() {
68
+ return mobileMenuOpen();
69
+ },
70
+ onOpenChange: setMobileMenuOpen,
71
+ get children() {
72
+ return _$createComponent(List, {
73
+ inset: true,
74
+ get children() {
75
+ return _$createComponent(For, {
76
+ get each() {
77
+ return local.menus;
78
+ },
79
+ children: (menu) => _$createComponent(TopbarMenuDropdownItem, {
80
+ menu,
81
+ onClose: () => setMobileMenuOpen(false)
82
+ })
83
+ });
84
+ }
85
+ });
86
+ }
87
+ }), null);
88
+ return _el$2;
89
+ })()];
30
90
  };
31
91
  const TopbarMenuButton = (props) => {
32
92
  const location = useLocation();
@@ -63,21 +123,86 @@ const TopbarMenuButton = (props) => {
63
123
  }
64
124
  }
65
125
  };
66
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
67
- Button,
68
- {
69
- ref: buttonRef,
70
- variant: isSelected() ? "solid" : "ghost",
71
- theme: isSelected() ? "primary" : "base",
72
- onClick: handleClick,
73
- class: menuButtonContentClass,
74
- "aria-haspopup": hasChildren() ? "menu" : void 0,
75
- "aria-expanded": hasChildren() ? open() : void 0
126
+ return [_$createComponent(Button, {
127
+ ref(r$) {
128
+ var _ref$2 = buttonRef;
129
+ typeof _ref$2 === "function" ? _ref$2(r$) : buttonRef = r$;
130
+ },
131
+ get variant() {
132
+ return isSelected() ? "solid" : "ghost";
133
+ },
134
+ get theme() {
135
+ return isSelected() ? "primary" : "base";
136
+ },
137
+ onClick: handleClick,
138
+ "class": menuButtonContentClass,
139
+ get ["aria-haspopup"]() {
140
+ return hasChildren() ? "menu" : void 0;
141
+ },
142
+ get ["aria-expanded"]() {
143
+ return _$memo(() => !!hasChildren())() ? open() : void 0;
76
144
  },
77
- /* @__PURE__ */ React.createElement(Show, { when: props.menu.icon }, /* @__PURE__ */ React.createElement(Icon, { icon: props.menu.icon })),
78
- /* @__PURE__ */ React.createElement("span", null, props.menu.title),
79
- /* @__PURE__ */ React.createElement(Show, { when: hasChildren() }, /* @__PURE__ */ React.createElement(Icon, { icon: IconChevronDown, size: "1em", class: clsx("transition-transform", open() && "rotate-180") }))
80
- ), /* @__PURE__ */ React.createElement(Show, { when: hasChildren() }, /* @__PURE__ */ React.createElement(Dropdown, { triggerRef: () => buttonRef, open: open(), onOpenChange: setOpen }, /* @__PURE__ */ React.createElement(List, { inset: true }, /* @__PURE__ */ React.createElement(For, { each: props.menu.children }, (child) => /* @__PURE__ */ React.createElement(TopbarMenuDropdownItem, { menu: child, onClose: () => setOpen(false) }))))));
145
+ get children() {
146
+ return [_$createComponent(Show, {
147
+ get when() {
148
+ return props.menu.icon;
149
+ },
150
+ get children() {
151
+ return _$createComponent(Icon, {
152
+ get icon() {
153
+ return props.menu.icon;
154
+ }
155
+ });
156
+ }
157
+ }), (() => {
158
+ var _el$3 = _tmpl$3();
159
+ _$insert(_el$3, () => props.menu.title);
160
+ return _el$3;
161
+ })(), _$createComponent(Show, {
162
+ get when() {
163
+ return hasChildren();
164
+ },
165
+ get children() {
166
+ return _$createComponent(Icon, {
167
+ icon: IconChevronDown,
168
+ size: "1em",
169
+ get ["class"]() {
170
+ return clsx("transition-transform", open() && "rotate-180");
171
+ }
172
+ });
173
+ }
174
+ })];
175
+ }
176
+ }), _$createComponent(Show, {
177
+ get when() {
178
+ return hasChildren();
179
+ },
180
+ get children() {
181
+ return _$createComponent(Dropdown, {
182
+ triggerRef: () => buttonRef,
183
+ get open() {
184
+ return open();
185
+ },
186
+ onOpenChange: setOpen,
187
+ get children() {
188
+ return _$createComponent(List, {
189
+ inset: true,
190
+ get children() {
191
+ return _$createComponent(For, {
192
+ get each() {
193
+ return props.menu.children;
194
+ },
195
+ children: (child) => _$createComponent(TopbarMenuDropdownItem, {
196
+ menu: child,
197
+ onClose: () => setOpen(false)
198
+ })
199
+ });
200
+ }
201
+ });
202
+ }
203
+ });
204
+ }
205
+ })];
81
206
  };
82
207
  const TopbarMenuDropdownItem = (props) => {
83
208
  const location = useLocation();
@@ -98,7 +223,54 @@ const TopbarMenuDropdownItem = (props) => {
98
223
  props.onClose();
99
224
  }
100
225
  };
101
- return /* @__PURE__ */ React.createElement(ListItem, { selected: isSelected(), readonly: props.menu.href === void 0 && hasChildren(), onClick: handleClick }, /* @__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(TopbarMenuDropdownItem, { menu: child, onClose: props.onClose })))));
226
+ return _$createComponent(ListItem, {
227
+ get selected() {
228
+ return isSelected();
229
+ },
230
+ get readonly() {
231
+ return _$memo(() => props.menu.href === void 0)() && hasChildren();
232
+ },
233
+ onClick: handleClick,
234
+ get children() {
235
+ return [_$createComponent(Show, {
236
+ get when() {
237
+ return props.menu.icon;
238
+ },
239
+ get children() {
240
+ return _$createComponent(Icon, {
241
+ get icon() {
242
+ return props.menu.icon;
243
+ }
244
+ });
245
+ }
246
+ }), (() => {
247
+ var _el$4 = _tmpl$4();
248
+ _$insert(_el$4, () => props.menu.title);
249
+ return _el$4;
250
+ })(), _$createComponent(Show, {
251
+ get when() {
252
+ return hasChildren();
253
+ },
254
+ get children() {
255
+ return _$createComponent(ListItem.Children, {
256
+ get children() {
257
+ return _$createComponent(For, {
258
+ get each() {
259
+ return props.menu.children;
260
+ },
261
+ children: (child) => _$createComponent(TopbarMenuDropdownItem, {
262
+ menu: child,
263
+ get onClose() {
264
+ return props.onClose;
265
+ }
266
+ })
267
+ });
268
+ }
269
+ });
270
+ }
271
+ })];
272
+ }
273
+ });
102
274
  };
103
275
  export {
104
276
  TopbarMenu
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/layout/topbar/TopbarMenu.tsx"],
4
- "sourcesContent": ["import { type Component, type JSX, For, Show, splitProps, createSignal, createMemo } from \"solid-js\";\nimport { useLocation, useNavigate } from \"@solidjs/router\";\nimport { IconChevronDown, IconDotsVertical, type IconProps } from \"@tabler/icons-solidjs\";\nimport { Icon } from \"../../display/Icon\";\nimport clsx from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\nimport { Button } from \"../../form-control/Button\";\nimport { Dropdown } from \"../../disclosure/Dropdown\";\nimport { List } from \"../../data/list/List\";\nimport { ListItem } from \"../../data/list/ListItem\";\n\nconst desktopNavBaseClass = clsx(\"hidden sm:flex\", \"flex-row gap-1\", \"items-center\");\nconst mobileWrapperClass = clsx(\"flex sm:hidden\");\nconst menuButtonContentClass = clsx(\"flex items-center\", \"gap-1\");\n\nexport interface TopbarMenuItem {\n title: string;\n href?: string;\n icon?: Component<IconProps>;\n children?: TopbarMenuItem[];\n}\n\nexport interface TopbarMenuProps extends Omit<JSX.HTMLAttributes<HTMLElement>, \"children\"> {\n /**\n * \uBA54\uB274 \uC544\uC774\uD15C \uBC30\uC5F4\n */\n menus: TopbarMenuItem[];\n}\n\n/**\n * Topbar \uB4DC\uB86D\uB2E4\uC6B4 \uBA54\uB274 \uCEF4\uD3EC\uB10C\uD2B8\n *\n * @remarks\n * - children\uC774 \uC788\uB294 \uD56D\uBAA9: \uD074\uB9AD \uC2DC \uB4DC\uB86D\uB2E4\uC6B4 \uD45C\uC2DC\n * - children\uC774 \uC5C6\uB294 \uD56D\uBAA9: \uD074\uB9AD \uC2DC \uBC14\uB85C \uB124\uBE44\uAC8C\uC774\uC158\n * - \uC678\uBD80 \uB9C1\uD06C(://\uD3EC\uD568)\uB294 \uC0C8 \uD0ED\uC5D0\uC11C \uC5F4\uAE30\n * - pathname \uC815\uD655 \uC77C\uCE58\uB85C \uC120\uD0DD \uC0C1\uD0DC \uD310\uB2E8\n * - \uD558\uC704 \uBA54\uB274\uB294 List/ListItem\uC73C\uB85C \uB80C\uB354\uB9C1 (\uBAA8\uB4E0 \uACC4\uCE35 \uD3BC\uCE68)\n *\n * @example\n * ```tsx\n * <TopbarMenu menus={[\n * { title: \"\uB300\uC2DC\uBCF4\uB4DC\", href: \"/dashboard\", icon: IconHome },\n * {\n * title: \"\uBA54\uB2741\",\n * icon: IconFolder,\n * children: [\n * { title: \"\uC11C\uBE0C\uBA54\uB2741\", href: \"/menu1/sub1\" },\n * { title: \"\uC11C\uBE0C\uBA54\uB2742\", href: \"/menu1/sub2\" },\n * ],\n * },\n * ]} />\n * ```\n */\nexport const TopbarMenu: Component<TopbarMenuProps> = (props) => {\n const [local, rest] = splitProps(props, [\"menus\", \"class\"]);\n const [mobileMenuOpen, setMobileMenuOpen] = createSignal(false);\n let mobileButtonRef: HTMLButtonElement | undefined;\n\n return (\n <>\n {/* \uB370\uC2A4\uD06C\uD0D1 \uBA54\uB274 (640px \uC774\uC0C1\uC5D0\uC11C\uB9CC \uD45C\uC2DC) */}\n <nav {...rest} data-topbar-menu class={twMerge(desktopNavBaseClass, local.class)}>\n <For each={local.menus}>{(menu) => <TopbarMenuButton menu={menu} />}</For>\n </nav>\n\n {/* \uBAA8\uBC14\uC77C \uD584\uBC84\uAC70 (640px \uBBF8\uB9CC\uC5D0\uC11C\uB9CC \uD45C\uC2DC) */}\n <div class={mobileWrapperClass}>\n <Button\n ref={mobileButtonRef}\n variant=\"ghost\"\n onClick={() => setMobileMenuOpen((v) => !v)}\n aria-label=\"\uBA54\uB274\"\n aria-haspopup=\"menu\"\n aria-expanded={mobileMenuOpen()}\n >\n <Icon icon={IconDotsVertical} size=\"1.25em\" />\n </Button>\n <Dropdown triggerRef={() => mobileButtonRef} open={mobileMenuOpen()} onOpenChange={setMobileMenuOpen}>\n <List inset>\n <For each={local.menus}>\n {(menu) => <TopbarMenuDropdownItem menu={menu} onClose={() => setMobileMenuOpen(false)} />}\n </For>\n </List>\n </Dropdown>\n </div>\n </>\n );\n};\n\ninterface TopbarMenuButtonProps {\n menu: TopbarMenuItem;\n}\n\nconst TopbarMenuButton: Component<TopbarMenuButtonProps> = (props) => {\n const location = useLocation();\n const navigate = useNavigate();\n\n const [open, setOpen] = createSignal(false);\n let buttonRef: HTMLButtonElement | undefined;\n\n const hasChildren = () => props.menu.children !== undefined && props.menu.children.length > 0;\n const isExternalLink = () => props.menu.href?.includes(\"://\") ?? false;\n\n const isAnyChildSelected = (items: TopbarMenuItem[]): boolean => {\n for (const item of items) {\n if (item.href === location.pathname) return true;\n if (item.children && isAnyChildSelected(item.children)) return true;\n }\n return false;\n };\n\n // \uD604\uC7AC \uBA54\uB274 \uB610\uB294 \uD558\uC704 \uBA54\uB274\uAC00 \uC120\uD0DD\uB418\uC5C8\uB294\uC9C0 \uD655\uC778 (createMemo\uB85C \uCE90\uC2F1)\n const isSelected = createMemo(() => {\n if (props.menu.href === location.pathname) return true;\n if (props.menu.children) {\n return isAnyChildSelected(props.menu.children);\n }\n return false;\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 <>\n <Button\n ref={buttonRef}\n variant={isSelected() ? \"solid\" : \"ghost\"}\n theme={isSelected() ? \"primary\" : \"base\"}\n onClick={handleClick}\n class={menuButtonContentClass}\n aria-haspopup={hasChildren() ? \"menu\" : undefined}\n aria-expanded={hasChildren() ? open() : undefined}\n >\n <Show when={props.menu.icon}>\n <Icon icon={props.menu.icon!} />\n </Show>\n <span>{props.menu.title}</span>\n <Show when={hasChildren()}>\n <Icon icon={IconChevronDown} size=\"1em\" class={clsx(\"transition-transform\", open() && \"rotate-180\")} />\n </Show>\n </Button>\n <Show when={hasChildren()}>\n <Dropdown triggerRef={() => buttonRef} open={open()} onOpenChange={setOpen}>\n <List inset>\n <For each={props.menu.children}>\n {(child) => <TopbarMenuDropdownItem menu={child} onClose={() => setOpen(false)} />}\n </For>\n </List>\n </Dropdown>\n </Show>\n </>\n );\n};\n\ninterface TopbarMenuDropdownItemProps {\n menu: TopbarMenuItem;\n onClose: () => void;\n}\n\nconst TopbarMenuDropdownItem: Component<TopbarMenuDropdownItemProps> = (props) => {\n const location = useLocation();\n const navigate = useNavigate();\n\n const hasChildren = () => props.menu.children !== undefined && props.menu.children.length > 0;\n const isExternalLink = () => props.menu.href?.includes(\"://\") ?? false;\n const isSelected = () => props.menu.href === location.pathname;\n\n const handleClick = () => {\n 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 props.onClose();\n }\n // href\uAC00 \uC5C6\uACE0 children\uB9CC \uC788\uB294 \uACBD\uC6B0 \uD074\uB9AD\uD574\uB3C4 \uB2EB\uD788\uC9C0 \uC54A\uC74C\n };\n\n return (\n <ListItem selected={isSelected()} readonly={props.menu.href === undefined && hasChildren()} onClick={handleClick}>\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}>\n {(child) => <TopbarMenuDropdownItem menu={child} onClose={props.onClose} />}\n </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", "useLocation", "useNavigate", "IconChevronDown", "IconDotsVertical", "Icon", "clsx", "twMerge", "Button", "Dropdown", "List", "ListItem", "desktopNavBaseClass", "mobileWrapperClass", "menuButtonContentClass", "TopbarMenu", "props", "local", "rest", "mobileMenuOpen", "setMobileMenuOpen", "mobileButtonRef", "_el$", "_tmpl$", "_$spread", "_$mergeProps", "class", "_$insert", "_$createComponent", "each", "menus", "children", "menu", "TopbarMenuButton", "_el$2", "_tmpl$2", "_$className", "ref", "r$", "_ref$", "variant", "onClick", "v", "icon", "size", "triggerRef", "open", "onOpenChange", "inset", "TopbarMenuDropdownItem", "onClose", "location", "navigate", "setOpen", "buttonRef", "hasChildren", "undefined", "length", "isExternalLink", "href", "includes", "isAnyChildSelected", "items", "item", "pathname", "isSelected", "handleClick", "window", "_ref$2", "theme", "_$memo", "when", "_el$3", "_tmpl$3", "title", "child", "selected", "readonly", "_el$4", "_tmpl$4", "Children"]
7
6
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TopbarUser.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/topbar/TopbarUser.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,GAAG,EAAE,KAAK,eAAe,EAAoB,MAAM,UAAU,CAAC;AAa/F,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC1F;;OAEG;IACH,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IAEzB;;OAEG;IACH,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,UAAU,EAAE,eAAe,CAAC,eAAe,CA+CvD,CAAC"}
@@ -1,12 +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 { memo as _$memo } 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>`);
1
8
  import { createSignal, For, Show, splitProps } from "solid-js";
2
9
  import { IconChevronDown } from "@tabler/icons-solidjs";
3
10
  import clsx from "clsx";
4
- import { Icon } from "../../display/Icon";
11
+ import { Icon } from "../../display/Icon.js";
5
12
  import { twMerge } from "tailwind-merge";
6
- import { Button } from "../../form-control/Button";
7
- import { Dropdown } from "../../disclosure/Dropdown";
8
- import { List } from "../../data/list/List";
9
- import { ListItem } from "../../data/list/ListItem";
13
+ import { Button } from "../../form-control/Button.js";
14
+ import { Dropdown } from "../../disclosure/Dropdown.js";
15
+ import { List } from "../../data/list/List.js";
16
+ import { ListItem } from "../../data/list/ListItem.js";
10
17
  const wrapperBaseClass = clsx("flex items-center");
11
18
  const buttonContentClass = clsx("flex items-center", "gap-1");
12
19
  const TopbarUser = (props) => {
@@ -24,19 +31,79 @@ const TopbarUser = (props) => {
24
31
  menu.onClick();
25
32
  };
26
33
  const getClassName = () => twMerge(wrapperBaseClass, local.class);
27
- return /* @__PURE__ */ React.createElement("div", { ...rest, "data-topbar-user": true, class: getClassName() }, /* @__PURE__ */ React.createElement(
28
- Button,
29
- {
30
- ref: buttonRef,
34
+ return (() => {
35
+ var _el$ = _tmpl$();
36
+ _$spread(_el$, _$mergeProps(rest, {
37
+ "data-topbar-user": "",
38
+ get ["class"]() {
39
+ return getClassName();
40
+ }
41
+ }), false, true);
42
+ _$insert(_el$, _$createComponent(Button, {
43
+ ref(r$) {
44
+ var _ref$ = buttonRef;
45
+ typeof _ref$ === "function" ? _ref$(r$) : buttonRef = r$;
46
+ },
31
47
  variant: "ghost",
32
48
  onClick: handleClick,
33
- class: buttonContentClass,
34
- "aria-haspopup": hasMenus() ? "menu" : void 0,
35
- "aria-expanded": hasMenus() ? open() : void 0
36
- },
37
- local.children,
38
- /* @__PURE__ */ React.createElement(Show, { when: hasMenus() }, /* @__PURE__ */ React.createElement(Icon, { icon: IconChevronDown, size: "1em", class: clsx("transition-transform", open() && "rotate-180") }))
39
- ), /* @__PURE__ */ React.createElement(Show, { when: hasMenus() }, /* @__PURE__ */ React.createElement(Dropdown, { triggerRef: () => buttonRef, open: open(), onOpenChange: setOpen }, /* @__PURE__ */ React.createElement(List, { inset: true }, /* @__PURE__ */ React.createElement(For, { each: local.menus }, (menu) => /* @__PURE__ */ React.createElement(ListItem, { onClick: () => handleMenuClick(menu) }, menu.title))))));
49
+ "class": buttonContentClass,
50
+ get ["aria-haspopup"]() {
51
+ return hasMenus() ? "menu" : void 0;
52
+ },
53
+ get ["aria-expanded"]() {
54
+ return _$memo(() => !!hasMenus())() ? open() : void 0;
55
+ },
56
+ get children() {
57
+ return [_$memo(() => local.children), _$createComponent(Show, {
58
+ get when() {
59
+ return hasMenus();
60
+ },
61
+ get children() {
62
+ return _$createComponent(Icon, {
63
+ icon: IconChevronDown,
64
+ size: "1em",
65
+ get ["class"]() {
66
+ return clsx("transition-transform", open() && "rotate-180");
67
+ }
68
+ });
69
+ }
70
+ })];
71
+ }
72
+ }), null);
73
+ _$insert(_el$, _$createComponent(Show, {
74
+ get when() {
75
+ return hasMenus();
76
+ },
77
+ get children() {
78
+ return _$createComponent(Dropdown, {
79
+ triggerRef: () => buttonRef,
80
+ get open() {
81
+ return open();
82
+ },
83
+ onOpenChange: setOpen,
84
+ get children() {
85
+ return _$createComponent(List, {
86
+ inset: true,
87
+ get children() {
88
+ return _$createComponent(For, {
89
+ get each() {
90
+ return local.menus;
91
+ },
92
+ children: (menu) => _$createComponent(ListItem, {
93
+ onClick: () => handleMenuClick(menu),
94
+ get children() {
95
+ return menu.title;
96
+ }
97
+ })
98
+ });
99
+ }
100
+ });
101
+ }
102
+ });
103
+ }
104
+ }), null);
105
+ return _el$;
106
+ })();
40
107
  };
41
108
  export {
42
109
  TopbarUser
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/layout/topbar/TopbarUser.tsx"],
4
- "sourcesContent": ["import { createSignal, For, type JSX, type ParentComponent, Show, splitProps } from \"solid-js\";\nimport { IconChevronDown } from \"@tabler/icons-solidjs\";\nimport clsx from \"clsx\";\nimport { Icon } from \"../../display/Icon\";\nimport { twMerge } from \"tailwind-merge\";\nimport { Button } from \"../../form-control/Button\";\nimport { Dropdown } from \"../../disclosure/Dropdown\";\nimport { List } from \"../../data/list/List\";\nimport { ListItem } from \"../../data/list/ListItem\";\n\nconst wrapperBaseClass = clsx(\"flex items-center\");\nconst buttonContentClass = clsx(\"flex items-center\", \"gap-1\");\n\nexport interface TopbarUserMenu {\n title: string;\n onClick: () => void;\n}\n\nexport interface TopbarUserProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"onClick\"> {\n /**\n * \uB4DC\uB86D\uB2E4\uC6B4 \uBA54\uB274 (\uC788\uC744 \uB54C\uB9CC \uB4DC\uB86D\uB2E4\uC6B4 \uD45C\uC2DC)\n */\n menus?: TopbarUserMenu[];\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 * Topbar \uC0AC\uC6A9\uC790 \uC815\uBCF4 \uCEF4\uD3EC\uB10C\uD2B8\n *\n * @remarks\n * - children\uC73C\uB85C \uC0AC\uC6A9\uC790 \uC815\uBCF4 \uD45C\uC2DC \uCEE4\uC2A4\uD130\uB9C8\uC774\uC9D5\n * - menus\uAC00 \uC788\uC744 \uB54C \uD074\uB9AD \uC2DC Dropdown\uC73C\uB85C \uBA54\uB274 \uD45C\uC2DC\n * - Button\uC758 ghost \uC2A4\uD0C0\uC77C \uC0AC\uC6A9\n *\n * @example\n * ```tsx\n * <TopbarUser menus={[\n * { title: \"\uD504\uB85C\uD544\", onClick: () => navigate(\"/profile\") },\n * { title: \"\uB85C\uADF8\uC544\uC6C3\", onClick: handleLogout },\n * ]}>\n * <span>\uC0AC\uC6A9\uC790\uBA85</span>\n * </TopbarUser>\n * ```\n */\nexport const TopbarUser: ParentComponent<TopbarUserProps> = (props) => {\n const [local, rest] = splitProps(props, [\"children\", \"class\", \"menus\"]);\n\n const [open, setOpen] = createSignal(false);\n let buttonRef: HTMLButtonElement | undefined;\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: TopbarUserMenu) => {\n setOpen(false);\n menu.onClick();\n };\n\n const getClassName = () => twMerge(wrapperBaseClass, local.class);\n\n return (\n <div {...rest} data-topbar-user class={getClassName()}>\n <Button\n ref={buttonRef}\n variant=\"ghost\"\n onClick={handleClick}\n class={buttonContentClass}\n aria-haspopup={hasMenus() ? \"menu\" : undefined}\n aria-expanded={hasMenus() ? open() : undefined}\n >\n {local.children}\n <Show when={hasMenus()}>\n <Icon icon={IconChevronDown} size=\"1em\" class={clsx(\"transition-transform\", open() && \"rotate-180\")} />\n </Show>\n </Button>\n <Show when={hasMenus()}>\n <Dropdown triggerRef={() => buttonRef} open={open()} onOpenChange={setOpen}>\n <List inset>\n <For each={local.menus}>\n {(menu) => <ListItem onClick={() => handleMenuClick(menu)}>{menu.title}</ListItem>}\n </For>\n </List>\n </Dropdown>\n </Show>\n </div>\n );\n};\n"],
5
- "mappings": "AAAA,SAAS,cAAc,KAAqC,MAAM,kBAAkB;AACpF,SAAS,uBAAuB;AAChC,OAAO,UAAU;AACjB,SAAS,YAAY;AACrB,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,SAAS,gBAAgB;AACzB,SAAS,YAAY;AACrB,SAAS,gBAAgB;AAEzB,MAAM,mBAAmB,KAAK,mBAAmB;AACjD,MAAM,qBAAqB,KAAK,qBAAqB,OAAO;AAqCrD,MAAM,aAA+C,CAAC,UAAU;AACrE,QAAM,CAAC,OAAO,IAAI,IAAI,WAAW,OAAO,CAAC,YAAY,SAAS,OAAO,CAAC;AAEtE,QAAM,CAAC,MAAM,OAAO,IAAI,aAAa,KAAK;AAC1C,MAAI;AAEJ,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,SAAyB;AAChD,YAAQ,KAAK;AACb,SAAK,QAAQ;AAAA,EACf;AAEA,QAAM,eAAe,MAAM,QAAQ,kBAAkB,MAAM,KAAK;AAEhE,SACE,oCAAC,SAAK,GAAG,MAAM,oBAAgB,MAAC,OAAO,aAAa,KAClD;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL,SAAQ;AAAA,MACR,SAAS;AAAA,MACT,OAAO;AAAA,MACP,iBAAe,SAAS,IAAI,SAAS;AAAA,MACrC,iBAAe,SAAS,IAAI,KAAK,IAAI;AAAA;AAAA,IAEpC,MAAM;AAAA,IACP,oCAAC,QAAK,MAAM,SAAS,KACnB,oCAAC,QAAK,MAAM,iBAAiB,MAAK,OAAM,OAAO,KAAK,wBAAwB,KAAK,KAAK,YAAY,GAAG,CACvG;AAAA,EACF,GACA,oCAAC,QAAK,MAAM,SAAS,KACnB,oCAAC,YAAS,YAAY,MAAM,WAAW,MAAM,KAAK,GAAG,cAAc,WACjE,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": ";;;;;;;AAAA,SAASA,cAAcC,KAAqCC,MAAMC,kBAAkB;AACpF,SAASC,uBAAuB;AAChC,OAAOC,UAAU;AACjB,SAASC,YAAY;AACrB,SAASC,eAAe;AACxB,SAASC,cAAc;AACvB,SAASC,gBAAgB;AACzB,SAASC,YAAY;AACrB,SAASC,gBAAgB;AAEzB,MAAMC,mBAAmBP,KAAK,mBAAmB;AACjD,MAAMQ,qBAAqBR,KAAK,qBAAqB,OAAO;AAqCrD,MAAMS,aAAgDC,WAAU;AACrE,QAAM,CAACC,OAAOC,IAAI,IAAId,WAAWY,OAAO,CAAC,YAAY,SAAS,OAAO,CAAC;AAEtE,QAAM,CAACG,MAAMC,OAAO,IAAInB,aAAa,KAAK;AAC1C,MAAIoB;AAEJ,QAAMC,WAAWA,MAAML,MAAMM,UAAUC,UAAaP,MAAMM,MAAME,SAAS;AAEzE,QAAMC,cAAcA,MAAM;AACxB,QAAIJ,SAAS,GAAG;AACdF,cAASO,OAAM,CAACA,CAAC;IACnB;EACF;AAEA,QAAMC,kBAAmBC,UAAyB;AAChDT,YAAQ,KAAK;AACbS,SAAKC,QAAQ;EACf;AAEA,QAAMC,eAAeA,MAAMvB,QAAQK,kBAAkBI,MAAMe,KAAK;AAEhE,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAA;AAAAC,aAAAF,MAAAG,aACWlB,MAAI;MAAA,oBAAA;MAAA,KAAA,OAAA,IAAA;AAAA,eAA0Ba,aAAa;MAAC;IAAA,CAAA,GAAA,OAAA,IAAA;AAAAM,aAAAJ,MAAAK,kBAClD7B,QAAM;MAAA8B,IAAAC,IAAA;AAAA,YAAAC,QACApB;AAAS,eAAAoB,UAAA,aAAAA,MAAAD,EAAA,IAATnB,YAASmB;MAAA;MACdE,SAAO;MACPZ,SAASJ;MAAW,SACbZ;MAAkB,KAAA,eAAA,IAAA;AAAA,eACVQ,SAAS,IAAI,SAASE;MAAS;MAAA,KAAA,eAAA,IAAA;AAAA,eAC/BmB,OAAA,MAAA,CAAA,CAAArB,SAAS,CAAC,EAAA,IAAGH,KAAK,IAAIK;MAAS;MAAA,IAAAoB,WAAA;AAAA,eAAA,CAAAD,OAAA,MAE7C1B,MAAM2B,QAAQ,GAAAN,kBACdnC,MAAI;UAAA,IAAC0C,OAAI;AAAA,mBAAEvB,SAAS;UAAC;UAAA,IAAAsB,WAAA;AAAA,mBAAAN,kBACnB/B,MAAI;cAACuC,MAAMzC;cAAiB0C,MAAI;cAAA,KAAA,OAAA,IAAA;AAAA,uBAAczC,KAAK,wBAAwBa,KAAK,KAAK,YAAY;cAAC;YAAA,CAAA;UAAA;QAAA,CAAA,CAAA;MAAA;IAAA,CAAA,GAAA,IAAA;AAAAkB,aAAAJ,MAAAK,kBAGtGnC,MAAI;MAAA,IAAC0C,OAAI;AAAA,eAAEvB,SAAS;MAAC;MAAA,IAAAsB,WAAA;AAAA,eAAAN,kBACnB5B,UAAQ;UAACsC,YAAYA,MAAM3B;UAAS,IAAEF,OAAI;AAAA,mBAAEA,KAAK;UAAC;UAAE8B,cAAc7B;UAAO,IAAAwB,WAAA;AAAA,mBAAAN,kBACvE3B,MAAI;cAACuC,OAAK;cAAA,IAAAN,WAAA;AAAA,uBAAAN,kBACRpC,KAAG;kBAAA,IAACiD,OAAI;AAAA,2BAAElC,MAAMM;kBAAK;kBAAAqB,UAClBf,UAAIS,kBAAM1B,UAAQ;oBAACkB,SAASA,MAAMF,gBAAgBC,IAAI;oBAAC,IAAAe,WAAA;AAAA,6BAAGf,KAAKuB;oBAAK;kBAAA,CAAA;gBAAY,CAAA;cAAA;YAAA,CAAA;UAAA;QAAA,CAAA;MAAA;IAAA,CAAA,GAAA,IAAA;AAAA,WAAAnB;EAAA,GAAA;AAOhG;",
5
+ "names": ["createSignal", "For", "Show", "splitProps", "IconChevronDown", "clsx", "Icon", "twMerge", "Button", "Dropdown", "List", "ListItem", "wrapperBaseClass", "buttonContentClass", "TopbarUser", "props", "local", "rest", "open", "setOpen", "buttonRef", "hasMenus", "menus", "undefined", "length", "handleClick", "v", "handleMenuClick", "menu", "onClick", "getClassName", "class", "_el$", "_tmpl$", "_$spread", "_$mergeProps", "_$insert", "_$createComponent", "ref", "r$", "_ref$", "variant", "_$memo", "children", "when", "icon", "size", "triggerRef", "onOpenChange", "inset", "each", "title"]
7
6
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ripple.d.ts","sourceRoot":"","sources":["../../src/directives/ripple.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,QAAQ,UAAU,CAAC;IACxB,UAAU,GAAG,CAAC;QACZ,UAAU,UAAU;YAClB,MAAM,EAAE,OAAO,CAAC;SACjB;KACF;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CA6HzE"}
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/directives/ripple.ts"],
4
- "sourcesContent": ["import type { Accessor } from \"solid-js\";\nimport { onCleanup } from \"solid-js\";\n\ndeclare module \"solid-js\" {\n namespace JSX {\n interface Directives {\n ripple: boolean;\n }\n }\n}\n\n/**\n * \uC778\uD130\uB799\uD2F0\uBE0C \uC694\uC18C\uC5D0 ripple \uD6A8\uACFC\uB97C \uCD94\uAC00\uD558\uB294 directive.\n *\n * @remarks\n * - \uB0B4\uBD80\uC5D0 ripple-container div\uB97C \uC0DD\uC131\uD558\uC5EC overflow: hidden \uC801\uC6A9 (\uBD80\uBAA8 \uC694\uC18C \uC601\uD5A5 \uC5C6\uC74C)\n * - \uC694\uC18C\uC758 position\uC774 `static`\uC77C \uB54C\uB9CC `relative`\uB85C \uBCC0\uACBD (cleanup \uC2DC \uC6D0\uB798 \uAC12 \uBCF5\uC6D0)\n * - \uB2E8\uC77C ripple \uBAA8\uB4DC: \uC0C8 \uD074\uB9AD \uC2DC \uC774\uC804 ripple \uC81C\uAC70\n * - `prefers-reduced-motion: reduce` \uC124\uC815 \uC2DC ripple \uBE44\uD65C\uC131\uD654\n *\n * @example\n * ```tsx\n * <button use:ripple={!props.disabled}>Click me</button>\n * ```\n */\nexport function ripple(el: HTMLElement, accessor: Accessor<boolean>): void {\n let containerEl: HTMLDivElement | undefined;\n let indicatorEl: HTMLDivElement | undefined;\n let rafId: number | undefined;\n let originalPosition: string | undefined;\n let positionApplied = false;\n\n const prefersReducedMotion = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n\n // ripple container \uC0DD\uC131 (\uB0B4\uBD80\uC5D0\uC11C overflow: hidden \uCC98\uB9AC)\n const ensureContainer = () => {\n if (containerEl) return containerEl;\n\n containerEl = document.createElement(\"div\");\n containerEl.style.cssText =\n \"position: absolute; top: 0; left: 0; right: 0; bottom: 0; overflow: hidden; pointer-events: none; border-radius: inherit;\";\n el.appendChild(containerEl);\n\n return containerEl;\n };\n\n const onPointerDown = (event: PointerEvent) => {\n if (!accessor()) return;\n if (prefersReducedMotion.matches) return;\n\n // position \uD655\uC778 \uBC0F \uC801\uC6A9 (container \uBC30\uCE58\uB97C \uC704\uD574 \uD544\uC694)\n if (getComputedStyle(el).position === \"static\") {\n if (!positionApplied) originalPosition = el.style.position;\n el.style.position = \"relative\";\n positionApplied = true;\n }\n\n const container = ensureContainer();\n\n if (indicatorEl) {\n indicatorEl.remove();\n indicatorEl = undefined;\n }\n\n const rect = el.getBoundingClientRect();\n const x = event.clientX - rect.left;\n const y = event.clientY - rect.top;\n\n // \uD074\uB9AD \uC704\uCE58\uC5D0\uC11C \uAC00\uC7A5 \uBA3C \uBAA8\uC11C\uB9AC\uAE4C\uC9C0\uC758 \uAC70\uB9AC\uB97C \uBC18\uC9C0\uB984\uC73C\uB85C \uC0AC\uC6A9\n const maxDist = Math.max(\n Math.hypot(x, y),\n Math.hypot(rect.width - x, y),\n Math.hypot(x, rect.height - y),\n Math.hypot(rect.width - x, rect.height - y),\n );\n const size = maxDist * 2;\n\n indicatorEl = document.createElement(\"div\");\n indicatorEl.classList.add(\n \"absolute\",\n \"pointer-events-none\",\n \"rounded-full\",\n \"bg-black/20\",\n \"dark:bg-white/20\",\n \"transition-[transform,opacity]\",\n \"duration-500\",\n \"ease-in-out\",\n );\n Object.assign(indicatorEl.style, {\n width: `${size}px`,\n height: `${size}px`,\n top: `${y - size / 2}px`,\n left: `${x - size / 2}px`,\n transform: \"scale(0)\",\n opacity: \"1\",\n });\n\n indicatorEl.addEventListener(\"transitionend\", (e) => {\n if (e.propertyName === \"opacity\" && indicatorEl && indicatorEl.style.opacity === \"0\") {\n indicatorEl.remove();\n indicatorEl = undefined;\n }\n });\n\n container.appendChild(indicatorEl);\n\n rafId = requestAnimationFrame(() => {\n rafId = undefined;\n if (indicatorEl) {\n indicatorEl.style.transform = \"scale(1)\";\n }\n });\n };\n\n const onPointerUp = () => {\n if (indicatorEl) {\n indicatorEl.style.opacity = \"0\";\n }\n };\n\n el.addEventListener(\"pointerdown\", onPointerDown);\n el.addEventListener(\"pointerup\", onPointerUp);\n el.addEventListener(\"pointercancel\", onPointerUp);\n el.addEventListener(\"pointerleave\", onPointerUp);\n\n onCleanup(() => {\n el.removeEventListener(\"pointerdown\", onPointerDown);\n el.removeEventListener(\"pointerup\", onPointerUp);\n el.removeEventListener(\"pointercancel\", onPointerUp);\n el.removeEventListener(\"pointerleave\", onPointerUp);\n\n if (rafId !== undefined) {\n cancelAnimationFrame(rafId);\n rafId = undefined;\n }\n\n if (indicatorEl) {\n indicatorEl.remove();\n indicatorEl = undefined;\n }\n\n if (containerEl) {\n containerEl.remove();\n containerEl = undefined;\n }\n\n if (positionApplied && originalPosition !== undefined) {\n el.style.position = originalPosition;\n }\n });\n}\n"],
5
4
  "mappings": "AACA,SAAS,iBAAiB;AAwBnB,SAAS,OAAO,IAAiB,UAAmC;AACzE,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI,kBAAkB;AAEtB,QAAM,uBAAuB,OAAO,WAAW,kCAAkC;AAGjF,QAAM,kBAAkB,MAAM;AAC5B,QAAI,YAAa,QAAO;AAExB,kBAAc,SAAS,cAAc,KAAK;AAC1C,gBAAY,MAAM,UAChB;AACF,OAAG,YAAY,WAAW;AAE1B,WAAO;AAAA,EACT;AAEA,QAAM,gBAAgB,CAAC,UAAwB;AAC7C,QAAI,CAAC,SAAS,EAAG;AACjB,QAAI,qBAAqB,QAAS;AAGlC,QAAI,iBAAiB,EAAE,EAAE,aAAa,UAAU;AAC9C,UAAI,CAAC,gBAAiB,oBAAmB,GAAG,MAAM;AAClD,SAAG,MAAM,WAAW;AACpB,wBAAkB;AAAA,IACpB;AAEA,UAAM,YAAY,gBAAgB;AAElC,QAAI,aAAa;AACf,kBAAY,OAAO;AACnB,oBAAc;AAAA,IAChB;AAEA,UAAM,OAAO,GAAG,sBAAsB;AACtC,UAAM,IAAI,MAAM,UAAU,KAAK;AAC/B,UAAM,IAAI,MAAM,UAAU,KAAK;AAG/B,UAAM,UAAU,KAAK;AAAA,MACnB,KAAK,MAAM,GAAG,CAAC;AAAA,MACf,KAAK,MAAM,KAAK,QAAQ,GAAG,CAAC;AAAA,MAC5B,KAAK,MAAM,GAAG,KAAK,SAAS,CAAC;AAAA,MAC7B,KAAK,MAAM,KAAK,QAAQ,GAAG,KAAK,SAAS,CAAC;AAAA,IAC5C;AACA,UAAM,OAAO,UAAU;AAEvB,kBAAc,SAAS,cAAc,KAAK;AAC1C,gBAAY,UAAU;AAAA,MACpB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,WAAO,OAAO,YAAY,OAAO;AAAA,MAC/B,OAAO,GAAG,IAAI;AAAA,MACd,QAAQ,GAAG,IAAI;AAAA,MACf,KAAK,GAAG,IAAI,OAAO,CAAC;AAAA,MACpB,MAAM,GAAG,IAAI,OAAO,CAAC;AAAA,MACrB,WAAW;AAAA,MACX,SAAS;AAAA,IACX,CAAC;AAED,gBAAY,iBAAiB,iBAAiB,CAAC,MAAM;AACnD,UAAI,EAAE,iBAAiB,aAAa,eAAe,YAAY,MAAM,YAAY,KAAK;AACpF,oBAAY,OAAO;AACnB,sBAAc;AAAA,MAChB;AAAA,IACF,CAAC;AAED,cAAU,YAAY,WAAW;AAEjC,YAAQ,sBAAsB,MAAM;AAClC,cAAQ;AACR,UAAI,aAAa;AACf,oBAAY,MAAM,YAAY;AAAA,MAChC;AAAA,IACF,CAAC;AAAA,EACH;AAEA,QAAM,cAAc,MAAM;AACxB,QAAI,aAAa;AACf,kBAAY,MAAM,UAAU;AAAA,IAC9B;AAAA,EACF;AAEA,KAAG,iBAAiB,eAAe,aAAa;AAChD,KAAG,iBAAiB,aAAa,WAAW;AAC5C,KAAG,iBAAiB,iBAAiB,WAAW;AAChD,KAAG,iBAAiB,gBAAgB,WAAW;AAE/C,YAAU,MAAM;AACd,OAAG,oBAAoB,eAAe,aAAa;AACnD,OAAG,oBAAoB,aAAa,WAAW;AAC/C,OAAG,oBAAoB,iBAAiB,WAAW;AACnD,OAAG,oBAAoB,gBAAgB,WAAW;AAElD,QAAI,UAAU,QAAW;AACvB,2BAAqB,KAAK;AAC1B,cAAQ;AAAA,IACV;AAEA,QAAI,aAAa;AACf,kBAAY,OAAO;AACnB,oBAAc;AAAA,IAChB;AAEA,QAAI,aAAa;AACf,kBAAY,OAAO;AACnB,oBAAc;AAAA,IAChB;AAEA,QAAI,mBAAmB,qBAAqB,QAAW;AACrD,SAAG,MAAM,WAAW;AAAA,IACtB;AAAA,EACF,CAAC;AACH;",
6
5
  "names": []
7
6
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAppStructure.d.ts","sourceRoot":"","sources":["../../src/helpers/createAppStructure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAc,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAIhF,MAAM,WAAW,qBAAqB,CAAC,OAAO;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,oBAAoB,CAAC,OAAO;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,gBAAgB,CAAC,OAAO,IAAI,qBAAqB,CAAC,OAAO,CAAC,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAEvG,MAAM,WAAW,mBAAmB,CAAC,OAAO;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC;CAC3B;AAID,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY,CAAC,OAAO;IACnC,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,WAAW,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;IACzC,eAAe,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IACzC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC/C;AAkGD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE;IAChD,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,aAAa,CAAC,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;IAChD,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAChD,GAAG,YAAY,CAAC,OAAO,CAAC,CAwBxB"}
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/helpers/createAppStructure.ts"],
4
- "sourcesContent": ["import { type Accessor, createMemo } from \"solid-js\";\nimport type { Component } from \"solid-js\";\nimport type { IconProps } from \"@tabler/icons-solidjs\";\nimport type { SidebarMenuItem } from \"../components/layout/sidebar/SidebarMenu\";\n\n// \u2500\u2500 \uC785\uB825 \uD0C0\uC785 \u2500\u2500\n\nexport interface AppStructureGroupItem<TModule> {\n code: string;\n title: string;\n icon?: Component<IconProps>;\n modules?: TModule[];\n requiredModules?: TModule[];\n children: AppStructureItem<TModule>[];\n}\n\nexport interface AppStructureLeafItem<TModule> {\n code: string;\n title: string;\n icon?: Component<IconProps>;\n modules?: TModule[];\n requiredModules?: TModule[];\n component?: Component;\n perms?: (\"use\" | \"edit\")[];\n subPerms?: AppStructureSubPerm<TModule>[];\n isNotMenu?: boolean;\n}\n\nexport type AppStructureItem<TModule> = AppStructureGroupItem<TModule> | AppStructureLeafItem<TModule>;\n\nexport interface AppStructureSubPerm<TModule> {\n code: string;\n title: string;\n modules?: TModule[];\n requiredModules?: TModule[];\n perms: (\"use\" | \"edit\")[];\n}\n\n// \u2500\u2500 \uCD9C\uB825 \uD0C0\uC785 \u2500\u2500\n\nexport interface AppRoute {\n path: string;\n component: Component;\n}\n\nexport interface AppFlatMenu {\n titleChain: string[];\n href: string;\n}\n\nexport interface AppStructure<TModule> {\n items: AppStructureItem<TModule>[];\n routes: AppRoute[];\n usableMenus: Accessor<SidebarMenuItem[]>;\n usableFlatMenus: Accessor<AppFlatMenu[]>;\n permRecord: Accessor<Record<string, boolean>>;\n}\n\n// \u2500\u2500 \uB0B4\uBD80 \uD5EC\uD37C \u2500\u2500\n\nfunction isGroupItem<TModule>(item: AppStructureItem<TModule>): item is AppStructureGroupItem<TModule> {\n return \"children\" in item;\n}\n\nfunction checkModules<TModule>(\n modules: TModule[] | undefined,\n requiredModules: TModule[] | undefined,\n usableModules: TModule[] | undefined,\n): boolean {\n if (usableModules === undefined) return true;\n\n if (modules !== undefined && modules.length > 0) {\n if (!modules.some((m) => usableModules.includes(m))) return false;\n }\n\n if (requiredModules !== undefined && requiredModules.length > 0) {\n if (!requiredModules.every((m) => usableModules.includes(m))) return false;\n }\n\n return true;\n}\n\nfunction collectRoutes<TModule>(items: AppStructureItem<TModule>[], parentCodes: string[], routes: AppRoute[]): void {\n for (const item of items) {\n const codes = [...parentCodes, item.code];\n\n if (isGroupItem(item)) {\n collectRoutes(item.children, codes, routes);\n } else if (item.component !== undefined) {\n routes.push({\n path: \"/\" + codes.join(\"/\"),\n component: item.component,\n });\n }\n }\n}\n\nfunction extractRoutes<TModule>(items: AppStructureItem<TModule>[]): AppRoute[] {\n const routes: AppRoute[] = [];\n for (const top of items) {\n if (isGroupItem(top)) {\n collectRoutes(top.children, [], routes);\n }\n }\n return routes;\n}\n\nfunction buildMenus<TModule>(\n items: AppStructureItem<TModule>[],\n basePath: string,\n usableModules: TModule[] | undefined,\n permRecord: Record<string, boolean>,\n): SidebarMenuItem[] {\n const result: SidebarMenuItem[] = [];\n\n for (const item of items) {\n if (!checkModules(item.modules, item.requiredModules, usableModules)) continue;\n\n const href = basePath + \"/\" + item.code;\n\n if (isGroupItem(item)) {\n const children = buildMenus(item.children, href, usableModules, permRecord);\n if (children.length > 0) {\n result.push({ title: item.title, icon: item.icon, children });\n }\n } else {\n if (item.isNotMenu) continue;\n if (item.perms?.includes(\"use\") && !permRecord[href + \"/use\"]) continue;\n\n result.push({ title: item.title, href, icon: item.icon });\n }\n }\n\n return result;\n}\n\nfunction flattenMenus(menus: SidebarMenuItem[], titleChain: string[] = []): AppFlatMenu[] {\n const result: AppFlatMenu[] = [];\n\n for (const menu of menus) {\n const chain = [...titleChain, menu.title];\n\n if (menu.children !== undefined) {\n result.push(...flattenMenus(menu.children, chain));\n } else if (menu.href !== undefined) {\n result.push({ titleChain: chain, href: menu.href });\n }\n }\n\n return result;\n}\n\n// \u2500\u2500 \uBA54\uC778 \uD568\uC218 \u2500\u2500\n\nexport function createAppStructure<TModule>(opts: {\n items: AppStructureItem<TModule>[];\n usableModules?: Accessor<TModule[] | undefined>;\n permRecord?: Accessor<Record<string, boolean>>;\n}): AppStructure<TModule> {\n const permRecord = () => opts.permRecord?.() ?? {};\n\n const routes = extractRoutes(opts.items);\n\n const usableMenus = createMemo(() => {\n const menus: SidebarMenuItem[] = [];\n for (const top of opts.items) {\n if (isGroupItem(top)) {\n menus.push(...buildMenus(top.children, \"/\" + top.code, opts.usableModules?.(), permRecord()));\n }\n }\n return menus;\n });\n\n const usableFlatMenus = createMemo(() => flattenMenus(usableMenus()));\n\n return {\n items: opts.items,\n routes,\n usableMenus,\n usableFlatMenus,\n permRecord,\n };\n}\n"],
5
4
  "mappings": "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",
6
5
  "names": []
7
6
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/mergeStyles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,WAAW,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,GAAG,CAAC,aAAa,CA4BpG"}
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/helpers/mergeStyles.ts"],
4
- "sourcesContent": ["import { type JSX } from \"solid-js\";\n\n/**\n * CSS \uC2A4\uD0C0\uC77C\uC744 \uBCD1\uD569\uD558\uB294 \uC720\uD2F8\uB9AC\uD2F0 \uD568\uC218\n *\n * @remarks\n * - string\uACFC object \uD615\uD0DC\uC758 \uC2A4\uD0C0\uC77C\uC744 \uBAA8\uB450 \uC9C0\uC6D0\n * - object \uD615\uD0DC\uB294 \uD558\uB098\uC758 \uAC1D\uCCB4\uB85C \uBCD1\uD569 (\uB098\uC911 \uAC12\uC774 \uC6B0\uC120)\n * - string\uC740 \uD30C\uC2F1\uD558\uC5EC \uBCD1\uD569\n * - undefined\uB294 \uBB34\uC2DC\n *\n * @example\n * ```tsx\n * // Object \uBCD1\uD569\n * mergeStyles({ color: \"red\" }, { background: \"blue\" })\n * // => { color: \"red\", background: \"blue\" }\n *\n * // String \uBCD1\uD569\n * mergeStyles(\"color: red;\", \"background: blue;\")\n * // => { color: \"red\", background: \"blue\" }\n *\n * // Mixed \uBCD1\uD569\n * mergeStyles({ color: \"red\" }, \"background: blue;\")\n * // => { color: \"red\", background: \"blue\" }\n * ```\n */\nexport function mergeStyles(...styles: (JSX.CSSProperties | string | undefined)[]): JSX.CSSProperties {\n const result: Record<string, string> = {};\n\n for (const style of styles) {\n if (style === undefined) continue;\n\n if (typeof style === \"string\") {\n // CSS string \uD30C\uC2F1\n const declarations = style.split(\";\").filter((s) => s.trim());\n for (const declaration of declarations) {\n const colonIndex = declaration.indexOf(\":\");\n if (colonIndex === -1) continue;\n\n const property = declaration.slice(0, colonIndex).trim();\n const value = declaration.slice(colonIndex + 1).trim();\n if (property && value) {\n // kebab-case\uB97C camelCase\uB85C \uBCC0\uD658\n const camelProperty = property.replace(/-([a-z])/g, (_, letter: string) => letter.toUpperCase());\n result[camelProperty] = value;\n }\n }\n } else {\n // Object \uC2A4\uD0C0\uC77C \uBCD1\uD569\n Object.assign(result, style);\n }\n }\n\n return result as JSX.CSSProperties;\n}\n"],
5
4
  "mappings": "AAAA,eAAyB;AA0BlB,SAAS,eAAe,QAAuE;AACpG,QAAM,SAAiC,CAAC;AAExC,aAAW,SAAS,QAAQ;AAC1B,QAAI,UAAU,OAAW;AAEzB,QAAI,OAAO,UAAU,UAAU;AAE7B,YAAM,eAAe,MAAM,MAAM,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;AAC5D,iBAAW,eAAe,cAAc;AACtC,cAAM,aAAa,YAAY,QAAQ,GAAG;AAC1C,YAAI,eAAe,GAAI;AAEvB,cAAM,WAAW,YAAY,MAAM,GAAG,UAAU,EAAE,KAAK;AACvD,cAAM,QAAQ,YAAY,MAAM,aAAa,CAAC,EAAE,KAAK;AACrD,YAAI,YAAY,OAAO;AAErB,gBAAM,gBAAgB,SAAS,QAAQ,aAAa,CAAC,GAAG,WAAmB,OAAO,YAAY,CAAC;AAC/F,iBAAO,aAAa,IAAI;AAAA,QAC1B;AAAA,MACF;AAAA,IACF,OAAO;AAEL,aAAO,OAAO,QAAQ,KAAK;AAAA,IAC7B;AAAA,EACF;AAEA,SAAO;AACT;",
6
5
  "names": []
7
6
  }