@j-solution/components 1.0.0
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.
- package/LICENSE +22 -0
- package/README.md +130 -0
- package/UPDATE_GUIDE.md +441 -0
- package/USAGE_GUIDE.md +748 -0
- package/assets/images/README.md +18 -0
- package/assets/images/logo-fallback.png +0 -0
- package/assets/images/logo-fallback.png.README +14 -0
- package/assets/images/logo-fallback.png.cjs +2 -0
- package/assets/images/logo-fallback.png.cjs.map +1 -0
- package/assets/images/logo-fallback.png.js +5 -0
- package/assets/images/logo-fallback.png.js.map +1 -0
- package/assets/jwms-portal-frontend-DjoLgoaO.css +1 -0
- package/assets/styles/j-components.css +1 -0
- package/assets/styles/themes.css +337 -0
- package/assets/vue.svg +1 -0
- package/components/atoms/JAvatar.vue.cjs +2 -0
- package/components/atoms/JAvatar.vue.cjs.map +1 -0
- package/components/atoms/JAvatar.vue.js +94 -0
- package/components/atoms/JAvatar.vue.js.map +1 -0
- package/components/atoms/JAvatar.vue2.cjs +2 -0
- package/components/atoms/JAvatar.vue2.cjs.map +1 -0
- package/components/atoms/JAvatar.vue2.js +5 -0
- package/components/atoms/JAvatar.vue2.js.map +1 -0
- package/components/atoms/JBadge.vue.cjs +2 -0
- package/components/atoms/JBadge.vue.cjs.map +1 -0
- package/components/atoms/JBadge.vue.js +61 -0
- package/components/atoms/JBadge.vue.js.map +1 -0
- package/components/atoms/JBadge.vue2.cjs +2 -0
- package/components/atoms/JBadge.vue2.cjs.map +1 -0
- package/components/atoms/JBadge.vue2.js +5 -0
- package/components/atoms/JBadge.vue2.js.map +1 -0
- package/components/atoms/JButton.vue.cjs +2 -0
- package/components/atoms/JButton.vue.cjs.map +1 -0
- package/components/atoms/JButton.vue.js +88 -0
- package/components/atoms/JButton.vue.js.map +1 -0
- package/components/atoms/JButton.vue2.cjs +2 -0
- package/components/atoms/JButton.vue2.cjs.map +1 -0
- package/components/atoms/JButton.vue2.js +5 -0
- package/components/atoms/JButton.vue2.js.map +1 -0
- package/components/atoms/JCheckbox.vue.cjs +2 -0
- package/components/atoms/JCheckbox.vue.cjs.map +1 -0
- package/components/atoms/JCheckbox.vue.js +62 -0
- package/components/atoms/JCheckbox.vue.js.map +1 -0
- package/components/atoms/JCheckbox.vue2.cjs +2 -0
- package/components/atoms/JCheckbox.vue2.cjs.map +1 -0
- package/components/atoms/JCheckbox.vue2.js +5 -0
- package/components/atoms/JCheckbox.vue2.js.map +1 -0
- package/components/atoms/JCombo.vue.cjs +2 -0
- package/components/atoms/JCombo.vue.cjs.map +1 -0
- package/components/atoms/JCombo.vue.js +88 -0
- package/components/atoms/JCombo.vue.js.map +1 -0
- package/components/atoms/JCombo.vue2.cjs +2 -0
- package/components/atoms/JCombo.vue2.cjs.map +1 -0
- package/components/atoms/JCombo.vue2.js +5 -0
- package/components/atoms/JCombo.vue2.js.map +1 -0
- package/components/atoms/JDatepicker.vue.cjs +2 -0
- package/components/atoms/JDatepicker.vue.cjs.map +1 -0
- package/components/atoms/JDatepicker.vue.js +120 -0
- package/components/atoms/JDatepicker.vue.js.map +1 -0
- package/components/atoms/JDatepicker.vue2.cjs +2 -0
- package/components/atoms/JDatepicker.vue2.cjs.map +1 -0
- package/components/atoms/JDatepicker.vue2.js +5 -0
- package/components/atoms/JDatepicker.vue2.js.map +1 -0
- package/components/atoms/JDivider.vue.cjs +2 -0
- package/components/atoms/JDivider.vue.cjs.map +1 -0
- package/components/atoms/JDivider.vue.js +32 -0
- package/components/atoms/JDivider.vue.js.map +1 -0
- package/components/atoms/JDivider.vue2.cjs +2 -0
- package/components/atoms/JDivider.vue2.cjs.map +1 -0
- package/components/atoms/JDivider.vue2.js +5 -0
- package/components/atoms/JDivider.vue2.js.map +1 -0
- package/components/atoms/JGrid.vue.cjs +7 -0
- package/components/atoms/JGrid.vue.cjs.map +1 -0
- package/components/atoms/JGrid.vue.js +13 -0
- package/components/atoms/JGrid.vue.js.map +1 -0
- package/components/atoms/JGrid.vue2.cjs +2 -0
- package/components/atoms/JGrid.vue2.cjs.map +1 -0
- package/components/atoms/JGrid.vue2.js +107 -0
- package/components/atoms/JGrid.vue2.js.map +1 -0
- package/components/atoms/JIcon.vue.cjs +2 -0
- package/components/atoms/JIcon.vue.cjs.map +1 -0
- package/components/atoms/JIcon.vue.js +192 -0
- package/components/atoms/JIcon.vue.js.map +1 -0
- package/components/atoms/JIcon.vue2.cjs +2 -0
- package/components/atoms/JIcon.vue2.cjs.map +1 -0
- package/components/atoms/JIcon.vue2.js +5 -0
- package/components/atoms/JIcon.vue2.js.map +1 -0
- package/components/atoms/JImage.vue.cjs +2 -0
- package/components/atoms/JImage.vue.cjs.map +1 -0
- package/components/atoms/JImage.vue.js +79 -0
- package/components/atoms/JImage.vue.js.map +1 -0
- package/components/atoms/JImage.vue2.cjs +2 -0
- package/components/atoms/JImage.vue2.cjs.map +1 -0
- package/components/atoms/JImage.vue2.js +5 -0
- package/components/atoms/JImage.vue2.js.map +1 -0
- package/components/atoms/JInput.vue.cjs +2 -0
- package/components/atoms/JInput.vue.cjs.map +1 -0
- package/components/atoms/JInput.vue.js +68 -0
- package/components/atoms/JInput.vue.js.map +1 -0
- package/components/atoms/JInput.vue2.cjs +2 -0
- package/components/atoms/JInput.vue2.cjs.map +1 -0
- package/components/atoms/JInput.vue2.js +5 -0
- package/components/atoms/JInput.vue2.js.map +1 -0
- package/components/atoms/JKbd.vue.cjs +2 -0
- package/components/atoms/JKbd.vue.cjs.map +1 -0
- package/components/atoms/JKbd.vue.js +52 -0
- package/components/atoms/JKbd.vue.js.map +1 -0
- package/components/atoms/JKbd.vue2.cjs +2 -0
- package/components/atoms/JKbd.vue2.cjs.map +1 -0
- package/components/atoms/JKbd.vue2.js +5 -0
- package/components/atoms/JKbd.vue2.js.map +1 -0
- package/components/atoms/JLabel.vue.cjs +2 -0
- package/components/atoms/JLabel.vue.cjs.map +1 -0
- package/components/atoms/JLabel.vue.js +67 -0
- package/components/atoms/JLabel.vue.js.map +1 -0
- package/components/atoms/JLabel.vue2.cjs +2 -0
- package/components/atoms/JLabel.vue2.cjs.map +1 -0
- package/components/atoms/JLabel.vue2.js +5 -0
- package/components/atoms/JLabel.vue2.js.map +1 -0
- package/components/atoms/JLink.vue.cjs +2 -0
- package/components/atoms/JLink.vue.cjs.map +1 -0
- package/components/atoms/JLink.vue.js +51 -0
- package/components/atoms/JLink.vue.js.map +1 -0
- package/components/atoms/JLink.vue2.cjs +2 -0
- package/components/atoms/JLink.vue2.cjs.map +1 -0
- package/components/atoms/JLink.vue2.js +5 -0
- package/components/atoms/JLink.vue2.js.map +1 -0
- package/components/atoms/JPopover.vue.cjs +2 -0
- package/components/atoms/JPopover.vue.cjs.map +1 -0
- package/components/atoms/JPopover.vue.js +100 -0
- package/components/atoms/JPopover.vue.js.map +1 -0
- package/components/atoms/JPopover.vue2.cjs +2 -0
- package/components/atoms/JPopover.vue2.cjs.map +1 -0
- package/components/atoms/JPopover.vue2.js +5 -0
- package/components/atoms/JPopover.vue2.js.map +1 -0
- package/components/atoms/JProgress.vue.cjs +2 -0
- package/components/atoms/JProgress.vue.cjs.map +1 -0
- package/components/atoms/JProgress.vue.js +189 -0
- package/components/atoms/JProgress.vue.js.map +1 -0
- package/components/atoms/JProgress.vue3.cjs +2 -0
- package/components/atoms/JProgress.vue3.cjs.map +1 -0
- package/components/atoms/JProgress.vue3.js +6 -0
- package/components/atoms/JProgress.vue3.js.map +1 -0
- package/components/atoms/JRadio.vue.cjs +2 -0
- package/components/atoms/JRadio.vue.cjs.map +1 -0
- package/components/atoms/JRadio.vue.js +94 -0
- package/components/atoms/JRadio.vue.js.map +1 -0
- package/components/atoms/JRadio.vue2.cjs +2 -0
- package/components/atoms/JRadio.vue2.cjs.map +1 -0
- package/components/atoms/JRadio.vue2.js +5 -0
- package/components/atoms/JRadio.vue2.js.map +1 -0
- package/components/atoms/JSearchCombo.vue.cjs +2 -0
- package/components/atoms/JSearchCombo.vue.cjs.map +1 -0
- package/components/atoms/JSearchCombo.vue.js +146 -0
- package/components/atoms/JSearchCombo.vue.js.map +1 -0
- package/components/atoms/JSearchCombo.vue2.cjs +2 -0
- package/components/atoms/JSearchCombo.vue2.cjs.map +1 -0
- package/components/atoms/JSearchCombo.vue2.js +5 -0
- package/components/atoms/JSearchCombo.vue2.js.map +1 -0
- package/components/atoms/JSpinner.vue.cjs +2 -0
- package/components/atoms/JSpinner.vue.cjs.map +1 -0
- package/components/atoms/JSpinner.vue.js +65 -0
- package/components/atoms/JSpinner.vue.js.map +1 -0
- package/components/atoms/JSpinner.vue2.cjs +2 -0
- package/components/atoms/JSpinner.vue2.cjs.map +1 -0
- package/components/atoms/JSpinner.vue2.js +5 -0
- package/components/atoms/JSpinner.vue2.js.map +1 -0
- package/components/atoms/JSwitch.vue.cjs +2 -0
- package/components/atoms/JSwitch.vue.cjs.map +1 -0
- package/components/atoms/JSwitch.vue.js +60 -0
- package/components/atoms/JSwitch.vue.js.map +1 -0
- package/components/atoms/JSwitch.vue2.cjs +2 -0
- package/components/atoms/JSwitch.vue2.cjs.map +1 -0
- package/components/atoms/JSwitch.vue2.js +5 -0
- package/components/atoms/JSwitch.vue2.js.map +1 -0
- package/components/atoms/JTextarea.vue.cjs +2 -0
- package/components/atoms/JTextarea.vue.cjs.map +1 -0
- package/components/atoms/JTextarea.vue.js +66 -0
- package/components/atoms/JTextarea.vue.js.map +1 -0
- package/components/atoms/JTextarea.vue2.cjs +2 -0
- package/components/atoms/JTextarea.vue2.cjs.map +1 -0
- package/components/atoms/JTextarea.vue2.js +5 -0
- package/components/atoms/JTextarea.vue2.js.map +1 -0
- package/components/atoms/JTooltip.vue.cjs +2 -0
- package/components/atoms/JTooltip.vue.cjs.map +1 -0
- package/components/atoms/JTooltip.vue.js +130 -0
- package/components/atoms/JTooltip.vue.js.map +1 -0
- package/components/atoms/JTooltip.vue2.cjs +2 -0
- package/components/atoms/JTooltip.vue2.cjs.map +1 -0
- package/components/atoms/JTooltip.vue2.js +5 -0
- package/components/atoms/JTooltip.vue2.js.map +1 -0
- package/components/molecules/JAccordion.vue.cjs +2 -0
- package/components/molecules/JAccordion.vue.cjs.map +1 -0
- package/components/molecules/JAccordion.vue.js +61 -0
- package/components/molecules/JAccordion.vue.js.map +1 -0
- package/components/molecules/JAccordion.vue2.cjs +2 -0
- package/components/molecules/JAccordion.vue2.cjs.map +1 -0
- package/components/molecules/JAccordion.vue2.js +5 -0
- package/components/molecules/JAccordion.vue2.js.map +1 -0
- package/components/molecules/JAlert.vue.cjs +2 -0
- package/components/molecules/JAlert.vue.cjs.map +1 -0
- package/components/molecules/JAlert.vue.js +84 -0
- package/components/molecules/JAlert.vue.js.map +1 -0
- package/components/molecules/JAlert.vue2.cjs +2 -0
- package/components/molecules/JAlert.vue2.cjs.map +1 -0
- package/components/molecules/JAlert.vue2.js +5 -0
- package/components/molecules/JAlert.vue2.js.map +1 -0
- package/components/molecules/JBreadcrumb.vue.cjs +2 -0
- package/components/molecules/JBreadcrumb.vue.cjs.map +1 -0
- package/components/molecules/JBreadcrumb.vue.js +87 -0
- package/components/molecules/JBreadcrumb.vue.js.map +1 -0
- package/components/molecules/JBreadcrumb.vue2.cjs +2 -0
- package/components/molecules/JBreadcrumb.vue2.cjs.map +1 -0
- package/components/molecules/JBreadcrumb.vue2.js +5 -0
- package/components/molecules/JBreadcrumb.vue2.js.map +1 -0
- package/components/molecules/JButtonGroup.vue.cjs +2 -0
- package/components/molecules/JButtonGroup.vue.cjs.map +1 -0
- package/components/molecules/JButtonGroup.vue.js +58 -0
- package/components/molecules/JButtonGroup.vue.js.map +1 -0
- package/components/molecules/JButtonGroup.vue2.cjs +2 -0
- package/components/molecules/JButtonGroup.vue2.cjs.map +1 -0
- package/components/molecules/JButtonGroup.vue2.js +5 -0
- package/components/molecules/JButtonGroup.vue2.js.map +1 -0
- package/components/molecules/JCard.vue.cjs +2 -0
- package/components/molecules/JCard.vue.cjs.map +1 -0
- package/components/molecules/JCard.vue.js +61 -0
- package/components/molecules/JCard.vue.js.map +1 -0
- package/components/molecules/JCard.vue2.cjs +2 -0
- package/components/molecules/JCard.vue2.cjs.map +1 -0
- package/components/molecules/JCard.vue2.js +5 -0
- package/components/molecules/JCard.vue2.js.map +1 -0
- package/components/molecules/JContextMenu.vue.cjs +7 -0
- package/components/molecules/JContextMenu.vue.cjs.map +1 -0
- package/components/molecules/JContextMenu.vue.js +13 -0
- package/components/molecules/JContextMenu.vue.js.map +1 -0
- package/components/molecules/JContextMenu.vue2.cjs +2 -0
- package/components/molecules/JContextMenu.vue2.cjs.map +1 -0
- package/components/molecules/JContextMenu.vue2.js +138 -0
- package/components/molecules/JContextMenu.vue2.js.map +1 -0
- package/components/molecules/JFormField.vue.cjs +2 -0
- package/components/molecules/JFormField.vue.cjs.map +1 -0
- package/components/molecules/JFormField.vue.js +259 -0
- package/components/molecules/JFormField.vue.js.map +1 -0
- package/components/molecules/JFormField.vue3.cjs +2 -0
- package/components/molecules/JFormField.vue3.cjs.map +1 -0
- package/components/molecules/JFormField.vue3.js +6 -0
- package/components/molecules/JFormField.vue3.js.map +1 -0
- package/components/molecules/JGroupCombo.vue.cjs +2 -0
- package/components/molecules/JGroupCombo.vue.cjs.map +1 -0
- package/components/molecules/JGroupCombo.vue.js +102 -0
- package/components/molecules/JGroupCombo.vue.js.map +1 -0
- package/components/molecules/JGroupCombo.vue2.cjs +2 -0
- package/components/molecules/JGroupCombo.vue2.cjs.map +1 -0
- package/components/molecules/JGroupCombo.vue2.js +5 -0
- package/components/molecules/JGroupCombo.vue2.js.map +1 -0
- package/components/molecules/JSearchAddr.vue.cjs +7 -0
- package/components/molecules/JSearchAddr.vue.cjs.map +1 -0
- package/components/molecules/JSearchAddr.vue.js +13 -0
- package/components/molecules/JSearchAddr.vue.js.map +1 -0
- package/components/molecules/JSearchAddr.vue2.cjs +2 -0
- package/components/molecules/JSearchAddr.vue2.cjs.map +1 -0
- package/components/molecules/JSearchAddr.vue2.js +171 -0
- package/components/molecules/JSearchAddr.vue2.js.map +1 -0
- package/components/molecules/JTabs.vue.cjs +7 -0
- package/components/molecules/JTabs.vue.cjs.map +1 -0
- package/components/molecules/JTabs.vue.js +13 -0
- package/components/molecules/JTabs.vue.js.map +1 -0
- package/components/molecules/JTabs.vue2.cjs +2 -0
- package/components/molecules/JTabs.vue2.cjs.map +1 -0
- package/components/molecules/JTabs.vue2.js +130 -0
- package/components/molecules/JTabs.vue2.js.map +1 -0
- package/components/molecules/JTitlebar.vue.cjs +2 -0
- package/components/molecules/JTitlebar.vue.cjs.map +1 -0
- package/components/molecules/JTitlebar.vue.js +144 -0
- package/components/molecules/JTitlebar.vue.js.map +1 -0
- package/components/molecules/JTitlebar.vue2.cjs +2 -0
- package/components/molecules/JTitlebar.vue2.cjs.map +1 -0
- package/components/molecules/JTitlebar.vue2.js +5 -0
- package/components/molecules/JTitlebar.vue2.js.map +1 -0
- package/components/organisms/JDynamicForm.vue.cjs +7 -0
- package/components/organisms/JDynamicForm.vue.cjs.map +1 -0
- package/components/organisms/JDynamicForm.vue.js +13 -0
- package/components/organisms/JDynamicForm.vue.js.map +1 -0
- package/components/organisms/JDynamicForm.vue2.cjs +2 -0
- package/components/organisms/JDynamicForm.vue2.cjs.map +1 -0
- package/components/organisms/JDynamicForm.vue2.js +401 -0
- package/components/organisms/JDynamicForm.vue2.js.map +1 -0
- package/components/organisms/JDynamicTabs.vue.cjs +2 -0
- package/components/organisms/JDynamicTabs.vue.cjs.map +1 -0
- package/components/organisms/JDynamicTabs.vue.js +116 -0
- package/components/organisms/JDynamicTabs.vue.js.map +1 -0
- package/components/organisms/JDynamicTabs.vue2.cjs +2 -0
- package/components/organisms/JDynamicTabs.vue2.cjs.map +1 -0
- package/components/organisms/JDynamicTabs.vue2.js +5 -0
- package/components/organisms/JDynamicTabs.vue2.js.map +1 -0
- package/components/organisms/JFormModal.vue.cjs +2 -0
- package/components/organisms/JFormModal.vue.cjs.map +1 -0
- package/components/organisms/JFormModal.vue.js +175 -0
- package/components/organisms/JFormModal.vue.js.map +1 -0
- package/components/organisms/JFormModal.vue2.cjs +2 -0
- package/components/organisms/JFormModal.vue2.cjs.map +1 -0
- package/components/organisms/JFormModal.vue2.js +5 -0
- package/components/organisms/JFormModal.vue2.js.map +1 -0
- package/components/organisms/JHeader.vue.cjs +2 -0
- package/components/organisms/JHeader.vue.cjs.map +1 -0
- package/components/organisms/JHeader.vue.js +450 -0
- package/components/organisms/JHeader.vue.js.map +1 -0
- package/components/organisms/JHeader.vue2.cjs +2 -0
- package/components/organisms/JHeader.vue2.cjs.map +1 -0
- package/components/organisms/JHeader.vue2.js +5 -0
- package/components/organisms/JHeader.vue2.js.map +1 -0
- package/components/organisms/JModal.vue.cjs +2 -0
- package/components/organisms/JModal.vue.cjs.map +1 -0
- package/components/organisms/JModal.vue.js +170 -0
- package/components/organisms/JModal.vue.js.map +1 -0
- package/components/organisms/JModal.vue2.cjs +2 -0
- package/components/organisms/JModal.vue2.cjs.map +1 -0
- package/components/organisms/JModal.vue2.js +5 -0
- package/components/organisms/JModal.vue2.js.map +1 -0
- package/components/organisms/JPageContainer.vue.cjs +2 -0
- package/components/organisms/JPageContainer.vue.cjs.map +1 -0
- package/components/organisms/JPageContainer.vue.js +72 -0
- package/components/organisms/JPageContainer.vue.js.map +1 -0
- package/components/organisms/JPageContainer.vue2.cjs +2 -0
- package/components/organisms/JPageContainer.vue2.cjs.map +1 -0
- package/components/organisms/JPageContainer.vue2.js +5 -0
- package/components/organisms/JPageContainer.vue2.js.map +1 -0
- package/components/organisms/JSearchPanel.vue.cjs +7 -0
- package/components/organisms/JSearchPanel.vue.cjs.map +1 -0
- package/components/organisms/JSearchPanel.vue.js +13 -0
- package/components/organisms/JSearchPanel.vue.js.map +1 -0
- package/components/organisms/JSearchPanel.vue2.cjs +2 -0
- package/components/organisms/JSearchPanel.vue2.cjs.map +1 -0
- package/components/organisms/JSearchPanel.vue2.js +180 -0
- package/components/organisms/JSearchPanel.vue2.js.map +1 -0
- package/components/organisms/JSidebarAdvanced.vue.cjs +7 -0
- package/components/organisms/JSidebarAdvanced.vue.cjs.map +1 -0
- package/components/organisms/JSidebarAdvanced.vue.js +13 -0
- package/components/organisms/JSidebarAdvanced.vue.js.map +1 -0
- package/components/organisms/JSidebarAdvanced.vue2.cjs +2 -0
- package/components/organisms/JSidebarAdvanced.vue2.cjs.map +1 -0
- package/components/organisms/JSidebarAdvanced.vue2.js +236 -0
- package/components/organisms/JSidebarAdvanced.vue2.js.map +1 -0
- package/components/organisms/JSidebarSimple/JDynamicMenuItem.vue.cjs +2 -0
- package/components/organisms/JSidebarSimple/JDynamicMenuItem.vue.cjs.map +1 -0
- package/components/organisms/JSidebarSimple/JDynamicMenuItem.vue.js +132 -0
- package/components/organisms/JSidebarSimple/JDynamicMenuItem.vue.js.map +1 -0
- package/components/organisms/JSidebarSimple/JDynamicMenuItem.vue2.cjs +2 -0
- package/components/organisms/JSidebarSimple/JDynamicMenuItem.vue2.cjs.map +1 -0
- package/components/organisms/JSidebarSimple/JDynamicMenuItem.vue2.js +5 -0
- package/components/organisms/JSidebarSimple/JDynamicMenuItem.vue2.js.map +1 -0
- package/components/organisms/JSidebarSimple.vue.cjs +7 -0
- package/components/organisms/JSidebarSimple.vue.cjs.map +1 -0
- package/components/organisms/JSidebarSimple.vue.js +13 -0
- package/components/organisms/JSidebarSimple.vue.js.map +1 -0
- package/components/organisms/JSidebarSimple.vue2.cjs +2 -0
- package/components/organisms/JSidebarSimple.vue2.cjs.map +1 -0
- package/components/organisms/JSidebarSimple.vue2.js +110 -0
- package/components/organisms/JSidebarSimple.vue2.js.map +1 -0
- package/components/shadcn/Accordion.vue.cjs +2 -0
- package/components/shadcn/Accordion.vue.cjs.map +1 -0
- package/components/shadcn/Accordion.vue.js +31 -0
- package/components/shadcn/Accordion.vue.js.map +1 -0
- package/components/shadcn/Accordion.vue2.cjs +2 -0
- package/components/shadcn/Accordion.vue2.cjs.map +1 -0
- package/components/shadcn/Accordion.vue2.js +5 -0
- package/components/shadcn/Accordion.vue2.js.map +1 -0
- package/components/shadcn/AccordionContent.vue.cjs +2 -0
- package/components/shadcn/AccordionContent.vue.cjs.map +1 -0
- package/components/shadcn/AccordionContent.vue.js +30 -0
- package/components/shadcn/AccordionContent.vue.js.map +1 -0
- package/components/shadcn/AccordionContent.vue2.cjs +2 -0
- package/components/shadcn/AccordionContent.vue2.cjs.map +1 -0
- package/components/shadcn/AccordionContent.vue2.js +5 -0
- package/components/shadcn/AccordionContent.vue2.js.map +1 -0
- package/components/shadcn/AccordionItem.vue.cjs +2 -0
- package/components/shadcn/AccordionItem.vue.cjs.map +1 -0
- package/components/shadcn/AccordionItem.vue.js +30 -0
- package/components/shadcn/AccordionItem.vue.js.map +1 -0
- package/components/shadcn/AccordionItem.vue2.cjs +2 -0
- package/components/shadcn/AccordionItem.vue2.cjs.map +1 -0
- package/components/shadcn/AccordionItem.vue2.js +5 -0
- package/components/shadcn/AccordionItem.vue2.js.map +1 -0
- package/components/shadcn/AccordionTrigger.vue.cjs +2 -0
- package/components/shadcn/AccordionTrigger.vue.cjs.map +1 -0
- package/components/shadcn/AccordionTrigger.vue.js +39 -0
- package/components/shadcn/AccordionTrigger.vue.js.map +1 -0
- package/components/shadcn/AccordionTrigger.vue2.cjs +2 -0
- package/components/shadcn/AccordionTrigger.vue2.cjs.map +1 -0
- package/components/shadcn/AccordionTrigger.vue2.js +5 -0
- package/components/shadcn/AccordionTrigger.vue2.js.map +1 -0
- package/components/shadcn/Alert.vue.cjs +2 -0
- package/components/shadcn/Alert.vue.cjs.map +1 -0
- package/components/shadcn/Alert.vue.js +23 -0
- package/components/shadcn/Alert.vue.js.map +1 -0
- package/components/shadcn/Alert.vue2.cjs +2 -0
- package/components/shadcn/Alert.vue2.cjs.map +1 -0
- package/components/shadcn/Alert.vue2.js +5 -0
- package/components/shadcn/Alert.vue2.js.map +1 -0
- package/components/shadcn/AlertDescription.vue.cjs +2 -0
- package/components/shadcn/AlertDescription.vue.cjs.map +1 -0
- package/components/shadcn/AlertDescription.vue.js +20 -0
- package/components/shadcn/AlertDescription.vue.js.map +1 -0
- package/components/shadcn/AlertDescription.vue2.cjs +2 -0
- package/components/shadcn/AlertDescription.vue2.cjs.map +1 -0
- package/components/shadcn/AlertDescription.vue2.js +5 -0
- package/components/shadcn/AlertDescription.vue2.js.map +1 -0
- package/components/shadcn/AlertTitle.vue.cjs +2 -0
- package/components/shadcn/AlertTitle.vue.cjs.map +1 -0
- package/components/shadcn/AlertTitle.vue.js +20 -0
- package/components/shadcn/AlertTitle.vue.js.map +1 -0
- package/components/shadcn/AlertTitle.vue2.cjs +2 -0
- package/components/shadcn/AlertTitle.vue2.cjs.map +1 -0
- package/components/shadcn/AlertTitle.vue2.js +5 -0
- package/components/shadcn/AlertTitle.vue2.js.map +1 -0
- package/components/shadcn/Avatar.vue.cjs +2 -0
- package/components/shadcn/Avatar.vue.cjs.map +1 -0
- package/components/shadcn/Avatar.vue.js +27 -0
- package/components/shadcn/Avatar.vue.js.map +1 -0
- package/components/shadcn/Avatar.vue2.cjs +2 -0
- package/components/shadcn/Avatar.vue2.cjs.map +1 -0
- package/components/shadcn/Avatar.vue2.js +5 -0
- package/components/shadcn/Avatar.vue2.js.map +1 -0
- package/components/shadcn/AvatarFallback.vue.cjs +2 -0
- package/components/shadcn/AvatarFallback.vue.cjs.map +1 -0
- package/components/shadcn/AvatarFallback.vue.js +23 -0
- package/components/shadcn/AvatarFallback.vue.js.map +1 -0
- package/components/shadcn/AvatarFallback.vue2.cjs +2 -0
- package/components/shadcn/AvatarFallback.vue2.cjs.map +1 -0
- package/components/shadcn/AvatarFallback.vue2.js +5 -0
- package/components/shadcn/AvatarFallback.vue2.js.map +1 -0
- package/components/shadcn/AvatarImage.vue.cjs +2 -0
- package/components/shadcn/AvatarImage.vue.cjs.map +1 -0
- package/components/shadcn/AvatarImage.vue.js +25 -0
- package/components/shadcn/AvatarImage.vue.js.map +1 -0
- package/components/shadcn/AvatarImage.vue2.cjs +2 -0
- package/components/shadcn/AvatarImage.vue2.cjs.map +1 -0
- package/components/shadcn/AvatarImage.vue2.js +5 -0
- package/components/shadcn/AvatarImage.vue2.js.map +1 -0
- package/components/shadcn/Badge.vue.cjs +2 -0
- package/components/shadcn/Badge.vue.cjs.map +1 -0
- package/components/shadcn/Badge.vue.js +22 -0
- package/components/shadcn/Badge.vue.js.map +1 -0
- package/components/shadcn/Badge.vue2.cjs +2 -0
- package/components/shadcn/Badge.vue2.cjs.map +1 -0
- package/components/shadcn/Badge.vue2.js +5 -0
- package/components/shadcn/Badge.vue2.js.map +1 -0
- package/components/shadcn/Button.vue.cjs +2 -0
- package/components/shadcn/Button.vue.cjs.map +1 -0
- package/components/shadcn/Button.vue.js +31 -0
- package/components/shadcn/Button.vue.js.map +1 -0
- package/components/shadcn/Button.vue2.cjs +2 -0
- package/components/shadcn/Button.vue2.cjs.map +1 -0
- package/components/shadcn/Button.vue2.js +5 -0
- package/components/shadcn/Button.vue2.js.map +1 -0
- package/components/shadcn/ButtonGroup.vue.cjs +2 -0
- package/components/shadcn/ButtonGroup.vue.cjs.map +1 -0
- package/components/shadcn/ButtonGroup.vue.js +25 -0
- package/components/shadcn/ButtonGroup.vue.js.map +1 -0
- package/components/shadcn/ButtonGroup.vue2.cjs +2 -0
- package/components/shadcn/ButtonGroup.vue2.cjs.map +1 -0
- package/components/shadcn/ButtonGroup.vue2.js +5 -0
- package/components/shadcn/ButtonGroup.vue2.js.map +1 -0
- package/components/shadcn/ButtonGroupSeparator.vue.cjs +2 -0
- package/components/shadcn/ButtonGroupSeparator.vue.cjs.map +1 -0
- package/components/shadcn/ButtonGroupSeparator.vue.js +29 -0
- package/components/shadcn/ButtonGroupSeparator.vue.js.map +1 -0
- package/components/shadcn/ButtonGroupSeparator.vue2.cjs +2 -0
- package/components/shadcn/ButtonGroupSeparator.vue2.cjs.map +1 -0
- package/components/shadcn/ButtonGroupSeparator.vue2.js +5 -0
- package/components/shadcn/ButtonGroupSeparator.vue2.js.map +1 -0
- package/components/shadcn/Calendar.vue.cjs +2 -0
- package/components/shadcn/Calendar.vue.cjs.map +1 -0
- package/components/shadcn/Calendar.vue.js +121 -0
- package/components/shadcn/Calendar.vue.js.map +1 -0
- package/components/shadcn/Calendar.vue2.cjs +2 -0
- package/components/shadcn/Calendar.vue2.cjs.map +1 -0
- package/components/shadcn/Calendar.vue2.js +5 -0
- package/components/shadcn/Calendar.vue2.js.map +1 -0
- package/components/shadcn/CalendarCell.vue.cjs +2 -0
- package/components/shadcn/CalendarCell.vue.cjs.map +1 -0
- package/components/shadcn/CalendarCell.vue.js +5 -0
- package/components/shadcn/CalendarCell.vue.js.map +1 -0
- package/components/shadcn/CalendarCell.vue2.cjs +2 -0
- package/components/shadcn/CalendarCell.vue2.cjs.map +1 -0
- package/components/shadcn/CalendarCell.vue2.js +28 -0
- package/components/shadcn/CalendarCell.vue2.js.map +1 -0
- package/components/shadcn/CalendarCellTrigger.vue.cjs +2 -0
- package/components/shadcn/CalendarCellTrigger.vue.cjs.map +1 -0
- package/components/shadcn/CalendarCellTrigger.vue.js +5 -0
- package/components/shadcn/CalendarCellTrigger.vue.js.map +1 -0
- package/components/shadcn/CalendarCellTrigger.vue2.cjs +2 -0
- package/components/shadcn/CalendarCellTrigger.vue2.cjs.map +1 -0
- package/components/shadcn/CalendarCellTrigger.vue2.js +43 -0
- package/components/shadcn/CalendarCellTrigger.vue2.js.map +1 -0
- package/components/shadcn/CalendarGrid.vue.cjs +2 -0
- package/components/shadcn/CalendarGrid.vue.cjs.map +1 -0
- package/components/shadcn/CalendarGrid.vue.js +5 -0
- package/components/shadcn/CalendarGrid.vue.js.map +1 -0
- package/components/shadcn/CalendarGrid.vue2.cjs +2 -0
- package/components/shadcn/CalendarGrid.vue2.cjs.map +1 -0
- package/components/shadcn/CalendarGrid.vue2.js +27 -0
- package/components/shadcn/CalendarGrid.vue2.js.map +1 -0
- package/components/shadcn/CalendarGridBody.vue.cjs +2 -0
- package/components/shadcn/CalendarGridBody.vue.cjs.map +1 -0
- package/components/shadcn/CalendarGridBody.vue.js +5 -0
- package/components/shadcn/CalendarGridBody.vue.js.map +1 -0
- package/components/shadcn/CalendarGridBody.vue2.cjs +2 -0
- package/components/shadcn/CalendarGridBody.vue2.cjs.map +1 -0
- package/components/shadcn/CalendarGridBody.vue2.js +22 -0
- package/components/shadcn/CalendarGridBody.vue2.js.map +1 -0
- package/components/shadcn/CalendarGridHead.vue.cjs +2 -0
- package/components/shadcn/CalendarGridHead.vue.cjs.map +1 -0
- package/components/shadcn/CalendarGridHead.vue.js +5 -0
- package/components/shadcn/CalendarGridHead.vue.js.map +1 -0
- package/components/shadcn/CalendarGridHead.vue2.cjs +2 -0
- package/components/shadcn/CalendarGridHead.vue2.cjs.map +1 -0
- package/components/shadcn/CalendarGridHead.vue2.js +22 -0
- package/components/shadcn/CalendarGridHead.vue2.js.map +1 -0
- package/components/shadcn/CalendarGridRow.vue.cjs +2 -0
- package/components/shadcn/CalendarGridRow.vue.cjs.map +1 -0
- package/components/shadcn/CalendarGridRow.vue.js +5 -0
- package/components/shadcn/CalendarGridRow.vue.js.map +1 -0
- package/components/shadcn/CalendarGridRow.vue2.cjs +2 -0
- package/components/shadcn/CalendarGridRow.vue2.cjs.map +1 -0
- package/components/shadcn/CalendarGridRow.vue2.js +27 -0
- package/components/shadcn/CalendarGridRow.vue2.js.map +1 -0
- package/components/shadcn/CalendarHeadCell.vue.cjs +2 -0
- package/components/shadcn/CalendarHeadCell.vue.cjs.map +1 -0
- package/components/shadcn/CalendarHeadCell.vue.js +5 -0
- package/components/shadcn/CalendarHeadCell.vue.js.map +1 -0
- package/components/shadcn/CalendarHeadCell.vue2.cjs +2 -0
- package/components/shadcn/CalendarHeadCell.vue2.cjs.map +1 -0
- package/components/shadcn/CalendarHeadCell.vue2.js +27 -0
- package/components/shadcn/CalendarHeadCell.vue2.js.map +1 -0
- package/components/shadcn/CalendarHeader.vue.cjs +2 -0
- package/components/shadcn/CalendarHeader.vue.cjs.map +1 -0
- package/components/shadcn/CalendarHeader.vue.js +5 -0
- package/components/shadcn/CalendarHeader.vue.js.map +1 -0
- package/components/shadcn/CalendarHeader.vue2.cjs +2 -0
- package/components/shadcn/CalendarHeader.vue2.cjs.map +1 -0
- package/components/shadcn/CalendarHeader.vue2.js +27 -0
- package/components/shadcn/CalendarHeader.vue2.js.map +1 -0
- package/components/shadcn/CalendarHeading.vue.cjs +2 -0
- package/components/shadcn/CalendarHeading.vue.cjs.map +1 -0
- package/components/shadcn/CalendarHeading.vue.js +5 -0
- package/components/shadcn/CalendarHeading.vue.js.map +1 -0
- package/components/shadcn/CalendarHeading.vue2.cjs +2 -0
- package/components/shadcn/CalendarHeading.vue2.cjs.map +1 -0
- package/components/shadcn/CalendarHeading.vue2.js +29 -0
- package/components/shadcn/CalendarHeading.vue2.js.map +1 -0
- package/components/shadcn/CalendarNextButton.vue.cjs +2 -0
- package/components/shadcn/CalendarNextButton.vue.cjs.map +1 -0
- package/components/shadcn/CalendarNextButton.vue.js +5 -0
- package/components/shadcn/CalendarNextButton.vue.js.map +1 -0
- package/components/shadcn/CalendarNextButton.vue2.cjs +2 -0
- package/components/shadcn/CalendarNextButton.vue2.cjs.map +1 -0
- package/components/shadcn/CalendarNextButton.vue2.js +36 -0
- package/components/shadcn/CalendarNextButton.vue2.js.map +1 -0
- package/components/shadcn/CalendarPrevButton.vue.cjs +2 -0
- package/components/shadcn/CalendarPrevButton.vue.cjs.map +1 -0
- package/components/shadcn/CalendarPrevButton.vue.js +5 -0
- package/components/shadcn/CalendarPrevButton.vue.js.map +1 -0
- package/components/shadcn/CalendarPrevButton.vue2.cjs +2 -0
- package/components/shadcn/CalendarPrevButton.vue2.cjs.map +1 -0
- package/components/shadcn/CalendarPrevButton.vue2.js +36 -0
- package/components/shadcn/CalendarPrevButton.vue2.js.map +1 -0
- package/components/shadcn/Card.vue.cjs +2 -0
- package/components/shadcn/Card.vue.cjs.map +1 -0
- package/components/shadcn/Card.vue.js +25 -0
- package/components/shadcn/Card.vue.js.map +1 -0
- package/components/shadcn/Card.vue2.cjs +2 -0
- package/components/shadcn/Card.vue2.cjs.map +1 -0
- package/components/shadcn/Card.vue2.js +5 -0
- package/components/shadcn/Card.vue2.js.map +1 -0
- package/components/shadcn/CardContent.vue.cjs +2 -0
- package/components/shadcn/CardContent.vue.cjs.map +1 -0
- package/components/shadcn/CardContent.vue.js +20 -0
- package/components/shadcn/CardContent.vue.js.map +1 -0
- package/components/shadcn/CardContent.vue2.cjs +2 -0
- package/components/shadcn/CardContent.vue2.cjs.map +1 -0
- package/components/shadcn/CardContent.vue2.js +5 -0
- package/components/shadcn/CardContent.vue2.js.map +1 -0
- package/components/shadcn/CardDescription.vue.cjs +2 -0
- package/components/shadcn/CardDescription.vue.cjs.map +1 -0
- package/components/shadcn/CardDescription.vue.js +20 -0
- package/components/shadcn/CardDescription.vue.js.map +1 -0
- package/components/shadcn/CardDescription.vue2.cjs +2 -0
- package/components/shadcn/CardDescription.vue2.cjs.map +1 -0
- package/components/shadcn/CardDescription.vue2.js +5 -0
- package/components/shadcn/CardDescription.vue2.js.map +1 -0
- package/components/shadcn/CardFooter.vue.cjs +2 -0
- package/components/shadcn/CardFooter.vue.cjs.map +1 -0
- package/components/shadcn/CardFooter.vue.js +20 -0
- package/components/shadcn/CardFooter.vue.js.map +1 -0
- package/components/shadcn/CardFooter.vue2.cjs +2 -0
- package/components/shadcn/CardFooter.vue2.cjs.map +1 -0
- package/components/shadcn/CardFooter.vue2.js +5 -0
- package/components/shadcn/CardFooter.vue2.js.map +1 -0
- package/components/shadcn/CardHeader.vue.cjs +2 -0
- package/components/shadcn/CardHeader.vue.cjs.map +1 -0
- package/components/shadcn/CardHeader.vue.js +20 -0
- package/components/shadcn/CardHeader.vue.js.map +1 -0
- package/components/shadcn/CardHeader.vue2.cjs +2 -0
- package/components/shadcn/CardHeader.vue2.cjs.map +1 -0
- package/components/shadcn/CardHeader.vue2.js +5 -0
- package/components/shadcn/CardHeader.vue2.js.map +1 -0
- package/components/shadcn/CardTitle.vue.cjs +2 -0
- package/components/shadcn/CardTitle.vue.cjs.map +1 -0
- package/components/shadcn/CardTitle.vue.js +22 -0
- package/components/shadcn/CardTitle.vue.js.map +1 -0
- package/components/shadcn/CardTitle.vue2.cjs +2 -0
- package/components/shadcn/CardTitle.vue2.cjs.map +1 -0
- package/components/shadcn/CardTitle.vue2.js +5 -0
- package/components/shadcn/CardTitle.vue2.js.map +1 -0
- package/components/shadcn/Checkbox.vue.cjs +2 -0
- package/components/shadcn/Checkbox.vue.cjs.map +1 -0
- package/components/shadcn/Checkbox.vue.js +46 -0
- package/components/shadcn/Checkbox.vue.js.map +1 -0
- package/components/shadcn/Checkbox.vue2.cjs +2 -0
- package/components/shadcn/Checkbox.vue2.cjs.map +1 -0
- package/components/shadcn/Checkbox.vue2.js +5 -0
- package/components/shadcn/Checkbox.vue2.js.map +1 -0
- package/components/shadcn/Combobox.vue.cjs +2 -0
- package/components/shadcn/Combobox.vue.cjs.map +1 -0
- package/components/shadcn/Combobox.vue.js +40 -0
- package/components/shadcn/Combobox.vue.js.map +1 -0
- package/components/shadcn/Combobox.vue2.cjs +2 -0
- package/components/shadcn/Combobox.vue2.cjs.map +1 -0
- package/components/shadcn/Combobox.vue2.js +5 -0
- package/components/shadcn/Combobox.vue2.js.map +1 -0
- package/components/shadcn/ComboboxAnchor.vue.cjs +2 -0
- package/components/shadcn/ComboboxAnchor.vue.cjs.map +1 -0
- package/components/shadcn/ComboboxAnchor.vue.js +28 -0
- package/components/shadcn/ComboboxAnchor.vue.js.map +1 -0
- package/components/shadcn/ComboboxAnchor.vue2.cjs +2 -0
- package/components/shadcn/ComboboxAnchor.vue2.cjs.map +1 -0
- package/components/shadcn/ComboboxAnchor.vue2.js +5 -0
- package/components/shadcn/ComboboxAnchor.vue2.js.map +1 -0
- package/components/shadcn/ComboboxEmpty.vue.cjs +2 -0
- package/components/shadcn/ComboboxEmpty.vue.cjs.map +1 -0
- package/components/shadcn/ComboboxEmpty.vue.js +27 -0
- package/components/shadcn/ComboboxEmpty.vue.js.map +1 -0
- package/components/shadcn/ComboboxEmpty.vue2.cjs +2 -0
- package/components/shadcn/ComboboxEmpty.vue2.cjs.map +1 -0
- package/components/shadcn/ComboboxEmpty.vue2.js +5 -0
- package/components/shadcn/ComboboxEmpty.vue2.js.map +1 -0
- package/components/shadcn/ComboboxGroup.vue.cjs +2 -0
- package/components/shadcn/ComboboxGroup.vue.cjs.map +1 -0
- package/components/shadcn/ComboboxGroup.vue.js +37 -0
- package/components/shadcn/ComboboxGroup.vue.js.map +1 -0
- package/components/shadcn/ComboboxGroup.vue2.cjs +2 -0
- package/components/shadcn/ComboboxGroup.vue2.cjs.map +1 -0
- package/components/shadcn/ComboboxGroup.vue2.js +5 -0
- package/components/shadcn/ComboboxGroup.vue2.js.map +1 -0
- package/components/shadcn/ComboboxInput.vue.cjs +2 -0
- package/components/shadcn/ComboboxInput.vue.cjs.map +1 -0
- package/components/shadcn/ComboboxInput.vue.js +32 -0
- package/components/shadcn/ComboboxInput.vue.js.map +1 -0
- package/components/shadcn/ComboboxInput.vue2.cjs +2 -0
- package/components/shadcn/ComboboxInput.vue2.cjs.map +1 -0
- package/components/shadcn/ComboboxInput.vue2.js +5 -0
- package/components/shadcn/ComboboxInput.vue2.js.map +1 -0
- package/components/shadcn/ComboboxItem.vue.cjs +2 -0
- package/components/shadcn/ComboboxItem.vue.cjs.map +1 -0
- package/components/shadcn/ComboboxItem.vue.js +31 -0
- package/components/shadcn/ComboboxItem.vue.js.map +1 -0
- package/components/shadcn/ComboboxItem.vue2.cjs +2 -0
- package/components/shadcn/ComboboxItem.vue2.cjs.map +1 -0
- package/components/shadcn/ComboboxItem.vue2.js +5 -0
- package/components/shadcn/ComboboxItem.vue2.js.map +1 -0
- package/components/shadcn/ComboboxList.vue.cjs +2 -0
- package/components/shadcn/ComboboxList.vue.cjs.map +1 -0
- package/components/shadcn/ComboboxList.vue.js +59 -0
- package/components/shadcn/ComboboxList.vue.js.map +1 -0
- package/components/shadcn/ComboboxList.vue2.cjs +2 -0
- package/components/shadcn/ComboboxList.vue2.cjs.map +1 -0
- package/components/shadcn/ComboboxList.vue2.js +5 -0
- package/components/shadcn/ComboboxList.vue2.js.map +1 -0
- package/components/shadcn/ComboboxTrigger.vue.cjs +2 -0
- package/components/shadcn/ComboboxTrigger.vue.cjs.map +1 -0
- package/components/shadcn/ComboboxTrigger.vue.js +29 -0
- package/components/shadcn/ComboboxTrigger.vue.js.map +1 -0
- package/components/shadcn/ComboboxTrigger.vue2.cjs +2 -0
- package/components/shadcn/ComboboxTrigger.vue2.cjs.map +1 -0
- package/components/shadcn/ComboboxTrigger.vue2.js +5 -0
- package/components/shadcn/ComboboxTrigger.vue2.js.map +1 -0
- package/components/shadcn/ContextMenu.vue.cjs +2 -0
- package/components/shadcn/ContextMenu.vue.cjs.map +1 -0
- package/components/shadcn/ContextMenu.vue.js +24 -0
- package/components/shadcn/ContextMenu.vue.js.map +1 -0
- package/components/shadcn/ContextMenu.vue2.cjs +2 -0
- package/components/shadcn/ContextMenu.vue2.cjs.map +1 -0
- package/components/shadcn/ContextMenu.vue2.js +5 -0
- package/components/shadcn/ContextMenu.vue2.js.map +1 -0
- package/components/shadcn/ContextMenuContent.vue.cjs +2 -0
- package/components/shadcn/ContextMenuContent.vue.cjs.map +1 -0
- package/components/shadcn/ContextMenuContent.vue.js +50 -0
- package/components/shadcn/ContextMenuContent.vue.js.map +1 -0
- package/components/shadcn/ContextMenuContent.vue2.cjs +2 -0
- package/components/shadcn/ContextMenuContent.vue2.cjs.map +1 -0
- package/components/shadcn/ContextMenuContent.vue2.js +5 -0
- package/components/shadcn/ContextMenuContent.vue2.js.map +1 -0
- package/components/shadcn/ContextMenuGroup.vue.cjs +2 -0
- package/components/shadcn/ContextMenuGroup.vue.cjs.map +1 -0
- package/components/shadcn/ContextMenuGroup.vue.js +22 -0
- package/components/shadcn/ContextMenuGroup.vue.js.map +1 -0
- package/components/shadcn/ContextMenuGroup.vue2.cjs +2 -0
- package/components/shadcn/ContextMenuGroup.vue2.cjs.map +1 -0
- package/components/shadcn/ContextMenuGroup.vue2.js +5 -0
- package/components/shadcn/ContextMenuGroup.vue2.js.map +1 -0
- package/components/shadcn/ContextMenuItem.vue.cjs +2 -0
- package/components/shadcn/ContextMenuItem.vue.cjs.map +1 -0
- package/components/shadcn/ContextMenuItem.vue.js +35 -0
- package/components/shadcn/ContextMenuItem.vue.js.map +1 -0
- package/components/shadcn/ContextMenuItem.vue2.cjs +2 -0
- package/components/shadcn/ContextMenuItem.vue2.cjs.map +1 -0
- package/components/shadcn/ContextMenuItem.vue2.js +5 -0
- package/components/shadcn/ContextMenuItem.vue2.js.map +1 -0
- package/components/shadcn/ContextMenuLabel.vue.cjs +2 -0
- package/components/shadcn/ContextMenuLabel.vue.cjs.map +1 -0
- package/components/shadcn/ContextMenuLabel.vue.js +32 -0
- package/components/shadcn/ContextMenuLabel.vue.js.map +1 -0
- package/components/shadcn/ContextMenuLabel.vue2.cjs +2 -0
- package/components/shadcn/ContextMenuLabel.vue2.cjs.map +1 -0
- package/components/shadcn/ContextMenuLabel.vue2.js +5 -0
- package/components/shadcn/ContextMenuLabel.vue2.js.map +1 -0
- package/components/shadcn/ContextMenuSeparator.vue.cjs +2 -0
- package/components/shadcn/ContextMenuSeparator.vue.cjs.map +1 -0
- package/components/shadcn/ContextMenuSeparator.vue.js +22 -0
- package/components/shadcn/ContextMenuSeparator.vue.js.map +1 -0
- package/components/shadcn/ContextMenuSeparator.vue2.cjs +2 -0
- package/components/shadcn/ContextMenuSeparator.vue2.cjs.map +1 -0
- package/components/shadcn/ContextMenuSeparator.vue2.js +5 -0
- package/components/shadcn/ContextMenuSeparator.vue2.js.map +1 -0
- package/components/shadcn/ContextMenuSub.vue.cjs +2 -0
- package/components/shadcn/ContextMenuSub.vue.cjs.map +1 -0
- package/components/shadcn/ContextMenuSub.vue.js +23 -0
- package/components/shadcn/ContextMenuSub.vue.js.map +1 -0
- package/components/shadcn/ContextMenuSub.vue2.cjs +2 -0
- package/components/shadcn/ContextMenuSub.vue2.cjs.map +1 -0
- package/components/shadcn/ContextMenuSub.vue2.js +5 -0
- package/components/shadcn/ContextMenuSub.vue2.js.map +1 -0
- package/components/shadcn/ContextMenuSubContent.vue.cjs +2 -0
- package/components/shadcn/ContextMenuSubContent.vue.cjs.map +1 -0
- package/components/shadcn/ContextMenuSubContent.vue.js +48 -0
- package/components/shadcn/ContextMenuSubContent.vue.js.map +1 -0
- package/components/shadcn/ContextMenuSubContent.vue2.cjs +2 -0
- package/components/shadcn/ContextMenuSubContent.vue2.cjs.map +1 -0
- package/components/shadcn/ContextMenuSubContent.vue2.js +5 -0
- package/components/shadcn/ContextMenuSubContent.vue2.js.map +1 -0
- package/components/shadcn/ContextMenuSubTrigger.vue.cjs +2 -0
- package/components/shadcn/ContextMenuSubTrigger.vue.cjs.map +1 -0
- package/components/shadcn/ContextMenuSubTrigger.vue.js +36 -0
- package/components/shadcn/ContextMenuSubTrigger.vue.js.map +1 -0
- package/components/shadcn/ContextMenuSubTrigger.vue2.cjs +2 -0
- package/components/shadcn/ContextMenuSubTrigger.vue2.cjs.map +1 -0
- package/components/shadcn/ContextMenuSubTrigger.vue2.js +5 -0
- package/components/shadcn/ContextMenuSubTrigger.vue2.js.map +1 -0
- package/components/shadcn/ContextMenuTrigger.vue.cjs +2 -0
- package/components/shadcn/ContextMenuTrigger.vue.cjs.map +1 -0
- package/components/shadcn/ContextMenuTrigger.vue.js +23 -0
- package/components/shadcn/ContextMenuTrigger.vue.js.map +1 -0
- package/components/shadcn/ContextMenuTrigger.vue2.cjs +2 -0
- package/components/shadcn/ContextMenuTrigger.vue2.cjs.map +1 -0
- package/components/shadcn/ContextMenuTrigger.vue2.js +5 -0
- package/components/shadcn/ContextMenuTrigger.vue2.js.map +1 -0
- package/components/shadcn/Dialog.vue.cjs +2 -0
- package/components/shadcn/Dialog.vue.cjs.map +1 -0
- package/components/shadcn/Dialog.vue.js +34 -0
- package/components/shadcn/Dialog.vue.js.map +1 -0
- package/components/shadcn/Dialog.vue2.cjs +2 -0
- package/components/shadcn/Dialog.vue2.cjs.map +1 -0
- package/components/shadcn/Dialog.vue2.js +5 -0
- package/components/shadcn/Dialog.vue2.js.map +1 -0
- package/components/shadcn/DialogBody.vue.cjs +2 -0
- package/components/shadcn/DialogBody.vue.cjs.map +1 -0
- package/components/shadcn/DialogBody.vue.js +19 -0
- package/components/shadcn/DialogBody.vue.js.map +1 -0
- package/components/shadcn/DialogBody.vue2.cjs +2 -0
- package/components/shadcn/DialogBody.vue2.cjs.map +1 -0
- package/components/shadcn/DialogBody.vue2.js +5 -0
- package/components/shadcn/DialogBody.vue2.js.map +1 -0
- package/components/shadcn/DialogContent.vue.cjs +2 -0
- package/components/shadcn/DialogContent.vue.cjs.map +1 -0
- package/components/shadcn/DialogContent.vue.js +19 -0
- package/components/shadcn/DialogContent.vue.js.map +1 -0
- package/components/shadcn/DialogContent.vue2.cjs +2 -0
- package/components/shadcn/DialogContent.vue2.cjs.map +1 -0
- package/components/shadcn/DialogContent.vue2.js +5 -0
- package/components/shadcn/DialogContent.vue2.js.map +1 -0
- package/components/shadcn/DialogFooter.vue.cjs +2 -0
- package/components/shadcn/DialogFooter.vue.cjs.map +1 -0
- package/components/shadcn/DialogFooter.vue.js +19 -0
- package/components/shadcn/DialogFooter.vue.js.map +1 -0
- package/components/shadcn/DialogFooter.vue2.cjs +2 -0
- package/components/shadcn/DialogFooter.vue2.cjs.map +1 -0
- package/components/shadcn/DialogFooter.vue2.js +5 -0
- package/components/shadcn/DialogFooter.vue2.js.map +1 -0
- package/components/shadcn/DialogHeader.vue.cjs +2 -0
- package/components/shadcn/DialogHeader.vue.cjs.map +1 -0
- package/components/shadcn/DialogHeader.vue.js +19 -0
- package/components/shadcn/DialogHeader.vue.js.map +1 -0
- package/components/shadcn/DialogHeader.vue2.cjs +2 -0
- package/components/shadcn/DialogHeader.vue2.cjs.map +1 -0
- package/components/shadcn/DialogHeader.vue2.js +5 -0
- package/components/shadcn/DialogHeader.vue2.js.map +1 -0
- package/components/shadcn/DialogTitle.vue.cjs +2 -0
- package/components/shadcn/DialogTitle.vue.cjs.map +1 -0
- package/components/shadcn/DialogTitle.vue.js +19 -0
- package/components/shadcn/DialogTitle.vue.js.map +1 -0
- package/components/shadcn/DialogTitle.vue2.cjs +2 -0
- package/components/shadcn/DialogTitle.vue2.cjs.map +1 -0
- package/components/shadcn/DialogTitle.vue2.js +5 -0
- package/components/shadcn/DialogTitle.vue2.js.map +1 -0
- package/components/shadcn/Field.vue.cjs +2 -0
- package/components/shadcn/Field.vue.cjs.map +1 -0
- package/components/shadcn/Field.vue.js +28 -0
- package/components/shadcn/Field.vue.js.map +1 -0
- package/components/shadcn/Field.vue2.cjs +2 -0
- package/components/shadcn/Field.vue2.cjs.map +1 -0
- package/components/shadcn/Field.vue2.js +5 -0
- package/components/shadcn/Field.vue2.js.map +1 -0
- package/components/shadcn/FieldContent.vue.cjs +2 -0
- package/components/shadcn/FieldContent.vue.cjs.map +1 -0
- package/components/shadcn/FieldContent.vue.js +24 -0
- package/components/shadcn/FieldContent.vue.js.map +1 -0
- package/components/shadcn/FieldContent.vue2.cjs +2 -0
- package/components/shadcn/FieldContent.vue2.cjs.map +1 -0
- package/components/shadcn/FieldContent.vue2.js +5 -0
- package/components/shadcn/FieldContent.vue2.js.map +1 -0
- package/components/shadcn/FieldDescription.vue.cjs +2 -0
- package/components/shadcn/FieldDescription.vue.cjs.map +1 -0
- package/components/shadcn/FieldDescription.vue.js +26 -0
- package/components/shadcn/FieldDescription.vue.js.map +1 -0
- package/components/shadcn/FieldDescription.vue2.cjs +2 -0
- package/components/shadcn/FieldDescription.vue2.cjs.map +1 -0
- package/components/shadcn/FieldDescription.vue2.js +5 -0
- package/components/shadcn/FieldDescription.vue2.js.map +1 -0
- package/components/shadcn/FieldError.vue.cjs +2 -0
- package/components/shadcn/FieldError.vue.cjs.map +1 -0
- package/components/shadcn/FieldError.vue.js +31 -0
- package/components/shadcn/FieldError.vue.js.map +1 -0
- package/components/shadcn/FieldError.vue2.cjs +2 -0
- package/components/shadcn/FieldError.vue2.cjs.map +1 -0
- package/components/shadcn/FieldError.vue2.js +5 -0
- package/components/shadcn/FieldError.vue2.js.map +1 -0
- package/components/shadcn/FieldGroup.vue.cjs +2 -0
- package/components/shadcn/FieldGroup.vue.cjs.map +1 -0
- package/components/shadcn/FieldGroup.vue.js +24 -0
- package/components/shadcn/FieldGroup.vue.js.map +1 -0
- package/components/shadcn/FieldGroup.vue2.cjs +2 -0
- package/components/shadcn/FieldGroup.vue2.cjs.map +1 -0
- package/components/shadcn/FieldGroup.vue2.js +5 -0
- package/components/shadcn/FieldGroup.vue2.js.map +1 -0
- package/components/shadcn/FieldLabel.vue.cjs +2 -0
- package/components/shadcn/FieldLabel.vue.cjs.map +1 -0
- package/components/shadcn/FieldLabel.vue.js +31 -0
- package/components/shadcn/FieldLabel.vue.js.map +1 -0
- package/components/shadcn/FieldLabel.vue2.cjs +2 -0
- package/components/shadcn/FieldLabel.vue2.cjs.map +1 -0
- package/components/shadcn/FieldLabel.vue2.js +5 -0
- package/components/shadcn/FieldLabel.vue2.js.map +1 -0
- package/components/shadcn/Input.vue.cjs +2 -0
- package/components/shadcn/Input.vue.cjs.map +1 -0
- package/components/shadcn/Input.vue.js +28 -0
- package/components/shadcn/Input.vue.js.map +1 -0
- package/components/shadcn/Input.vue2.cjs +2 -0
- package/components/shadcn/Input.vue2.cjs.map +1 -0
- package/components/shadcn/Input.vue2.js +5 -0
- package/components/shadcn/Input.vue2.js.map +1 -0
- package/components/shadcn/Kbd.vue.cjs +2 -0
- package/components/shadcn/Kbd.vue.cjs.map +1 -0
- package/components/shadcn/Kbd.vue.js +25 -0
- package/components/shadcn/Kbd.vue.js.map +1 -0
- package/components/shadcn/Kbd.vue2.cjs +2 -0
- package/components/shadcn/Kbd.vue2.cjs.map +1 -0
- package/components/shadcn/Kbd.vue2.js +5 -0
- package/components/shadcn/Kbd.vue2.js.map +1 -0
- package/components/shadcn/Label.vue.cjs +2 -0
- package/components/shadcn/Label.vue.cjs.map +1 -0
- package/components/shadcn/Label.vue.js +31 -0
- package/components/shadcn/Label.vue.js.map +1 -0
- package/components/shadcn/Label.vue2.cjs +2 -0
- package/components/shadcn/Label.vue2.cjs.map +1 -0
- package/components/shadcn/Label.vue2.js +5 -0
- package/components/shadcn/Label.vue2.js.map +1 -0
- package/components/shadcn/Popover.vue.cjs +2 -0
- package/components/shadcn/Popover.vue.cjs.map +1 -0
- package/components/shadcn/Popover.vue.js +24 -0
- package/components/shadcn/Popover.vue.js.map +1 -0
- package/components/shadcn/Popover.vue2.cjs +2 -0
- package/components/shadcn/Popover.vue2.cjs.map +1 -0
- package/components/shadcn/Popover.vue2.js +5 -0
- package/components/shadcn/Popover.vue2.js.map +1 -0
- package/components/shadcn/PopoverContent.vue.cjs +2 -0
- package/components/shadcn/PopoverContent.vue.cjs.map +1 -0
- package/components/shadcn/PopoverContent.vue.js +56 -0
- package/components/shadcn/PopoverContent.vue.js.map +1 -0
- package/components/shadcn/PopoverContent.vue2.cjs +2 -0
- package/components/shadcn/PopoverContent.vue2.cjs.map +1 -0
- package/components/shadcn/PopoverContent.vue2.js +5 -0
- package/components/shadcn/PopoverContent.vue2.js.map +1 -0
- package/components/shadcn/PopoverTrigger.vue.cjs +2 -0
- package/components/shadcn/PopoverTrigger.vue.cjs.map +1 -0
- package/components/shadcn/PopoverTrigger.vue.js +22 -0
- package/components/shadcn/PopoverTrigger.vue.js.map +1 -0
- package/components/shadcn/PopoverTrigger.vue2.cjs +2 -0
- package/components/shadcn/PopoverTrigger.vue2.cjs.map +1 -0
- package/components/shadcn/PopoverTrigger.vue2.js +5 -0
- package/components/shadcn/PopoverTrigger.vue2.js.map +1 -0
- package/components/shadcn/Progress.vue.cjs +2 -0
- package/components/shadcn/Progress.vue.cjs.map +1 -0
- package/components/shadcn/Progress.vue.js +37 -0
- package/components/shadcn/Progress.vue.js.map +1 -0
- package/components/shadcn/Progress.vue2.cjs +2 -0
- package/components/shadcn/Progress.vue2.cjs.map +1 -0
- package/components/shadcn/Progress.vue2.js +5 -0
- package/components/shadcn/Progress.vue2.js.map +1 -0
- package/components/shadcn/RadioGroup.vue.cjs +2 -0
- package/components/shadcn/RadioGroup.vue.cjs.map +1 -0
- package/components/shadcn/RadioGroup.vue.js +36 -0
- package/components/shadcn/RadioGroup.vue.js.map +1 -0
- package/components/shadcn/RadioGroup.vue2.cjs +2 -0
- package/components/shadcn/RadioGroup.vue2.cjs.map +1 -0
- package/components/shadcn/RadioGroup.vue2.js +5 -0
- package/components/shadcn/RadioGroup.vue2.js.map +1 -0
- package/components/shadcn/RadioGroupItem.vue.cjs +2 -0
- package/components/shadcn/RadioGroupItem.vue.cjs.map +1 -0
- package/components/shadcn/RadioGroupItem.vue.js +41 -0
- package/components/shadcn/RadioGroupItem.vue.js.map +1 -0
- package/components/shadcn/RadioGroupItem.vue2.cjs +2 -0
- package/components/shadcn/RadioGroupItem.vue2.cjs.map +1 -0
- package/components/shadcn/RadioGroupItem.vue2.js +5 -0
- package/components/shadcn/RadioGroupItem.vue2.js.map +1 -0
- package/components/shadcn/Select.vue.cjs +2 -0
- package/components/shadcn/Select.vue.cjs.map +1 -0
- package/components/shadcn/Select.vue.js +32 -0
- package/components/shadcn/Select.vue.js.map +1 -0
- package/components/shadcn/Select.vue2.cjs +2 -0
- package/components/shadcn/Select.vue2.cjs.map +1 -0
- package/components/shadcn/Select.vue2.js +5 -0
- package/components/shadcn/Select.vue2.js.map +1 -0
- package/components/shadcn/SelectContent.vue.cjs +2 -0
- package/components/shadcn/SelectContent.vue.cjs.map +1 -0
- package/components/shadcn/SelectContent.vue.js +69 -0
- package/components/shadcn/SelectContent.vue.js.map +1 -0
- package/components/shadcn/SelectContent.vue2.cjs +2 -0
- package/components/shadcn/SelectContent.vue2.cjs.map +1 -0
- package/components/shadcn/SelectContent.vue2.js +5 -0
- package/components/shadcn/SelectContent.vue2.js.map +1 -0
- package/components/shadcn/SelectGroup.vue.cjs +2 -0
- package/components/shadcn/SelectGroup.vue.cjs.map +1 -0
- package/components/shadcn/SelectGroup.vue.js +27 -0
- package/components/shadcn/SelectGroup.vue.js.map +1 -0
- package/components/shadcn/SelectGroup.vue2.cjs +2 -0
- package/components/shadcn/SelectGroup.vue2.cjs.map +1 -0
- package/components/shadcn/SelectGroup.vue2.js +5 -0
- package/components/shadcn/SelectGroup.vue2.js.map +1 -0
- package/components/shadcn/SelectItem.vue.cjs +2 -0
- package/components/shadcn/SelectItem.vue.cjs.map +1 -0
- package/components/shadcn/SelectItem.vue.js +47 -0
- package/components/shadcn/SelectItem.vue.js.map +1 -0
- package/components/shadcn/SelectItem.vue2.cjs +2 -0
- package/components/shadcn/SelectItem.vue2.cjs.map +1 -0
- package/components/shadcn/SelectItem.vue2.js +5 -0
- package/components/shadcn/SelectItem.vue2.js.map +1 -0
- package/components/shadcn/SelectLabel.vue.cjs +2 -0
- package/components/shadcn/SelectLabel.vue.cjs.map +1 -0
- package/components/shadcn/SelectLabel.vue.js +27 -0
- package/components/shadcn/SelectLabel.vue.js.map +1 -0
- package/components/shadcn/SelectLabel.vue2.cjs +2 -0
- package/components/shadcn/SelectLabel.vue2.cjs.map +1 -0
- package/components/shadcn/SelectLabel.vue2.js +5 -0
- package/components/shadcn/SelectLabel.vue2.js.map +1 -0
- package/components/shadcn/SelectScrollDownButton.vue.cjs +2 -0
- package/components/shadcn/SelectScrollDownButton.vue.cjs.map +1 -0
- package/components/shadcn/SelectScrollDownButton.vue.js +5 -0
- package/components/shadcn/SelectScrollDownButton.vue.js.map +1 -0
- package/components/shadcn/SelectScrollDownButton.vue2.cjs +2 -0
- package/components/shadcn/SelectScrollDownButton.vue2.cjs.map +1 -0
- package/components/shadcn/SelectScrollDownButton.vue2.js +30 -0
- package/components/shadcn/SelectScrollDownButton.vue2.js.map +1 -0
- package/components/shadcn/SelectScrollUpButton.vue.cjs +2 -0
- package/components/shadcn/SelectScrollUpButton.vue.cjs.map +1 -0
- package/components/shadcn/SelectScrollUpButton.vue.js +5 -0
- package/components/shadcn/SelectScrollUpButton.vue.js.map +1 -0
- package/components/shadcn/SelectScrollUpButton.vue2.cjs +2 -0
- package/components/shadcn/SelectScrollUpButton.vue2.cjs.map +1 -0
- package/components/shadcn/SelectScrollUpButton.vue2.js +30 -0
- package/components/shadcn/SelectScrollUpButton.vue2.js.map +1 -0
- package/components/shadcn/SelectTrigger.vue.cjs +2 -0
- package/components/shadcn/SelectTrigger.vue.cjs.map +1 -0
- package/components/shadcn/SelectTrigger.vue.js +39 -0
- package/components/shadcn/SelectTrigger.vue.js.map +1 -0
- package/components/shadcn/SelectTrigger.vue2.cjs +2 -0
- package/components/shadcn/SelectTrigger.vue2.cjs.map +1 -0
- package/components/shadcn/SelectTrigger.vue2.js +5 -0
- package/components/shadcn/SelectTrigger.vue2.js.map +1 -0
- package/components/shadcn/SelectValue.vue.cjs +2 -0
- package/components/shadcn/SelectValue.vue.cjs.map +1 -0
- package/components/shadcn/SelectValue.vue.js +23 -0
- package/components/shadcn/SelectValue.vue.js.map +1 -0
- package/components/shadcn/SelectValue.vue2.cjs +2 -0
- package/components/shadcn/SelectValue.vue2.cjs.map +1 -0
- package/components/shadcn/SelectValue.vue2.js +5 -0
- package/components/shadcn/SelectValue.vue2.js.map +1 -0
- package/components/shadcn/Separator.vue.cjs +2 -0
- package/components/shadcn/Separator.vue.cjs.map +1 -0
- package/components/shadcn/Separator.vue.js +28 -0
- package/components/shadcn/Separator.vue.js.map +1 -0
- package/components/shadcn/Separator.vue2.cjs +2 -0
- package/components/shadcn/Separator.vue2.cjs.map +1 -0
- package/components/shadcn/Separator.vue2.js +5 -0
- package/components/shadcn/Separator.vue2.js.map +1 -0
- package/components/shadcn/Switch.vue.cjs +2 -0
- package/components/shadcn/Switch.vue.cjs.map +1 -0
- package/components/shadcn/Switch.vue.js +45 -0
- package/components/shadcn/Switch.vue.js.map +1 -0
- package/components/shadcn/Switch.vue2.cjs +2 -0
- package/components/shadcn/Switch.vue2.cjs.map +1 -0
- package/components/shadcn/Switch.vue2.js +5 -0
- package/components/shadcn/Switch.vue2.js.map +1 -0
- package/components/shadcn/Tabs.vue.cjs +2 -0
- package/components/shadcn/Tabs.vue.cjs.map +1 -0
- package/components/shadcn/Tabs.vue.js +34 -0
- package/components/shadcn/Tabs.vue.js.map +1 -0
- package/components/shadcn/Tabs.vue2.cjs +2 -0
- package/components/shadcn/Tabs.vue2.cjs.map +1 -0
- package/components/shadcn/Tabs.vue2.js +5 -0
- package/components/shadcn/Tabs.vue2.js.map +1 -0
- package/components/shadcn/TabsContent.vue.cjs +2 -0
- package/components/shadcn/TabsContent.vue.cjs.map +1 -0
- package/components/shadcn/TabsContent.vue.js +32 -0
- package/components/shadcn/TabsContent.vue.js.map +1 -0
- package/components/shadcn/TabsContent.vue2.cjs +2 -0
- package/components/shadcn/TabsContent.vue2.cjs.map +1 -0
- package/components/shadcn/TabsContent.vue2.js +5 -0
- package/components/shadcn/TabsContent.vue2.js.map +1 -0
- package/components/shadcn/TabsList.vue.cjs +2 -0
- package/components/shadcn/TabsList.vue.cjs.map +1 -0
- package/components/shadcn/TabsList.vue.js +31 -0
- package/components/shadcn/TabsList.vue.js.map +1 -0
- package/components/shadcn/TabsList.vue2.cjs +2 -0
- package/components/shadcn/TabsList.vue2.cjs.map +1 -0
- package/components/shadcn/TabsList.vue2.js +5 -0
- package/components/shadcn/TabsList.vue2.js.map +1 -0
- package/components/shadcn/TabsTrigger.vue.cjs +2 -0
- package/components/shadcn/TabsTrigger.vue.cjs.map +1 -0
- package/components/shadcn/TabsTrigger.vue.js +32 -0
- package/components/shadcn/TabsTrigger.vue.js.map +1 -0
- package/components/shadcn/TabsTrigger.vue2.cjs +2 -0
- package/components/shadcn/TabsTrigger.vue2.cjs.map +1 -0
- package/components/shadcn/TabsTrigger.vue2.js +5 -0
- package/components/shadcn/TabsTrigger.vue2.js.map +1 -0
- package/components/shadcn/Textarea.vue.cjs +2 -0
- package/components/shadcn/Textarea.vue.cjs.map +1 -0
- package/components/shadcn/Textarea.vue.js +28 -0
- package/components/shadcn/Textarea.vue.js.map +1 -0
- package/components/shadcn/Textarea.vue2.cjs +2 -0
- package/components/shadcn/Textarea.vue2.cjs.map +1 -0
- package/components/shadcn/Textarea.vue2.js +5 -0
- package/components/shadcn/Textarea.vue2.js.map +1 -0
- package/components/shadcn/Tooltip.vue.cjs +2 -0
- package/components/shadcn/Tooltip.vue.cjs.map +1 -0
- package/components/shadcn/Tooltip.vue.js +28 -0
- package/components/shadcn/Tooltip.vue.js.map +1 -0
- package/components/shadcn/Tooltip.vue2.cjs +2 -0
- package/components/shadcn/Tooltip.vue2.cjs.map +1 -0
- package/components/shadcn/Tooltip.vue2.js +5 -0
- package/components/shadcn/Tooltip.vue2.js.map +1 -0
- package/components/shadcn/TooltipContent.vue.cjs +2 -0
- package/components/shadcn/TooltipContent.vue.cjs.map +1 -0
- package/components/shadcn/TooltipContent.vue.js +48 -0
- package/components/shadcn/TooltipContent.vue.js.map +1 -0
- package/components/shadcn/TooltipContent.vue2.cjs +2 -0
- package/components/shadcn/TooltipContent.vue2.cjs.map +1 -0
- package/components/shadcn/TooltipContent.vue2.js +5 -0
- package/components/shadcn/TooltipContent.vue2.js.map +1 -0
- package/components/shadcn/TooltipProvider.vue.cjs +2 -0
- package/components/shadcn/TooltipProvider.vue.cjs.map +1 -0
- package/components/shadcn/TooltipProvider.vue.js +26 -0
- package/components/shadcn/TooltipProvider.vue.js.map +1 -0
- package/components/shadcn/TooltipProvider.vue2.cjs +2 -0
- package/components/shadcn/TooltipProvider.vue2.cjs.map +1 -0
- package/components/shadcn/TooltipProvider.vue2.js +5 -0
- package/components/shadcn/TooltipProvider.vue2.js.map +1 -0
- package/components/shadcn/TooltipTrigger.vue.cjs +2 -0
- package/components/shadcn/TooltipTrigger.vue.cjs.map +1 -0
- package/components/shadcn/TooltipTrigger.vue.js +23 -0
- package/components/shadcn/TooltipTrigger.vue.js.map +1 -0
- package/components/shadcn/TooltipTrigger.vue2.cjs +2 -0
- package/components/shadcn/TooltipTrigger.vue2.cjs.map +1 -0
- package/components/shadcn/TooltipTrigger.vue2.js +5 -0
- package/components/shadcn/TooltipTrigger.vue2.js.map +1 -0
- package/components/shadcn/alert-variants.cjs +2 -0
- package/components/shadcn/alert-variants.cjs.map +1 -0
- package/components/shadcn/alert-variants.js +19 -0
- package/components/shadcn/alert-variants.js.map +1 -0
- package/components/shadcn/avatar-variants.cjs +2 -0
- package/components/shadcn/avatar-variants.cjs.map +1 -0
- package/components/shadcn/avatar-variants.js +21 -0
- package/components/shadcn/avatar-variants.js.map +1 -0
- package/components/shadcn/badge-variants.cjs +2 -0
- package/components/shadcn/badge-variants.cjs.map +1 -0
- package/components/shadcn/badge-variants.js +21 -0
- package/components/shadcn/badge-variants.js.map +1 -0
- package/components/shadcn/button-group-variants.cjs +2 -0
- package/components/shadcn/button-group-variants.cjs.map +1 -0
- package/components/shadcn/button-group-variants.js +19 -0
- package/components/shadcn/button-group-variants.js.map +1 -0
- package/components/shadcn/index.cjs +2 -0
- package/components/shadcn/index.cjs.map +1 -0
- package/components/shadcn/index.js +40 -0
- package/components/shadcn/index.js.map +1 -0
- package/components/templates/JLayout.vue.cjs +2 -0
- package/components/templates/JLayout.vue.cjs.map +1 -0
- package/components/templates/JLayout.vue.js +46 -0
- package/components/templates/JLayout.vue.js.map +1 -0
- package/components/templates/JLayout.vue2.cjs +2 -0
- package/components/templates/JLayout.vue2.cjs.map +1 -0
- package/components/templates/JLayout.vue2.js +5 -0
- package/components/templates/JLayout.vue2.js.map +1 -0
- package/components/templates/JLayoutAdvanced.vue.cjs +2 -0
- package/components/templates/JLayoutAdvanced.vue.cjs.map +1 -0
- package/components/templates/JLayoutAdvanced.vue.js +146 -0
- package/components/templates/JLayoutAdvanced.vue.js.map +1 -0
- package/components/templates/JLayoutAdvanced.vue2.cjs +2 -0
- package/components/templates/JLayoutAdvanced.vue2.cjs.map +1 -0
- package/components/templates/JLayoutAdvanced.vue2.js +5 -0
- package/components/templates/JLayoutAdvanced.vue2.js.map +1 -0
- package/components/templates/JLayoutSimple.vue.cjs +2 -0
- package/components/templates/JLayoutSimple.vue.cjs.map +1 -0
- package/components/templates/JLayoutSimple.vue.js +65 -0
- package/components/templates/JLayoutSimple.vue.js.map +1 -0
- package/components/templates/JLayoutSimple.vue2.cjs +2 -0
- package/components/templates/JLayoutSimple.vue2.cjs.map +1 -0
- package/components/templates/JLayoutSimple.vue2.js +5 -0
- package/components/templates/JLayoutSimple.vue2.js.map +1 -0
- package/components.json +17 -0
- package/index.cjs +4 -0
- package/index.js +99 -0
- package/lib/styleTypePreset.cjs +2 -0
- package/lib/styleTypePreset.cjs.map +1 -0
- package/lib/styleTypePreset.js +36 -0
- package/lib/styleTypePreset.js.map +1 -0
- package/lib/theme-utils.cjs +2 -0
- package/lib/theme-utils.cjs.map +1 -0
- package/lib/theme-utils.js +75 -0
- package/lib/theme-utils.js.map +1 -0
- package/lib/utils.cjs +2 -0
- package/lib/utils.cjs.map +1 -0
- package/lib/utils.js +15 -0
- package/lib/utils.js.map +1 -0
- package/package.json +96 -0
- package/tailwind.config.js +80 -0
- package/types/index.d.ts +2491 -0
package/USAGE_GUIDE.md
ADDED
|
@@ -0,0 +1,748 @@
|
|
|
1
|
+
# J-Component 라이브러리 사용 가이드
|
|
2
|
+
|
|
3
|
+
> Vue.js 3 기반 Atomic Design 패턴 컴포넌트 라이브러리 사용 가이드
|
|
4
|
+
|
|
5
|
+
## 📋 목차
|
|
6
|
+
|
|
7
|
+
1. [프로젝트 개요](#프로젝트-개요)
|
|
8
|
+
2. [컴포넌트 목록](#컴포넌트-목록)
|
|
9
|
+
3. [컴포넌트 배치 가이드](#컴포넌트-배치-가이드)
|
|
10
|
+
4. [컴포넌트 활용 가이드](#컴포넌트-활용-가이드)
|
|
11
|
+
5. [기본 사용 규칙](#기본-사용-규칙)
|
|
12
|
+
6. [고급 사용법](#고급-사용법)
|
|
13
|
+
- [JDynamicTabs - 경로 기반 컴포넌트 로딩](#jdynamictabs---경로-기반-컴포넌트-로딩)
|
|
14
|
+
7. [레이아웃 템플릿 가이드](#레이아웃-템플릿-가이드)
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 프로젝트 개요
|
|
19
|
+
|
|
20
|
+
J-Component는 Vue.js 3와 TypeScript를 기반으로 한 재사용 가능한 UI 컴포넌트 라이브러리입니다.
|
|
21
|
+
|
|
22
|
+
### 핵심 특징
|
|
23
|
+
|
|
24
|
+
- **Atomic Design 패턴**: Atoms → Molecules → Organisms → Templates 계층 구조
|
|
25
|
+
- **TypeScript 완전 지원**: 타입 안정성 보장
|
|
26
|
+
- **shadcn/ui 기반**: 일관된 디자인 시스템
|
|
27
|
+
- **TailwindCSS**: 유틸리티 기반 스타일링
|
|
28
|
+
- **다크모드 지원**: 라이트/다크 모드 자동 전환
|
|
29
|
+
- **CSS 자동 포함** (NPM 패키지): 컴포넌트만 import하면 스타일이 자동으로 적용됩니다
|
|
30
|
+
|
|
31
|
+
### 기술 스택
|
|
32
|
+
|
|
33
|
+
- Vue.js 3.5
|
|
34
|
+
- TypeScript 5.9
|
|
35
|
+
- TailwindCSS 3.4
|
|
36
|
+
- shadcn/ui (radix-vue 기반)
|
|
37
|
+
|
|
38
|
+
### 설치 및 사용
|
|
39
|
+
|
|
40
|
+
#### NPM 패키지 사용 (권장)
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
import { JButton } from '@j-solution/components'
|
|
44
|
+
// CSS는 자동으로 포함됨 - 별도 import 불필요
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
> 💡 **참고**: NPM 패키지는 패키지 진입점에서 CSS가 자동으로 import되므로, 컴포넌트만 import하면 스타일이 자동으로 적용됩니다.
|
|
48
|
+
|
|
49
|
+
#### Standard 방식 사용 (파일 복사)
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
import { JButton } from '@/components'
|
|
53
|
+
// themes.css를 별도로 import해야 함 (INSTALLATION_GUIDE.md 참고)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
> 📖 **설치 가이드**: 자세한 설치 방법은 [INSTALLATION_GUIDE.md](./INSTALLATION_GUIDE.md)를 참고하세요.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## 컴포넌트 목록
|
|
61
|
+
|
|
62
|
+
### Atoms (원자) - 22개
|
|
63
|
+
|
|
64
|
+
기본적인 UI 요소들로, 더 이상 분해할 수 없는 최소 단위의 컴포넌트입니다.
|
|
65
|
+
|
|
66
|
+
| 컴포넌트 | 설명 | 주요 용도 |
|
|
67
|
+
|---------|------|----------|
|
|
68
|
+
| **JAvatar** | 사용자 아바타 | 프로필 이미지 표시 |
|
|
69
|
+
| **JBadge** | 상태 표시 배지 | 상태, 카테고리 표시 |
|
|
70
|
+
| **JButton** | 버튼 | 액션 실행, 폼 제출 |
|
|
71
|
+
| **JCheckbox** | 체크박스 | 다중 선택 |
|
|
72
|
+
| **JCombo** | 드롭다운 선택 | 단일/다중 선택 |
|
|
73
|
+
| **JDatepicker** | 날짜 선택기 | 날짜 입력 |
|
|
74
|
+
| **JDivider** | 구분선 | 콘텐츠 구분 |
|
|
75
|
+
| **JGrid** | 데이터 그리드 | 테이블 데이터 표시 (AG Grid 기반) |
|
|
76
|
+
| **JIcon** | 아이콘 | 시각적 표시 |
|
|
77
|
+
| **JImage** | 이미지 | 이미지 표시 |
|
|
78
|
+
| **JInput** | 텍스트 입력 필드 | 단일 라인 텍스트 입력 |
|
|
79
|
+
| **JKbd** | 키보드 단축키 표시 | 단축키 안내 |
|
|
80
|
+
| **JLabel** | 라벨 | 폼 필드 라벨 |
|
|
81
|
+
| **JLink** | 링크 | 네비게이션 |
|
|
82
|
+
| **JPopover** | 팝오버 | 추가 정보 표시 |
|
|
83
|
+
| **JProgress** | 진행률 표시 | 작업 진행 상태 |
|
|
84
|
+
| **JRadio** | 라디오 버튼 | 단일 선택 |
|
|
85
|
+
| **JSearchCombo** | 검색 가능한 드롭다운 | 많은 옵션 중 검색 선택 |
|
|
86
|
+
| **JSpinner** | 로딩 스피너 | 로딩 상태 표시 |
|
|
87
|
+
| **JSwitch** | 토글 스위치 | ON/OFF 설정 |
|
|
88
|
+
| **JTextarea** | 멀티라인 텍스트 입력 | 여러 라인 텍스트 입력 |
|
|
89
|
+
| **JTooltip** | 툴팁 | 추가 설명 표시 |
|
|
90
|
+
|
|
91
|
+
### Molecules (분자) - 11개
|
|
92
|
+
|
|
93
|
+
여러 Atoms를 조합하여 만든 더 복잡한 컴포넌트입니다.
|
|
94
|
+
|
|
95
|
+
| 컴포넌트 | 설명 | 주요 용도 |
|
|
96
|
+
|---------|------|----------|
|
|
97
|
+
| **JAccordion** | 접을 수 있는 콘텐츠 섹션 | FAQ, 상세 정보 접기/펼치기 |
|
|
98
|
+
| **JAlert** | 알림 메시지 표시 | 성공/경고/에러 메시지 |
|
|
99
|
+
| **JBreadcrumb** | 페이지 네비게이션 경로 | 현재 위치 표시 |
|
|
100
|
+
| **JButtonGroup** | 버튼 그룹 | 관련 버튼 묶기 |
|
|
101
|
+
| **JCard** | 카드 컴포넌트 | 콘텐츠 그룹화 |
|
|
102
|
+
| **JContextMenu** | 우클릭 컨텍스트 메뉴 | 우클릭 메뉴 |
|
|
103
|
+
| **JFormField** | 폼 필드 래퍼 | 라벨, 에러 메시지 포함 폼 필드 |
|
|
104
|
+
| **JGroupCombo** | 그룹화된 드롭다운 | 카테고리별 선택 |
|
|
105
|
+
| **JSearchAddr** | 주소 검색 | Daum Postcode API 활용 |
|
|
106
|
+
| **JTabs** | 탭 UI | 콘텐츠 탭 전환 |
|
|
107
|
+
| **JTitlebar** | 타이틀바 | 페이지/섹션 제목 및 액션 |
|
|
108
|
+
|
|
109
|
+
### Organisms (유기체) - 9개
|
|
110
|
+
|
|
111
|
+
Molecules와 Atoms를 조합하여 만든 완전한 기능을 가진 컴포넌트입니다.
|
|
112
|
+
|
|
113
|
+
| 컴포넌트 | 설명 | 주요 용도 |
|
|
114
|
+
|---------|------|----------|
|
|
115
|
+
| **JDynamicForm** | 스키마 기반 동적 폼 | JSON 스키마로 폼 자동 생성 |
|
|
116
|
+
| **JDynamicTabs** | 동적 탭 관리 | 런타임에 탭 추가/제거 |
|
|
117
|
+
| **JFormModal** | 폼 모달 | JDynamicForm 기반 모달 폼 |
|
|
118
|
+
| **JHeader** | 애플리케이션 헤더 | 상단 헤더 영역 |
|
|
119
|
+
| **JModal** | 모달 다이얼로그 | 다이얼로그 표시 |
|
|
120
|
+
| **JPageContainer** | 페이지 컨테이너 | 페이지 기본 레이아웃 |
|
|
121
|
+
| **JSearchPanel** | 검색 조건 패널 | JDynamicForm 기반 검색 UI |
|
|
122
|
+
| **JSidebarAdvanced** | 고급 사이드바 | 검색, 즐겨찾기, 다단계 메뉴 |
|
|
123
|
+
| **JSidebarSimple** | 간단한 사이드바 | 다단계 메뉴, 검색 |
|
|
124
|
+
|
|
125
|
+
### Templates (템플릿) - 3개
|
|
126
|
+
|
|
127
|
+
Organisms를 조합하여 만든 페이지 레이아웃 구조입니다.
|
|
128
|
+
|
|
129
|
+
| 컴포넌트 | 설명 | 주요 용도 |
|
|
130
|
+
|---------|------|----------|
|
|
131
|
+
| **JLayout** | 기본 레이아웃 | 커스텀 레이아웃 구성 |
|
|
132
|
+
| **JLayoutAdvanced** | 고급 레이아웃 | JHeader + JSidebarAdvanced + JDynamicTabs |
|
|
133
|
+
| **JLayoutSimple** | 간단한 레이아웃 | JHeader + JSidebarSimple + JPageContainer |
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## 컴포넌트 배치 가이드
|
|
138
|
+
|
|
139
|
+
### Atomic Design 계층 구조
|
|
140
|
+
|
|
141
|
+
컴포넌트는 다음 계층 구조를 따릅니다:
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
Templates (템플릿)
|
|
145
|
+
└── Organisms (유기체)
|
|
146
|
+
└── Molecules (분자)
|
|
147
|
+
└── Atoms (원자)
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### 배치 원칙
|
|
151
|
+
|
|
152
|
+
1. **하위 계층 우선 사용**
|
|
153
|
+
- 상위 계층에 해당 컴포넌트가 없을 때에 한해서, 가능한 한 가장 낮은 계층의 컴포넌트를 사용하세요
|
|
154
|
+
- 예: 단순 버튼은 `JButton` (Atoms) 사용, `JButtonGroup` (Molecules)은 여러 버튼을 묶을 때만 사용
|
|
155
|
+
|
|
156
|
+
2. **조합 우선**
|
|
157
|
+
- 기존 컴포넌트로 원하는 기능을 구현할 수 있는 경우, 새로운 컴포넌트를 만들기보다 기존 컴포넌트를 조합하여 사용하세요
|
|
158
|
+
- 예: `JCard` + `JButton` + `JInput` 조합으로 카드 형태의 폼 구성
|
|
159
|
+
|
|
160
|
+
3. **템플릿 활용**
|
|
161
|
+
- 전체 페이지 레이아웃은 Templates 사용
|
|
162
|
+
- 예: `JLayoutAdvanced` 또는 `JLayoutSimple` 사용
|
|
163
|
+
|
|
164
|
+
### 계층별 사용 가이드
|
|
165
|
+
|
|
166
|
+
#### Atoms 사용 시
|
|
167
|
+
|
|
168
|
+
```vue
|
|
169
|
+
<template>
|
|
170
|
+
<!-- 단일 기능만 필요한 경우 -->
|
|
171
|
+
<JButton @click="handleClick">저장</JButton>
|
|
172
|
+
<JInput v-model="name" placeholder="이름 입력" />
|
|
173
|
+
</template>
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
#### Molecules 사용 시
|
|
177
|
+
|
|
178
|
+
```vue
|
|
179
|
+
<template>
|
|
180
|
+
<!-- 여러 Atoms 조합이 필요한 경우 -->
|
|
181
|
+
<JFormField
|
|
182
|
+
type="input"
|
|
183
|
+
label="이름"
|
|
184
|
+
required
|
|
185
|
+
v-model="name"
|
|
186
|
+
placeholder="이름을 입력하세요"
|
|
187
|
+
/>
|
|
188
|
+
|
|
189
|
+
<JCard title="제목">
|
|
190
|
+
<p>콘텐츠</p>
|
|
191
|
+
</JCard>
|
|
192
|
+
</template>
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
#### Organisms 사용 시
|
|
196
|
+
|
|
197
|
+
```vue
|
|
198
|
+
<template>
|
|
199
|
+
<!-- 완전한 기능 블록이 필요한 경우 -->
|
|
200
|
+
<JModal :open="isOpen" title="확인" @confirm="handleConfirm" />
|
|
201
|
+
|
|
202
|
+
<JDynamicForm :schema="formSchema" v-model="formData" />
|
|
203
|
+
</template>
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
#### Templates 사용 시
|
|
207
|
+
|
|
208
|
+
```vue
|
|
209
|
+
<template>
|
|
210
|
+
<!-- 전체 페이지 레이아웃 -->
|
|
211
|
+
<JLayoutAdvanced
|
|
212
|
+
:menu-items="menuItems"
|
|
213
|
+
:favorites="favorites"
|
|
214
|
+
>
|
|
215
|
+
<template #content-tab-{id}>
|
|
216
|
+
<RouterView />
|
|
217
|
+
</template>
|
|
218
|
+
</JLayoutAdvanced>
|
|
219
|
+
</template>
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## 컴포넌트 활용 가이드
|
|
225
|
+
|
|
226
|
+
### 상황별 추천 컴포넌트
|
|
227
|
+
|
|
228
|
+
#### 폼 입력
|
|
229
|
+
|
|
230
|
+
| 상황 | 추천 컴포넌트 | 이유 |
|
|
231
|
+
|------|--------------|------|
|
|
232
|
+
| 단일 라인 텍스트 입력 | `JInput` | 가장 기본적인 텍스트 입력 |
|
|
233
|
+
| 여러 라인 텍스트 입력 | `JTextarea` | 긴 텍스트 입력 |
|
|
234
|
+
| 날짜 선택 | `JDatepicker` | 날짜 선택 UI 제공 |
|
|
235
|
+
| 단일 선택 (옵션 적음) | `JCombo` | 드롭다운 선택 |
|
|
236
|
+
| 단일 선택 (옵션 많음) | `JSearchCombo` | 검색 기능으로 옵션 탐색 용이 |
|
|
237
|
+
| 다중 선택 | `JCombo` (multiple) | 다중 선택 지원 |
|
|
238
|
+
| ON/OFF 설정 | `JSwitch` | 토글 스위치 UI |
|
|
239
|
+
| 체크박스 선택 | `JCheckbox` | 다중 선택 |
|
|
240
|
+
| 라디오 선택 | `JRadio` | 단일 선택 (옵션 표시) |
|
|
241
|
+
| 폼 필드 (라벨 + 에러 포함) | `JFormField` | 라벨, 에러 메시지 자동 처리 |
|
|
242
|
+
| 동적 폼 생성 | `JDynamicForm` | JSON 스키마로 폼 자동 생성 |
|
|
243
|
+
|
|
244
|
+
#### 데이터 표시
|
|
245
|
+
|
|
246
|
+
| 상황 | 추천 컴포넌트 | 이유 |
|
|
247
|
+
|------|--------------|------|
|
|
248
|
+
| 테이블 데이터 | `JGrid` | 정렬, 필터링, 페이지네이션 지원 |
|
|
249
|
+
| 상태 표시 | `JBadge` | 색상으로 상태 구분 |
|
|
250
|
+
| 진행률 표시 | `JProgress` | 작업 진행 상태 시각화 |
|
|
251
|
+
| 로딩 표시 | `JSpinner` | 비동기 작업 로딩 표시 |
|
|
252
|
+
|
|
253
|
+
#### 사용자 인터랙션
|
|
254
|
+
|
|
255
|
+
| 상황 | 추천 컴포넌트 | 이유 |
|
|
256
|
+
|------|--------------|------|
|
|
257
|
+
| 액션 버튼 | `JButton` | 다양한 스타일 지원 |
|
|
258
|
+
| 버튼 그룹 | `JButtonGroup` | 관련 버튼 묶기 |
|
|
259
|
+
| 모달 다이얼로그 | `JModal` | 다양한 크기 지원 (sm, md, lg, xl, 2xl, full) |
|
|
260
|
+
| 폼 모달 | `JFormModal` | JDynamicForm 기반 모달 |
|
|
261
|
+
| 탭 전환 | `JTabs` | 정적 탭 |
|
|
262
|
+
| 동적 탭 | `JDynamicTabs` | 런타임에 탭 추가/제거 |
|
|
263
|
+
|
|
264
|
+
#### 레이아웃
|
|
265
|
+
|
|
266
|
+
| 상황 | 추천 컴포넌트 | 이유 |
|
|
267
|
+
|------|--------------|------|
|
|
268
|
+
| 콘텐츠 그룹화 | `JCard` | 카드 형태로 콘텐츠 구분 |
|
|
269
|
+
| 접기/펼치기 | `JAccordion` | 섹션 접기/펼치기 |
|
|
270
|
+
| 페이지 헤더 | `JHeader` | 애플리케이션 상단 헤더 |
|
|
271
|
+
| 사이드바 (고급) | `JSidebarAdvanced` | 검색, 즐겨찾기 지원 |
|
|
272
|
+
| 사이드바 (간단) | `JSidebarSimple` | 기본 메뉴만 필요할 때 |
|
|
273
|
+
| 전체 레이아웃 (고급) | `JLayoutAdvanced` | 탭 기반 멀티 페이지 |
|
|
274
|
+
| 전체 레이아웃 (간단) | `JLayoutSimple` | 단일 페이지 레이아웃 |
|
|
275
|
+
|
|
276
|
+
#### 피드백
|
|
277
|
+
|
|
278
|
+
| 상황 | 추천 컴포넌트 | 이유 |
|
|
279
|
+
|------|--------------|------|
|
|
280
|
+
| 성공/경고/에러 메시지 | `JAlert` | 타입별 스타일 자동 적용 |
|
|
281
|
+
| 추가 설명 | `JTooltip` | 호버 시 설명 표시 |
|
|
282
|
+
| 추가 정보 | `JPopover` | 클릭 시 정보 표시 |
|
|
283
|
+
|
|
284
|
+
#### 검색
|
|
285
|
+
|
|
286
|
+
| 상황 | 추천 컴포넌트 | 이유 |
|
|
287
|
+
|------|--------------|------|
|
|
288
|
+
| 검색 조건 패널 | `JSearchPanel` | JDynamicForm 기반, 접기/펼치기 지원 |
|
|
289
|
+
| 주소 검색 | `JSearchAddr` | Daum Postcode API 통합 |
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## 기본 사용 규칙
|
|
294
|
+
|
|
295
|
+
### Props 공통 규칙
|
|
296
|
+
|
|
297
|
+
대부분의 입력 컴포넌트는 다음 공통 props를 지원합니다:
|
|
298
|
+
|
|
299
|
+
| Prop | 타입 | 설명 | 기본값 |
|
|
300
|
+
|------|------|------|--------|
|
|
301
|
+
| `modelValue` | `string \| number \| boolean \| object` | `v-model` 양방향 데이터 바인딩 | - |
|
|
302
|
+
| `placeholder` | `string` | 입력 전 표시되는 안내문 | `''` |
|
|
303
|
+
| `disabled` | `boolean` | 비활성화 상태 | `false` |
|
|
304
|
+
| `readonly` | `boolean` | 읽기 전용 상태 (Input/Textarea) | `false` |
|
|
305
|
+
| `required` | `boolean` | 필수 입력/선택 여부 | `false` |
|
|
306
|
+
| `id` | `string` | HTML id 속성 (label for 연결용) | - |
|
|
307
|
+
| `name` | `string` | form 데이터 전송 시 키 이름 | - |
|
|
308
|
+
| `styletype` | `string` | 스타일 테마 프리셋 | `'default'` |
|
|
309
|
+
| `class` | `string` | 추가 CSS 클래스 | - |
|
|
310
|
+
|
|
311
|
+
### styletype 사용 가이드
|
|
312
|
+
|
|
313
|
+
`styletype` prop은 컴포넌트의 스타일을 빠르게 변경할 수 있는 프리셋입니다.
|
|
314
|
+
|
|
315
|
+
#### JButton styletype
|
|
316
|
+
|
|
317
|
+
```vue
|
|
318
|
+
<JButton styletype="primary">Primary</JButton>
|
|
319
|
+
<JButton styletype="secondary">Secondary</JButton>
|
|
320
|
+
<JButton styletype="danger">Danger</JButton>
|
|
321
|
+
<JButton styletype="outline">Outline</JButton>
|
|
322
|
+
<JButton styletype="ghost">Ghost</JButton>
|
|
323
|
+
<JButton styletype="link">Link</JButton>
|
|
324
|
+
<JButton styletype="sm">Small</JButton>
|
|
325
|
+
<JButton styletype="lg">Large</JButton>
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
**권장 사용:**
|
|
329
|
+
- `primary`: 주요 액션 (저장, 확인 등)
|
|
330
|
+
- `secondary`: 보조 액션
|
|
331
|
+
- `danger`: 위험한 액션 (삭제 등)
|
|
332
|
+
- `outline`: 덜 강조된 액션
|
|
333
|
+
- `ghost`: 최소한의 시각적 강조
|
|
334
|
+
|
|
335
|
+
### v-model 사용
|
|
336
|
+
|
|
337
|
+
모든 입력 컴포넌트는 `v-model`을 지원합니다:
|
|
338
|
+
|
|
339
|
+
```vue
|
|
340
|
+
<template>
|
|
341
|
+
<JInput v-model="name" placeholder="이름" />
|
|
342
|
+
<JCombo v-model="selected" :options="options" />
|
|
343
|
+
<JSwitch v-model="enabled" />
|
|
344
|
+
</template>
|
|
345
|
+
|
|
346
|
+
<script setup>
|
|
347
|
+
import { ref } from 'vue'
|
|
348
|
+
|
|
349
|
+
const name = ref('')
|
|
350
|
+
const selected = ref(null)
|
|
351
|
+
const enabled = ref(false)
|
|
352
|
+
</script>
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
### JFormField 사용 권장사항
|
|
356
|
+
|
|
357
|
+
폼 필드를 만들 때는 `JFormField`를 사용하세요. `label`, `error-msg` prop으로 값을 입력하면 UI 배치시 라벨과 에러 메시지가 포함됩니다. `type` prop으로 원하는 입력 컴포넌트를 선택할 수 있습니다:
|
|
358
|
+
|
|
359
|
+
```vue
|
|
360
|
+
<template>
|
|
361
|
+
<!-- type prop으로 입력 컴포넌트 선택 -->
|
|
362
|
+
<JFormField
|
|
363
|
+
type="input"
|
|
364
|
+
label="이름"
|
|
365
|
+
required
|
|
366
|
+
error-msg="이름을 입력해주세요"
|
|
367
|
+
v-model="name"
|
|
368
|
+
placeholder="이름을 입력하세요"
|
|
369
|
+
/>
|
|
370
|
+
|
|
371
|
+
<JFormField
|
|
372
|
+
type="combo"
|
|
373
|
+
label="카테고리"
|
|
374
|
+
v-model="category"
|
|
375
|
+
:options="categoryOptions"
|
|
376
|
+
/>
|
|
377
|
+
|
|
378
|
+
<JFormField
|
|
379
|
+
type="datepicker"
|
|
380
|
+
label="생년월일"
|
|
381
|
+
v-model="birthDate"
|
|
382
|
+
/>
|
|
383
|
+
</template>
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
**장점:**
|
|
387
|
+
- `type` prop으로 다양한 입력 컴포넌트 선택 가능 (input, textarea, combo, datepicker 등)
|
|
388
|
+
- `label` prop으로 라벨 값을 입력하면 UI 배치시 라벨이 포함되며, 입력 필드와 자동 연결 (접근성)
|
|
389
|
+
- `error-msg` prop으로 에러 메시지 값을 입력하면 UI 배치시 에러 메시지가 포함됨
|
|
390
|
+
- 레이아웃 일관성 유지
|
|
391
|
+
|
|
392
|
+
### JDynamicForm 사용 권장사항
|
|
393
|
+
|
|
394
|
+
JSON 스키마로 폼을 자동 생성할 수 있습니다:
|
|
395
|
+
|
|
396
|
+
```vue
|
|
397
|
+
<template>
|
|
398
|
+
<JDynamicForm
|
|
399
|
+
:schema="formSchema"
|
|
400
|
+
v-model="formData"
|
|
401
|
+
@submit="handleSubmit"
|
|
402
|
+
/>
|
|
403
|
+
</template>
|
|
404
|
+
|
|
405
|
+
<script setup>
|
|
406
|
+
const formSchema = {
|
|
407
|
+
type: 'simple', // 'simple' | 'sectioned' | 'wizard'
|
|
408
|
+
fields: [
|
|
409
|
+
{
|
|
410
|
+
controlName: 'name',
|
|
411
|
+
label: '이름',
|
|
412
|
+
type: 'input',
|
|
413
|
+
isRequired: true
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
controlName: 'email',
|
|
417
|
+
label: '이메일',
|
|
418
|
+
type: 'input',
|
|
419
|
+
inputType: 'email'
|
|
420
|
+
}
|
|
421
|
+
]
|
|
422
|
+
}
|
|
423
|
+
</script>
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
**권장 사용:**
|
|
427
|
+
- `simple`: 단순한 폼
|
|
428
|
+
- `sectioned`: 섹션별로 구분된 폼
|
|
429
|
+
- `wizard`: 단계별 입력 폼
|
|
430
|
+
|
|
431
|
+
### 이벤트 처리
|
|
432
|
+
|
|
433
|
+
컴포넌트는 표준 Vue 이벤트를 발생시킵니다. `v-model`과 함께 이벤트 핸들러를 사용할 수 있습니다:
|
|
434
|
+
|
|
435
|
+
```vue
|
|
436
|
+
<template>
|
|
437
|
+
<JButton @click="handleClick">클릭</JButton>
|
|
438
|
+
<JInput v-model="name" @change="handleChange" />
|
|
439
|
+
<JModal
|
|
440
|
+
:open="isOpen"
|
|
441
|
+
@confirm="handleConfirm"
|
|
442
|
+
@cancel="handleCancel"
|
|
443
|
+
/>
|
|
444
|
+
</template>
|
|
445
|
+
|
|
446
|
+
<script setup>
|
|
447
|
+
import { ref } from 'vue'
|
|
448
|
+
|
|
449
|
+
const name = ref('')
|
|
450
|
+
const isOpen = ref(false)
|
|
451
|
+
|
|
452
|
+
const handleClick = () => {
|
|
453
|
+
console.log('버튼 클릭')
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
const handleChange = (value) => {
|
|
457
|
+
console.log('값 변경:', value)
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
const handleConfirm = () => {
|
|
461
|
+
console.log('확인')
|
|
462
|
+
isOpen.value = false
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
const handleCancel = () => {
|
|
466
|
+
console.log('취소')
|
|
467
|
+
isOpen.value = false
|
|
468
|
+
}
|
|
469
|
+
</script>
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
---
|
|
473
|
+
|
|
474
|
+
## 고급 사용법
|
|
475
|
+
|
|
476
|
+
### JDynamicTabs - 경로 기반 컴포넌트 로딩
|
|
477
|
+
|
|
478
|
+
`JDynamicTabs`는 런타임에 탭을 동적으로 추가/제거할 수 있는 컴포넌트입니다. 경로(`/user/info` 같은)만 가지고 있을 때 해당 경로의 Vue 컴포넌트를 탭 콘텐츠로 표시하는 방법에 대한 가이드입니다.
|
|
479
|
+
|
|
480
|
+
#### 핵심 원칙
|
|
481
|
+
|
|
482
|
+
**Route 통일성을 최우선으로 고려해야 합니다.**
|
|
483
|
+
|
|
484
|
+
- ✅ Router가 있는 프로젝트: Router의 routes를 재사용하여 통일성 보장
|
|
485
|
+
- ✅ Router가 없는 프로젝트: 독립적인 컴포넌트 로딩 방식 사용
|
|
486
|
+
|
|
487
|
+
#### 방법 1: RouterView 사용 (Router가 있는 경우) ⭐ 권장
|
|
488
|
+
|
|
489
|
+
#### 언제 사용
|
|
490
|
+
- 프로젝트에 Vue Router가 설치되어 있는 경우
|
|
491
|
+
- Router의 routes에 경로-컴포넌트 매핑이 이미 정의되어 있는 경우
|
|
492
|
+
- Route 통일성을 보장해야 하는 경우
|
|
493
|
+
|
|
494
|
+
#### 장점
|
|
495
|
+
- ✅ **Route 통일성 보장**: Router의 routes를 재사용하므로 경로-컴포넌트 매핑 중복 없음
|
|
496
|
+
- ✅ URL 동기화 자동: 브라우저 뒤로가기 지원
|
|
497
|
+
- ✅ 라우트 가드 활용: Router의 네비게이션 가드 사용 가능
|
|
498
|
+
- ✅ 코드 스플리팅 자동: Router의 lazy loading 활용
|
|
499
|
+
- ✅ 유지보수 용이: Router 설정만 수정하면 됨
|
|
500
|
+
|
|
501
|
+
#### 단점
|
|
502
|
+
- Router 의존적: Vue Router 필수
|
|
503
|
+
- RouterView는 Router의 현재 경로를 사용하므로, 각 탭에 독립적인 경로를 보장하려면 Router 관리 필요
|
|
504
|
+
|
|
505
|
+
#### 사용 예제
|
|
506
|
+
|
|
507
|
+
```vue
|
|
508
|
+
<template>
|
|
509
|
+
<JDynamicTabs ref="tabsRef" :initial-tabs="initialTabs">
|
|
510
|
+
<!-- 경로 기반 동적 슬롯 - RouterView 사용 -->
|
|
511
|
+
<template
|
|
512
|
+
v-for="tab in allTabs"
|
|
513
|
+
:key="tab.id"
|
|
514
|
+
#[`content-${tab.id}`]
|
|
515
|
+
>
|
|
516
|
+
<!-- RouterView: Router의 routes를 재사용하여 통일성 보장 -->
|
|
517
|
+
<RouterView
|
|
518
|
+
v-if="tab.meta?.path"
|
|
519
|
+
:key="tab.id"
|
|
520
|
+
/>
|
|
521
|
+
</template>
|
|
522
|
+
</JDynamicTabs>
|
|
523
|
+
</template>
|
|
524
|
+
|
|
525
|
+
<script setup>
|
|
526
|
+
import { ref } from 'vue'
|
|
527
|
+
import { RouterView, useRouter } from 'vue-router'
|
|
528
|
+
import JDynamicTabs from '@/components/organisms/JDynamicTabs.vue'
|
|
529
|
+
import type { DynamicTab } from '@/types/dynamic-tabs.types'
|
|
530
|
+
|
|
531
|
+
const router = useRouter()
|
|
532
|
+
const tabsRef = ref()
|
|
533
|
+
const allTabs = ref<DynamicTab[]>([])
|
|
534
|
+
|
|
535
|
+
// 메뉴 클릭 시 탭 추가
|
|
536
|
+
const handleMenuClick = (item) => {
|
|
537
|
+
const tabId = item.id || `tab-${item.path.replace(/[^a-zA-Z0-9]/g, '-')}`
|
|
538
|
+
|
|
539
|
+
// addTab으로 탭 추가
|
|
540
|
+
tabsRef.value?.addTab({
|
|
541
|
+
id: tabId,
|
|
542
|
+
label: item.label,
|
|
543
|
+
closable: true,
|
|
544
|
+
meta: { path: item.path }, // 경로를 meta에 저장
|
|
545
|
+
})
|
|
546
|
+
|
|
547
|
+
// allTabs에도 추가 (슬롯 이름 생성용)
|
|
548
|
+
allTabs.value.push({
|
|
549
|
+
id: tabId,
|
|
550
|
+
label: item.label,
|
|
551
|
+
meta: { path: item.path },
|
|
552
|
+
})
|
|
553
|
+
|
|
554
|
+
// ⭐ Router의 경로로 이동 (Router에 이미 정의된 경로 사용)
|
|
555
|
+
router.push({ path: item.path })
|
|
556
|
+
}
|
|
557
|
+
</script>
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
#### 방법 2: 경로 기반 동적 import (Router가 없는 경우)
|
|
561
|
+
|
|
562
|
+
#### 언제 사용
|
|
563
|
+
- 프로젝트에 Vue Router가 설치되어 있지 않은 경우
|
|
564
|
+
- Router의 routes와 완전히 독립적인 경로가 필요한 경우
|
|
565
|
+
- Router 없이도 동작해야 하는 경우
|
|
566
|
+
|
|
567
|
+
#### 장점
|
|
568
|
+
- ✅ Router 독립적: Vue Router 없이도 사용 가능
|
|
569
|
+
- ✅ 가벼움: 불필요한 라우팅 로직 없음
|
|
570
|
+
- ✅ 코드 스플리팅 자동: 동적 import로 성능 최적화
|
|
571
|
+
- ✅ 세밀한 제어: 탭별 독립적인 컴포넌트 관리
|
|
572
|
+
|
|
573
|
+
#### 단점
|
|
574
|
+
- ❌ Router의 routes와 중복 정의 필요
|
|
575
|
+
- ❌ Route 통일성 보장 어려움
|
|
576
|
+
- ❌ 경로 변경 시 두 곳 모두 수정 필요 (Router가 나중에 추가되는 경우)
|
|
577
|
+
|
|
578
|
+
#### 사용 예제
|
|
579
|
+
|
|
580
|
+
```vue
|
|
581
|
+
<template>
|
|
582
|
+
<JDynamicTabs ref="tabsRef" :initial-tabs="initialTabs">
|
|
583
|
+
<template
|
|
584
|
+
v-for="tab in allTabs"
|
|
585
|
+
:key="tab.id"
|
|
586
|
+
#[`content-${tab.id}`]
|
|
587
|
+
>
|
|
588
|
+
<component
|
|
589
|
+
v-if="tab.meta?.path"
|
|
590
|
+
:is="loadComponentByPath(tab.meta.path)"
|
|
591
|
+
:key="tab.id"
|
|
592
|
+
/>
|
|
593
|
+
</template>
|
|
594
|
+
</JDynamicTabs>
|
|
595
|
+
</template>
|
|
596
|
+
|
|
597
|
+
<script setup>
|
|
598
|
+
import { ref, defineAsyncComponent, h } from 'vue'
|
|
599
|
+
import JDynamicTabs from '@/components/organisms/JDynamicTabs.vue'
|
|
600
|
+
import type { DynamicTab } from '@/types/dynamic-tabs.types'
|
|
601
|
+
|
|
602
|
+
const tabsRef = ref()
|
|
603
|
+
const allTabs = ref<DynamicTab[]>([])
|
|
604
|
+
|
|
605
|
+
// 경로 기반 컴포넌트 로드
|
|
606
|
+
const loadComponentByPath = (path: string) => {
|
|
607
|
+
// 경로를 컴포넌트 경로로 변환하는 매핑
|
|
608
|
+
// ⚠️ 주의: Router가 있다면 이 매핑은 Router의 routes와 중복될 수 있음
|
|
609
|
+
const componentMap: Record<string, () => Promise<any>> = {
|
|
610
|
+
'/user/info': () => import('@/pages/UserInfo.vue'),
|
|
611
|
+
'/user/list': () => import('@/pages/UserList.vue'),
|
|
612
|
+
'/product/detail': () => import('@/pages/ProductDetail.vue'),
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
if (componentMap[path]) {
|
|
616
|
+
return defineAsyncComponent({
|
|
617
|
+
loader: componentMap[path],
|
|
618
|
+
loadingComponent: {
|
|
619
|
+
setup: () => () => h('div', { class: 'p-6' }, '로딩 중...'),
|
|
620
|
+
},
|
|
621
|
+
errorComponent: {
|
|
622
|
+
setup: () => () => h('div', { class: 'p-6 text-red-600' }, '컴포넌트 로드 실패'),
|
|
623
|
+
},
|
|
624
|
+
delay: 200,
|
|
625
|
+
timeout: 3000,
|
|
626
|
+
})
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
// 매핑되지 않은 경로는 기본 컴포넌트 표시
|
|
630
|
+
return {
|
|
631
|
+
setup: () => () => h('div', { class: 'p-6' }, [
|
|
632
|
+
h('h2', { class: 'text-xl font-bold mb-4' }, '경로: ' + path),
|
|
633
|
+
h('p', { class: 'text-muted-foreground' }, '해당 경로의 컴포넌트를 매핑에 추가하세요.'),
|
|
634
|
+
])
|
|
635
|
+
}
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
// 메뉴 클릭 시 탭 추가
|
|
639
|
+
const handleMenuClick = (item) => {
|
|
640
|
+
const tabId = item.id || `tab-${item.path.replace(/[^a-zA-Z0-9]/g, '-')}`
|
|
641
|
+
|
|
642
|
+
tabsRef.value?.addTab({
|
|
643
|
+
id: tabId,
|
|
644
|
+
label: item.label,
|
|
645
|
+
closable: true,
|
|
646
|
+
meta: { path: item.path },
|
|
647
|
+
})
|
|
648
|
+
|
|
649
|
+
allTabs.value.push({
|
|
650
|
+
id: tabId,
|
|
651
|
+
label: item.label,
|
|
652
|
+
meta: { path: item.path },
|
|
653
|
+
})
|
|
654
|
+
}
|
|
655
|
+
</script>
|
|
656
|
+
```
|
|
657
|
+
|
|
658
|
+
#### 선택 가이드 (Decision Tree)
|
|
659
|
+
|
|
660
|
+
```
|
|
661
|
+
프로젝트에 Vue Router가 있나요?
|
|
662
|
+
│
|
|
663
|
+
├─ 예 → 방법 1 (RouterView 또는 Router의 routes 재사용)
|
|
664
|
+
│ ✅ Route 통일성 보장
|
|
665
|
+
│ ✅ 중복 정의 없음
|
|
666
|
+
│ ✅ 유지보수 용이
|
|
667
|
+
│
|
|
668
|
+
└─ 아니오 → 방법 2 (동적 import)
|
|
669
|
+
✅ Router 독립적
|
|
670
|
+
✅ 가벼움
|
|
671
|
+
⚠️ 나중에 Router 추가 시 중복 주의
|
|
672
|
+
```
|
|
673
|
+
|
|
674
|
+
#### 주의사항
|
|
675
|
+
|
|
676
|
+
##### ⚠️ 방법 2를 사용 중인 프로젝트에서 Router 추가 시
|
|
677
|
+
|
|
678
|
+
프로젝트에 나중에 Vue Router를 추가하는 경우:
|
|
679
|
+
|
|
680
|
+
1. **즉시 방법 1로 마이그레이션 권장**
|
|
681
|
+
- Router의 routes를 재사용하여 통일성 보장
|
|
682
|
+
- 중복 정의 제거
|
|
683
|
+
|
|
684
|
+
2. **마이그레이션이 어려운 경우**
|
|
685
|
+
- Router의 routes와 `componentMap`을 동기화 유지
|
|
686
|
+
- 경로 변경 시 두 곳 모두 수정
|
|
687
|
+
|
|
688
|
+
##### ⚠️ 방법 1 사용 시 주의사항
|
|
689
|
+
|
|
690
|
+
- RouterView는 Router의 현재 경로를 사용하므로, 각 탭에 독립적인 경로를 보장하려면 Router 관리 필요
|
|
691
|
+
- 탭 내부에서 라우터 이동 시 전체 앱의 경로가 변경됨 (이를 방지하려면 추가 로직 필요)
|
|
692
|
+
|
|
693
|
+
#### 요약
|
|
694
|
+
|
|
695
|
+
| 항목 | 방법 1 (RouterView) | 방법 2 (동적 import) |
|
|
696
|
+
|------|---------------------|---------------------|
|
|
697
|
+
| **Router 필요** | 필수 | 불필요 |
|
|
698
|
+
| **Route 통일성** | ✅ 보장 (Router routes 재사용) | ❌ 보장 어려움 (중복 정의 필요) |
|
|
699
|
+
| **중복 코드** | 없음 | 경로-컴포넌트 매핑 중복 |
|
|
700
|
+
| **유지보수** | Router만 수정 | 두 곳 모두 수정 필요 |
|
|
701
|
+
| **권장 상황** | Router가 있는 경우 ⭐ | Router가 없는 경우 |
|
|
702
|
+
|
|
703
|
+
---
|
|
704
|
+
|
|
705
|
+
## 레이아웃 템플릿 가이드
|
|
706
|
+
|
|
707
|
+
템플릿 컴포넌트는 전체 페이지 레이아웃을 구성하는 데 사용됩니다. 프로젝트의 요구사항에 따라 적절한 템플릿을 선택하세요.
|
|
708
|
+
|
|
709
|
+
### JLayoutAdvanced 사용 시
|
|
710
|
+
|
|
711
|
+
- 탭 기반 멀티 페이지 애플리케이션
|
|
712
|
+
- 메뉴 클릭 시 자동 탭 생성
|
|
713
|
+
- 검색, 즐겨찾기 기능 필요
|
|
714
|
+
- 권한 관리 필요
|
|
715
|
+
|
|
716
|
+
```vue
|
|
717
|
+
<JLayoutAdvanced
|
|
718
|
+
:menu-items="menuItems"
|
|
719
|
+
:favorites="favorites"
|
|
720
|
+
:permissions="permissions"
|
|
721
|
+
>
|
|
722
|
+
<template #content-tab-{id}>
|
|
723
|
+
<RouterView />
|
|
724
|
+
</template>
|
|
725
|
+
</JLayoutAdvanced>
|
|
726
|
+
```
|
|
727
|
+
|
|
728
|
+
### JLayoutSimple 사용 시
|
|
729
|
+
|
|
730
|
+
- 단일 페이지 애플리케이션
|
|
731
|
+
- 간단한 메뉴 구조
|
|
732
|
+
- 검색 기능만 필요
|
|
733
|
+
|
|
734
|
+
```vue
|
|
735
|
+
<JLayoutSimple :menu-items="menuItems">
|
|
736
|
+
<template #content>
|
|
737
|
+
<YourPageContent />
|
|
738
|
+
</template>
|
|
739
|
+
</JLayoutSimple>
|
|
740
|
+
```
|
|
741
|
+
|
|
742
|
+
> 💡 **레이아웃 컴포넌트 상세 정보**: [LAYOUT_TEMPLATE_GUIDE.md](./LAYOUT_TEMPLATE_GUIDE.md)를 참고하세요.
|
|
743
|
+
|
|
744
|
+
---
|
|
745
|
+
|
|
746
|
+
**문서 버전**: v1.0.0
|
|
747
|
+
**최종 업데이트**: 2025년 12월
|
|
748
|
+
|