@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
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { defineComponent as B, ref as c, computed as K, createBlock as A, openBlock as m, normalizeProps as C, guardReactiveProps as T, withCtx as v, renderSlot as p, createVNode as b, createSlots as N, renderList as V, createElementBlock as _, unref as h, createElementVNode as J, createCommentVNode as L, toDisplayString as M, nextTick as k } from "vue";
|
|
2
|
+
import O from "./JLayout.vue.js";
|
|
3
|
+
import E from "../organisms/JHeader.vue.js";
|
|
4
|
+
import F from "../organisms/JSidebarAdvanced.vue.js";
|
|
5
|
+
import z from "../organisms/JDynamicTabs.vue.js";
|
|
6
|
+
import { useRouter as D, RouterView as W } from "vue-router";
|
|
7
|
+
const j = {
|
|
8
|
+
key: 1,
|
|
9
|
+
class: "flex-1 p-6"
|
|
10
|
+
}, q = { class: "text-muted-foreground" }, G = {
|
|
11
|
+
key: 0,
|
|
12
|
+
class: "text-xs text-gray-400 mt-2"
|
|
13
|
+
}, ae = /* @__PURE__ */ B({
|
|
14
|
+
__name: "JLayoutAdvanced",
|
|
15
|
+
props: {
|
|
16
|
+
styletype: { default: "minimal" },
|
|
17
|
+
contentScroll: { type: Boolean, default: !0 },
|
|
18
|
+
class: {},
|
|
19
|
+
menuItems: { default: () => [] },
|
|
20
|
+
favorites: { default: () => [] },
|
|
21
|
+
permissions: { default: () => [] }
|
|
22
|
+
},
|
|
23
|
+
emits: ["menuClick", "tabAdd", "tabChange", "tabClose", "favoriteChange"],
|
|
24
|
+
setup(S, { emit: $ }) {
|
|
25
|
+
const r = S, s = $, o = c(!0), g = () => {
|
|
26
|
+
o.value = !o.value;
|
|
27
|
+
}, d = c(null), t = c([]), n = c(void 0), x = (e) => e ? `tab-${e.replace(/^\/+|\/+$/g, "").replace(/\//g, "-")}` : "";
|
|
28
|
+
let i = null;
|
|
29
|
+
try {
|
|
30
|
+
i = D();
|
|
31
|
+
} catch {
|
|
32
|
+
i = null;
|
|
33
|
+
}
|
|
34
|
+
const I = async (e) => {
|
|
35
|
+
const a = e.menuItem;
|
|
36
|
+
if (!a || a.menuType !== "L") {
|
|
37
|
+
s("menuClick", e);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (!a.path) {
|
|
41
|
+
s("menuClick", e);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const l = x(a.path);
|
|
45
|
+
if (await k(), await k(), d.value && typeof d.value.addTab == "function")
|
|
46
|
+
try {
|
|
47
|
+
d.value.addTab({
|
|
48
|
+
id: l,
|
|
49
|
+
label: a.label || "제목 없음",
|
|
50
|
+
icon: a.icon,
|
|
51
|
+
closable: !0,
|
|
52
|
+
meta: {
|
|
53
|
+
path: a.path,
|
|
54
|
+
menuKey: a.menuKey
|
|
55
|
+
}
|
|
56
|
+
}), s("tabAdd", { id: l, label: a.label || "제목 없음", icon: a.icon, closable: !0 }), i && i.push({ path: a.path });
|
|
57
|
+
return;
|
|
58
|
+
} catch (y) {
|
|
59
|
+
console.error("탭 추가 실패:", y);
|
|
60
|
+
}
|
|
61
|
+
const u = {
|
|
62
|
+
id: l,
|
|
63
|
+
label: a.label || "제목 없음",
|
|
64
|
+
icon: a.icon,
|
|
65
|
+
closable: !0,
|
|
66
|
+
meta: {
|
|
67
|
+
path: a.path,
|
|
68
|
+
menuKey: a.menuKey
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
Array.isArray(t.value) || (t.value = []), t.value.find((y) => y.id === l) ? n.value = l : (t.value = [...t.value, u], n.value = l, s("tabAdd", u)), i && i.push({ path: a.path });
|
|
72
|
+
}, P = (e) => {
|
|
73
|
+
Array.isArray(t.value) || (t.value = []), t.value.find((l) => l.id === e.id) || t.value.push(e), n.value = e.id, s("tabAdd", e);
|
|
74
|
+
}, R = (e) => {
|
|
75
|
+
!t.value || !Array.isArray(t.value) || t.value.length === 0 || (t.value = t.value.filter((a) => a.id !== e), n.value === e && Array.isArray(t.value) && t.value.length > 0 && t.value[0] ? n.value = t.value[0].id : Array.isArray(t.value) && t.value.length === 0 && (n.value = void 0), s("tabClose", e));
|
|
76
|
+
}, w = (e) => {
|
|
77
|
+
n.value = e, s("tabChange", e);
|
|
78
|
+
}, f = K(() => Array.isArray(t.value) ? t.value : []);
|
|
79
|
+
return (e, a) => (m(), A(O, C(T(r)), {
|
|
80
|
+
header: v(() => [
|
|
81
|
+
p(e.$slots, "header", {
|
|
82
|
+
isSidebarOpen: o.value,
|
|
83
|
+
onSidebarToggle: g
|
|
84
|
+
}, () => [
|
|
85
|
+
b(E, {
|
|
86
|
+
"logo-text": "JWMS Portal",
|
|
87
|
+
styletype: r.styletype,
|
|
88
|
+
"show-sidebar-toggle": !0,
|
|
89
|
+
"is-sidebar-open": o.value,
|
|
90
|
+
onSidebarToggle: g
|
|
91
|
+
}, null, 8, ["styletype", "is-sidebar-open"])
|
|
92
|
+
])
|
|
93
|
+
]),
|
|
94
|
+
sidebar: v(() => [
|
|
95
|
+
p(e.$slots, "sidebar", { isSidebarOpen: o.value }, () => [
|
|
96
|
+
b(F, {
|
|
97
|
+
"menu-items": r.menuItems,
|
|
98
|
+
favorites: r.favorites,
|
|
99
|
+
permissions: r.permissions,
|
|
100
|
+
styletype: r.styletype,
|
|
101
|
+
"is-visible": o.value,
|
|
102
|
+
onMenuClick: I,
|
|
103
|
+
onFavoriteChange: a[0] || (a[0] = (l, u) => s("favoriteChange", l, u))
|
|
104
|
+
}, null, 8, ["menu-items", "favorites", "permissions", "styletype", "is-visible"])
|
|
105
|
+
])
|
|
106
|
+
]),
|
|
107
|
+
content: v(() => [
|
|
108
|
+
p(e.$slots, "content", {
|
|
109
|
+
tabs: f.value,
|
|
110
|
+
activeTabId: n.value,
|
|
111
|
+
tabsRef: d.value
|
|
112
|
+
}, () => [
|
|
113
|
+
b(z, {
|
|
114
|
+
ref_key: "tabsRef",
|
|
115
|
+
ref: d,
|
|
116
|
+
"initial-tabs": f.value,
|
|
117
|
+
"default-active-id": n.value,
|
|
118
|
+
styletype: r.styletype || "minimal",
|
|
119
|
+
onTabAdd: P,
|
|
120
|
+
onTabClose: R,
|
|
121
|
+
onTabChange: w
|
|
122
|
+
}, N({ _: 2 }, [
|
|
123
|
+
V(f.value, (l) => ({
|
|
124
|
+
name: `content-${l.id}`,
|
|
125
|
+
fn: v((u) => [
|
|
126
|
+
p(e.$slots, `content-${l.id}`, C(T(u)), () => [
|
|
127
|
+
l.meta?.path && h(i) ? (m(), A(h(W), {
|
|
128
|
+
key: l.id
|
|
129
|
+
})) : (m(), _("div", j, [
|
|
130
|
+
J("p", q, "콘텐츠를 배치해주세요. (Path: " + M(l.meta?.path || "N/A") + ")", 1),
|
|
131
|
+
h(i) ? L("", !0) : (m(), _("p", G, " Router가 없어서 슬롯으로 콘텐츠를 제공해야 합니다. "))
|
|
132
|
+
]))
|
|
133
|
+
])
|
|
134
|
+
])
|
|
135
|
+
}))
|
|
136
|
+
]), 1032, ["initial-tabs", "default-active-id", "styletype"])
|
|
137
|
+
])
|
|
138
|
+
]),
|
|
139
|
+
_: 3
|
|
140
|
+
}, 16));
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
export {
|
|
144
|
+
ae as default
|
|
145
|
+
};
|
|
146
|
+
//# sourceMappingURL=JLayoutAdvanced.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JLayoutAdvanced.vue.js","sources":["../../../../src/components/templates/JLayoutAdvanced.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { ref, computed, nextTick } from 'vue'\r\nimport JLayout from './JLayout.vue'\r\nimport JHeader from '@/components/organisms/JHeader.vue'\r\nimport JSidebarAdvanced from '@/components/organisms/JSidebarAdvanced.vue'\r\nimport JDynamicTabs from '@/components/organisms/JDynamicTabs.vue'\r\nimport type { SidebarMenuItem, MenuClickEvent, MenuPermission } from '@/types/sidebar-menu.types'\r\nimport type { DynamicTab } from '@/types/dynamic-tabs.types'\r\n\r\n// Router는 optional (Storybook 환경에서는 없을 수 있음)\r\n// 라이브러리 컴포넌트이므로 Router 의존성을 피하기 위해 optional import\r\n// vue-router는 이미 설치되어 있으므로 일반 import 사용\r\n// 런타임에 Router 인스턴스가 있는지만 체크\r\nimport { RouterView, useRouter } from 'vue-router'\r\n\r\n/**\r\n * JLayoutAdvanced - Advanced Sidebar + JDynamicTabs 조합 템플릿 (templates)\r\n * Advanced Layout Template\r\n * \r\n * @description\r\n * JLayout을 사용하는 Preset 템플릿입니다.\r\n * JHeader, JSidebarAdvanced, JDynamicTabs, JPageContainer를 조합한 기본 레이아웃 예시를 제공합니다.\r\n * \r\n * 레이아웃 구조:\r\n * - header: 상단 헤더 영역 (슬롯)\r\n * - sidebar: 사이드바 영역 (슬롯)\r\n * - content: 메인 콘텐츠 영역 (슬롯)\r\n * \r\n * ⚠️ 중요: menuItems의 path를 활용하여 RouterView로 자동 탭 생성 및 경로 이동이 가능합니다.\r\n * \r\n * Router가 있는 경우: menuItems의 path를 기반으로 자동 탭 생성되며, \r\n * content-tab-{id} 슬롯으로 RouterView를 제공하면 됩니다.\r\n * \r\n * Router가 없는 경우: content-tab-{id} 슬롯으로 직접 컴포넌트를 제공해야 합니다.\r\n */\r\n\r\nconst props = withDefaults(defineProps<{\r\n /** 레이아웃 스타일 타입 */\r\n styletype?: 'default' | 'minimal'\r\n /** 콘텐츠 영역 스크롤 가능 여부 */\r\n contentScroll?: boolean\r\n /** 추가 CSS 클래스 */\r\n class?: string\r\n /** 메뉴 아이템 목록 (자동 탭 생성을 위해 필요) */\r\n menuItems?: SidebarMenuItem[]\r\n /** 즐겨찾기 메뉴 키 목록 */\r\n favorites?: (number | string)[]\r\n /** 권한 목록 */\r\n permissions?: MenuPermission[]\r\n}>(), {\r\n styletype: 'minimal',\r\n contentScroll: true,\r\n menuItems: () => [],\r\n favorites: () => [],\r\n permissions: () => [],\r\n})\r\n\r\nconst emit = defineEmits<{\r\n /** 메뉴 클릭 이벤트 (자동 처리되지 않는 경우) */\r\n menuClick: [event: MenuClickEvent]\r\n /** 탭 추가 이벤트 */\r\n tabAdd: [tab: DynamicTab]\r\n /** 탭 변경 이벤트 */\r\n tabChange: [tabId: string]\r\n /** 탭 닫기 이벤트 */\r\n tabClose: [tabId: string]\r\n /** 즐겨찾기 변경 이벤트 */\r\n favoriteChange: [menuKey: number | string | undefined, isFavorite: boolean]\r\n}>()\r\n\r\n/**\r\n * 사이드바 열림 상태\r\n */\r\nconst isSidebarOpen = ref(true)\r\n\r\n/**\r\n * 사이드바 토글 핸들러\r\n */\r\nconst handleSidebarToggle = () => {\r\n isSidebarOpen.value = !isSidebarOpen.value\r\n}\r\n\r\n/**\r\n * JDynamicTabs 컴포넌트 참조\r\n */\r\nconst tabsRef = ref<InstanceType<typeof JDynamicTabs> | null>(null)\r\n\r\n/**\r\n * 탭 목록 (내부 상태)\r\n */\r\nconst tabs = ref<DynamicTab[]>([])\r\n\r\n/**\r\n * 현재 활성 탭 ID\r\n */\r\nconst activeTabId = ref<string | undefined>(undefined)\r\n\r\n/**\r\n * path를 기반으로 탭 ID 생성\r\n * 예: /product/info -> tab-product-info\r\n */\r\nconst generateTabIdFromPath = (path: string): string => {\r\n if (!path) return ''\r\n // 앞뒤 슬래시 제거 및 특수문자 변환\r\n const cleanPath = path.replace(/^\\/+|\\/+$/g, '').replace(/\\//g, '-')\r\n return `tab-${cleanPath}`\r\n}\r\n\r\n/**\r\n * Router 인스턴스 (RouterView 사용을 위해, 선택적)\r\n * Router가 없을 수 있으므로 optional하게 처리\r\n */\r\nlet router: ReturnType<typeof useRouter> | null = null\r\ntry {\r\n router = useRouter()\r\n} catch {\r\n // Router가 설정되지 않은 경우 (스토리북 환경 등)\r\n router = null\r\n}\r\n\r\n/**\r\n * 메뉴 클릭 핸들러 - path 기반 탭 자동 생성\r\n */\r\nconst handleMenuClick = async (event: MenuClickEvent) => {\r\n const menuItem = event.menuItem\r\n\r\n // Link 타입 메뉴만 탭으로 생성\r\n if (!menuItem || menuItem.menuType !== 'L') {\r\n // 자동 처리하지 않는 경우 이벤트 emit\r\n emit('menuClick', event)\r\n return\r\n }\r\n\r\n // path가 없으면 자동 처리 불가\r\n if (!menuItem.path) {\r\n emit('menuClick', event)\r\n return\r\n }\r\n\r\n // 탭 ID 생성 (path 기반)\r\n const tabId = generateTabIdFromPath(menuItem.path)\r\n\r\n // 컴포넌트가 마운트될 때까지 대기\r\n await nextTick()\r\n await nextTick()\r\n\r\n // JDynamicTabs의 addTab 메서드를 직접 호출하여 탭 추가\r\n if (tabsRef.value && typeof tabsRef.value.addTab === 'function') {\r\n try {\r\n tabsRef.value.addTab({\r\n id: tabId,\r\n label: menuItem.label || '제목 없음',\r\n icon: menuItem.icon,\r\n closable: true,\r\n meta: {\r\n path: menuItem.path,\r\n menuKey: menuItem.menuKey,\r\n },\r\n })\r\n emit('tabAdd', { id: tabId, label: menuItem.label || '제목 없음', icon: menuItem.icon, closable: true })\r\n \r\n // Router가 있으면 경로로 이동 (Router에 이미 정의된 경로 사용)\r\n if (router) {\r\n router.push({ path: menuItem.path })\r\n }\r\n return\r\n } catch (error) {\r\n console.error('탭 추가 실패:', error)\r\n }\r\n }\r\n\r\n // tabsRef가 없거나 addTab 실패 시 tabs.value에 직접 추가\r\n const newTab: DynamicTab = {\r\n id: tabId,\r\n label: menuItem.label || '제목 없음',\r\n icon: menuItem.icon,\r\n closable: true,\r\n meta: {\r\n path: menuItem.path,\r\n menuKey: menuItem.menuKey,\r\n },\r\n }\r\n\r\n if (!Array.isArray(tabs.value)) {\r\n tabs.value = []\r\n }\r\n\r\n // 이미 있는 탭인지 확인\r\n const existingTab = tabs.value.find(t => t.id === tabId)\r\n if (!existingTab) {\r\n tabs.value = [...tabs.value, newTab]\r\n activeTabId.value = tabId\r\n emit('tabAdd', newTab)\r\n } else {\r\n activeTabId.value = tabId\r\n }\r\n \r\n // Router가 있으면 경로로 이동\r\n if (router) {\r\n router.push({ path: menuItem.path })\r\n }\r\n}\r\n\r\n/**\r\n * 탭 추가 핸들러\r\n */\r\nconst handleTabAdd = (tab: DynamicTab) => {\r\n // 탭이 추가되면 tabs.value 동기화\r\n if (!Array.isArray(tabs.value)) {\r\n tabs.value = []\r\n }\r\n const exists = tabs.value.find(t => t.id === tab.id)\r\n if (!exists) {\r\n tabs.value.push(tab)\r\n }\r\n activeTabId.value = tab.id\r\n emit('tabAdd', tab)\r\n}\r\n\r\n/**\r\n * 탭 닫기 핸들러\r\n */\r\nconst handleTabClose = (id: string) => {\r\n if (!tabs.value || !Array.isArray(tabs.value) || tabs.value.length === 0) return\r\n tabs.value = tabs.value.filter((t: DynamicTab) => t.id !== id)\r\n if (activeTabId.value === id && Array.isArray(tabs.value) && tabs.value.length > 0 && tabs.value[0]) {\r\n activeTabId.value = tabs.value[0].id\r\n } else if (Array.isArray(tabs.value) && tabs.value.length === 0) {\r\n activeTabId.value = undefined\r\n }\r\n emit('tabClose', id)\r\n}\r\n\r\n/**\r\n * 탭 변경 핸들러\r\n */\r\nconst handleTabChange = (id: string) => {\r\n activeTabId.value = id\r\n emit('tabChange', id)\r\n}\r\n\r\n/**\r\n * tabs를 computed로 만들어 반응성 확보\r\n */\r\nconst tabsComputed = computed(() => Array.isArray(tabs.value) ? tabs.value : [])\r\n</script>\r\n\r\n<template>\r\n <JLayout v-bind=\"props\">\r\n <template #header>\r\n <slot name=\"header\" :is-sidebar-open=\"isSidebarOpen\" :on-sidebar-toggle=\"handleSidebarToggle\">\r\n <!-- 기본 헤더 예시 -->\r\n <JHeader \r\n logo-text=\"JWMS Portal\" \r\n :styletype=\"props.styletype\"\r\n :show-sidebar-toggle=\"true\"\r\n :is-sidebar-open=\"isSidebarOpen\"\r\n @sidebar-toggle=\"handleSidebarToggle\"\r\n />\r\n </slot>\r\n </template>\r\n <template #sidebar>\r\n <slot name=\"sidebar\" :is-sidebar-open=\"isSidebarOpen\">\r\n <!-- 기본 사이드바 예시 -->\r\n <JSidebarAdvanced \r\n :menu-items=\"props.menuItems\" \r\n :favorites=\"props.favorites\"\r\n :permissions=\"props.permissions\"\r\n :styletype=\"props.styletype\" \r\n :is-visible=\"isSidebarOpen\"\r\n @menu-click=\"handleMenuClick\"\r\n @favorite-change=\"(menuKey, isFavorite) => emit('favoriteChange', menuKey, isFavorite)\"\r\n />\r\n </slot>\r\n </template>\r\n <template #content>\r\n <slot name=\"content\" :tabs=\"tabsComputed\" :active-tab-id=\"activeTabId\" :tabs-ref=\"tabsRef\">\r\n <!-- 기본 콘텐츠 예시 - JDynamicTabs 포함 -->\r\n <JDynamicTabs\r\n ref=\"tabsRef\"\r\n :initial-tabs=\"tabsComputed\"\r\n :default-active-id=\"activeTabId\"\r\n :styletype=\"props.styletype || 'minimal'\"\r\n @tab-add=\"handleTabAdd\"\r\n @tab-close=\"handleTabClose\"\r\n @tab-change=\"handleTabChange\"\r\n >\r\n <!-- 슬롯을 통해 외부에서 탭 컨텐츠 제공 가능 -->\r\n <!-- RouterView를 사용하여 Router의 routes를 재사용 (Route 통일성 보장) -->\r\n <template\r\n v-for=\"tab in tabsComputed\"\r\n :key=\"tab.id\"\r\n #[`content-${tab.id}`]=\"slotProps\"\r\n >\r\n <slot :name=\"`content-${tab.id}`\" v-bind=\"slotProps\">\r\n <!-- 기본 컨텐츠 -->\r\n <!-- Router가 있으면 RouterView 사용 (표준안) -->\r\n <!-- Router가 없으면 슬롯으로 외부에서 제공받아야 함 (현재 방식) -->\r\n <RouterView\r\n v-if=\"tab.meta?.path && router\"\r\n :key=\"tab.id\"\r\n />\r\n <div v-else class=\"flex-1 p-6\">\r\n <p class=\"text-muted-foreground\">콘텐츠를 배치해주세요. (Path: {{ tab.meta?.path || 'N/A' }})</p>\r\n <p v-if=\"!router\" class=\"text-xs text-gray-400 mt-2\">\r\n Router가 없어서 슬롯으로 콘텐츠를 제공해야 합니다.\r\n </p>\r\n </div>\r\n </slot>\r\n </template>\r\n </JDynamicTabs>\r\n </slot>\r\n </template>\r\n </JLayout>\r\n</template>\r\n\r\n"],"names":["props","__props","emit","__emit","isSidebarOpen","ref","handleSidebarToggle","tabsRef","tabs","activeTabId","generateTabIdFromPath","path","router","useRouter","handleMenuClick","event","menuItem","tabId","nextTick","error","newTab","t","handleTabAdd","tab","handleTabClose","id","handleTabChange","tabsComputed","computed","_openBlock","_createBlock","JLayout","_renderSlot","_ctx","_createVNode","JHeader","JSidebarAdvanced","_cache","menuKey","isFavorite","JDynamicTabs","_renderList","_withCtx","slotProps","_normalizeProps","_guardReactiveProps","_unref","RouterView","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_toDisplayString","_hoisted_3"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAoCA,UAAMA,IAAQC,GAqBRC,IAAOC,GAgBPC,IAAgBC,EAAI,EAAI,GAKxBC,IAAsB,MAAM;AAChC,MAAAF,EAAc,QAAQ,CAACA,EAAc;AAAA,IACvC,GAKMG,IAAUF,EAA8C,IAAI,GAK5DG,IAAOH,EAAkB,EAAE,GAK3BI,IAAcJ,EAAwB,MAAS,GAM/CK,IAAwB,CAACC,MACxBA,IAGE,OADWA,EAAK,QAAQ,cAAc,EAAE,EAAE,QAAQ,OAAO,GAAG,CAC5C,KAHL;AAUpB,QAAIC,IAA8C;AAClD,QAAI;AACF,MAAAA,IAASC,EAAA;AAAA,IACX,QAAQ;AAEN,MAAAD,IAAS;AAAA,IACX;AAKA,UAAME,IAAkB,OAAOC,MAA0B;AACvD,YAAMC,IAAWD,EAAM;AAGvB,UAAI,CAACC,KAAYA,EAAS,aAAa,KAAK;AAE1C,QAAAd,EAAK,aAAaa,CAAK;AACvB;AAAA,MACF;AAGA,UAAI,CAACC,EAAS,MAAM;AAClB,QAAAd,EAAK,aAAaa,CAAK;AACvB;AAAA,MACF;AAGA,YAAME,IAAQP,EAAsBM,EAAS,IAAI;AAOjD,UAJA,MAAME,EAAA,GACN,MAAMA,EAAA,GAGFX,EAAQ,SAAS,OAAOA,EAAQ,MAAM,UAAW;AACnD,YAAI;AACF,UAAAA,EAAQ,MAAM,OAAO;AAAA,YACnB,IAAIU;AAAA,YACJ,OAAOD,EAAS,SAAS;AAAA,YACzB,MAAMA,EAAS;AAAA,YACf,UAAU;AAAA,YACV,MAAM;AAAA,cACJ,MAAMA,EAAS;AAAA,cACf,SAASA,EAAS;AAAA,YAAA;AAAA,UACpB,CACD,GACDd,EAAK,UAAU,EAAE,IAAIe,GAAO,OAAOD,EAAS,SAAS,SAAS,MAAMA,EAAS,MAAM,UAAU,IAAM,GAG/FJ,KACFA,EAAO,KAAK,EAAE,MAAMI,EAAS,MAAM;AAErC;AAAA,QACF,SAASG,GAAO;AACd,kBAAQ,MAAM,YAAYA,CAAK;AAAA,QACjC;AAIF,YAAMC,IAAqB;AAAA,QACzB,IAAIH;AAAA,QACJ,OAAOD,EAAS,SAAS;AAAA,QACzB,MAAMA,EAAS;AAAA,QACf,UAAU;AAAA,QACV,MAAM;AAAA,UACJ,MAAMA,EAAS;AAAA,UACf,SAASA,EAAS;AAAA,QAAA;AAAA,MACpB;AAGF,MAAK,MAAM,QAAQR,EAAK,KAAK,MAC3BA,EAAK,QAAQ,CAAA,IAIKA,EAAK,MAAM,KAAK,CAAAa,MAAKA,EAAE,OAAOJ,CAAK,IAMrDR,EAAY,QAAQQ,KAJpBT,EAAK,QAAQ,CAAC,GAAGA,EAAK,OAAOY,CAAM,GACnCX,EAAY,QAAQQ,GACpBf,EAAK,UAAUkB,CAAM,IAMnBR,KACFA,EAAO,KAAK,EAAE,MAAMI,EAAS,MAAM;AAAA,IAEvC,GAKMM,IAAe,CAACC,MAAoB;AAExC,MAAK,MAAM,QAAQf,EAAK,KAAK,MAC3BA,EAAK,QAAQ,CAAA,IAEAA,EAAK,MAAM,KAAK,OAAKa,EAAE,OAAOE,EAAI,EAAE,KAEjDf,EAAK,MAAM,KAAKe,CAAG,GAErBd,EAAY,QAAQc,EAAI,IACxBrB,EAAK,UAAUqB,CAAG;AAAA,IACpB,GAKMC,IAAiB,CAACC,MAAe;AACrC,MAAI,CAACjB,EAAK,SAAS,CAAC,MAAM,QAAQA,EAAK,KAAK,KAAKA,EAAK,MAAM,WAAW,MACvEA,EAAK,QAAQA,EAAK,MAAM,OAAO,CAACa,MAAkBA,EAAE,OAAOI,CAAE,GACzDhB,EAAY,UAAUgB,KAAM,MAAM,QAAQjB,EAAK,KAAK,KAAKA,EAAK,MAAM,SAAS,KAAKA,EAAK,MAAM,CAAC,IAChGC,EAAY,QAAQD,EAAK,MAAM,CAAC,EAAE,KACzB,MAAM,QAAQA,EAAK,KAAK,KAAKA,EAAK,MAAM,WAAW,MAC5DC,EAAY,QAAQ,SAEtBP,EAAK,YAAYuB,CAAE;AAAA,IACrB,GAKMC,IAAkB,CAACD,MAAe;AACtC,MAAAhB,EAAY,QAAQgB,GACpBvB,EAAK,aAAauB,CAAE;AAAA,IACtB,GAKME,IAAeC,EAAS,MAAM,MAAM,QAAQpB,EAAK,KAAK,IAAIA,EAAK,QAAQ,EAAE;sBAI7EqB,EAAA,GAAAC,EAiEUC,OAjEO/B,CAAK,CAAA,GAAA;AAAA,MACT,UACT,MASO;AAAA,QATPgC,EASOC,EAAA,QAAA,UAAA;AAAA,UATc,eAAiB7B,EAAA;AAAA,UAAgB,iBAAmBE;AAAA,QAAA,GAAzE,MASO;AAAA,UAPL4B,EAMEC,GAAA;AAAA,YALA,aAAU;AAAA,YACT,WAAWnC,EAAM;AAAA,YACjB,uBAAqB;AAAA,YACrB,mBAAiBI,EAAA;AAAA,YACjB,iBAAgBE;AAAA,UAAA;;;MAIZ,WACT,MAWO;AAAA,QAXP0B,EAWOC,EAAA,QAAA,WAAA,EAXe,eAAiB7B,EAAA,MAAA,GAAvC,MAWO;AAAA,UATL8B,EAQEE,GAAA;AAAA,YAPC,cAAYpC,EAAM;AAAA,YAClB,WAAWA,EAAM;AAAA,YACjB,aAAaA,EAAM;AAAA,YACnB,WAAWA,EAAM;AAAA,YACjB,cAAYI,EAAA;AAAA,YACZ,aAAYU;AAAA,YACZ,kBAAeuB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,GAASC,MAAerC,EAAI,kBAAmBoC,GAASC,CAAU;AAAA,UAAA;;;MAIhF,WACT,MAmCO;AAAA,QAnCPP,EAmCOC,EAAA,QAAA,WAAA;AAAA,UAnCe,MAAMN,EAAA;AAAA,UAAe,aAAelB,EAAA;AAAA,UAAc,SAAUF,EAAA;AAAA,QAAA,GAAlF,MAmCO;AAAA,UAjCL2B,EAgCeM,GAAA;AAAA,qBA/BT;AAAA,YAAJ,KAAIjC;AAAA,YACH,gBAAcoB,EAAA;AAAA,YACd,qBAAmBlB,EAAA;AAAA,YACnB,WAAWT,EAAM,aAAS;AAAA,YAC1B,UAASsB;AAAA,YACT,YAAWE;AAAA,YACX,aAAYE;AAAA,UAAA;YAKGe,EAAAd,EAAA,QAAPJ;cAEK,MAAA,WAAAA,EAAI,EAAE;AAAA,cAElB,IAAAmB,EAAA,CAFwBC,MAAS;AAAA,gBAEjCX,EAcOC,qBAdiBV,EAAI,EAAE,IAAAqB,EAAAC,EAAYF,CAAS,IAAnD,MAcO;AAAA,kBATGpB,EAAI,MAAM,QAAQuB,EAAAlC,CAAA,UAD1BkB,EAGEgB,EAAAC,CAAA,GAAA;AAAA,oBADC,KAAKxB,EAAI;AAAA,kBAAA,OAEZM,EAAA,GAAAmB,EAKM,OALNC,GAKM;AAAA,oBAJJC,EAAuF,KAAvFC,GAAiC,yBAAoBC,EAAG7B,EAAI,MAAM,QAAI,KAAA,IAAY,KAAC,CAAA;AAAA,oBACzEuB,EAAAlC,CAAA,sBAAVoC,EAEI,KAFJK,GAAqD,mCAErD;AAAA;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JLayoutAdvanced.vue2.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JLayoutAdvanced.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),u=require("./JLayout.vue.cjs"),i=require("../organisms/JHeader.vue.cjs"),n=require("../organisms/JSidebarSimple.vue.cjs"),d=require("../organisms/JPageContainer.vue.cjs"),p=e.defineComponent({__name:"JLayoutSimple",props:{styletype:{default:"default"},contentScroll:{type:Boolean,default:!0},class:{},menuItems:{default:()=>[]},permissions:{default:()=>[]}},setup(a){const s=a,t=e.ref(!0),l=()=>{t.value=!t.value};return(r,o)=>(e.openBlock(),e.createBlock(u.default,e.normalizeProps(e.guardReactiveProps(s)),{header:e.withCtx(()=>[e.renderSlot(r.$slots,"header",{isSidebarOpen:t.value,onSidebarToggle:l},()=>[e.createVNode(i.default,{"logo-text":"JWMS Portal",styletype:s.styletype,"show-sidebar-toggle":!0,"is-sidebar-open":t.value,onSidebarToggle:l},null,8,["styletype","is-sidebar-open"])])]),sidebar:e.withCtx(()=>[e.renderSlot(r.$slots,"sidebar",{isSidebarOpen:t.value},()=>[e.createVNode(n.default,{"menu-items":s.menuItems,permissions:s.permissions,styletype:s.styletype,"is-visible":t.value},null,8,["menu-items","permissions","styletype","is-visible"])])]),content:e.withCtx(()=>[e.renderSlot(r.$slots,"content",{},()=>[e.renderSlot(r.$slots,"default",{},()=>[e.createVNode(d.default,{title:"페이지 제목"},{default:e.withCtx(()=>[...o[0]||(o[0]=[e.createElementVNode("div",{class:"p-6"},[e.createElementVNode("p",{class:"text-muted-foreground"},"콘텐츠를 배치해주세요.")],-1)])]),_:1})])])]),_:3},16))}});exports.default=p;
|
|
2
|
+
//# sourceMappingURL=JLayoutSimple.vue.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JLayoutSimple.vue.cjs","sources":["../../../../src/components/templates/JLayoutSimple.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { ref } from 'vue'\r\nimport JLayout from './JLayout.vue'\r\nimport JHeader from '@/components/organisms/JHeader.vue'\r\nimport JSidebarSimple from '@/components/organisms/JSidebarSimple.vue'\r\nimport JPageContainer from '@/components/organisms/JPageContainer.vue'\r\nimport type { SidebarMenuItem, MenuPermission } from '@/types/sidebar-menu.types'\r\n\r\n/**\r\n * JLayoutSimple - Simple Sidebar + 일반 PageContainer 조합 템플릿 (templates)\r\n * Simple Layout Template\r\n * \r\n * @description\r\n * JLayout을 사용하는 Preset 템플릿입니다.\r\n * JHeader, JSidebarSimple, JPageContainer를 조합한 기본 레이아웃 예시를 제공합니다.\r\n * \r\n * 레이아웃 구조:\r\n * - header: 상단 헤더 영역 (슬롯)\r\n * - sidebar: 사이드바 영역 (슬롯)\r\n * - content: 메인 콘텐츠 영역 (슬롯, 기본 슬롯)\r\n * \r\n * @example\r\n * ```vue\r\n * <JLayoutSimple styletype=\"default\" :content-scroll=\"true\">\r\n * <template #header>\r\n * <JHeader logo-text=\"JWMS Portal\" :user-name=\"userName\" styletype=\"default\" />\r\n * </template>\r\n * <template #sidebar>\r\n * <JSidebarSimple :menu-items=\"menuItems\" styletype=\"default\" />\r\n * </template>\r\n * <template #content>\r\n * <JPageContainer title=\"재고 관리\">\r\n * <div>페이지 콘텐츠</div>\r\n * </JPageContainer>\r\n * </template>\r\n * </JLayoutSimple>\r\n * ```\r\n */\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n /** 레이아웃 스타일 타입 */\r\n styletype?: 'default' | 'minimal'\r\n /** 콘텐츠 영역 스크롤 가능 여부 */\r\n contentScroll?: boolean\r\n /** 추가 CSS 클래스 */\r\n class?: string\r\n /** 메뉴 아이템 목록 */\r\n menuItems?: SidebarMenuItem[]\r\n /** 권한 목록 */\r\n permissions?: MenuPermission[]\r\n }>(),\r\n {\r\n styletype: 'default',\r\n contentScroll: true,\r\n menuItems: () => [],\r\n permissions: () => [],\r\n }\r\n)\r\n\r\n/**\r\n * 사이드바 열림 상태\r\n */\r\nconst isSidebarOpen = ref(true)\r\n\r\n/**\r\n * 사이드바 토글 핸들러\r\n */\r\nconst handleSidebarToggle = () => {\r\n isSidebarOpen.value = !isSidebarOpen.value\r\n}\r\n</script>\r\n\r\n<template>\r\n <JLayout v-bind=\"props\">\r\n <template #header>\r\n <slot name=\"header\" :is-sidebar-open=\"isSidebarOpen\" :on-sidebar-toggle=\"handleSidebarToggle\">\r\n <!-- 기본 헤더 예시 -->\r\n <JHeader \r\n logo-text=\"JWMS Portal\" \r\n :styletype=\"props.styletype\"\r\n :show-sidebar-toggle=\"true\"\r\n :is-sidebar-open=\"isSidebarOpen\"\r\n @sidebar-toggle=\"handleSidebarToggle\"\r\n />\r\n </slot>\r\n </template>\r\n <template #sidebar>\r\n <slot name=\"sidebar\" :is-sidebar-open=\"isSidebarOpen\">\r\n <!-- 기본 사이드바 예시 -->\r\n <JSidebarSimple \r\n :menu-items=\"props.menuItems\" \r\n :permissions=\"props.permissions\"\r\n :styletype=\"props.styletype\" \r\n :is-visible=\"isSidebarOpen\" \r\n />\r\n </slot>\r\n </template>\r\n <template #content>\r\n <slot name=\"content\">\r\n <slot>\r\n <!-- 기본 콘텐츠 예시 -->\r\n <JPageContainer title=\"페이지 제목\">\r\n <div class=\"p-6\">\r\n <p class=\"text-muted-foreground\">콘텐츠를 배치해주세요.</p>\r\n </div>\r\n </JPageContainer>\r\n </slot>\r\n </slot>\r\n </template>\r\n </JLayout>\r\n</template>\r\n\r\n"],"names":["props","__props","isSidebarOpen","ref","handleSidebarToggle","_openBlock","_createBlock","JLayout","_renderSlot","_ctx","_createVNode","JHeader","JSidebarSimple","JPageContainer","_cache","_createElementVNode"],"mappings":"kfAuCA,MAAMA,EAAQC,EAwBRC,EAAgBC,EAAAA,IAAI,EAAI,EAKxBC,EAAsB,IAAM,CAChCF,EAAc,MAAQ,CAACA,EAAc,KACvC,gBAIEG,EAAAA,UAAA,EAAAC,cAoCUC,EAAAA,8CApCOP,CAAK,CAAA,EAAA,CACT,iBACT,IASO,CATPQ,aASOC,EAAA,OAAA,SAAA,CATc,cAAiBP,EAAA,MAAgB,gBAAmBE,CAAA,EAAzE,IASO,CAPLM,EAAAA,YAMEC,EAAAA,QAAA,CALA,YAAU,cACT,UAAWX,EAAM,UACjB,sBAAqB,GACrB,kBAAiBE,EAAA,MACjB,gBAAgBE,CAAA,8CAIZ,kBACT,IAQO,CARPI,aAQOC,EAAA,OAAA,UAAA,CARe,cAAiBP,EAAA,KAAA,EAAvC,IAQO,CANLQ,EAAAA,YAKEE,EAAAA,QAAA,CAJC,aAAYZ,EAAM,UAClB,YAAaA,EAAM,YACnB,UAAWA,EAAM,UACjB,aAAYE,EAAA,KAAA,oEAIR,kBACT,IASO,CATPM,EAAAA,WASOC,sBATP,IASO,CARLD,EAAAA,WAOOC,sBAPP,IAOO,CALLC,EAAAA,YAIiBG,EAAAA,QAAA,CAJD,MAAM,UAAQ,mBAC5B,IAEM,CAAA,GAAAC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAA,CAFNC,EAAAA,mBAEM,MAAA,CAFD,MAAM,OAAK,CACdA,EAAAA,mBAAiD,IAAA,CAA9C,MAAM,uBAAA,EAAwB,cAAY,CAAA"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { defineComponent as m, ref as d, createBlock as u, openBlock as f, normalizeProps as c, guardReactiveProps as y, withCtx as o, renderSlot as l, createVNode as r, createElementVNode as n } from "vue";
|
|
2
|
+
import b from "./JLayout.vue.js";
|
|
3
|
+
import S from "../organisms/JHeader.vue.js";
|
|
4
|
+
import g from "../organisms/JSidebarSimple.vue.js";
|
|
5
|
+
import v from "../organisms/JPageContainer.vue.js";
|
|
6
|
+
const O = /* @__PURE__ */ m({
|
|
7
|
+
__name: "JLayoutSimple",
|
|
8
|
+
props: {
|
|
9
|
+
styletype: { default: "default" },
|
|
10
|
+
contentScroll: { type: Boolean, default: !0 },
|
|
11
|
+
class: {},
|
|
12
|
+
menuItems: { default: () => [] },
|
|
13
|
+
permissions: { default: () => [] }
|
|
14
|
+
},
|
|
15
|
+
setup(p) {
|
|
16
|
+
const t = p, e = d(!0), i = () => {
|
|
17
|
+
e.value = !e.value;
|
|
18
|
+
};
|
|
19
|
+
return (s, a) => (f(), u(b, c(y(t)), {
|
|
20
|
+
header: o(() => [
|
|
21
|
+
l(s.$slots, "header", {
|
|
22
|
+
isSidebarOpen: e.value,
|
|
23
|
+
onSidebarToggle: i
|
|
24
|
+
}, () => [
|
|
25
|
+
r(S, {
|
|
26
|
+
"logo-text": "JWMS Portal",
|
|
27
|
+
styletype: t.styletype,
|
|
28
|
+
"show-sidebar-toggle": !0,
|
|
29
|
+
"is-sidebar-open": e.value,
|
|
30
|
+
onSidebarToggle: i
|
|
31
|
+
}, null, 8, ["styletype", "is-sidebar-open"])
|
|
32
|
+
])
|
|
33
|
+
]),
|
|
34
|
+
sidebar: o(() => [
|
|
35
|
+
l(s.$slots, "sidebar", { isSidebarOpen: e.value }, () => [
|
|
36
|
+
r(g, {
|
|
37
|
+
"menu-items": t.menuItems,
|
|
38
|
+
permissions: t.permissions,
|
|
39
|
+
styletype: t.styletype,
|
|
40
|
+
"is-visible": e.value
|
|
41
|
+
}, null, 8, ["menu-items", "permissions", "styletype", "is-visible"])
|
|
42
|
+
])
|
|
43
|
+
]),
|
|
44
|
+
content: o(() => [
|
|
45
|
+
l(s.$slots, "content", {}, () => [
|
|
46
|
+
l(s.$slots, "default", {}, () => [
|
|
47
|
+
r(v, { title: "페이지 제목" }, {
|
|
48
|
+
default: o(() => [...a[0] || (a[0] = [
|
|
49
|
+
n("div", { class: "p-6" }, [
|
|
50
|
+
n("p", { class: "text-muted-foreground" }, "콘텐츠를 배치해주세요.")
|
|
51
|
+
], -1)
|
|
52
|
+
])]),
|
|
53
|
+
_: 1
|
|
54
|
+
})
|
|
55
|
+
])
|
|
56
|
+
])
|
|
57
|
+
]),
|
|
58
|
+
_: 3
|
|
59
|
+
}, 16));
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
export {
|
|
63
|
+
O as default
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=JLayoutSimple.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JLayoutSimple.vue.js","sources":["../../../../src/components/templates/JLayoutSimple.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { ref } from 'vue'\r\nimport JLayout from './JLayout.vue'\r\nimport JHeader from '@/components/organisms/JHeader.vue'\r\nimport JSidebarSimple from '@/components/organisms/JSidebarSimple.vue'\r\nimport JPageContainer from '@/components/organisms/JPageContainer.vue'\r\nimport type { SidebarMenuItem, MenuPermission } from '@/types/sidebar-menu.types'\r\n\r\n/**\r\n * JLayoutSimple - Simple Sidebar + 일반 PageContainer 조합 템플릿 (templates)\r\n * Simple Layout Template\r\n * \r\n * @description\r\n * JLayout을 사용하는 Preset 템플릿입니다.\r\n * JHeader, JSidebarSimple, JPageContainer를 조합한 기본 레이아웃 예시를 제공합니다.\r\n * \r\n * 레이아웃 구조:\r\n * - header: 상단 헤더 영역 (슬롯)\r\n * - sidebar: 사이드바 영역 (슬롯)\r\n * - content: 메인 콘텐츠 영역 (슬롯, 기본 슬롯)\r\n * \r\n * @example\r\n * ```vue\r\n * <JLayoutSimple styletype=\"default\" :content-scroll=\"true\">\r\n * <template #header>\r\n * <JHeader logo-text=\"JWMS Portal\" :user-name=\"userName\" styletype=\"default\" />\r\n * </template>\r\n * <template #sidebar>\r\n * <JSidebarSimple :menu-items=\"menuItems\" styletype=\"default\" />\r\n * </template>\r\n * <template #content>\r\n * <JPageContainer title=\"재고 관리\">\r\n * <div>페이지 콘텐츠</div>\r\n * </JPageContainer>\r\n * </template>\r\n * </JLayoutSimple>\r\n * ```\r\n */\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n /** 레이아웃 스타일 타입 */\r\n styletype?: 'default' | 'minimal'\r\n /** 콘텐츠 영역 스크롤 가능 여부 */\r\n contentScroll?: boolean\r\n /** 추가 CSS 클래스 */\r\n class?: string\r\n /** 메뉴 아이템 목록 */\r\n menuItems?: SidebarMenuItem[]\r\n /** 권한 목록 */\r\n permissions?: MenuPermission[]\r\n }>(),\r\n {\r\n styletype: 'default',\r\n contentScroll: true,\r\n menuItems: () => [],\r\n permissions: () => [],\r\n }\r\n)\r\n\r\n/**\r\n * 사이드바 열림 상태\r\n */\r\nconst isSidebarOpen = ref(true)\r\n\r\n/**\r\n * 사이드바 토글 핸들러\r\n */\r\nconst handleSidebarToggle = () => {\r\n isSidebarOpen.value = !isSidebarOpen.value\r\n}\r\n</script>\r\n\r\n<template>\r\n <JLayout v-bind=\"props\">\r\n <template #header>\r\n <slot name=\"header\" :is-sidebar-open=\"isSidebarOpen\" :on-sidebar-toggle=\"handleSidebarToggle\">\r\n <!-- 기본 헤더 예시 -->\r\n <JHeader \r\n logo-text=\"JWMS Portal\" \r\n :styletype=\"props.styletype\"\r\n :show-sidebar-toggle=\"true\"\r\n :is-sidebar-open=\"isSidebarOpen\"\r\n @sidebar-toggle=\"handleSidebarToggle\"\r\n />\r\n </slot>\r\n </template>\r\n <template #sidebar>\r\n <slot name=\"sidebar\" :is-sidebar-open=\"isSidebarOpen\">\r\n <!-- 기본 사이드바 예시 -->\r\n <JSidebarSimple \r\n :menu-items=\"props.menuItems\" \r\n :permissions=\"props.permissions\"\r\n :styletype=\"props.styletype\" \r\n :is-visible=\"isSidebarOpen\" \r\n />\r\n </slot>\r\n </template>\r\n <template #content>\r\n <slot name=\"content\">\r\n <slot>\r\n <!-- 기본 콘텐츠 예시 -->\r\n <JPageContainer title=\"페이지 제목\">\r\n <div class=\"p-6\">\r\n <p class=\"text-muted-foreground\">콘텐츠를 배치해주세요.</p>\r\n </div>\r\n </JPageContainer>\r\n </slot>\r\n </slot>\r\n </template>\r\n </JLayout>\r\n</template>\r\n\r\n"],"names":["props","__props","isSidebarOpen","ref","handleSidebarToggle","_openBlock","_createBlock","JLayout","_renderSlot","_ctx","_createVNode","JHeader","JSidebarSimple","JPageContainer","_cache","_createElementVNode"],"mappings":";;;;;;;;;;;;;;;AAuCA,UAAMA,IAAQC,GAwBRC,IAAgBC,EAAI,EAAI,GAKxBC,IAAsB,MAAM;AAChC,MAAAF,EAAc,QAAQ,CAACA,EAAc;AAAA,IACvC;sBAIEG,EAAA,GAAAC,EAoCUC,OApCOP,CAAK,CAAA,GAAA;AAAA,MACT,UACT,MASO;AAAA,QATPQ,EASOC,EAAA,QAAA,UAAA;AAAA,UATc,eAAiBP,EAAA;AAAA,UAAgB,iBAAmBE;AAAA,QAAA,GAAzE,MASO;AAAA,UAPLM,EAMEC,GAAA;AAAA,YALA,aAAU;AAAA,YACT,WAAWX,EAAM;AAAA,YACjB,uBAAqB;AAAA,YACrB,mBAAiBE,EAAA;AAAA,YACjB,iBAAgBE;AAAA,UAAA;;;MAIZ,WACT,MAQO;AAAA,QARPI,EAQOC,EAAA,QAAA,WAAA,EARe,eAAiBP,EAAA,MAAA,GAAvC,MAQO;AAAA,UANLQ,EAKEE,GAAA;AAAA,YAJC,cAAYZ,EAAM;AAAA,YAClB,aAAaA,EAAM;AAAA,YACnB,WAAWA,EAAM;AAAA,YACjB,cAAYE,EAAA;AAAA,UAAA;;;MAIR,WACT,MASO;AAAA,QATPM,EASOC,yBATP,MASO;AAAA,UARLD,EAOOC,yBAPP,MAOO;AAAA,YALLC,EAIiBG,GAAA,EAJD,OAAM,YAAQ;AAAA,yBAC5B,MAEM,CAAA,GAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAFNC,EAEM,OAAA,EAFD,OAAM,SAAK;AAAA,kBACdA,EAAiD,KAAA,EAA9C,OAAM,wBAAA,GAAwB,cAAY;AAAA,gBAAA;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JLayoutSimple.vue2.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JLayoutSimple.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/components.json
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://www.shadcn-vue.com/schema.json",
|
|
3
|
+
"style": "default",
|
|
4
|
+
"typescript": true,
|
|
5
|
+
"tailwind": {
|
|
6
|
+
"config": "tailwind.config.js",
|
|
7
|
+
"css": "src/assets/styles/main.css",
|
|
8
|
+
"baseColor": "slate",
|
|
9
|
+
"cssVariables": true
|
|
10
|
+
},
|
|
11
|
+
"aliases": {
|
|
12
|
+
"components": "@/components/shadcn",
|
|
13
|
+
"utils": "@/lib/utils",
|
|
14
|
+
"ui": "@/components/shadcn"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
package/index.cjs
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
require('./assets/styles/j-components.css');
|
|
2
|
+
require('./assets/styles/themes.css');
|
|
3
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */;/* empty css */const e=require("./components/atoms/JButton.vue.cjs"),t=require("./components/atoms/JInput.vue.cjs"),u=require("./components/atoms/JTextarea.vue.cjs"),_=require("./components/atoms/JCheckbox.vue.cjs"),r=require("./components/atoms/JCombo.vue.cjs"),a=require("./components/atoms/JSearchCombo.vue.cjs"),p=require("./components/atoms/JRadio.vue.cjs"),s=require("./components/atoms/JSwitch.vue.cjs"),i=require("./components/atoms/JDatepicker.vue.cjs"),n=require("./components/atoms/JDivider.vue.cjs"),c=require("./components/atoms/JLink.vue.cjs"),o=require("./components/atoms/JImage.vue.cjs"),l=require("./components/atoms/JBadge.vue.cjs"),J=require("./components/atoms/JProgress.vue.cjs");;/* empty css */const d=require("./components/atoms/JSpinner.vue.cjs"),v=require("./components/atoms/JAvatar.vue.cjs"),q=require("./components/atoms/JKbd.vue.cjs"),y=require("./components/atoms/JTooltip.vue.cjs"),g=require("./components/atoms/JIcon.vue.cjs"),f=require("./components/atoms/JLabel.vue.cjs"),b=require("./components/atoms/JPopover.vue.cjs"),m=require("./components/atoms/JGrid.vue.cjs"),S=require("./components/molecules/JFormField.vue.cjs");;/* empty css */const C=require("./components/molecules/JGroupCombo.vue.cjs"),A=require("./components/molecules/JTabs.vue.cjs"),T=require("./components/molecules/JSearchAddr.vue.cjs"),h=require("./components/molecules/JContextMenu.vue.cjs"),L=require("./components/molecules/JCard.vue.cjs"),P=require("./components/molecules/JAlert.vue.cjs"),B=require("./components/molecules/JAccordion.vue.cjs"),D=require("./components/molecules/JTitlebar.vue.cjs"),F=require("./components/molecules/JButtonGroup.vue.cjs"),M=require("./components/molecules/JBreadcrumb.vue.cjs"),k=require("./components/organisms/JDynamicTabs.vue.cjs"),x=require("./components/organisms/JModal.vue.cjs"),G=require("./components/organisms/JFormModal.vue.cjs"),I=require("./components/organisms/JDynamicForm.vue.cjs"),w=require("./components/organisms/JSearchPanel.vue.cjs"),H=require("./components/organisms/JHeader.vue.cjs"),K=require("./components/organisms/JSidebarSimple.vue.cjs"),R=require("./components/organisms/JSidebarAdvanced.vue.cjs"),j=require("./components/organisms/JPageContainer.vue.cjs"),O=require("./components/templates/JLayout.vue.cjs"),z=require("./components/templates/JLayoutSimple.vue.cjs"),E=require("./components/templates/JLayoutAdvanced.vue.cjs");exports.JButton=e.default;exports.JInput=t.default;exports.JTextarea=u.default;exports.JCheckbox=_.default;exports.JCombo=r.default;exports.JSearchCombo=a.default;exports.JRadio=p.default;exports.JSwitch=s.default;exports.JDatepicker=i.default;exports.JDivider=n.default;exports.JLink=c.default;exports.JImage=o.default;exports.JBadge=l.default;exports.JProgress=J.default;exports.JSpinner=d.default;exports.JAvatar=v.default;exports.JKbd=q.default;exports.JTooltip=y.default;exports.JIcon=g.default;exports.JLabel=f.default;exports.JPopover=b.default;exports.JGrid=m.default;exports.JFormField=S.default;exports.JGroupCombo=C.default;exports.JTabs=A.default;exports.JSearchAddr=T.default;exports.JContextMenu=h.default;exports.JCard=L.default;exports.JAlert=P.default;exports.JAccordion=B.default;exports.JTitlebar=D.default;exports.JButtonGroup=F.default;exports.JBreadcrumb=M.default;exports.JDynamicTabs=k.default;exports.JModal=x.default;exports.JFormModal=G.default;exports.JDynamicForm=I.default;exports.JSearchPanel=w.default;exports.JHeader=H.default;exports.JSidebarSimple=K.default;exports.JSidebarAdvanced=R.default;exports.JPageContainer=j.default;exports.JLayout=O.default;exports.JLayoutSimple=z.default;exports.JLayoutAdvanced=E.default;
|
|
4
|
+
//# sourceMappingURL=index.cjs.map
|
package/index.js
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import './assets/styles/j-components.css';
|
|
2
|
+
import './assets/styles/themes.css';
|
|
3
|
+
/* empty css */
|
|
4
|
+
/* empty css */
|
|
5
|
+
import { default as d } from "./components/atoms/JButton.vue.js";
|
|
6
|
+
import { default as p } from "./components/atoms/JInput.vue.js";
|
|
7
|
+
import { default as u } from "./components/atoms/JTextarea.vue.js";
|
|
8
|
+
import { default as x } from "./components/atoms/JCheckbox.vue.js";
|
|
9
|
+
import { default as i } from "./components/atoms/JCombo.vue.js";
|
|
10
|
+
import { default as c } from "./components/atoms/JSearchCombo.vue.js";
|
|
11
|
+
import { default as S } from "./components/atoms/JRadio.vue.js";
|
|
12
|
+
import { default as A } from "./components/atoms/JSwitch.vue.js";
|
|
13
|
+
import { default as v } from "./components/atoms/JDatepicker.vue.js";
|
|
14
|
+
import { default as L } from "./components/atoms/JDivider.vue.js";
|
|
15
|
+
import { default as g } from "./components/atoms/JLink.vue.js";
|
|
16
|
+
import { default as D } from "./components/atoms/JImage.vue.js";
|
|
17
|
+
import { default as P } from "./components/atoms/JBadge.vue.js";
|
|
18
|
+
import { default as G } from "./components/atoms/JProgress.vue.js";
|
|
19
|
+
/* empty css */
|
|
20
|
+
import { default as M } from "./components/atoms/JSpinner.vue.js";
|
|
21
|
+
import { default as H } from "./components/atoms/JAvatar.vue.js";
|
|
22
|
+
import { default as R } from "./components/atoms/JKbd.vue.js";
|
|
23
|
+
import { default as q } from "./components/atoms/JTooltip.vue.js";
|
|
24
|
+
import { default as E } from "./components/atoms/JIcon.vue.js";
|
|
25
|
+
import { default as O } from "./components/atoms/JLabel.vue.js";
|
|
26
|
+
import { default as U } from "./components/atoms/JPopover.vue.js";
|
|
27
|
+
import { default as W } from "./components/atoms/JGrid.vue.js";
|
|
28
|
+
import { default as Y } from "./components/molecules/JFormField.vue.js";
|
|
29
|
+
/* empty css */
|
|
30
|
+
import { default as _ } from "./components/molecules/JGroupCombo.vue.js";
|
|
31
|
+
import { default as oo } from "./components/molecules/JTabs.vue.js";
|
|
32
|
+
import { default as eo } from "./components/molecules/JSearchAddr.vue.js";
|
|
33
|
+
import { default as to } from "./components/molecules/JContextMenu.vue.js";
|
|
34
|
+
import { default as mo } from "./components/molecules/JCard.vue.js";
|
|
35
|
+
import { default as lo } from "./components/molecules/JAlert.vue.js";
|
|
36
|
+
import { default as so } from "./components/molecules/JAccordion.vue.js";
|
|
37
|
+
import { default as Jo } from "./components/molecules/JTitlebar.vue.js";
|
|
38
|
+
import { default as no } from "./components/molecules/JButtonGroup.vue.js";
|
|
39
|
+
import { default as bo } from "./components/molecules/JBreadcrumb.vue.js";
|
|
40
|
+
import { default as Co } from "./components/organisms/JDynamicTabs.vue.js";
|
|
41
|
+
import { default as ho } from "./components/organisms/JModal.vue.js";
|
|
42
|
+
import { default as yo } from "./components/organisms/JFormModal.vue.js";
|
|
43
|
+
import { default as To } from "./components/organisms/JDynamicForm.vue.js";
|
|
44
|
+
import { default as Bo } from "./components/organisms/JSearchPanel.vue.js";
|
|
45
|
+
import { default as Fo } from "./components/organisms/JHeader.vue.js";
|
|
46
|
+
import { default as ko } from "./components/organisms/JSidebarSimple.vue.js";
|
|
47
|
+
import { default as Io } from "./components/organisms/JSidebarAdvanced.vue.js";
|
|
48
|
+
import { default as wo } from "./components/organisms/JPageContainer.vue.js";
|
|
49
|
+
import { default as Ko } from "./components/templates/JLayout.vue.js";
|
|
50
|
+
import { default as jo } from "./components/templates/JLayoutSimple.vue.js";
|
|
51
|
+
import { default as zo } from "./components/templates/JLayoutAdvanced.vue.js";
|
|
52
|
+
export {
|
|
53
|
+
so as JAccordion,
|
|
54
|
+
lo as JAlert,
|
|
55
|
+
H as JAvatar,
|
|
56
|
+
P as JBadge,
|
|
57
|
+
bo as JBreadcrumb,
|
|
58
|
+
d as JButton,
|
|
59
|
+
no as JButtonGroup,
|
|
60
|
+
mo as JCard,
|
|
61
|
+
x as JCheckbox,
|
|
62
|
+
i as JCombo,
|
|
63
|
+
to as JContextMenu,
|
|
64
|
+
v as JDatepicker,
|
|
65
|
+
L as JDivider,
|
|
66
|
+
To as JDynamicForm,
|
|
67
|
+
Co as JDynamicTabs,
|
|
68
|
+
Y as JFormField,
|
|
69
|
+
yo as JFormModal,
|
|
70
|
+
W as JGrid,
|
|
71
|
+
_ as JGroupCombo,
|
|
72
|
+
Fo as JHeader,
|
|
73
|
+
E as JIcon,
|
|
74
|
+
D as JImage,
|
|
75
|
+
p as JInput,
|
|
76
|
+
R as JKbd,
|
|
77
|
+
O as JLabel,
|
|
78
|
+
Ko as JLayout,
|
|
79
|
+
zo as JLayoutAdvanced,
|
|
80
|
+
jo as JLayoutSimple,
|
|
81
|
+
g as JLink,
|
|
82
|
+
ho as JModal,
|
|
83
|
+
wo as JPageContainer,
|
|
84
|
+
U as JPopover,
|
|
85
|
+
G as JProgress,
|
|
86
|
+
S as JRadio,
|
|
87
|
+
eo as JSearchAddr,
|
|
88
|
+
c as JSearchCombo,
|
|
89
|
+
Bo as JSearchPanel,
|
|
90
|
+
Io as JSidebarAdvanced,
|
|
91
|
+
ko as JSidebarSimple,
|
|
92
|
+
M as JSpinner,
|
|
93
|
+
A as JSwitch,
|
|
94
|
+
oo as JTabs,
|
|
95
|
+
u as JTextarea,
|
|
96
|
+
Jo as JTitlebar,
|
|
97
|
+
q as JTooltip
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t={typeA:{controlSize:"md",variant:"default"},typeB:{controlSize:"sm",variant:"outline"},typeC:{controlSize:"lg",variant:"secondary"}};function n(e){return e&&t[e]||t.typeA}function o(e){if(e?.styleType){const r=n(e.styleType);return{controlSize:e.controlSize||r.controlSize,variant:e.variant||r.variant}}return{controlSize:e?.controlSize||"md",variant:e?.variant||"default"}}exports.STYLETYPE_PRESETS=t;exports.getStyleTypePreset=n;exports.resolveGlobalStyle=o;
|
|
2
|
+
//# sourceMappingURL=styleTypePreset.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styleTypePreset.cjs","sources":["../../../src/lib/styleTypePreset.ts"],"sourcesContent":["import type { ControlStyleType, StyleTypePreset } from '@/types/dynamic-form'; \r\n\r\n/**\r\n * styleType에 따른 자동 프리셋 매핑\r\n * styleType을 선택하면 자동으로 controlSize와 variant가 설정됨 \r\n */\r\nexport const STYLETYPE_PRESETS: Record<ControlStyleType, StyleTypePreset> = { \r\n typeA: {\r\n controlSize: 'md',\r\n variant: 'default'\r\n },\r\n typeB: {\r\n controlSize: 'sm',\r\n variant: 'outline'\r\n },\r\n typeC: {\r\n controlSize: 'lg',\r\n variant: 'secondary'\r\n }\r\n};\r\n\r\n/**\r\n * styleType에 따라 controlSize와 variant를 자동으로 반환\r\n */\r\nexport function getStyleTypePreset(styleType?: ControlStyleType): StyleTypePreset { \r\n if (!styleType) {\r\n return STYLETYPE_PRESETS.typeA; // 기본값\r\n }\r\n return STYLETYPE_PRESETS[styleType] || STYLETYPE_PRESETS.typeA; \r\n}\r\n\r\n/**\r\n * GlobalStyle에서 최종 controlSize와 variant를 계산\r\n * styleType이 있으면 그것을 우선하고, 없으면 직접 지정된 값을 사용\r\n */\r\nexport function resolveGlobalStyle(globalStyle?: {\r\n styleType?: ControlStyleType;\r\n controlSize?: 'sm' | 'md' | 'lg';\r\n variant?: 'default' | 'outline' | 'secondary' | 'destructive' | 'ghost'; \r\n}): { controlSize: 'sm' | 'md' | 'lg'; variant: 'default' | 'outline' | 'secondary' | 'destructive' | 'ghost' } { \r\n if (globalStyle?.styleType) {\r\n const preset = getStyleTypePreset(globalStyle.styleType); \r\n return {\r\n controlSize: globalStyle.controlSize || preset.controlSize, \r\n variant: globalStyle.variant || preset.variant\r\n };\r\n }\r\n\r\n return {\r\n controlSize: globalStyle?.controlSize || 'md',\r\n variant: globalStyle?.variant || 'default'\r\n };\r\n}\r\n\r\n"],"names":["STYLETYPE_PRESETS","getStyleTypePreset","styleType","resolveGlobalStyle","globalStyle","preset"],"mappings":"gFAMO,MAAMA,EAA+D,CAC1E,MAAO,CACL,YAAa,KACb,QAAS,SAAA,EAEX,MAAO,CACL,YAAa,KACb,QAAS,SAAA,EAEX,MAAO,CACL,YAAa,KACb,QAAS,WAAA,CAEb,EAKO,SAASC,EAAmBC,EAA+C,CAChF,OAAKA,GAGEF,EAAkBE,CAAS,GAAKF,EAAkB,KAC3D,CAMO,SAASG,EAAmBC,EAI6E,CAC9G,GAAIA,GAAa,UAAW,CAC1B,MAAMC,EAASJ,EAAmBG,EAAY,SAAS,EACvD,MAAO,CACL,YAAaA,EAAY,aAAeC,EAAO,YAC/C,QAASD,EAAY,SAAWC,EAAO,OAAA,CAE3C,CAEA,MAAO,CACL,YAAaD,GAAa,aAAe,KACzC,QAASA,GAAa,SAAW,SAAA,CAErC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const e = {
|
|
2
|
+
typeA: {
|
|
3
|
+
controlSize: "md",
|
|
4
|
+
variant: "default"
|
|
5
|
+
},
|
|
6
|
+
typeB: {
|
|
7
|
+
controlSize: "sm",
|
|
8
|
+
variant: "outline"
|
|
9
|
+
},
|
|
10
|
+
typeC: {
|
|
11
|
+
controlSize: "lg",
|
|
12
|
+
variant: "secondary"
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
function n(t) {
|
|
16
|
+
return t && e[t] || e.typeA;
|
|
17
|
+
}
|
|
18
|
+
function i(t) {
|
|
19
|
+
if (t?.styleType) {
|
|
20
|
+
const r = n(t.styleType);
|
|
21
|
+
return {
|
|
22
|
+
controlSize: t.controlSize || r.controlSize,
|
|
23
|
+
variant: t.variant || r.variant
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
controlSize: t?.controlSize || "md",
|
|
28
|
+
variant: t?.variant || "default"
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
e as STYLETYPE_PRESETS,
|
|
33
|
+
n as getStyleTypePreset,
|
|
34
|
+
i as resolveGlobalStyle
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=styleTypePreset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styleTypePreset.js","sources":["../../../src/lib/styleTypePreset.ts"],"sourcesContent":["import type { ControlStyleType, StyleTypePreset } from '@/types/dynamic-form'; \r\n\r\n/**\r\n * styleType에 따른 자동 프리셋 매핑\r\n * styleType을 선택하면 자동으로 controlSize와 variant가 설정됨 \r\n */\r\nexport const STYLETYPE_PRESETS: Record<ControlStyleType, StyleTypePreset> = { \r\n typeA: {\r\n controlSize: 'md',\r\n variant: 'default'\r\n },\r\n typeB: {\r\n controlSize: 'sm',\r\n variant: 'outline'\r\n },\r\n typeC: {\r\n controlSize: 'lg',\r\n variant: 'secondary'\r\n }\r\n};\r\n\r\n/**\r\n * styleType에 따라 controlSize와 variant를 자동으로 반환\r\n */\r\nexport function getStyleTypePreset(styleType?: ControlStyleType): StyleTypePreset { \r\n if (!styleType) {\r\n return STYLETYPE_PRESETS.typeA; // 기본값\r\n }\r\n return STYLETYPE_PRESETS[styleType] || STYLETYPE_PRESETS.typeA; \r\n}\r\n\r\n/**\r\n * GlobalStyle에서 최종 controlSize와 variant를 계산\r\n * styleType이 있으면 그것을 우선하고, 없으면 직접 지정된 값을 사용\r\n */\r\nexport function resolveGlobalStyle(globalStyle?: {\r\n styleType?: ControlStyleType;\r\n controlSize?: 'sm' | 'md' | 'lg';\r\n variant?: 'default' | 'outline' | 'secondary' | 'destructive' | 'ghost'; \r\n}): { controlSize: 'sm' | 'md' | 'lg'; variant: 'default' | 'outline' | 'secondary' | 'destructive' | 'ghost' } { \r\n if (globalStyle?.styleType) {\r\n const preset = getStyleTypePreset(globalStyle.styleType); \r\n return {\r\n controlSize: globalStyle.controlSize || preset.controlSize, \r\n variant: globalStyle.variant || preset.variant\r\n };\r\n }\r\n\r\n return {\r\n controlSize: globalStyle?.controlSize || 'md',\r\n variant: globalStyle?.variant || 'default'\r\n };\r\n}\r\n\r\n"],"names":["STYLETYPE_PRESETS","getStyleTypePreset","styleType","resolveGlobalStyle","globalStyle","preset"],"mappings":"AAMO,MAAMA,IAA+D;AAAA,EAC1E,OAAO;AAAA,IACL,aAAa;AAAA,IACb,SAAS;AAAA,EAAA;AAAA,EAEX,OAAO;AAAA,IACL,aAAa;AAAA,IACb,SAAS;AAAA,EAAA;AAAA,EAEX,OAAO;AAAA,IACL,aAAa;AAAA,IACb,SAAS;AAAA,EAAA;AAEb;AAKO,SAASC,EAAmBC,GAA+C;AAChF,SAAKA,KAGEF,EAAkBE,CAAS,KAAKF,EAAkB;AAC3D;AAMO,SAASG,EAAmBC,GAI6E;AAC9G,MAAIA,GAAa,WAAW;AAC1B,UAAMC,IAASJ,EAAmBG,EAAY,SAAS;AACvD,WAAO;AAAA,MACL,aAAaA,EAAY,eAAeC,EAAO;AAAA,MAC/C,SAASD,EAAY,WAAWC,EAAO;AAAA,IAAA;AAAA,EAE3C;AAEA,SAAO;AAAA,IACL,aAAaD,GAAa,eAAe;AAAA,IACzC,SAASA,GAAa,WAAW;AAAA,EAAA;AAErC;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function u(){const e=new Set;try{const t=Array.from(document.styleSheets);for(const s of t)try{const o=s.cssRules||s.rules;if(!o)continue;for(const n of Array.from(o))if(n instanceof CSSStyleRule){const a=n.selectorText.match(/\.theme-([a-zA-Z0-9_-]+)/);a&&a[1]&&e.add(a[1])}}catch{continue}const r=Array.from(document.querySelectorAll('[class*="theme-"]'));for(const s of r){const o=Array.from(s.classList);for(const n of o){const l=n.match(/^theme-([a-zA-Z0-9_-]+)$/);l&&l[1]&&e.add(l[1])}}}catch(t){console.warn("[theme-utils] Failed to detect theme classes:",t)}return Array.from(e)}function m(e){const t=Array.from(new Set(e));return t.includes("default")?["default",...t.filter(s=>s!=="default")]:(console.warn("[theme-utils] Default theme not found. Adding default theme to list."),["default",...t])}function c(){return"default"}function h(e){return!e||typeof e!="string"?c():u().includes(e)?e:(console.warn(`[theme-utils] Theme '${e}' not found. Using default theme.`),c())}function f(e="tweakcn-theme"){try{return localStorage.getItem(e)}catch(t){return console.warn("[theme-utils] Failed to get stored theme:",t),null}}function i(e,t="tweakcn-theme"){try{localStorage.setItem(t,e)}catch(r){console.warn("[theme-utils] Failed to save theme:",r)}}function d(e){if(!e||typeof e!="string")return!1;try{const t=document.documentElement,r=u();for(const s of r)t.classList.remove(`theme-${s}`);return t.classList.add(`theme-${e}`),!0}catch(t){return console.error("[theme-utils] Failed to apply theme:",t),!1}}exports.applyTheme=d;exports.detectThemeClasses=u;exports.ensureDefaultTheme=m;exports.getDefaultTheme=c;exports.getStoredTheme=f;exports.setStoredTheme=i;exports.validateThemeExists=h;
|
|
2
|
+
//# sourceMappingURL=theme-utils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-utils.cjs","sources":["../../../src/lib/theme-utils.ts"],"sourcesContent":["/**\r\n * 테마 유틸리티 함수\r\n * Theme utility functions for tweakcn custom theme support\r\n */\r\n\r\n/**\r\n * CSS 스타일시트에서 theme-* 클래스를 자동으로 감지합니다.\r\n * Detects theme-* classes from CSS stylesheets\r\n * \r\n * @returns 감지된 테마 이름 배열 (예: ['default', 'slate', 'rose', ...])\r\n */\r\nexport function detectThemeClasses(): string[] {\r\n const themeClasses: Set<string> = new Set()\r\n \r\n try {\r\n // 모든 스타일시트 순회\r\n const styleSheets = Array.from(document.styleSheets)\r\n \r\n for (const styleSheet of styleSheets) {\r\n try {\r\n // CORS 제한으로 인해 접근 불가능한 스타일시트는 건너뛰기\r\n const rules = styleSheet.cssRules || styleSheet.rules\r\n \r\n if (!rules) continue\r\n \r\n for (const rule of Array.from(rules)) {\r\n if (rule instanceof CSSStyleRule) {\r\n const selector = rule.selectorText\r\n \r\n // .theme-{name} 형식의 클래스 선택자 찾기\r\n const themeMatch = selector.match(/\\.theme-([a-zA-Z0-9_-]+)/)\r\n if (themeMatch && themeMatch[1]) {\r\n themeClasses.add(themeMatch[1])\r\n }\r\n }\r\n }\r\n } catch (e) {\r\n // CORS 오류 등으로 인한 접근 불가 스타일시트는 무시\r\n continue\r\n }\r\n }\r\n \r\n // document에서 직접 클래스 찾기 (동적으로 추가된 스타일)\r\n const allClasses = Array.from(document.querySelectorAll('[class*=\"theme-\"]'))\r\n for (const element of allClasses) {\r\n const classList = Array.from(element.classList)\r\n for (const className of classList) {\r\n const themeMatch = className.match(/^theme-([a-zA-Z0-9_-]+)$/)\r\n if (themeMatch && themeMatch[1]) {\r\n themeClasses.add(themeMatch[1])\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.warn('[theme-utils] Failed to detect theme classes:', error)\r\n }\r\n \r\n return Array.from(themeClasses)\r\n}\r\n\r\n/**\r\n * 현재 문서의 모든 테마 클래스를 반환합니다.\r\n * Returns all theme classes currently in the document\r\n * \r\n * @returns 테마 이름 배열\r\n */\r\nexport function getAllThemeClasses(): string[] {\r\n return detectThemeClasses()\r\n}\r\n\r\n/**\r\n * 테마 이름이 유효한지 검사합니다.\r\n * Validates if a theme name is valid\r\n * \r\n * @param theme - 검사할 테마 이름\r\n * @returns 유효하면 true\r\n */\r\nexport function isValidTheme(theme: string): boolean {\r\n if (!theme || typeof theme !== 'string') {\r\n return false\r\n }\r\n \r\n // theme-{name} 형식인지 확인\r\n const themeClasses = detectThemeClasses()\r\n return themeClasses.includes(theme)\r\n}\r\n\r\n/**\r\n * 디폴트 테마가 항상 포함되도록 보장합니다.\r\n * Ensures that the default theme is always included\r\n * \r\n * @param themes - 테마 이름 배열\r\n * @returns 디폴트 테마가 포함된 테마 배열 (default가 맨 앞에 위치)\r\n */\r\nexport function ensureDefaultTheme(themes: string[]): string[] {\r\n const uniqueThemes = Array.from(new Set(themes))\r\n \r\n // default가 없으면 경고하고 추가\r\n if (!uniqueThemes.includes('default')) {\r\n console.warn('[theme-utils] Default theme not found. Adding default theme to list.')\r\n return ['default', ...uniqueThemes]\r\n }\r\n \r\n // default를 맨 앞에 배치\r\n const otherThemes = uniqueThemes.filter(t => t !== 'default')\r\n return ['default', ...otherThemes]\r\n}\r\n\r\n/**\r\n * 디폴트 테마 이름을 반환합니다.\r\n * Returns the default theme name\r\n * \r\n * @returns 항상 'default'\r\n */\r\nexport function getDefaultTheme(): string {\r\n return 'default'\r\n}\r\n\r\n/**\r\n * 테마가 존재하는지 검증하고, 없으면 디폴트 테마를 반환합니다.\r\n * Validates if a theme exists, returns default if not found\r\n * \r\n * @param theme - 검증할 테마 이름\r\n * @returns 유효한 테마 이름 (없으면 'default')\r\n */\r\nexport function validateThemeExists(theme: string): string {\r\n if (!theme || typeof theme !== 'string') {\r\n return getDefaultTheme()\r\n }\r\n \r\n const themeClasses = detectThemeClasses()\r\n \r\n if (themeClasses.includes(theme)) {\r\n return theme\r\n }\r\n \r\n console.warn(`[theme-utils] Theme '${theme}' not found. Using default theme.`)\r\n return getDefaultTheme()\r\n}\r\n\r\n/**\r\n * 로컬 스토리지에서 저장된 테마를 가져옵니다.\r\n * Gets stored theme from localStorage\r\n * \r\n * @param storageKey - 스토리지 키 (기본값: 'tweakcn-theme')\r\n * @returns 저장된 테마 이름 또는 null\r\n */\r\nexport function getStoredTheme(storageKey: string = 'tweakcn-theme'): string | null {\r\n try {\r\n return localStorage.getItem(storageKey)\r\n } catch (error) {\r\n console.warn('[theme-utils] Failed to get stored theme:', error)\r\n return null\r\n }\r\n}\r\n\r\n/**\r\n * 테마를 로컬 스토리지에 저장합니다.\r\n * Saves theme to localStorage\r\n * \r\n * @param theme - 저장할 테마 이름\r\n * @param storageKey - 스토리지 키 (기본값: 'tweakcn-theme')\r\n */\r\nexport function setStoredTheme(theme: string, storageKey: string = 'tweakcn-theme'): void {\r\n try {\r\n localStorage.setItem(storageKey, theme)\r\n } catch (error) {\r\n console.warn('[theme-utils] Failed to save theme:', error)\r\n }\r\n}\r\n\r\n/**\r\n * 문서의 루트 요소에 테마 클래스를 적용합니다.\r\n * Applies theme class to document root element\r\n * \r\n * @param theme - 적용할 테마 이름\r\n * @returns 성공 여부\r\n */\r\nexport function applyTheme(theme: string): boolean {\r\n if (!theme || typeof theme !== 'string') {\r\n return false\r\n }\r\n \r\n try {\r\n const root = document.documentElement\r\n \r\n // 모든 theme-* 클래스 제거\r\n const themeClasses = detectThemeClasses()\r\n for (const themeClass of themeClasses) {\r\n root.classList.remove(`theme-${themeClass}`)\r\n }\r\n \r\n // 새 테마 클래스 추가\r\n root.classList.add(`theme-${theme}`)\r\n \r\n return true\r\n } catch (error) {\r\n console.error('[theme-utils] Failed to apply theme:', error)\r\n return false\r\n }\r\n}\r\n"],"names":["detectThemeClasses","themeClasses","styleSheets","styleSheet","rules","rule","themeMatch","allClasses","element","classList","className","error","ensureDefaultTheme","themes","uniqueThemes","t","getDefaultTheme","validateThemeExists","theme","getStoredTheme","storageKey","setStoredTheme","applyTheme","root","themeClass"],"mappings":"gFAWO,SAASA,GAA+B,CAC7C,MAAMC,MAAgC,IAEtC,GAAI,CAEF,MAAMC,EAAc,MAAM,KAAK,SAAS,WAAW,EAEnD,UAAWC,KAAcD,EACvB,GAAI,CAEF,MAAME,EAAQD,EAAW,UAAYA,EAAW,MAEhD,GAAI,CAACC,EAAO,SAEZ,UAAWC,KAAQ,MAAM,KAAKD,CAAK,EACjC,GAAIC,aAAgB,aAAc,CAIhC,MAAMC,EAHWD,EAAK,aAGM,MAAM,0BAA0B,EACxDC,GAAcA,EAAW,CAAC,GAC5BL,EAAa,IAAIK,EAAW,CAAC,CAAC,CAElC,CAEJ,MAAY,CAEV,QACF,CAIF,MAAMC,EAAa,MAAM,KAAK,SAAS,iBAAiB,mBAAmB,CAAC,EAC5E,UAAWC,KAAWD,EAAY,CAChC,MAAME,EAAY,MAAM,KAAKD,EAAQ,SAAS,EAC9C,UAAWE,KAAaD,EAAW,CACjC,MAAMH,EAAaI,EAAU,MAAM,0BAA0B,EACzDJ,GAAcA,EAAW,CAAC,GAC5BL,EAAa,IAAIK,EAAW,CAAC,CAAC,CAElC,CACF,CACF,OAASK,EAAO,CACd,QAAQ,KAAK,gDAAiDA,CAAK,CACrE,CAEA,OAAO,MAAM,KAAKV,CAAY,CAChC,CAoCO,SAASW,EAAmBC,EAA4B,CAC7D,MAAMC,EAAe,MAAM,KAAK,IAAI,IAAID,CAAM,CAAC,EAG/C,OAAKC,EAAa,SAAS,SAAS,EAO7B,CAAC,UAAW,GADCA,EAAa,OAAOC,GAAKA,IAAM,SAAS,CAC3B,GAN/B,QAAQ,KAAK,sEAAsE,EAC5E,CAAC,UAAW,GAAGD,CAAY,EAMtC,CAQO,SAASE,GAA0B,CACxC,MAAO,SACT,CASO,SAASC,EAAoBC,EAAuB,CACzD,MAAI,CAACA,GAAS,OAAOA,GAAU,SACtBF,EAAA,EAGYhB,EAAA,EAEJ,SAASkB,CAAK,EACtBA,GAGT,QAAQ,KAAK,wBAAwBA,CAAK,mCAAmC,EACtEF,EAAA,EACT,CASO,SAASG,EAAeC,EAAqB,gBAAgC,CAClF,GAAI,CACF,OAAO,aAAa,QAAQA,CAAU,CACxC,OAAST,EAAO,CACd,eAAQ,KAAK,4CAA6CA,CAAK,EACxD,IACT,CACF,CASO,SAASU,EAAeH,EAAeE,EAAqB,gBAAuB,CACxF,GAAI,CACF,aAAa,QAAQA,EAAYF,CAAK,CACxC,OAASP,EAAO,CACd,QAAQ,KAAK,sCAAuCA,CAAK,CAC3D,CACF,CASO,SAASW,EAAWJ,EAAwB,CACjD,GAAI,CAACA,GAAS,OAAOA,GAAU,SAC7B,MAAO,GAGT,GAAI,CACF,MAAMK,EAAO,SAAS,gBAGhBtB,EAAeD,EAAA,EACrB,UAAWwB,KAAcvB,EACvBsB,EAAK,UAAU,OAAO,SAASC,CAAU,EAAE,EAI7C,OAAAD,EAAK,UAAU,IAAI,SAASL,CAAK,EAAE,EAE5B,EACT,OAASP,EAAO,CACd,eAAQ,MAAM,uCAAwCA,CAAK,EACpD,EACT,CACF"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
function u() {
|
|
2
|
+
const e = /* @__PURE__ */ new Set();
|
|
3
|
+
try {
|
|
4
|
+
const t = Array.from(document.styleSheets);
|
|
5
|
+
for (const s of t)
|
|
6
|
+
try {
|
|
7
|
+
const o = s.cssRules || s.rules;
|
|
8
|
+
if (!o) continue;
|
|
9
|
+
for (const n of Array.from(o))
|
|
10
|
+
if (n instanceof CSSStyleRule) {
|
|
11
|
+
const c = n.selectorText.match(/\.theme-([a-zA-Z0-9_-]+)/);
|
|
12
|
+
c && c[1] && e.add(c[1]);
|
|
13
|
+
}
|
|
14
|
+
} catch {
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
const r = Array.from(document.querySelectorAll('[class*="theme-"]'));
|
|
18
|
+
for (const s of r) {
|
|
19
|
+
const o = Array.from(s.classList);
|
|
20
|
+
for (const n of o) {
|
|
21
|
+
const l = n.match(/^theme-([a-zA-Z0-9_-]+)$/);
|
|
22
|
+
l && l[1] && e.add(l[1]);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
} catch (t) {
|
|
26
|
+
console.warn("[theme-utils] Failed to detect theme classes:", t);
|
|
27
|
+
}
|
|
28
|
+
return Array.from(e);
|
|
29
|
+
}
|
|
30
|
+
function m(e) {
|
|
31
|
+
const t = Array.from(new Set(e));
|
|
32
|
+
return t.includes("default") ? ["default", ...t.filter((s) => s !== "default")] : (console.warn("[theme-utils] Default theme not found. Adding default theme to list."), ["default", ...t]);
|
|
33
|
+
}
|
|
34
|
+
function a() {
|
|
35
|
+
return "default";
|
|
36
|
+
}
|
|
37
|
+
function f(e) {
|
|
38
|
+
return !e || typeof e != "string" ? a() : u().includes(e) ? e : (console.warn(`[theme-utils] Theme '${e}' not found. Using default theme.`), a());
|
|
39
|
+
}
|
|
40
|
+
function h(e = "tweakcn-theme") {
|
|
41
|
+
try {
|
|
42
|
+
return localStorage.getItem(e);
|
|
43
|
+
} catch (t) {
|
|
44
|
+
return console.warn("[theme-utils] Failed to get stored theme:", t), null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function i(e, t = "tweakcn-theme") {
|
|
48
|
+
try {
|
|
49
|
+
localStorage.setItem(t, e);
|
|
50
|
+
} catch (r) {
|
|
51
|
+
console.warn("[theme-utils] Failed to save theme:", r);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function d(e) {
|
|
55
|
+
if (!e || typeof e != "string")
|
|
56
|
+
return !1;
|
|
57
|
+
try {
|
|
58
|
+
const t = document.documentElement, r = u();
|
|
59
|
+
for (const s of r)
|
|
60
|
+
t.classList.remove(`theme-${s}`);
|
|
61
|
+
return t.classList.add(`theme-${e}`), !0;
|
|
62
|
+
} catch (t) {
|
|
63
|
+
return console.error("[theme-utils] Failed to apply theme:", t), !1;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
export {
|
|
67
|
+
d as applyTheme,
|
|
68
|
+
u as detectThemeClasses,
|
|
69
|
+
m as ensureDefaultTheme,
|
|
70
|
+
a as getDefaultTheme,
|
|
71
|
+
h as getStoredTheme,
|
|
72
|
+
i as setStoredTheme,
|
|
73
|
+
f as validateThemeExists
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=theme-utils.js.map
|