@j-solution/components 1.8.0 → 1.9.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 (267) hide show
  1. package/README.md +415 -416
  2. package/assets/jwms-portal-frontend-Di6lStzZ.css +1 -0
  3. package/assets/styles/j-components.css +1 -1
  4. package/assets/styles/main.css +29 -29
  5. package/assets/styles/themes.css +422 -422
  6. package/components/atoms/JAvatar.vue.cjs.map +1 -1
  7. package/components/atoms/JAvatar.vue.js.map +1 -1
  8. package/components/atoms/JBadge.vue.cjs.map +1 -1
  9. package/components/atoms/JBadge.vue.js.map +1 -1
  10. package/components/atoms/JButton.vue.cjs +1 -1
  11. package/components/atoms/JButton.vue.js +1 -1
  12. package/components/atoms/JButton.vue2.cjs.map +1 -1
  13. package/components/atoms/JButton.vue2.js.map +1 -1
  14. package/components/atoms/JCombo.vue.cjs.map +1 -1
  15. package/components/atoms/JCombo.vue.js.map +1 -1
  16. package/components/atoms/JDatepicker.vue.cjs.map +1 -1
  17. package/components/atoms/JDatepicker.vue.js.map +1 -1
  18. package/components/atoms/JDivider.vue.cjs.map +1 -1
  19. package/components/atoms/JDivider.vue.js.map +1 -1
  20. package/components/atoms/JEditor.vue.cjs +1 -1
  21. package/components/atoms/JEditor.vue.js +2 -2
  22. package/components/atoms/JEditor.vue2.cjs.map +1 -1
  23. package/components/atoms/JEditor.vue2.js.map +1 -1
  24. package/components/atoms/JGrid.vue.cjs +1 -1
  25. package/components/atoms/JGrid.vue.js +2 -2
  26. package/components/atoms/JGrid.vue2.cjs +1 -1
  27. package/components/atoms/JGrid.vue2.cjs.map +1 -1
  28. package/components/atoms/JGrid.vue2.js +72 -85
  29. package/components/atoms/JGrid.vue2.js.map +1 -1
  30. package/components/atoms/JIcon.vue.cjs.map +1 -1
  31. package/components/atoms/JIcon.vue.js.map +1 -1
  32. package/components/atoms/JImage.vue.cjs.map +1 -1
  33. package/components/atoms/JImage.vue.js.map +1 -1
  34. package/components/atoms/JKbd.vue.cjs.map +1 -1
  35. package/components/atoms/JKbd.vue.js.map +1 -1
  36. package/components/atoms/JLabel.vue.cjs.map +1 -1
  37. package/components/atoms/JLabel.vue.js.map +1 -1
  38. package/components/atoms/JPreview.vue.cjs +1 -1
  39. package/components/atoms/JPreview.vue.js +7 -7
  40. package/components/atoms/JPreview.vue2.cjs.map +1 -1
  41. package/components/atoms/JPreview.vue2.js.map +1 -1
  42. package/components/atoms/JProgress.vue.cjs.map +1 -1
  43. package/components/atoms/JProgress.vue.js.map +1 -1
  44. package/components/atoms/JRadio.vue.cjs.map +1 -1
  45. package/components/atoms/JRadio.vue.js.map +1 -1
  46. package/components/atoms/JSearchCombo.vue.cjs.map +1 -1
  47. package/components/atoms/JSearchCombo.vue.js.map +1 -1
  48. package/components/atoms/JSectionTitle.vue2.cjs +1 -1
  49. package/components/atoms/JSectionTitle.vue2.cjs.map +1 -1
  50. package/components/atoms/JSectionTitle.vue2.js +5 -8
  51. package/components/atoms/JSectionTitle.vue2.js.map +1 -1
  52. package/components/atoms/JSpinner.vue.cjs.map +1 -1
  53. package/components/atoms/JSpinner.vue.js.map +1 -1
  54. package/components/atoms/JToast.vue.cjs.map +1 -1
  55. package/components/atoms/JToast.vue.js.map +1 -1
  56. package/components/atoms/JTooltip.vue.cjs.map +1 -1
  57. package/components/atoms/JTooltip.vue.js.map +1 -1
  58. package/components/molecules/JAlert.vue.cjs +1 -1
  59. package/components/molecules/JAlert.vue.cjs.map +1 -1
  60. package/components/molecules/JAlert.vue.js +2 -5
  61. package/components/molecules/JAlert.vue.js.map +1 -1
  62. package/components/molecules/JBreadcrumb.vue.cjs.map +1 -1
  63. package/components/molecules/JBreadcrumb.vue.js.map +1 -1
  64. package/components/molecules/JEmptyState.vue2.cjs +1 -1
  65. package/components/molecules/JEmptyState.vue2.cjs.map +1 -1
  66. package/components/molecules/JEmptyState.vue2.js +15 -18
  67. package/components/molecules/JEmptyState.vue2.js.map +1 -1
  68. package/components/molecules/JFormField.vue2.cjs +1 -1
  69. package/components/molecules/JFormField.vue2.cjs.map +1 -1
  70. package/components/molecules/JFormField.vue2.js +2 -5
  71. package/components/molecules/JFormField.vue2.js.map +1 -1
  72. package/components/molecules/JTabs.vue.cjs +1 -1
  73. package/components/molecules/JTabs.vue.js +1 -1
  74. package/components/molecules/JTabs.vue2.cjs.map +1 -1
  75. package/components/molecules/JTabs.vue2.js.map +1 -1
  76. package/components/molecules/JTitlebar.vue.cjs +1 -1
  77. package/components/molecules/JTitlebar.vue.cjs.map +1 -1
  78. package/components/molecules/JTitlebar.vue.js +16 -19
  79. package/components/molecules/JTitlebar.vue.js.map +1 -1
  80. package/components/organisms/JDynamicForm.vue2.cjs +1 -1
  81. package/components/organisms/JDynamicForm.vue2.cjs.map +1 -1
  82. package/components/organisms/JDynamicForm.vue2.js +2 -5
  83. package/components/organisms/JDynamicForm.vue2.js.map +1 -1
  84. package/components/organisms/JDynamicTabs.vue.cjs.map +1 -1
  85. package/components/organisms/JDynamicTabs.vue.js.map +1 -1
  86. package/components/organisms/JFilterBar.vue.cjs +1 -1
  87. package/components/organisms/JFilterBar.vue.js +2 -2
  88. package/components/organisms/JFilterBar.vue2.cjs +1 -1
  89. package/components/organisms/JFilterBar.vue2.cjs.map +1 -1
  90. package/components/organisms/JFilterBar.vue2.js +14 -12
  91. package/components/organisms/JFilterBar.vue2.js.map +1 -1
  92. package/components/organisms/JFormModal.vue.cjs +1 -1
  93. package/components/organisms/JFormModal.vue.cjs.map +1 -1
  94. package/components/organisms/JFormModal.vue.js +14 -17
  95. package/components/organisms/JFormModal.vue.js.map +1 -1
  96. package/components/organisms/JModal.vue.cjs +1 -1
  97. package/components/organisms/JModal.vue.cjs.map +1 -1
  98. package/components/organisms/JModal.vue.js +2 -5
  99. package/components/organisms/JModal.vue.js.map +1 -1
  100. package/components/organisms/JPageContainer.vue.cjs.map +1 -1
  101. package/components/organisms/JPageContainer.vue.js.map +1 -1
  102. package/components/organisms/JSearchPanel.vue2.cjs +1 -1
  103. package/components/organisms/JSearchPanel.vue2.cjs.map +1 -1
  104. package/components/organisms/JSearchPanel.vue2.js +20 -23
  105. package/components/organisms/JSearchPanel.vue2.js.map +1 -1
  106. package/components/organisms/JSidebar/JSidebar.vue.cjs +2 -0
  107. package/components/organisms/JSidebar/JSidebar.vue.cjs.map +1 -0
  108. package/components/organisms/JSidebar/JSidebar.vue.js +189 -0
  109. package/components/organisms/JSidebar/JSidebar.vue.js.map +1 -0
  110. package/components/organisms/JSidebar/JSidebar.vue2.cjs +2 -0
  111. package/components/organisms/JSidebar/JSidebar.vue2.cjs.map +1 -0
  112. package/components/organisms/JSidebar/JSidebar.vue2.js +5 -0
  113. package/components/organisms/JSidebar/JSidebar.vue2.js.map +1 -0
  114. package/components/organisms/JSidebar/JSidebarGroup.vue.cjs +2 -0
  115. package/components/organisms/JSidebar/JSidebarGroup.vue.cjs.map +1 -0
  116. package/components/organisms/JSidebar/JSidebarGroup.vue.js +89 -0
  117. package/components/organisms/JSidebar/JSidebarGroup.vue.js.map +1 -0
  118. package/components/organisms/JSidebar/JSidebarGroup.vue2.cjs +2 -0
  119. package/components/organisms/JSidebar/JSidebarGroup.vue2.cjs.map +1 -0
  120. package/components/organisms/JSidebar/JSidebarGroup.vue2.js +5 -0
  121. package/components/organisms/JSidebar/JSidebarGroup.vue2.js.map +1 -0
  122. package/components/organisms/JSidebar/JSidebarItem.vue.cjs +2 -0
  123. package/components/organisms/JSidebar/JSidebarItem.vue.cjs.map +1 -0
  124. package/components/organisms/JSidebar/JSidebarItem.vue.js +79 -0
  125. package/components/organisms/JSidebar/JSidebarItem.vue.js.map +1 -0
  126. package/components/organisms/JSidebar/JSidebarItem.vue2.cjs +2 -0
  127. package/components/organisms/JSidebar/JSidebarItem.vue2.cjs.map +1 -0
  128. package/components/organisms/JSidebar/JSidebarItem.vue2.js +5 -0
  129. package/components/organisms/JSidebar/JSidebarItem.vue2.js.map +1 -0
  130. package/components/organisms/JSidebarAdvanced.vue.cjs +1 -1
  131. package/components/organisms/JSidebarAdvanced.vue.js +7 -7
  132. package/components/organisms/JSidebarAdvanced.vue2.cjs.map +1 -1
  133. package/components/organisms/JSidebarAdvanced.vue2.js.map +1 -1
  134. package/components/organisms/JSidebarSimple.vue.cjs +1 -1
  135. package/components/organisms/JSidebarSimple.vue.js +2 -2
  136. package/components/organisms/JSidebarSimple.vue2.cjs.map +1 -1
  137. package/components/organisms/JSidebarSimple.vue2.js.map +1 -1
  138. package/components/shadcn/AccordionTrigger.vue.cjs.map +1 -1
  139. package/components/shadcn/AccordionTrigger.vue.js.map +1 -1
  140. package/components/shadcn/Card.vue.cjs.map +1 -1
  141. package/components/shadcn/Card.vue.js.map +1 -1
  142. package/components/shadcn/CardContent.vue.cjs.map +1 -1
  143. package/components/shadcn/CardContent.vue.js.map +1 -1
  144. package/components/shadcn/CardDescription.vue.cjs.map +1 -1
  145. package/components/shadcn/CardDescription.vue.js.map +1 -1
  146. package/components/shadcn/CardFooter.vue.cjs.map +1 -1
  147. package/components/shadcn/CardFooter.vue.js.map +1 -1
  148. package/components/shadcn/CardHeader.vue.cjs.map +1 -1
  149. package/components/shadcn/CardHeader.vue.js.map +1 -1
  150. package/components/shadcn/CardTitle.vue.cjs.map +1 -1
  151. package/components/shadcn/CardTitle.vue.js.map +1 -1
  152. package/components/shadcn/Checkbox.vue.cjs.map +1 -1
  153. package/components/shadcn/Checkbox.vue.js.map +1 -1
  154. package/components/shadcn/Combobox.vue.cjs.map +1 -1
  155. package/components/shadcn/Combobox.vue.js.map +1 -1
  156. package/components/shadcn/ComboboxAnchor.vue.cjs.map +1 -1
  157. package/components/shadcn/ComboboxAnchor.vue.js.map +1 -1
  158. package/components/shadcn/ComboboxEmpty.vue.cjs.map +1 -1
  159. package/components/shadcn/ComboboxEmpty.vue.js.map +1 -1
  160. package/components/shadcn/ComboboxGroup.vue.cjs.map +1 -1
  161. package/components/shadcn/ComboboxGroup.vue.js.map +1 -1
  162. package/components/shadcn/ComboboxInput.vue.cjs.map +1 -1
  163. package/components/shadcn/ComboboxInput.vue.js.map +1 -1
  164. package/components/shadcn/ComboboxItem.vue.cjs.map +1 -1
  165. package/components/shadcn/ComboboxItem.vue.js.map +1 -1
  166. package/components/shadcn/ComboboxList.vue.cjs.map +1 -1
  167. package/components/shadcn/ComboboxList.vue.js.map +1 -1
  168. package/components/shadcn/ComboboxTrigger.vue.cjs.map +1 -1
  169. package/components/shadcn/ComboboxTrigger.vue.js.map +1 -1
  170. package/components/shadcn/ContextMenu.vue.cjs.map +1 -1
  171. package/components/shadcn/ContextMenu.vue.js.map +1 -1
  172. package/components/shadcn/ContextMenuContent.vue.cjs.map +1 -1
  173. package/components/shadcn/ContextMenuContent.vue.js.map +1 -1
  174. package/components/shadcn/ContextMenuGroup.vue.cjs.map +1 -1
  175. package/components/shadcn/ContextMenuGroup.vue.js.map +1 -1
  176. package/components/shadcn/ContextMenuItem.vue.cjs.map +1 -1
  177. package/components/shadcn/ContextMenuItem.vue.js.map +1 -1
  178. package/components/shadcn/ContextMenuLabel.vue.cjs.map +1 -1
  179. package/components/shadcn/ContextMenuLabel.vue.js.map +1 -1
  180. package/components/shadcn/ContextMenuSeparator.vue.cjs.map +1 -1
  181. package/components/shadcn/ContextMenuSeparator.vue.js.map +1 -1
  182. package/components/shadcn/ContextMenuSub.vue.cjs.map +1 -1
  183. package/components/shadcn/ContextMenuSub.vue.js.map +1 -1
  184. package/components/shadcn/ContextMenuSubContent.vue.cjs.map +1 -1
  185. package/components/shadcn/ContextMenuSubContent.vue.js.map +1 -1
  186. package/components/shadcn/ContextMenuSubTrigger.vue.cjs.map +1 -1
  187. package/components/shadcn/ContextMenuSubTrigger.vue.js.map +1 -1
  188. package/components/shadcn/ContextMenuTrigger.vue.cjs.map +1 -1
  189. package/components/shadcn/ContextMenuTrigger.vue.js.map +1 -1
  190. package/components/shadcn/Field.vue.cjs.map +1 -1
  191. package/components/shadcn/Field.vue.js.map +1 -1
  192. package/components/shadcn/FieldContent.vue.cjs.map +1 -1
  193. package/components/shadcn/FieldContent.vue.js.map +1 -1
  194. package/components/shadcn/FieldDescription.vue.cjs.map +1 -1
  195. package/components/shadcn/FieldDescription.vue.js.map +1 -1
  196. package/components/shadcn/FieldError.vue.cjs.map +1 -1
  197. package/components/shadcn/FieldError.vue.js.map +1 -1
  198. package/components/shadcn/FieldGroup.vue.cjs.map +1 -1
  199. package/components/shadcn/FieldGroup.vue.js.map +1 -1
  200. package/components/shadcn/FieldLabel.vue.cjs.map +1 -1
  201. package/components/shadcn/FieldLabel.vue.js.map +1 -1
  202. package/components/shadcn/Input.vue.cjs.map +1 -1
  203. package/components/shadcn/Input.vue.js.map +1 -1
  204. package/components/shadcn/Label.vue.cjs.map +1 -1
  205. package/components/shadcn/Label.vue.js.map +1 -1
  206. package/components/shadcn/RadioGroup.vue.cjs.map +1 -1
  207. package/components/shadcn/RadioGroup.vue.js.map +1 -1
  208. package/components/shadcn/RadioGroupItem.vue.cjs.map +1 -1
  209. package/components/shadcn/RadioGroupItem.vue.js.map +1 -1
  210. package/components/shadcn/Select.vue.cjs.map +1 -1
  211. package/components/shadcn/Select.vue.js.map +1 -1
  212. package/components/shadcn/SelectContent.vue.cjs.map +1 -1
  213. package/components/shadcn/SelectContent.vue.js.map +1 -1
  214. package/components/shadcn/SelectGroup.vue.cjs.map +1 -1
  215. package/components/shadcn/SelectGroup.vue.js.map +1 -1
  216. package/components/shadcn/SelectItem.vue.cjs.map +1 -1
  217. package/components/shadcn/SelectItem.vue.js.map +1 -1
  218. package/components/shadcn/SelectLabel.vue.cjs.map +1 -1
  219. package/components/shadcn/SelectLabel.vue.js.map +1 -1
  220. package/components/shadcn/SelectScrollDownButton.vue2.cjs.map +1 -1
  221. package/components/shadcn/SelectScrollDownButton.vue2.js.map +1 -1
  222. package/components/shadcn/SelectScrollUpButton.vue2.cjs.map +1 -1
  223. package/components/shadcn/SelectScrollUpButton.vue2.js.map +1 -1
  224. package/components/shadcn/SelectTrigger.vue.cjs.map +1 -1
  225. package/components/shadcn/SelectTrigger.vue.js.map +1 -1
  226. package/components/shadcn/SelectValue.vue.cjs.map +1 -1
  227. package/components/shadcn/SelectValue.vue.js.map +1 -1
  228. package/components/shadcn/Separator.vue.cjs.map +1 -1
  229. package/components/shadcn/Separator.vue.js.map +1 -1
  230. package/components/shadcn/Switch.vue.cjs.map +1 -1
  231. package/components/shadcn/Switch.vue.js.map +1 -1
  232. package/components/shadcn/Tabs.vue.cjs.map +1 -1
  233. package/components/shadcn/Tabs.vue.js.map +1 -1
  234. package/components/shadcn/TabsContent.vue.cjs.map +1 -1
  235. package/components/shadcn/TabsContent.vue.js.map +1 -1
  236. package/components/shadcn/TabsTrigger.vue.cjs.map +1 -1
  237. package/components/shadcn/TabsTrigger.vue.js.map +1 -1
  238. package/components/shadcn/Textarea.vue.cjs.map +1 -1
  239. package/components/shadcn/Textarea.vue.js.map +1 -1
  240. package/components/shadcn/Toaster.vue.cjs.map +1 -1
  241. package/components/shadcn/Toaster.vue.js.map +1 -1
  242. package/components/shadcn/index.cjs.map +1 -1
  243. package/components/shadcn/index.js.map +1 -1
  244. package/components/shadcn/resizable/ResizableHandle.vue.cjs.map +1 -1
  245. package/components/shadcn/resizable/ResizableHandle.vue.js.map +1 -1
  246. package/components/shadcn/resizable/ResizablePanelGroup.vue.cjs.map +1 -1
  247. package/components/shadcn/resizable/ResizablePanelGroup.vue.js.map +1 -1
  248. package/components/templates/JLayout.vue.cjs.map +1 -1
  249. package/components/templates/JLayout.vue.js.map +1 -1
  250. package/components/templates/JLayoutSimple.vue.cjs +1 -1
  251. package/components/templates/JLayoutSimple.vue.cjs.map +1 -1
  252. package/components/templates/JLayoutSimple.vue.js +36 -30
  253. package/components/templates/JLayoutSimple.vue.js.map +1 -1
  254. package/index.cjs +1 -1
  255. package/index.js +22 -20
  256. package/lib/styleTypePreset.cjs.map +1 -1
  257. package/lib/styleTypePreset.js.map +1 -1
  258. package/lib/theme-utils.cjs.map +1 -1
  259. package/lib/theme-utils.js.map +1 -1
  260. package/package.json +1 -1
  261. package/tailwind.config.js +81 -81
  262. package/types/index.d.ts +119 -107
  263. package/types/sidebar.types.cjs +2 -0
  264. package/types/sidebar.types.cjs.map +1 -0
  265. package/types/sidebar.types.js +5 -0
  266. package/types/sidebar.types.js.map +1 -0
  267. package/assets/jwms-portal-frontend-BtHTA-UF.css +0 -1
package/types/index.d.ts CHANGED
@@ -285,10 +285,10 @@ defaultTheme: string;
285
285
  availableThemes: string[];
286
286
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
287
287
 
288
- declare const __VLS_component_23: DefineComponent<__VLS_Props_37, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
288
+ declare const __VLS_component_23: DefineComponent<__VLS_Props_38, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
289
289
  breadcrumbClick: (item: BreadcrumbItem, index: number) => any;
290
290
  titlebarButtonClick: (button: TitlebarButton) => any;
291
- }, string, PublicProps, Readonly<__VLS_Props_37> & Readonly<{
291
+ }, string, PublicProps, Readonly<__VLS_Props_38> & Readonly<{
292
292
  onBreadcrumbClick?: ((item: BreadcrumbItem, index: number) => any) | undefined;
293
293
  onTitlebarButtonClick?: ((button: TitlebarButton) => any) | undefined;
294
294
  }>, {
@@ -299,14 +299,17 @@ showTitlebar: boolean;
299
299
  contentScroll: boolean;
300
300
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
301
301
 
302
- declare const __VLS_component_24: DefineComponent<__VLS_Props_39, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_39> & Readonly<{}>, {
302
+ declare const __VLS_component_24: DefineComponent<__VLS_Props_40, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_40> & Readonly<{}>, {
303
303
  styletype: StyleType_29;
304
304
  contentScroll: boolean;
305
305
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
306
306
 
307
- declare const __VLS_component_25: DefineComponent<__VLS_Props_40, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_40> & Readonly<{}>, {
307
+ declare const __VLS_component_25: DefineComponent<__VLS_Props_41, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
308
+ "menu-click": (item: SidebarMenuItem, event: MouseEvent) => any;
309
+ }, string, PublicProps, Readonly<__VLS_Props_41> & Readonly<{
310
+ "onMenu-click"?: ((item: SidebarMenuItem, event: MouseEvent) => any) | undefined;
311
+ }>, {
308
312
  styletype: "default" | "minimal";
309
- permissions: MenuPermission[];
310
313
  menuItems: SidebarMenuItem[];
311
314
  contentScroll: boolean;
312
315
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
@@ -610,8 +613,6 @@ declare type __VLS_Props_24 = {
610
613
  rowData: any[];
611
614
  /** 컬럼 정의 배열 */
612
615
  columnDefs: ColDef[];
613
- /** ag-Grid 테마 */
614
- theme?: string;
615
616
  /** 페이지네이션 활성화 여부 */
616
617
  pagination?: boolean;
617
618
  /** 체크박스 선택 활성화 여부 */
@@ -620,8 +621,6 @@ declare type __VLS_Props_24 = {
620
621
  rowNumbers?: boolean;
621
622
  /** 행별 액션 버튼 목록 */
622
623
  actionButtons?: ActionButton[];
623
- /** 다크모드 자동 감지 여부 */
624
- autoDetectDarkMode?: boolean;
625
624
  /** 요약 컬럼 표시 여부 */
626
625
  summaryColumn?: boolean;
627
626
  /** 숨김 컬럼 관리 활성화 여부 */
@@ -858,9 +857,35 @@ declare type __VLS_Props_34 = {
858
857
  availableThemes?: string[];
859
858
  };
860
859
 
860
+ /**
861
+ * JSidebar - 통합 사이드바 컴포넌트
862
+ *
863
+ * DB 트리 데이터 기반, provide/inject로 상태 공유.
864
+ * collapsed 모드, 검색, 즐겨찾기(localStorage) 지원.
865
+ * 라우터를 모름 — @menu-click으로 아이템을 올려보냄.
866
+ */
861
867
  declare type __VLS_Props_35 = {
868
+ /** 메뉴 트리 데이터 */
869
+ items: SidebarMenuItem[];
870
+ /** 접힘 상태 (v-model:collapsed) */
871
+ collapsed?: boolean;
872
+ /** 현재 활성 경로 */
873
+ activePath?: string;
874
+ /** 펼침 너비 */
875
+ width?: string;
876
+ /** 접힘 너비 */
877
+ collapsedWidth?: string;
878
+ /** 즐겨찾기 localStorage 키 (없으면 즐겨찾기 비활성) */
879
+ storageKey?: string;
880
+ /** 검색 표시 여부 */
881
+ showSearch?: boolean;
882
+ /** 즐겨찾기 섹션 표시 여부 */
883
+ showFavorites?: boolean;
884
+ };
885
+
886
+ declare type __VLS_Props_36 = {
862
887
  /** 메뉴 아이템 목록 */
863
- menuItems: SidebarMenuItem[];
888
+ menuItems: SidebarMenuItem_2[];
864
889
  /** 권한 목록 */
865
890
  permissions?: MenuPermission[];
866
891
  /** 검색어 */
@@ -875,9 +900,9 @@ declare type __VLS_Props_35 = {
875
900
  isVisible?: boolean;
876
901
  };
877
902
 
878
- declare type __VLS_Props_36 = {
903
+ declare type __VLS_Props_37 = {
879
904
  /** 메뉴 아이템 목록 */
880
- menuItems: SidebarMenuItem[];
905
+ menuItems: SidebarMenuItem_2[];
881
906
  /** 권한 목록 */
882
907
  permissions?: MenuPermission[];
883
908
  /** 즐겨찾기 메뉴 키 목록 */
@@ -892,7 +917,7 @@ declare type __VLS_Props_36 = {
892
917
  isVisible?: boolean;
893
918
  };
894
919
 
895
- declare type __VLS_Props_37 = {
920
+ declare type __VLS_Props_38 = {
896
921
  /** 브레드크럼 아이템 목록 */
897
922
  breadcrumbItems?: BreadcrumbItem[];
898
923
  /** 브레드크럼 표시 여부 */
@@ -913,9 +938,9 @@ declare type __VLS_Props_37 = {
913
938
  class?: string;
914
939
  };
915
940
 
916
- declare type __VLS_Props_38 = {
941
+ declare type __VLS_Props_39 = {
917
942
  /** 트리 노드 데이터 */
918
- items: SidebarMenuItem[];
943
+ items: SidebarMenuItem_2[];
919
944
  /** 펼쳐진 노드 키 목록 (v-model 지원, 배열) */
920
945
  expandedKeys?: (number | string)[];
921
946
  /** 현재 선택(하이라이트)된 노드의 menuKey (v-model 지원) */
@@ -932,15 +957,6 @@ declare type __VLS_Props_38 = {
932
957
  class?: string;
933
958
  };
934
959
 
935
- declare type __VLS_Props_39 = {
936
- /** 레이아웃 스타일 타입 */
937
- styletype?: StyleType_29;
938
- /** 콘텐츠 영역 스크롤 가능 여부 */
939
- contentScroll?: boolean;
940
- /** 추가 CSS 클래스 */
941
- class?: string;
942
- };
943
-
944
960
  declare type __VLS_Props_4 = {
945
961
  modelValue?: string;
946
962
  disabled?: boolean;
@@ -952,37 +968,28 @@ declare type __VLS_Props_4 = {
952
968
  styletype?: StyleType_4;
953
969
  };
954
970
 
971
+ declare type __VLS_Props_40 = {
972
+ /** 레이아웃 스타일 타입 */
973
+ styletype?: StyleType_29;
974
+ /** 콘텐츠 영역 스크롤 가능 여부 */
975
+ contentScroll?: boolean;
976
+ /** 추가 CSS 클래스 */
977
+ class?: string;
978
+ };
979
+
955
980
  /**
956
- * JLayoutSimple - Simple Sidebar + 일반 PageContainer 조합 템플릿 (templates)
957
- * Simple Layout Template
958
- *
959
- * @description
960
- * JLayout을 사용하는 Preset 템플릿입니다.
961
- * JHeader, JSidebarSimple, JPageContainer를 조합한 기본 레이아웃 예시를 제공합니다.
962
- *
963
- * 레이아웃 구조:
964
- * - header: 상단 헤더 영역 (슬롯)
965
- * - sidebar: 사이드바 영역 (슬롯)
966
- * - content: 메인 콘텐츠 영역 (슬롯, 기본 슬롯)
981
+ * JLayoutSimple - JSidebar + 일반 PageContainer 조합 템플릿
967
982
  *
968
983
  * @example
969
984
  * ```vue
970
- * <JLayoutSimple styletype="default" :content-scroll="true">
971
- * <template #header>
972
- * <JHeader logo-text="JWMS Portal" :user-name="userName" styletype="default" />
973
- * </template>
974
- * <template #sidebar>
975
- * <JSidebarSimple :menu-items="menuItems" styletype="default" />
976
- * </template>
985
+ * <JLayoutSimple :menu-items="menuItems" storage-key="my-app-favorites">
977
986
  * <template #content>
978
- * <JPageContainer title="재고 관리">
979
- * <div>페이지 콘텐츠</div>
980
- * </JPageContainer>
987
+ * <RouterView />
981
988
  * </template>
982
989
  * </JLayoutSimple>
983
990
  * ```
984
991
  */
985
- declare type __VLS_Props_40 = {
992
+ declare type __VLS_Props_41 = {
986
993
  /** 레이아웃 스타일 타입 */
987
994
  styletype?: 'default' | 'minimal';
988
995
  /** 콘텐츠 영역 스크롤 가능 여부 */
@@ -991,8 +998,10 @@ declare type __VLS_Props_40 = {
991
998
  class?: string;
992
999
  /** 메뉴 아이템 목록 */
993
1000
  menuItems?: SidebarMenuItem[];
994
- /** 권한 목록 */
995
- permissions?: MenuPermission[];
1001
+ /** 현재 활성 경로 */
1002
+ activePath?: string;
1003
+ /** 즐겨찾기 localStorage 키 */
1004
+ storageKey?: string;
996
1005
  };
997
1006
 
998
1007
  declare type __VLS_Props_5 = {
@@ -1289,11 +1298,11 @@ declare function __VLS_template_25(): {
1289
1298
  attrs: Partial<{}>;
1290
1299
  slots: {
1291
1300
  header?(_: {
1292
- isSidebarOpen: boolean;
1301
+ isSidebarCollapsed: boolean;
1293
1302
  onSidebarToggle: () => void;
1294
1303
  }): any;
1295
1304
  sidebar?(_: {
1296
- isSidebarOpen: boolean;
1305
+ isSidebarCollapsed: boolean;
1297
1306
  }): any;
1298
1307
  content?(_: {}): any;
1299
1308
  default?(_: {}): any;
@@ -1794,12 +1803,10 @@ gridRef: CreateComponentPublicInstanceWithMixins<Readonly<{
1794
1803
  class?: string;
1795
1804
  rowData: any[];
1796
1805
  columnDefs: ColDef[];
1797
- theme?: string;
1798
1806
  pagination?: boolean;
1799
1807
  checkbox?: boolean;
1800
1808
  rowNumbers?: boolean;
1801
1809
  actionButtons?: ActionButton[];
1802
- autoDetectDarkMode?: boolean;
1803
1810
  summaryColumn?: boolean;
1804
1811
  hiddenColumn?: boolean;
1805
1812
  enableGrouping?: boolean;
@@ -1838,12 +1845,10 @@ cellValueChanged: (event: CellValueChangedEvent<any, any, any>) => any;
1838
1845
  gridReady: (event: GridReadyEvent<any, any>) => any;
1839
1846
  "update:selectedRows": (rows: any[]) => any;
1840
1847
  }, PublicProps, {
1841
- theme: string;
1842
1848
  pagination: boolean;
1843
1849
  checkbox: boolean;
1844
1850
  rowNumbers: boolean;
1845
1851
  actionButtons: ActionButton[];
1846
- autoDetectDarkMode: boolean;
1847
1852
  summaryColumn: boolean;
1848
1853
  hiddenColumn: boolean;
1849
1854
  enableGrouping: boolean;
@@ -1872,12 +1877,10 @@ Defaults: {};
1872
1877
  class?: string;
1873
1878
  rowData: any[];
1874
1879
  columnDefs: ColDef[];
1875
- theme?: string;
1876
1880
  pagination?: boolean;
1877
1881
  checkbox?: boolean;
1878
1882
  rowNumbers?: boolean;
1879
1883
  actionButtons?: ActionButton[];
1880
- autoDetectDarkMode?: boolean;
1881
1884
  summaryColumn?: boolean;
1882
1885
  hiddenColumn?: boolean;
1883
1886
  enableGrouping?: boolean;
@@ -1908,12 +1911,10 @@ gridApi: Ref<any, any>;
1908
1911
  gridColumnApi: Ref<any, any>;
1909
1912
  exportToExcel: () => void;
1910
1913
  }, {}, {}, {}, {
1911
- theme: string;
1912
1914
  pagination: boolean;
1913
1915
  checkbox: boolean;
1914
1916
  rowNumbers: boolean;
1915
1917
  actionButtons: ActionButton[];
1916
- autoDetectDarkMode: boolean;
1917
1918
  summaryColumn: boolean;
1918
1919
  hiddenColumn: boolean;
1919
1920
  enableGrouping: boolean;
@@ -1942,12 +1943,10 @@ masterGridRef: CreateComponentPublicInstanceWithMixins<Readonly<{
1942
1943
  class?: string;
1943
1944
  rowData: any[];
1944
1945
  columnDefs: ColDef[];
1945
- theme?: string;
1946
1946
  pagination?: boolean;
1947
1947
  checkbox?: boolean;
1948
1948
  rowNumbers?: boolean;
1949
1949
  actionButtons?: ActionButton[];
1950
- autoDetectDarkMode?: boolean;
1951
1950
  summaryColumn?: boolean;
1952
1951
  hiddenColumn?: boolean;
1953
1952
  enableGrouping?: boolean;
@@ -1986,12 +1985,10 @@ cellValueChanged: (event: CellValueChangedEvent<any, any, any>) => any;
1986
1985
  gridReady: (event: GridReadyEvent<any, any>) => any;
1987
1986
  "update:selectedRows": (rows: any[]) => any;
1988
1987
  }, PublicProps, {
1989
- theme: string;
1990
1988
  pagination: boolean;
1991
1989
  checkbox: boolean;
1992
1990
  rowNumbers: boolean;
1993
1991
  actionButtons: ActionButton[];
1994
- autoDetectDarkMode: boolean;
1995
1992
  summaryColumn: boolean;
1996
1993
  hiddenColumn: boolean;
1997
1994
  enableGrouping: boolean;
@@ -2020,12 +2017,10 @@ Defaults: {};
2020
2017
  class?: string;
2021
2018
  rowData: any[];
2022
2019
  columnDefs: ColDef[];
2023
- theme?: string;
2024
2020
  pagination?: boolean;
2025
2021
  checkbox?: boolean;
2026
2022
  rowNumbers?: boolean;
2027
2023
  actionButtons?: ActionButton[];
2028
- autoDetectDarkMode?: boolean;
2029
2024
  summaryColumn?: boolean;
2030
2025
  hiddenColumn?: boolean;
2031
2026
  enableGrouping?: boolean;
@@ -2056,12 +2051,10 @@ gridApi: Ref<any, any>;
2056
2051
  gridColumnApi: Ref<any, any>;
2057
2052
  exportToExcel: () => void;
2058
2053
  }, {}, {}, {}, {
2059
- theme: string;
2060
2054
  pagination: boolean;
2061
2055
  checkbox: boolean;
2062
2056
  rowNumbers: boolean;
2063
2057
  actionButtons: ActionButton[];
2064
- autoDetectDarkMode: boolean;
2065
2058
  summaryColumn: boolean;
2066
2059
  hiddenColumn: boolean;
2067
2060
  enableGrouping: boolean;
@@ -2084,12 +2077,10 @@ mappingMasterGridRef: CreateComponentPublicInstanceWithMixins<Readonly<{
2084
2077
  class?: string;
2085
2078
  rowData: any[];
2086
2079
  columnDefs: ColDef[];
2087
- theme?: string;
2088
2080
  pagination?: boolean;
2089
2081
  checkbox?: boolean;
2090
2082
  rowNumbers?: boolean;
2091
2083
  actionButtons?: ActionButton[];
2092
- autoDetectDarkMode?: boolean;
2093
2084
  summaryColumn?: boolean;
2094
2085
  hiddenColumn?: boolean;
2095
2086
  enableGrouping?: boolean;
@@ -2128,12 +2119,10 @@ cellValueChanged: (event: CellValueChangedEvent<any, any, any>) => any;
2128
2119
  gridReady: (event: GridReadyEvent<any, any>) => any;
2129
2120
  "update:selectedRows": (rows: any[]) => any;
2130
2121
  }, PublicProps, {
2131
- theme: string;
2132
2122
  pagination: boolean;
2133
2123
  checkbox: boolean;
2134
2124
  rowNumbers: boolean;
2135
2125
  actionButtons: ActionButton[];
2136
- autoDetectDarkMode: boolean;
2137
2126
  summaryColumn: boolean;
2138
2127
  hiddenColumn: boolean;
2139
2128
  enableGrouping: boolean;
@@ -2162,12 +2151,10 @@ Defaults: {};
2162
2151
  class?: string;
2163
2152
  rowData: any[];
2164
2153
  columnDefs: ColDef[];
2165
- theme?: string;
2166
2154
  pagination?: boolean;
2167
2155
  checkbox?: boolean;
2168
2156
  rowNumbers?: boolean;
2169
2157
  actionButtons?: ActionButton[];
2170
- autoDetectDarkMode?: boolean;
2171
2158
  summaryColumn?: boolean;
2172
2159
  hiddenColumn?: boolean;
2173
2160
  enableGrouping?: boolean;
@@ -2198,12 +2185,10 @@ gridApi: Ref<any, any>;
2198
2185
  gridColumnApi: Ref<any, any>;
2199
2186
  exportToExcel: () => void;
2200
2187
  }, {}, {}, {}, {
2201
- theme: string;
2202
2188
  pagination: boolean;
2203
2189
  checkbox: boolean;
2204
2190
  rowNumbers: boolean;
2205
2191
  actionButtons: ActionButton[];
2206
- autoDetectDarkMode: boolean;
2207
2192
  summaryColumn: boolean;
2208
2193
  hiddenColumn: boolean;
2209
2194
  enableGrouping: boolean;
@@ -2565,12 +2550,10 @@ onCellValueChanged?: ((event: CellValueChangedEvent<any, any, any>) => any) | un
2565
2550
  onGridReady?: ((event: GridReadyEvent<any, any>) => any) | undefined;
2566
2551
  "onUpdate:selectedRows"?: ((rows: any[]) => any) | undefined;
2567
2552
  }>, {
2568
- theme: string;
2569
2553
  pagination: boolean;
2570
2554
  checkbox: boolean;
2571
2555
  rowNumbers: boolean;
2572
2556
  actionButtons: ActionButton[];
2573
- autoDetectDarkMode: boolean;
2574
2557
  summaryColumn: boolean;
2575
2558
  hiddenColumn: boolean;
2576
2559
  enableGrouping: boolean;
@@ -2886,12 +2869,10 @@ leftGridRef: CreateComponentPublicInstanceWithMixins<Readonly<{
2886
2869
  class?: string;
2887
2870
  rowData: any[];
2888
2871
  columnDefs: ColDef[];
2889
- theme?: string;
2890
2872
  pagination?: boolean;
2891
2873
  checkbox?: boolean;
2892
2874
  rowNumbers?: boolean;
2893
2875
  actionButtons?: ActionButton[];
2894
- autoDetectDarkMode?: boolean;
2895
2876
  summaryColumn?: boolean;
2896
2877
  hiddenColumn?: boolean;
2897
2878
  enableGrouping?: boolean;
@@ -2930,12 +2911,10 @@ cellValueChanged: (event: CellValueChangedEvent<any, any, any>) => any;
2930
2911
  gridReady: (event: GridReadyEvent<any, any>) => any;
2931
2912
  "update:selectedRows": (rows: any[]) => any;
2932
2913
  }, PublicProps, {
2933
- theme: string;
2934
2914
  pagination: boolean;
2935
2915
  checkbox: boolean;
2936
2916
  rowNumbers: boolean;
2937
2917
  actionButtons: ActionButton[];
2938
- autoDetectDarkMode: boolean;
2939
2918
  summaryColumn: boolean;
2940
2919
  hiddenColumn: boolean;
2941
2920
  enableGrouping: boolean;
@@ -2964,12 +2943,10 @@ Defaults: {};
2964
2943
  class?: string;
2965
2944
  rowData: any[];
2966
2945
  columnDefs: ColDef[];
2967
- theme?: string;
2968
2946
  pagination?: boolean;
2969
2947
  checkbox?: boolean;
2970
2948
  rowNumbers?: boolean;
2971
2949
  actionButtons?: ActionButton[];
2972
- autoDetectDarkMode?: boolean;
2973
2950
  summaryColumn?: boolean;
2974
2951
  hiddenColumn?: boolean;
2975
2952
  enableGrouping?: boolean;
@@ -3000,12 +2977,10 @@ gridApi: Ref<any, any>;
3000
2977
  gridColumnApi: Ref<any, any>;
3001
2978
  exportToExcel: () => void;
3002
2979
  }, {}, {}, {}, {
3003
- theme: string;
3004
2980
  pagination: boolean;
3005
2981
  checkbox: boolean;
3006
2982
  rowNumbers: boolean;
3007
2983
  actionButtons: ActionButton[];
3008
- autoDetectDarkMode: boolean;
3009
2984
  summaryColumn: boolean;
3010
2985
  hiddenColumn: boolean;
3011
2986
  enableGrouping: boolean;
@@ -3028,12 +3003,10 @@ rightGridRef: CreateComponentPublicInstanceWithMixins<Readonly<{
3028
3003
  class?: string;
3029
3004
  rowData: any[];
3030
3005
  columnDefs: ColDef[];
3031
- theme?: string;
3032
3006
  pagination?: boolean;
3033
3007
  checkbox?: boolean;
3034
3008
  rowNumbers?: boolean;
3035
3009
  actionButtons?: ActionButton[];
3036
- autoDetectDarkMode?: boolean;
3037
3010
  summaryColumn?: boolean;
3038
3011
  hiddenColumn?: boolean;
3039
3012
  enableGrouping?: boolean;
@@ -3072,12 +3045,10 @@ cellValueChanged: (event: CellValueChangedEvent<any, any, any>) => any;
3072
3045
  gridReady: (event: GridReadyEvent<any, any>) => any;
3073
3046
  "update:selectedRows": (rows: any[]) => any;
3074
3047
  }, PublicProps, {
3075
- theme: string;
3076
3048
  pagination: boolean;
3077
3049
  checkbox: boolean;
3078
3050
  rowNumbers: boolean;
3079
3051
  actionButtons: ActionButton[];
3080
- autoDetectDarkMode: boolean;
3081
3052
  summaryColumn: boolean;
3082
3053
  hiddenColumn: boolean;
3083
3054
  enableGrouping: boolean;
@@ -3106,12 +3077,10 @@ Defaults: {};
3106
3077
  class?: string;
3107
3078
  rowData: any[];
3108
3079
  columnDefs: ColDef[];
3109
- theme?: string;
3110
3080
  pagination?: boolean;
3111
3081
  checkbox?: boolean;
3112
3082
  rowNumbers?: boolean;
3113
3083
  actionButtons?: ActionButton[];
3114
- autoDetectDarkMode?: boolean;
3115
3084
  summaryColumn?: boolean;
3116
3085
  hiddenColumn?: boolean;
3117
3086
  enableGrouping?: boolean;
@@ -3142,12 +3111,10 @@ gridApi: Ref<any, any>;
3142
3111
  gridColumnApi: Ref<any, any>;
3143
3112
  exportToExcel: () => void;
3144
3113
  }, {}, {}, {}, {
3145
- theme: string;
3146
3114
  pagination: boolean;
3147
3115
  checkbox: boolean;
3148
3116
  rowNumbers: boolean;
3149
3117
  actionButtons: ActionButton[];
3150
- autoDetectDarkMode: boolean;
3151
3118
  summaryColumn: boolean;
3152
3119
  hiddenColumn: boolean;
3153
3120
  enableGrouping: boolean;
@@ -3185,30 +3152,44 @@ declare interface JShuttleProps {
3185
3152
  class?: string;
3186
3153
  }
3187
3154
 
3188
- export declare const JSidebarAdvanced: DefineComponent<__VLS_Props_36, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
3155
+ export declare const JSidebar: DefineComponent<__VLS_Props_35, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
3156
+ "update:collapsed": (value: boolean) => any;
3157
+ "menu-click": (item: SidebarMenuItem, event: MouseEvent) => any;
3158
+ }, string, PublicProps, Readonly<__VLS_Props_35> & Readonly<{
3159
+ "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
3160
+ "onMenu-click"?: ((item: SidebarMenuItem, event: MouseEvent) => any) | undefined;
3161
+ }>, {
3162
+ width: string;
3163
+ collapsed: boolean;
3164
+ collapsedWidth: string;
3165
+ showSearch: boolean;
3166
+ showFavorites: boolean;
3167
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
3168
+
3169
+ export declare const JSidebarAdvanced: DefineComponent<__VLS_Props_37, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
3189
3170
  menuClick: (event: MenuClickEvent) => any;
3190
3171
  favoriteChange: (menuKey: string | number | undefined, isFavorite: boolean) => any;
3191
- }, string, PublicProps, Readonly<__VLS_Props_36> & Readonly<{
3172
+ }, string, PublicProps, Readonly<__VLS_Props_37> & Readonly<{
3192
3173
  onMenuClick?: ((event: MenuClickEvent) => any) | undefined;
3193
3174
  onFavoriteChange?: ((menuKey: string | number | undefined, isFavorite: boolean) => any) | undefined;
3194
3175
  }>, {
3195
3176
  width: string;
3196
3177
  styletype: StyleType_26;
3197
3178
  isVisible: boolean;
3198
- permissions: MenuPermission[];
3199
3179
  favorites: (number | string)[];
3180
+ permissions: MenuPermission[];
3200
3181
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
3201
3182
 
3202
- export declare const JSidebarSimple: DefineComponent<__VLS_Props_35, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
3183
+ export declare const JSidebarSimple: DefineComponent<__VLS_Props_36, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
3203
3184
  menuClick: (event: MenuClickEvent) => any;
3204
- }, string, PublicProps, Readonly<__VLS_Props_35> & Readonly<{
3185
+ }, string, PublicProps, Readonly<__VLS_Props_36> & Readonly<{
3205
3186
  onMenuClick?: ((event: MenuClickEvent) => any) | undefined;
3206
3187
  }>, {
3207
3188
  width: string;
3208
3189
  styletype: StyleType_25;
3209
3190
  isVisible: boolean;
3210
- permissions: MenuPermission[];
3211
3191
  searchQuery: string;
3192
+ permissions: MenuPermission[];
3212
3193
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
3213
3194
 
3214
3195
  export declare const JSpinner: DefineComponent<__VLS_Props_16, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_16> & Readonly<{}>, {
@@ -3284,23 +3265,23 @@ closeButton: boolean;
3284
3265
 
3285
3266
  export declare const JTooltip: __VLS_WithTemplateSlots_6<typeof __VLS_component_6, __VLS_TemplateResult_6["slots"]>;
3286
3267
 
3287
- export declare const JTree: DefineComponent<__VLS_Props_38, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
3268
+ export declare const JTree: DefineComponent<__VLS_Props_39, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
3288
3269
  expandChange: (menuKey: string | number | undefined, expanded: boolean) => any;
3289
3270
  nodeClick: (event: MenuClickEvent) => any;
3290
3271
  "update:expandedKeys": (keys: (string | number)[]) => any;
3291
3272
  "update:activeKey": (key: string | number | null) => any;
3292
- }, string, PublicProps, Readonly<__VLS_Props_38> & Readonly<{
3273
+ }, string, PublicProps, Readonly<__VLS_Props_39> & Readonly<{
3293
3274
  onExpandChange?: ((menuKey: string | number | undefined, expanded: boolean) => any) | undefined;
3294
3275
  onNodeClick?: ((event: MenuClickEvent) => any) | undefined;
3295
3276
  "onUpdate:expandedKeys"?: ((keys: (string | number)[]) => any) | undefined;
3296
3277
  "onUpdate:activeKey"?: ((key: string | number | null) => any) | undefined;
3297
3278
  }>, {
3298
3279
  styletype: StyleType_28;
3280
+ searchQuery: string;
3299
3281
  permissions: MenuPermission[];
3300
3282
  expandedKeys: (number | string)[];
3301
3283
  maxDepth: number;
3302
3284
  activeKey: number | string | null;
3303
- searchQuery: string;
3304
3285
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
3305
3286
 
3306
3287
  declare type LabelPosition = 'right' | 'left' | 'top' | 'bottom';
@@ -3316,9 +3297,9 @@ declare type LanguageType = 'K' | 'E';
3316
3297
  */
3317
3298
  declare interface MenuClickEvent {
3318
3299
  /** 클릭된 메뉴 아이템 */
3319
- menuItem: SidebarMenuItem;
3300
+ menuItem: SidebarMenuItem_2;
3320
3301
  /** 메뉴 경로 (부모 메뉴 포함) */
3321
- path: SidebarMenuItem[];
3302
+ path: SidebarMenuItem_2[];
3322
3303
  /** 이벤트 객체 */
3323
3304
  event: MouseEvent;
3324
3305
  }
@@ -3334,6 +3315,13 @@ declare interface MenuPermission {
3334
3315
  permissionLevel: number;
3335
3316
  }
3336
3317
 
3318
+ /**
3319
+ * JSidebar 타입 정의
3320
+ * JSidebar Type Definitions
3321
+ */
3322
+ /** 메뉴 타입: F=폴더(그룹), L=링크(페이지) */
3323
+ export declare type MenuType = 'F' | 'L';
3324
+
3337
3325
  /**
3338
3326
  * 사이드바 메뉴 관련 타입 정의
3339
3327
  * Sidebar Menu Type Definitions
@@ -3343,7 +3331,7 @@ declare interface MenuPermission {
3343
3331
  * - 'F': Folder (폴더 - 하위 메뉴를 가지는 메뉴)
3344
3332
  * - 'L': Link (링크 - 실제 페이지로 이동하는 메뉴)
3345
3333
  */
3346
- declare type MenuType = 'F' | 'L';
3334
+ declare type MenuType_2 = 'F' | 'L';
3347
3335
 
3348
3336
  export declare type NotificationItem = {
3349
3337
  /** 알림 ID */
@@ -3433,23 +3421,47 @@ declare interface ShuttleItem {
3433
3421
  [key: string]: any;
3434
3422
  }
3435
3423
 
3424
+ /**
3425
+ * 사이드바 메뉴 아이템 (DB J_마스터_프로그램 트리 매핑)
3426
+ */
3427
+ export declare interface SidebarMenuItem {
3428
+ /** 프로그램 아이디 */
3429
+ id: string;
3430
+ /** 부모 아이디 */
3431
+ parentId?: string;
3432
+ /** 메뉴 표시 이름 */
3433
+ label: string;
3434
+ /** lucide 아이콘 이름 */
3435
+ icon?: string;
3436
+ /** 라우트 경로 (L 타입만) */
3437
+ path?: string;
3438
+ /** 메뉴 타입: F=폴더(그룹), L=링크(페이지) */
3439
+ menuType: MenuType;
3440
+ /** 정렬 순서 */
3441
+ sortOrder?: number;
3442
+ /** 하위 메뉴 (서버에서 트리로 변환) */
3443
+ children?: SidebarMenuItem[];
3444
+ /** 비활성화 여부 */
3445
+ disabled?: boolean;
3446
+ }
3447
+
3436
3448
  /**
3437
3449
  * 사이드바 메뉴 아이템
3438
3450
  * Sidebar Menu Item
3439
3451
  */
3440
- declare interface SidebarMenuItem {
3452
+ declare interface SidebarMenuItem_2 {
3441
3453
  /** 메뉴 표시 이름 */
3442
3454
  label: string;
3443
3455
  /** 메뉴 아이콘 이름 (lucide-vue-next 아이콘 이름 또는 컴포넌트) */
3444
3456
  icon?: string;
3445
3457
  /** 메뉴 타입 (Folder/Link) */
3446
- menuType?: MenuType;
3458
+ menuType?: MenuType_2;
3447
3459
  /** 메뉴 키 (권한 체크용) */
3448
3460
  menuKey?: number;
3449
3461
  /** 라우팅 경로 (menuType이 'L'일 때 사용) */
3450
3462
  path?: string;
3451
3463
  /** 하위 메뉴 목록 */
3452
- children?: SidebarMenuItem[];
3464
+ children?: SidebarMenuItem_2[];
3453
3465
  /** 비활성화 여부 */
3454
3466
  disabled?: boolean;
3455
3467
  /** 추가 메타데이터 */
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=Symbol("sidebar-state");exports.SIDEBAR_INJECTION_KEY=e;
2
+ //# sourceMappingURL=sidebar.types.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar.types.cjs","sources":["../../../src/types/sidebar.types.ts"],"sourcesContent":["/**\r\n * JSidebar 타입 정의\r\n * JSidebar Type Definitions\r\n */\r\n\r\n/** 메뉴 타입: F=폴더(그룹), L=링크(페이지) */\r\nexport type MenuType = 'F' | 'L'\r\n\r\n/**\r\n * 사이드바 메뉴 아이템 (DB J_마스터_프로그램 트리 매핑)\r\n */\r\nexport interface SidebarMenuItem {\r\n /** 프로그램 아이디 */\r\n id: string\r\n /** 부모 아이디 */\r\n parentId?: string\r\n /** 메뉴 표시 이름 */\r\n label: string\r\n /** lucide 아이콘 이름 */\r\n icon?: string\r\n /** 라우트 경로 (L 타입만) */\r\n path?: string\r\n /** 메뉴 타입: F=폴더(그룹), L=링크(페이지) */\r\n menuType: MenuType\r\n /** 정렬 순서 */\r\n sortOrder?: number\r\n /** 하위 메뉴 (서버에서 트리로 변환) */\r\n children?: SidebarMenuItem[]\r\n /** 비활성화 여부 */\r\n disabled?: boolean\r\n}\r\n\r\n/**\r\n * 사이드바 내부 상태 (provide/inject)\r\n */\r\nexport interface SidebarState {\r\n /** 접힘 상태 */\r\n collapsed: boolean\r\n /** 현재 활성 경로 */\r\n activePath: string | undefined\r\n /** 즐겨찾기 id Set */\r\n favorites: Set<string>\r\n /** 즐겨찾기 토글 */\r\n toggleFavorite: (id: string) => void\r\n}\r\n\r\n// Vue InjectionKey 타입을 위한 import\r\nimport type { InjectionKey } from 'vue'\r\n\r\n/** provide/inject 키 */\r\nexport const SIDEBAR_INJECTION_KEY = Symbol('sidebar-state') as InjectionKey<SidebarState>\r\n"],"names":["SIDEBAR_INJECTION_KEY"],"mappings":"gFAkDO,MAAMA,SAA+B,eAAe"}
@@ -0,0 +1,5 @@
1
+ const t = /* @__PURE__ */ Symbol("sidebar-state");
2
+ export {
3
+ t as SIDEBAR_INJECTION_KEY
4
+ };
5
+ //# sourceMappingURL=sidebar.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar.types.js","sources":["../../../src/types/sidebar.types.ts"],"sourcesContent":["/**\r\n * JSidebar 타입 정의\r\n * JSidebar Type Definitions\r\n */\r\n\r\n/** 메뉴 타입: F=폴더(그룹), L=링크(페이지) */\r\nexport type MenuType = 'F' | 'L'\r\n\r\n/**\r\n * 사이드바 메뉴 아이템 (DB J_마스터_프로그램 트리 매핑)\r\n */\r\nexport interface SidebarMenuItem {\r\n /** 프로그램 아이디 */\r\n id: string\r\n /** 부모 아이디 */\r\n parentId?: string\r\n /** 메뉴 표시 이름 */\r\n label: string\r\n /** lucide 아이콘 이름 */\r\n icon?: string\r\n /** 라우트 경로 (L 타입만) */\r\n path?: string\r\n /** 메뉴 타입: F=폴더(그룹), L=링크(페이지) */\r\n menuType: MenuType\r\n /** 정렬 순서 */\r\n sortOrder?: number\r\n /** 하위 메뉴 (서버에서 트리로 변환) */\r\n children?: SidebarMenuItem[]\r\n /** 비활성화 여부 */\r\n disabled?: boolean\r\n}\r\n\r\n/**\r\n * 사이드바 내부 상태 (provide/inject)\r\n */\r\nexport interface SidebarState {\r\n /** 접힘 상태 */\r\n collapsed: boolean\r\n /** 현재 활성 경로 */\r\n activePath: string | undefined\r\n /** 즐겨찾기 id Set */\r\n favorites: Set<string>\r\n /** 즐겨찾기 토글 */\r\n toggleFavorite: (id: string) => void\r\n}\r\n\r\n// Vue InjectionKey 타입을 위한 import\r\nimport type { InjectionKey } from 'vue'\r\n\r\n/** provide/inject 키 */\r\nexport const SIDEBAR_INJECTION_KEY = Symbol('sidebar-state') as InjectionKey<SidebarState>\r\n"],"names":["SIDEBAR_INJECTION_KEY"],"mappings":"AAkDO,MAAMA,2BAA+B,eAAe;"}