@iclips/ui 1.4.13 → 2.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 +21 -0
- package/MIGRATION-v2.md +214 -0
- package/README.md +106 -0
- package/dist/alert-theme.css +94 -0
- package/dist/assets/illustrations/announcements.png.cjs +2 -0
- package/dist/assets/illustrations/announcements.png.cjs.map +1 -0
- package/dist/assets/illustrations/announcements.png.js +5 -0
- package/dist/assets/illustrations/announcements.png.js.map +1 -0
- package/dist/assets/illustrations/checklist-approved.png.cjs +2 -0
- package/dist/assets/illustrations/checklist-approved.png.cjs.map +1 -0
- package/dist/assets/illustrations/checklist-approved.png.js +5 -0
- package/dist/assets/illustrations/checklist-approved.png.js.map +1 -0
- package/dist/assets/illustrations/client-profile.png.cjs +2 -0
- package/dist/assets/illustrations/client-profile.png.cjs.map +1 -0
- package/dist/assets/illustrations/client-profile.png.js +5 -0
- package/dist/assets/illustrations/client-profile.png.js.map +1 -0
- package/dist/assets/illustrations/contract-agreement.png.cjs +2 -0
- package/dist/assets/illustrations/contract-agreement.png.cjs.map +1 -0
- package/dist/assets/illustrations/contract-agreement.png.js +5 -0
- package/dist/assets/illustrations/contract-agreement.png.js.map +1 -0
- package/dist/assets/illustrations/create-record.png.cjs +2 -0
- package/dist/assets/illustrations/create-record.png.cjs.map +1 -0
- package/dist/assets/illustrations/create-record.png.js +5 -0
- package/dist/assets/illustrations/create-record.png.js.map +1 -0
- package/dist/assets/illustrations/cta-action.png.cjs +2 -0
- package/dist/assets/illustrations/cta-action.png.cjs.map +1 -0
- package/dist/assets/illustrations/cta-action.png.js +5 -0
- package/dist/assets/illustrations/cta-action.png.js.map +1 -0
- package/dist/assets/illustrations/draft-document.png.cjs +2 -0
- package/dist/assets/illustrations/draft-document.png.cjs.map +1 -0
- package/dist/assets/illustrations/draft-document.png.js +5 -0
- package/dist/assets/illustrations/draft-document.png.js.map +1 -0
- package/dist/assets/illustrations/edit-company.png.cjs +2 -0
- package/dist/assets/illustrations/edit-company.png.cjs.map +1 -0
- package/dist/assets/illustrations/edit-company.png.js +5 -0
- package/dist/assets/illustrations/edit-company.png.js.map +1 -0
- package/dist/assets/illustrations/edit-document.png.cjs +2 -0
- package/dist/assets/illustrations/edit-document.png.cjs.map +1 -0
- package/dist/assets/illustrations/edit-document.png.js +5 -0
- package/dist/assets/illustrations/edit-document.png.js.map +1 -0
- package/dist/assets/illustrations/empty-no-results.png.cjs +2 -0
- package/dist/assets/illustrations/empty-no-results.png.cjs.map +1 -0
- package/dist/assets/illustrations/empty-no-results.png.js +5 -0
- package/dist/assets/illustrations/empty-no-results.png.js.map +1 -0
- package/dist/assets/illustrations/empty-not-found.png.cjs +2 -0
- package/dist/assets/illustrations/empty-not-found.png.cjs.map +1 -0
- package/dist/assets/illustrations/empty-not-found.png.js +5 -0
- package/dist/assets/illustrations/empty-not-found.png.js.map +1 -0
- package/dist/assets/illustrations/empty-task-approved.png.cjs +2 -0
- package/dist/assets/illustrations/empty-task-approved.png.cjs.map +1 -0
- package/dist/assets/illustrations/empty-task-approved.png.js +5 -0
- package/dist/assets/illustrations/empty-task-approved.png.js.map +1 -0
- package/dist/assets/illustrations/empty-workflow-status.png.cjs +2 -0
- package/dist/assets/illustrations/empty-workflow-status.png.cjs.map +1 -0
- package/dist/assets/illustrations/empty-workflow-status.png.js +5 -0
- package/dist/assets/illustrations/empty-workflow-status.png.js.map +1 -0
- package/dist/assets/illustrations/integrations.png.cjs +2 -0
- package/dist/assets/illustrations/integrations.png.cjs.map +1 -0
- package/dist/assets/illustrations/integrations.png.js +5 -0
- package/dist/assets/illustrations/integrations.png.js.map +1 -0
- package/dist/assets/illustrations/onboarding-tips.png.cjs +2 -0
- package/dist/assets/illustrations/onboarding-tips.png.cjs.map +1 -0
- package/dist/assets/illustrations/onboarding-tips.png.js +5 -0
- package/dist/assets/illustrations/onboarding-tips.png.js.map +1 -0
- package/dist/assets/illustrations/scheduled-tasks.png.cjs +2 -0
- package/dist/assets/illustrations/scheduled-tasks.png.cjs.map +1 -0
- package/dist/assets/illustrations/scheduled-tasks.png.js +5 -0
- package/dist/assets/illustrations/scheduled-tasks.png.js.map +1 -0
- package/dist/assets/illustrations/search-documents.png.cjs +2 -0
- package/dist/assets/illustrations/search-documents.png.cjs.map +1 -0
- package/dist/assets/illustrations/search-documents.png.js +5 -0
- package/dist/assets/illustrations/search-documents.png.js.map +1 -0
- package/dist/assets/illustrations/success-checkmark.png.cjs +2 -0
- package/dist/assets/illustrations/success-checkmark.png.cjs.map +1 -0
- package/dist/assets/illustrations/success-checkmark.png.js +5 -0
- package/dist/assets/illustrations/success-checkmark.png.js.map +1 -0
- package/dist/components/ui/brand-colors.cjs +2 -0
- package/dist/components/ui/brand-colors.cjs.map +1 -0
- package/dist/components/ui/brand-colors.js +8 -0
- package/dist/components/ui/brand-colors.js.map +1 -0
- package/dist/components/ui/charts/chart.cjs +8 -0
- package/dist/components/ui/charts/chart.cjs.map +1 -0
- package/dist/components/ui/charts/chart.js +214 -0
- package/dist/components/ui/charts/chart.js.map +1 -0
- package/dist/components/ui/charts/donut-chart.cjs +2 -0
- package/dist/components/ui/charts/donut-chart.cjs.map +1 -0
- package/dist/components/ui/charts/donut-chart.js +285 -0
- package/dist/components/ui/charts/donut-chart.js.map +1 -0
- package/dist/components/ui/charts/kpi-card.cjs +2 -0
- package/dist/components/ui/charts/kpi-card.cjs.map +1 -0
- package/dist/components/ui/charts/kpi-card.js +71 -0
- package/dist/components/ui/charts/kpi-card.js.map +1 -0
- package/dist/components/ui/data/advanced-data-table.cjs +2 -0
- package/dist/components/ui/data/advanced-data-table.cjs.map +1 -0
- package/dist/components/ui/data/advanced-data-table.js +69 -0
- package/dist/components/ui/data/advanced-data-table.js.map +1 -0
- package/dist/components/ui/data/comment-system.cjs +2 -0
- package/dist/components/ui/data/comment-system.cjs.map +1 -0
- package/dist/components/ui/data/comment-system.js +492 -0
- package/dist/components/ui/data/comment-system.js.map +1 -0
- package/dist/components/ui/data/data-table-empty-state.cjs +2 -0
- package/dist/components/ui/data/data-table-empty-state.cjs.map +1 -0
- package/dist/components/ui/data/data-table-empty-state.js +40 -0
- package/dist/components/ui/data/data-table-empty-state.js.map +1 -0
- package/dist/components/ui/data/data-table-toolbar.cjs +2 -0
- package/dist/components/ui/data/data-table-toolbar.cjs.map +1 -0
- package/dist/components/ui/data/data-table-toolbar.js +85 -0
- package/dist/components/ui/data/data-table-toolbar.js.map +1 -0
- package/dist/components/ui/data/data-table.cjs +2 -0
- package/dist/components/ui/data/data-table.cjs.map +1 -0
- package/dist/components/ui/data/data-table.js +181 -0
- package/dist/components/ui/data/data-table.js.map +1 -0
- package/dist/components/ui/data/document-editor.cjs +2 -0
- package/dist/components/ui/data/document-editor.cjs.map +1 -0
- package/dist/components/ui/data/document-editor.js +158 -0
- package/dist/components/ui/data/document-editor.js.map +1 -0
- package/dist/components/ui/data/editorial-calendar.cjs +2 -0
- package/dist/components/ui/data/editorial-calendar.cjs.map +1 -0
- package/dist/components/ui/data/editorial-calendar.js +840 -0
- package/dist/components/ui/data/editorial-calendar.js.map +1 -0
- package/dist/components/ui/data/filter-bar.cjs +2 -0
- package/dist/components/ui/data/filter-bar.cjs.map +1 -0
- package/dist/components/ui/data/filter-bar.js +60 -0
- package/dist/components/ui/data/filter-bar.js.map +1 -0
- package/dist/components/ui/data/filter-builder.cjs +2 -0
- package/dist/components/ui/data/filter-builder.cjs.map +1 -0
- package/dist/components/ui/data/filter-builder.js +378 -0
- package/dist/components/ui/data/filter-builder.js.map +1 -0
- package/dist/components/ui/data/filter-chip.cjs +2 -0
- package/dist/components/ui/data/filter-chip.cjs.map +1 -0
- package/dist/components/ui/data/filter-chip.js +39 -0
- package/dist/components/ui/data/filter-chip.js.map +1 -0
- package/dist/components/ui/data/mention-list.cjs +2 -0
- package/dist/components/ui/data/mention-list.cjs.map +1 -0
- package/dist/components/ui/data/mention-list.js +46 -0
- package/dist/components/ui/data/mention-list.js.map +1 -0
- package/dist/components/ui/data/table-pagination.cjs +2 -0
- package/dist/components/ui/data/table-pagination.cjs.map +1 -0
- package/dist/components/ui/data/table-pagination.js +176 -0
- package/dist/components/ui/data/table-pagination.js.map +1 -0
- package/dist/components/ui/data/table-types.cjs +2 -0
- package/dist/components/ui/data/table-types.cjs.map +1 -0
- package/dist/components/ui/data/table-types.js +14 -0
- package/dist/components/ui/data/table-types.js.map +1 -0
- package/dist/components/ui/data/table.cjs +2 -0
- package/dist/components/ui/data/table.cjs.map +1 -0
- package/dist/components/ui/data/table.js +130 -0
- package/dist/components/ui/data/table.js.map +1 -0
- package/dist/components/ui/feedback/alert.cjs +2 -0
- package/dist/components/ui/feedback/alert.cjs.map +1 -0
- package/dist/components/ui/feedback/alert.js +67 -0
- package/dist/components/ui/feedback/alert.js.map +1 -0
- package/dist/components/ui/feedback/empty-state.cjs +2 -0
- package/dist/components/ui/feedback/empty-state.cjs.map +1 -0
- package/dist/components/ui/feedback/empty-state.js +78 -0
- package/dist/components/ui/feedback/empty-state.js.map +1 -0
- package/dist/components/ui/feedback/illustrations.cjs +2 -0
- package/dist/components/ui/feedback/illustrations.cjs.map +1 -0
- package/dist/components/ui/feedback/illustrations.js +157 -0
- package/dist/components/ui/feedback/illustrations.js.map +1 -0
- package/dist/components/ui/feedback/toast.cjs +2 -0
- package/dist/components/ui/feedback/toast.cjs.map +1 -0
- package/dist/components/ui/feedback/toast.js +38 -0
- package/dist/components/ui/feedback/toast.js.map +1 -0
- package/dist/components/ui/forms/calendar.cjs +2 -0
- package/dist/components/ui/forms/calendar.cjs.map +1 -0
- package/dist/components/ui/forms/calendar.js +65 -0
- package/dist/components/ui/forms/calendar.js.map +1 -0
- package/dist/components/ui/forms/checkbox.cjs +2 -0
- package/dist/components/ui/forms/checkbox.cjs.map +1 -0
- package/dist/components/ui/forms/checkbox.js +31 -0
- package/dist/components/ui/forms/checkbox.js.map +1 -0
- package/dist/components/ui/forms/color-picker.cjs +2 -0
- package/dist/components/ui/forms/color-picker.cjs.map +1 -0
- package/dist/components/ui/forms/color-picker.js +151 -0
- package/dist/components/ui/forms/color-picker.js.map +1 -0
- package/dist/components/ui/forms/combobox.cjs +2 -0
- package/dist/components/ui/forms/combobox.cjs.map +1 -0
- package/dist/components/ui/forms/combobox.js +208 -0
- package/dist/components/ui/forms/combobox.js.map +1 -0
- package/dist/components/ui/forms/currency-input.cjs +2 -0
- package/dist/components/ui/forms/currency-input.cjs.map +1 -0
- package/dist/components/ui/forms/currency-input.js +81 -0
- package/dist/components/ui/forms/currency-input.js.map +1 -0
- package/dist/components/ui/forms/date-picker.cjs +2 -0
- package/dist/components/ui/forms/date-picker.cjs.map +1 -0
- package/dist/components/ui/forms/date-picker.js +197 -0
- package/dist/components/ui/forms/date-picker.js.map +1 -0
- package/dist/components/ui/forms/date-range-picker.cjs +2 -0
- package/dist/components/ui/forms/date-range-picker.cjs.map +1 -0
- package/dist/components/ui/forms/date-range-picker.js +303 -0
- package/dist/components/ui/forms/date-range-picker.js.map +1 -0
- package/dist/components/ui/forms/editable-badge.cjs +2 -0
- package/dist/components/ui/forms/editable-badge.cjs.map +1 -0
- package/dist/components/ui/forms/editable-badge.js +137 -0
- package/dist/components/ui/forms/editable-badge.js.map +1 -0
- package/dist/components/ui/forms/file-attachment-list.cjs +2 -0
- package/dist/components/ui/forms/file-attachment-list.cjs.map +1 -0
- package/dist/components/ui/forms/file-attachment-list.js +235 -0
- package/dist/components/ui/forms/file-attachment-list.js.map +1 -0
- package/dist/components/ui/forms/file-upload-zone.cjs +3 -0
- package/dist/components/ui/forms/file-upload-zone.cjs.map +1 -0
- package/dist/components/ui/forms/file-upload-zone.js +142 -0
- package/dist/components/ui/forms/file-upload-zone.js.map +1 -0
- package/dist/components/ui/forms/form.cjs +2 -0
- package/dist/components/ui/forms/form.cjs.map +1 -0
- package/dist/components/ui/forms/form.js +109 -0
- package/dist/components/ui/forms/form.js.map +1 -0
- package/dist/components/ui/forms/input-group.cjs +2 -0
- package/dist/components/ui/forms/input-group.cjs.map +1 -0
- package/dist/components/ui/forms/input-group.js +131 -0
- package/dist/components/ui/forms/input-group.js.map +1 -0
- package/dist/components/ui/forms/input-otp.cjs +2 -0
- package/dist/components/ui/forms/input-otp.cjs.map +1 -0
- package/dist/components/ui/forms/input-otp.js +63 -0
- package/dist/components/ui/forms/input-otp.js.map +1 -0
- package/dist/components/ui/forms/input-validation.cjs +2 -0
- package/dist/components/ui/forms/input-validation.cjs.map +1 -0
- package/dist/components/ui/forms/input-validation.js +55 -0
- package/dist/components/ui/forms/input-validation.js.map +1 -0
- package/dist/components/ui/forms/input.cjs +2 -0
- package/dist/components/ui/forms/input.cjs.map +1 -0
- package/dist/components/ui/forms/input.js +26 -0
- package/dist/components/ui/forms/input.js.map +1 -0
- package/dist/components/ui/forms/month-range-picker.cjs +2 -0
- package/dist/components/ui/forms/month-range-picker.cjs.map +1 -0
- package/dist/components/ui/forms/month-range-picker.js +261 -0
- package/dist/components/ui/forms/month-range-picker.js.map +1 -0
- package/dist/components/ui/forms/multi-select.cjs +2 -0
- package/dist/components/ui/forms/multi-select.cjs.map +1 -0
- package/dist/components/ui/forms/multi-select.js +251 -0
- package/dist/components/ui/forms/multi-select.js.map +1 -0
- package/dist/components/ui/forms/number-input.cjs +2 -0
- package/dist/components/ui/forms/number-input.cjs.map +1 -0
- package/dist/components/ui/forms/number-input.js +220 -0
- package/dist/components/ui/forms/number-input.js.map +1 -0
- package/dist/components/ui/forms/password-input.cjs +2 -0
- package/dist/components/ui/forms/password-input.cjs.map +1 -0
- package/dist/components/ui/forms/password-input.js +43 -0
- package/dist/components/ui/forms/password-input.js.map +1 -0
- package/dist/components/ui/forms/radio-group.cjs +2 -0
- package/dist/components/ui/forms/radio-group.cjs.map +1 -0
- package/dist/components/ui/forms/radio-group.js +41 -0
- package/dist/components/ui/forms/radio-group.js.map +1 -0
- package/dist/components/ui/forms/select.cjs +2 -0
- package/dist/components/ui/forms/select.cjs.map +1 -0
- package/dist/components/ui/forms/select.js +140 -0
- package/dist/components/ui/forms/select.js.map +1 -0
- package/dist/components/ui/forms/slider.cjs +2 -0
- package/dist/components/ui/forms/slider.cjs.map +1 -0
- package/dist/components/ui/forms/slider.js +62 -0
- package/dist/components/ui/forms/slider.js.map +1 -0
- package/dist/components/ui/forms/social-button.cjs +2 -0
- package/dist/components/ui/forms/social-button.cjs.map +1 -0
- package/dist/components/ui/forms/social-button.js +86 -0
- package/dist/components/ui/forms/social-button.js.map +1 -0
- package/dist/components/ui/forms/switch.cjs +2 -0
- package/dist/components/ui/forms/switch.cjs.map +1 -0
- package/dist/components/ui/forms/switch.js +31 -0
- package/dist/components/ui/forms/switch.js.map +1 -0
- package/dist/components/ui/forms/textarea.cjs +2 -0
- package/dist/components/ui/forms/textarea.cjs.map +1 -0
- package/dist/components/ui/forms/textarea.js +22 -0
- package/dist/components/ui/forms/textarea.js.map +1 -0
- package/dist/components/ui/forms/time-picker.cjs +2 -0
- package/dist/components/ui/forms/time-picker.cjs.map +1 -0
- package/dist/components/ui/forms/time-picker.js +195 -0
- package/dist/components/ui/forms/time-picker.js.map +1 -0
- package/dist/components/ui/forms/toggle-group.cjs +2 -0
- package/dist/components/ui/forms/toggle-group.cjs.map +1 -0
- package/dist/components/ui/forms/toggle-group.js +53 -0
- package/dist/components/ui/forms/toggle-group.js.map +1 -0
- package/dist/components/ui/forms/toggle.cjs +2 -0
- package/dist/components/ui/forms/toggle.cjs.map +1 -0
- package/dist/components/ui/forms/toggle.js +40 -0
- package/dist/components/ui/forms/toggle.js.map +1 -0
- package/dist/components/ui/layout/accordion.cjs +2 -0
- package/dist/components/ui/layout/accordion.cjs.map +1 -0
- package/dist/components/ui/layout/accordion.js +53 -0
- package/dist/components/ui/layout/accordion.js.map +1 -0
- package/dist/components/ui/layout/auth-layout.cjs +2 -0
- package/dist/components/ui/layout/auth-layout.cjs.map +1 -0
- package/dist/components/ui/layout/auth-layout.js +74 -0
- package/dist/components/ui/layout/auth-layout.js.map +1 -0
- package/dist/components/ui/layout/card.cjs +2 -0
- package/dist/components/ui/layout/card.cjs.map +1 -0
- package/dist/components/ui/layout/card.js +104 -0
- package/dist/components/ui/layout/card.js.map +1 -0
- package/dist/components/ui/layout/carousel.cjs +2 -0
- package/dist/components/ui/layout/carousel.cjs.map +1 -0
- package/dist/components/ui/layout/carousel.js +189 -0
- package/dist/components/ui/layout/carousel.js.map +1 -0
- package/dist/components/ui/layout/collapsible.cjs +2 -0
- package/dist/components/ui/layout/collapsible.cjs.map +1 -0
- package/dist/components/ui/layout/collapsible.js +30 -0
- package/dist/components/ui/layout/collapsible.js.map +1 -0
- package/dist/components/ui/layout/page-header.cjs +2 -0
- package/dist/components/ui/layout/page-header.cjs.map +1 -0
- package/dist/components/ui/layout/page-header.js +81 -0
- package/dist/components/ui/layout/page-header.js.map +1 -0
- package/dist/components/ui/layout/resizable.cjs +2 -0
- package/dist/components/ui/layout/resizable.cjs.map +1 -0
- package/dist/components/ui/layout/resizable.js +45 -0
- package/dist/components/ui/layout/resizable.js.map +1 -0
- package/dist/components/ui/layout/scroll-area.cjs +2 -0
- package/dist/components/ui/layout/scroll-area.cjs.map +1 -0
- package/dist/components/ui/layout/scroll-area.js +56 -0
- package/dist/components/ui/layout/scroll-area.js.map +1 -0
- package/dist/components/ui/navigation/breadcrumb.cjs +2 -0
- package/dist/components/ui/navigation/breadcrumb.cjs.map +1 -0
- package/dist/components/ui/navigation/breadcrumb.js +94 -0
- package/dist/components/ui/navigation/breadcrumb.js.map +1 -0
- package/dist/components/ui/navigation/navigation-menu.cjs +2 -0
- package/dist/components/ui/navigation/navigation-menu.cjs.map +1 -0
- package/dist/components/ui/navigation/navigation-menu.js +144 -0
- package/dist/components/ui/navigation/navigation-menu.js.map +1 -0
- package/dist/components/ui/navigation/pagination.cjs +2 -0
- package/dist/components/ui/navigation/pagination.cjs.map +1 -0
- package/dist/components/ui/navigation/pagination.js +106 -0
- package/dist/components/ui/navigation/pagination.js.map +1 -0
- package/dist/components/ui/navigation/sidebar.cjs +2 -0
- package/dist/components/ui/navigation/sidebar.cjs.map +1 -0
- package/dist/components/ui/navigation/sidebar.js +579 -0
- package/dist/components/ui/navigation/sidebar.js.map +1 -0
- package/dist/components/ui/navigation/tabs.cjs +2 -0
- package/dist/components/ui/navigation/tabs.cjs.map +1 -0
- package/dist/components/ui/navigation/tabs.js +58 -0
- package/dist/components/ui/navigation/tabs.js.map +1 -0
- package/dist/components/ui/navigation/underline-tabs.cjs +2 -0
- package/dist/components/ui/navigation/underline-tabs.cjs.map +1 -0
- package/dist/components/ui/navigation/underline-tabs.js +109 -0
- package/dist/components/ui/navigation/underline-tabs.js.map +1 -0
- package/dist/components/ui/overlays/alert-dialog.cjs +2 -0
- package/dist/components/ui/overlays/alert-dialog.cjs.map +1 -0
- package/dist/components/ui/overlays/alert-dialog.js +135 -0
- package/dist/components/ui/overlays/alert-dialog.js.map +1 -0
- package/dist/components/ui/overlays/command.cjs +2 -0
- package/dist/components/ui/overlays/command.cjs.map +1 -0
- package/dist/components/ui/overlays/command.js +143 -0
- package/dist/components/ui/overlays/command.js.map +1 -0
- package/dist/components/ui/overlays/context-menu.cjs +2 -0
- package/dist/components/ui/overlays/context-menu.cjs.map +1 -0
- package/dist/components/ui/overlays/context-menu.js +197 -0
- package/dist/components/ui/overlays/context-menu.js.map +1 -0
- package/dist/components/ui/overlays/dialog.cjs +2 -0
- package/dist/components/ui/overlays/dialog.cjs.map +1 -0
- package/dist/components/ui/overlays/dialog.js +112 -0
- package/dist/components/ui/overlays/dialog.js.map +1 -0
- package/dist/components/ui/overlays/drawer.cjs +2 -0
- package/dist/components/ui/overlays/drawer.cjs.map +1 -0
- package/dist/components/ui/overlays/drawer.js +109 -0
- package/dist/components/ui/overlays/drawer.js.map +1 -0
- package/dist/components/ui/overlays/dropdown-menu.cjs +2 -0
- package/dist/components/ui/overlays/dropdown-menu.cjs.map +1 -0
- package/dist/components/ui/overlays/dropdown-menu.js +198 -0
- package/dist/components/ui/overlays/dropdown-menu.js.map +1 -0
- package/dist/components/ui/overlays/hover-card.cjs +2 -0
- package/dist/components/ui/overlays/hover-card.cjs.map +1 -0
- package/dist/components/ui/overlays/hover-card.js +40 -0
- package/dist/components/ui/overlays/hover-card.js.map +1 -0
- package/dist/components/ui/overlays/menubar.cjs +2 -0
- package/dist/components/ui/overlays/menubar.cjs.map +1 -0
- package/dist/components/ui/overlays/menubar.js +213 -0
- package/dist/components/ui/overlays/menubar.js.map +1 -0
- package/dist/components/ui/overlays/popover.cjs +2 -0
- package/dist/components/ui/overlays/popover.cjs.map +1 -0
- package/dist/components/ui/overlays/popover.js +36 -0
- package/dist/components/ui/overlays/popover.js.map +1 -0
- package/dist/components/ui/overlays/sheet.cjs +2 -0
- package/dist/components/ui/overlays/sheet.cjs.map +1 -0
- package/dist/components/ui/overlays/sheet.js +109 -0
- package/dist/components/ui/overlays/sheet.js.map +1 -0
- package/dist/components/ui/overlays/side-panel.cjs +16 -0
- package/dist/components/ui/overlays/side-panel.cjs.map +1 -0
- package/dist/components/ui/overlays/side-panel.js +117 -0
- package/dist/components/ui/overlays/side-panel.js.map +1 -0
- package/dist/components/ui/overlays/tooltip.cjs +2 -0
- package/dist/components/ui/overlays/tooltip.cjs.map +1 -0
- package/dist/components/ui/overlays/tooltip.js +50 -0
- package/dist/components/ui/overlays/tooltip.js.map +1 -0
- package/dist/components/ui/primitives/aspect-ratio.cjs +2 -0
- package/dist/components/ui/primitives/aspect-ratio.cjs.map +1 -0
- package/dist/components/ui/primitives/aspect-ratio.js +10 -0
- package/dist/components/ui/primitives/aspect-ratio.js.map +1 -0
- package/dist/components/ui/primitives/avatar.cjs +2 -0
- package/dist/components/ui/primitives/avatar.cjs.map +1 -0
- package/dist/components/ui/primitives/avatar.js +63 -0
- package/dist/components/ui/primitives/avatar.js.map +1 -0
- package/dist/components/ui/primitives/badge.cjs +2 -0
- package/dist/components/ui/primitives/badge.cjs.map +1 -0
- package/dist/components/ui/primitives/badge.js +50 -0
- package/dist/components/ui/primitives/badge.js.map +1 -0
- package/dist/components/ui/primitives/brand-logo.cjs +2 -0
- package/dist/components/ui/primitives/brand-logo.cjs.map +1 -0
- package/dist/components/ui/primitives/brand-logo.js +74 -0
- package/dist/components/ui/primitives/brand-logo.js.map +1 -0
- package/dist/components/ui/primitives/brand-logo.negative-paths.cjs +2 -0
- package/dist/components/ui/primitives/brand-logo.negative-paths.cjs.map +1 -0
- package/dist/components/ui/primitives/brand-logo.negative-paths.js +15 -0
- package/dist/components/ui/primitives/brand-logo.negative-paths.js.map +1 -0
- package/dist/components/ui/primitives/brand-logo.positive-paths.cjs +2 -0
- package/dist/components/ui/primitives/brand-logo.positive-paths.cjs.map +1 -0
- package/dist/components/ui/primitives/brand-logo.positive-paths.js +15 -0
- package/dist/components/ui/primitives/brand-logo.positive-paths.js.map +1 -0
- package/dist/components/ui/primitives/brand-logo.symbol-paths.cjs +2 -0
- package/dist/components/ui/primitives/brand-logo.symbol-paths.cjs.map +1 -0
- package/dist/components/ui/primitives/brand-logo.symbol-paths.js +8 -0
- package/dist/components/ui/primitives/brand-logo.symbol-paths.js.map +1 -0
- package/dist/components/ui/primitives/button.cjs +2 -0
- package/dist/components/ui/primitives/button.cjs.map +1 -0
- package/dist/components/ui/primitives/button.js +52 -0
- package/dist/components/ui/primitives/button.js.map +1 -0
- package/dist/components/ui/primitives/label.cjs +2 -0
- package/dist/components/ui/primitives/label.cjs.map +1 -0
- package/dist/components/ui/primitives/label.js +22 -0
- package/dist/components/ui/primitives/label.js.map +1 -0
- package/dist/components/ui/primitives/progress.cjs +2 -0
- package/dist/components/ui/primitives/progress.cjs.map +1 -0
- package/dist/components/ui/primitives/progress.js +30 -0
- package/dist/components/ui/primitives/progress.js.map +1 -0
- package/dist/components/ui/primitives/separator.cjs +2 -0
- package/dist/components/ui/primitives/separator.cjs.map +1 -0
- package/dist/components/ui/primitives/separator.js +26 -0
- package/dist/components/ui/primitives/separator.js.map +1 -0
- package/dist/components/ui/primitives/skeleton.cjs +2 -0
- package/dist/components/ui/primitives/skeleton.cjs.map +1 -0
- package/dist/components/ui/primitives/skeleton.js +31 -0
- package/dist/components/ui/primitives/skeleton.js.map +1 -0
- package/dist/components/ui/utils.cjs +2 -0
- package/dist/components/ui/utils.cjs.map +1 -0
- package/dist/components/ui/utils.js +20 -0
- package/dist/components/ui/utils.js.map +1 -0
- package/dist/editor.cjs +2 -0
- package/dist/editor.cjs.map +1 -0
- package/dist/editor.d.cts +114 -0
- package/dist/editor.d.ts +114 -0
- package/dist/editor.js +12 -0
- package/dist/editor.js.map +1 -0
- package/dist/hooks/use-data-table-filters.cjs +2 -0
- package/dist/hooks/use-data-table-filters.cjs.map +1 -0
- package/dist/hooks/use-data-table-filters.js +118 -0
- package/dist/hooks/use-data-table-filters.js.map +1 -0
- package/dist/hooks/use-data-table.cjs +2 -0
- package/dist/hooks/use-data-table.cjs.map +1 -0
- package/dist/hooks/use-data-table.js +84 -0
- package/dist/hooks/use-data-table.js.map +1 -0
- package/dist/hooks/use-mobile.cjs +2 -0
- package/dist/hooks/use-mobile.cjs.map +1 -0
- package/dist/hooks/use-mobile.js +17 -0
- package/dist/hooks/use-mobile.js.map +1 -0
- package/dist/hooks/use-table-pagination.cjs +2 -0
- package/dist/hooks/use-table-pagination.cjs.map +1 -0
- package/dist/hooks/use-table-pagination.js +44 -0
- package/dist/hooks/use-table-pagination.js.map +1 -0
- package/dist/index.cjs +1 -242
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.cts +2918 -0
- package/dist/index.d.ts +2918 -149
- package/dist/index.js +375 -63715
- package/dist/index.js.map +1 -1
- package/dist/preset.css +352 -0
- package/dist/toast-theme.css +100 -0
- package/dist/tokens.css +471 -0
- package/package.json +144 -45
- package/scripts/codemod-v2-renames.mjs +101 -0
- package/scripts/codemod-v2-toast.mjs +84 -0
- package/dist/components/figma/ImageWithFallback.d.ts +0 -3
- package/dist/components/figma/ImageWithFallback.d.ts.map +0 -1
- package/dist/components/print-templates/ContractTemplate.d.ts +0 -89
- package/dist/components/print-templates/ContractTemplate.d.ts.map +0 -1
- package/dist/components/print-templates/ProposalTemplate.d.ts +0 -41
- package/dist/components/print-templates/ProposalTemplate.d.ts.map +0 -1
- package/dist/components/print-templates/index.d.ts +0 -22
- package/dist/components/print-templates/index.d.ts.map +0 -1
- package/dist/components/print-templates/shared/PrintFooter.d.ts +0 -21
- package/dist/components/print-templates/shared/PrintFooter.d.ts.map +0 -1
- package/dist/components/print-templates/shared/PrintHeader.d.ts +0 -38
- package/dist/components/print-templates/shared/PrintHeader.d.ts.map +0 -1
- package/dist/components/print-templates/shared/PrintInfoGrid.d.ts +0 -22
- package/dist/components/print-templates/shared/PrintInfoGrid.d.ts.map +0 -1
- package/dist/components/print-templates/shared/PrintSection.d.ts +0 -29
- package/dist/components/print-templates/shared/PrintSection.d.ts.map +0 -1
- package/dist/components/print-templates/shared/PrintSignature.d.ts +0 -27
- package/dist/components/print-templates/shared/PrintSignature.d.ts.map +0 -1
- package/dist/components/print-templates/shared/PrintTable.d.ts +0 -44
- package/dist/components/print-templates/shared/PrintTable.d.ts.map +0 -1
- package/dist/components/timeline-demo.d.ts +0 -3
- package/dist/components/timeline-demo.d.ts.map +0 -1
- package/dist/components/ui/accordion.d.ts +0 -8
- package/dist/components/ui/accordion.d.ts.map +0 -1
- package/dist/components/ui/advanced-data-table.d.ts +0 -100
- package/dist/components/ui/advanced-data-table.d.ts.map +0 -1
- package/dist/components/ui/alert-dialog.d.ts +0 -15
- package/dist/components/ui/alert-dialog.d.ts.map +0 -1
- package/dist/components/ui/alert-toast.d.ts +0 -11
- package/dist/components/ui/alert-toast.d.ts.map +0 -1
- package/dist/components/ui/alert.d.ts +0 -10
- package/dist/components/ui/alert.d.ts.map +0 -1
- package/dist/components/ui/app-layout-primary-nav.d.ts +0 -30
- package/dist/components/ui/app-layout-primary-nav.d.ts.map +0 -1
- package/dist/components/ui/app-layout-secondary-nav.d.ts +0 -34
- package/dist/components/ui/app-layout-secondary-nav.d.ts.map +0 -1
- package/dist/components/ui/app-layout-user-menu.d.ts +0 -28
- package/dist/components/ui/app-layout-user-menu.d.ts.map +0 -1
- package/dist/components/ui/aspect-ratio.d.ts +0 -4
- package/dist/components/ui/aspect-ratio.d.ts.map +0 -1
- package/dist/components/ui/auth-layout.d.ts +0 -28
- package/dist/components/ui/auth-layout.d.ts.map +0 -1
- package/dist/components/ui/avatar.d.ts +0 -21
- package/dist/components/ui/avatar.d.ts.map +0 -1
- package/dist/components/ui/badge.d.ts +0 -18
- package/dist/components/ui/badge.d.ts.map +0 -1
- package/dist/components/ui/brand-logo.d.ts +0 -7
- package/dist/components/ui/brand-logo.d.ts.map +0 -1
- package/dist/components/ui/breadcrumb.d.ts +0 -12
- package/dist/components/ui/breadcrumb.d.ts.map +0 -1
- package/dist/components/ui/button.d.ts +0 -15
- package/dist/components/ui/button.d.ts.map +0 -1
- package/dist/components/ui/calendar.d.ts +0 -31
- package/dist/components/ui/calendar.d.ts.map +0 -1
- package/dist/components/ui/card.d.ts +0 -10
- package/dist/components/ui/card.d.ts.map +0 -1
- package/dist/components/ui/carousel.d.ts +0 -20
- package/dist/components/ui/carousel.d.ts.map +0 -1
- package/dist/components/ui/chart.d.ts +0 -45
- package/dist/components/ui/chart.d.ts.map +0 -1
- package/dist/components/ui/checkbox.d.ts +0 -5
- package/dist/components/ui/checkbox.d.ts.map +0 -1
- package/dist/components/ui/collapsible.d.ts +0 -6
- package/dist/components/ui/collapsible.d.ts.map +0 -1
- package/dist/components/ui/color-picker.d.ts +0 -13
- package/dist/components/ui/color-picker.d.ts.map +0 -1
- package/dist/components/ui/combobox.d.ts +0 -118
- package/dist/components/ui/combobox.d.ts.map +0 -1
- package/dist/components/ui/command.d.ts +0 -17
- package/dist/components/ui/command.d.ts.map +0 -1
- package/dist/components/ui/comment-system.d.ts +0 -43
- package/dist/components/ui/comment-system.d.ts.map +0 -1
- package/dist/components/ui/context-menu.d.ts +0 -26
- package/dist/components/ui/context-menu.d.ts.map +0 -1
- package/dist/components/ui/contract-print.d.ts +0 -82
- package/dist/components/ui/contract-print.d.ts.map +0 -1
- package/dist/components/ui/currency-input.d.ts +0 -11
- package/dist/components/ui/currency-input.d.ts.map +0 -1
- package/dist/components/ui/data-table.d.ts +0 -30
- package/dist/components/ui/data-table.d.ts.map +0 -1
- package/dist/components/ui/date-picker.d.ts +0 -111
- package/dist/components/ui/date-picker.d.ts.map +0 -1
- package/dist/components/ui/date-range-picker.d.ts +0 -128
- package/dist/components/ui/date-range-picker.d.ts.map +0 -1
- package/dist/components/ui/dialog.d.ts +0 -14
- package/dist/components/ui/dialog.d.ts.map +0 -1
- package/dist/components/ui/document-editor.d.ts +0 -14
- package/dist/components/ui/document-editor.d.ts.map +0 -1
- package/dist/components/ui/donut-chart.d.ts +0 -32
- package/dist/components/ui/donut-chart.d.ts.map +0 -1
- package/dist/components/ui/drawer.d.ts +0 -14
- package/dist/components/ui/drawer.d.ts.map +0 -1
- package/dist/components/ui/dropdown-menu.d.ts +0 -26
- package/dist/components/ui/dropdown-menu.d.ts.map +0 -1
- package/dist/components/ui/editable-badge.d.ts +0 -98
- package/dist/components/ui/editable-badge.d.ts.map +0 -1
- package/dist/components/ui/editorial-calendar.d.ts +0 -22
- package/dist/components/ui/editorial-calendar.d.ts.map +0 -1
- package/dist/components/ui/empty-state.d.ts +0 -59
- package/dist/components/ui/empty-state.d.ts.map +0 -1
- package/dist/components/ui/filter-bar.d.ts +0 -16
- package/dist/components/ui/filter-bar.d.ts.map +0 -1
- package/dist/components/ui/filter-builder.d.ts +0 -39
- package/dist/components/ui/filter-builder.d.ts.map +0 -1
- package/dist/components/ui/filter-chip.d.ts +0 -8
- package/dist/components/ui/filter-chip.d.ts.map +0 -1
- package/dist/components/ui/form.d.ts +0 -25
- package/dist/components/ui/form.d.ts.map +0 -1
- package/dist/components/ui/gantt-chart.d.ts +0 -28
- package/dist/components/ui/gantt-chart.d.ts.map +0 -1
- package/dist/components/ui/hover-card.d.ts +0 -7
- package/dist/components/ui/hover-card.d.ts.map +0 -1
- package/dist/components/ui/illustrations.d.ts +0 -76
- package/dist/components/ui/illustrations.d.ts.map +0 -1
- package/dist/components/ui/index.d.ts +0 -91
- package/dist/components/ui/index.d.ts.map +0 -1
- package/dist/components/ui/input-group.d.ts +0 -19
- package/dist/components/ui/input-group.d.ts.map +0 -1
- package/dist/components/ui/input-otp.d.ts +0 -12
- package/dist/components/ui/input-otp.d.ts.map +0 -1
- package/dist/components/ui/input-validation.d.ts +0 -35
- package/dist/components/ui/input-validation.d.ts.map +0 -1
- package/dist/components/ui/input.d.ts +0 -4
- package/dist/components/ui/input.d.ts.map +0 -1
- package/dist/components/ui/kanban-card.d.ts +0 -59
- package/dist/components/ui/kanban-card.d.ts.map +0 -1
- package/dist/components/ui/kanban-generic-card.d.ts +0 -43
- package/dist/components/ui/kanban-generic-card.d.ts.map +0 -1
- package/dist/components/ui/kpi-card.d.ts +0 -45
- package/dist/components/ui/kpi-card.d.ts.map +0 -1
- package/dist/components/ui/label.d.ts +0 -5
- package/dist/components/ui/label.d.ts.map +0 -1
- package/dist/components/ui/lista-anexos-arquivo.d.ts +0 -47
- package/dist/components/ui/lista-anexos-arquivo.d.ts.map +0 -1
- package/dist/components/ui/mention-list.d.ts +0 -7
- package/dist/components/ui/mention-list.d.ts.map +0 -1
- package/dist/components/ui/menubar.d.ts +0 -27
- package/dist/components/ui/menubar.d.ts.map +0 -1
- package/dist/components/ui/month-range-picker.d.ts +0 -71
- package/dist/components/ui/month-range-picker.d.ts.map +0 -1
- package/dist/components/ui/multi-select.d.ts +0 -98
- package/dist/components/ui/multi-select.d.ts.map +0 -1
- package/dist/components/ui/navigation-menu.d.ts +0 -15
- package/dist/components/ui/navigation-menu.d.ts.map +0 -1
- package/dist/components/ui/number-input.d.ts +0 -83
- package/dist/components/ui/number-input.d.ts.map +0 -1
- package/dist/components/ui/page-header.d.ts +0 -32
- package/dist/components/ui/page-header.d.ts.map +0 -1
- package/dist/components/ui/pagination.d.ts +0 -14
- package/dist/components/ui/pagination.d.ts.map +0 -1
- package/dist/components/ui/password-input.d.ts +0 -7
- package/dist/components/ui/password-input.d.ts.map +0 -1
- package/dist/components/ui/popover.d.ts +0 -8
- package/dist/components/ui/popover.d.ts.map +0 -1
- package/dist/components/ui/progress-timeline.d.ts +0 -42
- package/dist/components/ui/progress-timeline.d.ts.map +0 -1
- package/dist/components/ui/progress.d.ts +0 -7
- package/dist/components/ui/progress.d.ts.map +0 -1
- package/dist/components/ui/radio-group.d.ts +0 -6
- package/dist/components/ui/radio-group.d.ts.map +0 -1
- package/dist/components/ui/resizable.d.ts +0 -9
- package/dist/components/ui/resizable.d.ts.map +0 -1
- package/dist/components/ui/saved-filters.d.ts +0 -16
- package/dist/components/ui/saved-filters.d.ts.map +0 -1
- package/dist/components/ui/scroll-area.d.ts +0 -8
- package/dist/components/ui/scroll-area.d.ts.map +0 -1
- package/dist/components/ui/select.d.ts +0 -16
- package/dist/components/ui/select.d.ts.map +0 -1
- package/dist/components/ui/separator.d.ts +0 -5
- package/dist/components/ui/separator.d.ts.map +0 -1
- package/dist/components/ui/sheet.d.ts +0 -14
- package/dist/components/ui/sheet.d.ts.map +0 -1
- package/dist/components/ui/side-panel.d.ts +0 -40
- package/dist/components/ui/side-panel.d.ts.map +0 -1
- package/dist/components/ui/sidebar.d.ts +0 -70
- package/dist/components/ui/sidebar.d.ts.map +0 -1
- package/dist/components/ui/skeleton.d.ts +0 -8
- package/dist/components/ui/skeleton.d.ts.map +0 -1
- package/dist/components/ui/slider.d.ts +0 -5
- package/dist/components/ui/slider.d.ts.map +0 -1
- package/dist/components/ui/social-button.d.ts +0 -13
- package/dist/components/ui/social-button.d.ts.map +0 -1
- package/dist/components/ui/switch.d.ts +0 -5
- package/dist/components/ui/switch.d.ts.map +0 -1
- package/dist/components/ui/table-pagination.d.ts +0 -131
- package/dist/components/ui/table-pagination.d.ts.map +0 -1
- package/dist/components/ui/table-types.d.ts +0 -320
- package/dist/components/ui/table-types.d.ts.map +0 -1
- package/dist/components/ui/table.d.ts +0 -34
- package/dist/components/ui/table.d.ts.map +0 -1
- package/dist/components/ui/tabs.d.ts +0 -8
- package/dist/components/ui/tabs.d.ts.map +0 -1
- package/dist/components/ui/task-edit-dialog.d.ts +0 -15
- package/dist/components/ui/task-edit-dialog.d.ts.map +0 -1
- package/dist/components/ui/textarea.d.ts +0 -4
- package/dist/components/ui/textarea.d.ts.map +0 -1
- package/dist/components/ui/time-picker.d.ts +0 -85
- package/dist/components/ui/time-picker.d.ts.map +0 -1
- package/dist/components/ui/timeline.d.ts +0 -63
- package/dist/components/ui/timeline.d.ts.map +0 -1
- package/dist/components/ui/toast.d.ts +0 -5
- package/dist/components/ui/toast.d.ts.map +0 -1
- package/dist/components/ui/toggle-group.d.ts +0 -8
- package/dist/components/ui/toggle-group.d.ts.map +0 -1
- package/dist/components/ui/toggle.d.ts +0 -10
- package/dist/components/ui/toggle.d.ts.map +0 -1
- package/dist/components/ui/tooltip.d.ts +0 -8
- package/dist/components/ui/tooltip.d.ts.map +0 -1
- package/dist/components/ui/underline-tabs.d.ts +0 -29
- package/dist/components/ui/underline-tabs.d.ts.map +0 -1
- package/dist/components/ui/use-mobile.d.ts +0 -2
- package/dist/components/ui/use-mobile.d.ts.map +0 -1
- package/dist/components/ui/use-print-contract.d.ts +0 -37
- package/dist/components/ui/use-print-contract.d.ts.map +0 -1
- package/dist/components/ui/utils.d.ts +0 -3
- package/dist/components/ui/utils.d.ts.map +0 -1
- package/dist/components/ui/zona-upload-arquivo.d.ts +0 -34
- package/dist/components/ui/zona-upload-arquivo.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.js","sources":["../../../../src/components/ui/feedback/alert.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../utils\";\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive: \"alert-variant-destructive\",\n // CSS-variable–based variants: adapt automatically in dark/light mode\n // via alert-theme.css (uses --info, --success, --warning, --destructive semantic vars)\n info: \"alert-variant-info\",\n success: \"alert-variant-success\",\n warning: \"alert-variant-warning\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nconst Alert = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>\n>(({ className, variant, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n));\nAlert.displayName = \"Alert\";\n\nconst AlertTitle = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"alert-title\"\n className={cn(\n \"col-start-2 line-clamp-1 min-h-4 font-semibold leading-[1.2] tracking-tight\",\n className,\n )}\n {...props}\n />\n ),\n);\nAlertTitle.displayName = \"AlertTitle\";\n\nconst AlertDescription = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"alert-description\"\n className={cn(\n \"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed\",\n className,\n )}\n {...props}\n />\n));\nAlertDescription.displayName = \"AlertDescription\";\n\nexport { Alert, AlertTitle, AlertDescription };\n"],"names":["alertVariants","cva","Alert","React","className","variant","props","ref","jsx","cn","AlertTitle","AlertDescription"],"mappings":";;;;AAKA,MAAMA,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,aAAa;AAAA;AAAA;AAAA,QAGb,MAAM;AAAA,QACN,SAAS;AAAA,QACT,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ,GAEMC,IAAQC,EAAM,WAGlB,CAAC,EAAE,WAAAC,GAAW,SAAAC,GAAS,GAAGC,KAASC,MACnC,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,aAAU;AAAA,IACV,MAAK;AAAA,IACL,WAAWE,EAAGT,EAAc,EAAE,SAAAK,EAAA,CAAS,GAAGD,CAAS;AAAA,IAClD,GAAGE;AAAA,EAAA;AACN,CACD;AACDJ,EAAM,cAAc;AAEpB,MAAMQ,IAAaP,EAAM;AAAA,EACvB,CAAC,EAAE,WAAAC,GAAW,GAAGE,EAAA,GAASC,MACxB,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,aAAU;AAAA,MACV,WAAWE;AAAA,QACT;AAAA,QACAL;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AACAI,EAAW,cAAc;AAEzB,MAAMC,IAAmBR,EAAM,WAG7B,CAAC,EAAE,WAAAC,GAAW,GAAGE,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,aAAU;AAAA,IACV,WAAWE;AAAA,MACT;AAAA,MACAL;AAAA,IAAA;AAAA,IAED,GAAGE;AAAA,EAAA;AACN,CACD;AACDK,EAAiB,cAAc;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),a=require("../primitives/button.cjs"),i=require("../utils.cjs"),x={"first-use":"bg-primary/8 text-primary",cleared:"bg-success/10 text-success","no-results":"bg-muted text-muted-foreground",error:"bg-destructive/10 text-destructive"};function o({icon:r,illustration:l,title:n,description:c,variant:u="first-use",primaryAction:t,secondaryAction:s,className:d}){return e.jsxs("div",{className:i.cn("flex flex-col items-center justify-center gap-4 py-12 px-6 text-center",d),role:"status","aria-live":"polite",children:[l?e.jsx("img",{src:l,alt:"",className:"w-32 h-32 object-contain","aria-hidden":"true"}):r?e.jsx("div",{className:i.cn("flex size-16 items-center justify-center rounded-2xl",x[u]),"aria-hidden":"true",children:e.jsx(r,{className:"size-8"})}):null,e.jsxs("div",{className:"max-w-sm space-y-1.5",children:[e.jsx("h3",{className:"text-base font-semibold leading-snug text-foreground",children:n}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:c})]}),(t||s)&&e.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-3 pt-1",children:[t&&e.jsx(a.Button,{variant:t.variant??"default",onClick:t.onClick,children:t.label}),s&&e.jsx(a.Button,{variant:s.variant??"outline",onClick:s.onClick,children:s.label})]})]})}exports.EmptyState=o;
|
|
2
|
+
//# sourceMappingURL=empty-state.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty-state.cjs","sources":["../../../../src/components/ui/feedback/empty-state.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { type LucideIcon } from \"lucide-react\";\n\nimport { Button } from \"../primitives/button\";\nimport { cn } from \"../utils\";\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Tipos\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport type EmptyStateVariant =\n | \"first-use\" // Usuário nunca usou — convide à primeira ação\n | \"cleared\" // Usuário esvaziou / completou tudo — celebre\n | \"no-results\" // Busca ou filtro sem resultados — oriente a ajustar\n | \"error\"; // Falha ao carregar dados — explique e dê saída\n\nexport interface EmptyStateAction {\n label: string;\n onClick: () => void;\n /** @default \"default\" */\n variant?: React.ComponentProps<typeof Button>[\"variant\"];\n}\n\nexport interface EmptyStateProps {\n /** Ícone principal. Prefira ícones do lucide-react com semântica relacionada ao contexto. */\n icon?: LucideIcon;\n /** Ilustração PNG do design system (alternativa ao icon). Precede o icon se ambos forem fornecidos. */\n illustration?: string;\n /** Título curto e orientado à situação do usuário. */\n title: string;\n /** Descrição que explica o valor da funcionalidade e o próximo passo. */\n description: string;\n /** Variante semântica do empty state. Controla o estilo do ícone. */\n variant?: EmptyStateVariant;\n /** Ação primária — botão principal de CTA. */\n primaryAction?: EmptyStateAction;\n /** Ação secundária — alternativa ou link de ajuda. */\n secondaryAction?: EmptyStateAction;\n className?: string;\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Estilos por variante\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst iconContainerVariants: Record<EmptyStateVariant, string> = {\n \"first-use\": \"bg-primary/8 text-primary\",\n \"cleared\": \"bg-success/10 text-success\",\n \"no-results\": \"bg-muted text-muted-foreground\",\n \"error\": \"bg-destructive/10 text-destructive\",\n};\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Componente\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * EmptyState — Estado vazio padronizado do iClips.\n *\n * Age como \"mentor\" (arquétipo Herói): nunca exibe uma tela em branco nem\n * culpa o usuário. Em vez disso, explica o contexto e convida à ação.\n *\n * Variantes:\n * - **first-use**: Primeira visita ao módulo. Foco em benefício + CTA.\n * - **cleared**: Usuário concluiu ou limpou tudo. Tom celebratório.\n * - **no-results**: Busca/filtro sem retorno. Oriente a ajustar a busca.\n * - **error**: Falha de carregamento. Explique e dê uma saída clara.\n *\n * @example Com ícone Lucide\n * <EmptyState\n * variant=\"first-use\"\n * icon={FolderOpen}\n * title=\"Seu primeiro projeto está esperando por você\"\n * description=\"Centralize jobs, prazos e equipe em um único lugar.\"\n * primaryAction={{ label: \"Criar Primeiro Projeto\", onClick: handleCreate }}\n * />\n * \n * @example Com ilustração PNG\n * <EmptyState\n * variant=\"first-use\"\n * illustration=\"/illustrations/contract-agreement.png\"\n * title=\"Nenhum contrato cadastrado\"\n * description=\"Crie contratos para gerenciar seus empenhos.\"\n * primaryAction={{ label: \"Criar Contrato\", onClick: handleCreate }}\n * />\n */\nexport function EmptyState({\n icon: Icon,\n illustration,\n title,\n description,\n variant = \"first-use\",\n primaryAction,\n secondaryAction,\n className,\n}: EmptyStateProps) {\n return (\n <div\n className={cn(\n \"flex flex-col items-center justify-center gap-4 py-12 px-6 text-center\",\n className,\n )}\n role=\"status\"\n aria-live=\"polite\"\n >\n {/* Ilustração PNG ou Ícone */}\n {illustration ? (\n <img\n src={illustration}\n alt=\"\"\n className=\"w-32 h-32 object-contain\"\n aria-hidden=\"true\"\n />\n ) : Icon ? (\n <div\n className={cn(\n \"flex size-16 items-center justify-center rounded-2xl\",\n iconContainerVariants[variant],\n )}\n aria-hidden=\"true\"\n >\n <Icon className=\"size-8\" />\n </div>\n ) : null}\n\n {/* Texto */}\n <div className=\"max-w-sm space-y-1.5\">\n <h3 className=\"text-base font-semibold leading-snug text-foreground\">\n {title}\n </h3>\n <p className=\"text-sm text-muted-foreground leading-relaxed\">\n {description}\n </p>\n </div>\n\n {/* Ações */}\n {(primaryAction || secondaryAction) && (\n <div className=\"flex flex-wrap items-center justify-center gap-3 pt-1\">\n {primaryAction && (\n <Button\n variant={primaryAction.variant ?? \"default\"}\n onClick={primaryAction.onClick}\n >\n {primaryAction.label}\n </Button>\n )}\n {secondaryAction && (\n <Button\n variant={secondaryAction.variant ?? \"outline\"}\n onClick={secondaryAction.onClick}\n >\n {secondaryAction.label}\n </Button>\n )}\n </div>\n )}\n </div>\n );\n}\n"],"names":["iconContainerVariants","EmptyState","Icon","illustration","title","description","variant","primaryAction","secondaryAction","className","jsxs","cn","jsx","Button"],"mappings":"qLA6CMA,EAA2D,CAC/D,YAAc,4BACd,QAAc,6BACd,aAAc,iCACd,MAAc,oCAChB,EAoCO,SAASC,EAAW,CACzB,KAAMC,EACN,aAAAC,EACA,MAAAC,EACA,YAAAC,EACA,QAAAC,EAAU,YACV,cAAAC,EACA,gBAAAC,EACA,UAAAC,CACF,EAAoB,CAClB,OACEC,EAAAA,KAAC,MAAA,CACC,UAAWC,EAAAA,GACT,yEACAF,CAAA,EAEF,KAAK,SACL,YAAU,SAGT,SAAA,CAAAN,EACCS,EAAAA,IAAC,MAAA,CACC,IAAKT,EACL,IAAI,GACJ,UAAU,2BACV,cAAY,MAAA,CAAA,EAEZD,EACFU,EAAAA,IAAC,MAAA,CACC,UAAWD,EAAAA,GACT,uDACAX,EAAsBM,CAAO,CAAA,EAE/B,cAAY,OAEZ,SAAAM,EAAAA,IAACV,EAAA,CAAK,UAAU,QAAA,CAAS,CAAA,CAAA,EAEzB,KAGJQ,EAAAA,KAAC,MAAA,CAAI,UAAU,uBACb,SAAA,CAAAE,EAAAA,IAAC,KAAA,CAAG,UAAU,uDACX,SAAAR,EACH,EACAQ,EAAAA,IAAC,IAAA,CAAE,UAAU,gDACV,SAAAP,CAAA,CACH,CAAA,EACF,GAGEE,GAAiBC,IACjBE,EAAAA,KAAC,MAAA,CAAI,UAAU,wDACZ,SAAA,CAAAH,GACCK,EAAAA,IAACC,EAAAA,OAAA,CACC,QAASN,EAAc,SAAW,UAClC,QAASA,EAAc,QAEtB,SAAAA,EAAc,KAAA,CAAA,EAGlBC,GACCI,EAAAA,IAACC,EAAAA,OAAA,CACC,QAASL,EAAgB,SAAW,UACpC,QAASA,EAAgB,QAExB,SAAAA,EAAgB,KAAA,CAAA,CACnB,CAAA,CAEJ,CAAA,CAAA,CAAA,CAIR"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { jsxs as r, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { Button as i } from "../primitives/button.js";
|
|
3
|
+
import { cn as n } from "../utils.js";
|
|
4
|
+
const x = {
|
|
5
|
+
"first-use": "bg-primary/8 text-primary",
|
|
6
|
+
cleared: "bg-success/10 text-success",
|
|
7
|
+
"no-results": "bg-muted text-muted-foreground",
|
|
8
|
+
error: "bg-destructive/10 text-destructive"
|
|
9
|
+
};
|
|
10
|
+
function h({
|
|
11
|
+
icon: a,
|
|
12
|
+
illustration: l,
|
|
13
|
+
title: c,
|
|
14
|
+
description: d,
|
|
15
|
+
variant: u = "first-use",
|
|
16
|
+
primaryAction: t,
|
|
17
|
+
secondaryAction: s,
|
|
18
|
+
className: m
|
|
19
|
+
}) {
|
|
20
|
+
return /* @__PURE__ */ r(
|
|
21
|
+
"div",
|
|
22
|
+
{
|
|
23
|
+
className: n(
|
|
24
|
+
"flex flex-col items-center justify-center gap-4 py-12 px-6 text-center",
|
|
25
|
+
m
|
|
26
|
+
),
|
|
27
|
+
role: "status",
|
|
28
|
+
"aria-live": "polite",
|
|
29
|
+
children: [
|
|
30
|
+
l ? /* @__PURE__ */ e(
|
|
31
|
+
"img",
|
|
32
|
+
{
|
|
33
|
+
src: l,
|
|
34
|
+
alt: "",
|
|
35
|
+
className: "w-32 h-32 object-contain",
|
|
36
|
+
"aria-hidden": "true"
|
|
37
|
+
}
|
|
38
|
+
) : a ? /* @__PURE__ */ e(
|
|
39
|
+
"div",
|
|
40
|
+
{
|
|
41
|
+
className: n(
|
|
42
|
+
"flex size-16 items-center justify-center rounded-2xl",
|
|
43
|
+
x[u]
|
|
44
|
+
),
|
|
45
|
+
"aria-hidden": "true",
|
|
46
|
+
children: /* @__PURE__ */ e(a, { className: "size-8" })
|
|
47
|
+
}
|
|
48
|
+
) : null,
|
|
49
|
+
/* @__PURE__ */ r("div", { className: "max-w-sm space-y-1.5", children: [
|
|
50
|
+
/* @__PURE__ */ e("h3", { className: "text-base font-semibold leading-snug text-foreground", children: c }),
|
|
51
|
+
/* @__PURE__ */ e("p", { className: "text-sm text-muted-foreground leading-relaxed", children: d })
|
|
52
|
+
] }),
|
|
53
|
+
(t || s) && /* @__PURE__ */ r("div", { className: "flex flex-wrap items-center justify-center gap-3 pt-1", children: [
|
|
54
|
+
t && /* @__PURE__ */ e(
|
|
55
|
+
i,
|
|
56
|
+
{
|
|
57
|
+
variant: t.variant ?? "default",
|
|
58
|
+
onClick: t.onClick,
|
|
59
|
+
children: t.label
|
|
60
|
+
}
|
|
61
|
+
),
|
|
62
|
+
s && /* @__PURE__ */ e(
|
|
63
|
+
i,
|
|
64
|
+
{
|
|
65
|
+
variant: s.variant ?? "outline",
|
|
66
|
+
onClick: s.onClick,
|
|
67
|
+
children: s.label
|
|
68
|
+
}
|
|
69
|
+
)
|
|
70
|
+
] })
|
|
71
|
+
]
|
|
72
|
+
}
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
export {
|
|
76
|
+
h as EmptyState
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=empty-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty-state.js","sources":["../../../../src/components/ui/feedback/empty-state.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { type LucideIcon } from \"lucide-react\";\n\nimport { Button } from \"../primitives/button\";\nimport { cn } from \"../utils\";\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Tipos\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport type EmptyStateVariant =\n | \"first-use\" // Usuário nunca usou — convide à primeira ação\n | \"cleared\" // Usuário esvaziou / completou tudo — celebre\n | \"no-results\" // Busca ou filtro sem resultados — oriente a ajustar\n | \"error\"; // Falha ao carregar dados — explique e dê saída\n\nexport interface EmptyStateAction {\n label: string;\n onClick: () => void;\n /** @default \"default\" */\n variant?: React.ComponentProps<typeof Button>[\"variant\"];\n}\n\nexport interface EmptyStateProps {\n /** Ícone principal. Prefira ícones do lucide-react com semântica relacionada ao contexto. */\n icon?: LucideIcon;\n /** Ilustração PNG do design system (alternativa ao icon). Precede o icon se ambos forem fornecidos. */\n illustration?: string;\n /** Título curto e orientado à situação do usuário. */\n title: string;\n /** Descrição que explica o valor da funcionalidade e o próximo passo. */\n description: string;\n /** Variante semântica do empty state. Controla o estilo do ícone. */\n variant?: EmptyStateVariant;\n /** Ação primária — botão principal de CTA. */\n primaryAction?: EmptyStateAction;\n /** Ação secundária — alternativa ou link de ajuda. */\n secondaryAction?: EmptyStateAction;\n className?: string;\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Estilos por variante\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst iconContainerVariants: Record<EmptyStateVariant, string> = {\n \"first-use\": \"bg-primary/8 text-primary\",\n \"cleared\": \"bg-success/10 text-success\",\n \"no-results\": \"bg-muted text-muted-foreground\",\n \"error\": \"bg-destructive/10 text-destructive\",\n};\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Componente\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * EmptyState — Estado vazio padronizado do iClips.\n *\n * Age como \"mentor\" (arquétipo Herói): nunca exibe uma tela em branco nem\n * culpa o usuário. Em vez disso, explica o contexto e convida à ação.\n *\n * Variantes:\n * - **first-use**: Primeira visita ao módulo. Foco em benefício + CTA.\n * - **cleared**: Usuário concluiu ou limpou tudo. Tom celebratório.\n * - **no-results**: Busca/filtro sem retorno. Oriente a ajustar a busca.\n * - **error**: Falha de carregamento. Explique e dê uma saída clara.\n *\n * @example Com ícone Lucide\n * <EmptyState\n * variant=\"first-use\"\n * icon={FolderOpen}\n * title=\"Seu primeiro projeto está esperando por você\"\n * description=\"Centralize jobs, prazos e equipe em um único lugar.\"\n * primaryAction={{ label: \"Criar Primeiro Projeto\", onClick: handleCreate }}\n * />\n * \n * @example Com ilustração PNG\n * <EmptyState\n * variant=\"first-use\"\n * illustration=\"/illustrations/contract-agreement.png\"\n * title=\"Nenhum contrato cadastrado\"\n * description=\"Crie contratos para gerenciar seus empenhos.\"\n * primaryAction={{ label: \"Criar Contrato\", onClick: handleCreate }}\n * />\n */\nexport function EmptyState({\n icon: Icon,\n illustration,\n title,\n description,\n variant = \"first-use\",\n primaryAction,\n secondaryAction,\n className,\n}: EmptyStateProps) {\n return (\n <div\n className={cn(\n \"flex flex-col items-center justify-center gap-4 py-12 px-6 text-center\",\n className,\n )}\n role=\"status\"\n aria-live=\"polite\"\n >\n {/* Ilustração PNG ou Ícone */}\n {illustration ? (\n <img\n src={illustration}\n alt=\"\"\n className=\"w-32 h-32 object-contain\"\n aria-hidden=\"true\"\n />\n ) : Icon ? (\n <div\n className={cn(\n \"flex size-16 items-center justify-center rounded-2xl\",\n iconContainerVariants[variant],\n )}\n aria-hidden=\"true\"\n >\n <Icon className=\"size-8\" />\n </div>\n ) : null}\n\n {/* Texto */}\n <div className=\"max-w-sm space-y-1.5\">\n <h3 className=\"text-base font-semibold leading-snug text-foreground\">\n {title}\n </h3>\n <p className=\"text-sm text-muted-foreground leading-relaxed\">\n {description}\n </p>\n </div>\n\n {/* Ações */}\n {(primaryAction || secondaryAction) && (\n <div className=\"flex flex-wrap items-center justify-center gap-3 pt-1\">\n {primaryAction && (\n <Button\n variant={primaryAction.variant ?? \"default\"}\n onClick={primaryAction.onClick}\n >\n {primaryAction.label}\n </Button>\n )}\n {secondaryAction && (\n <Button\n variant={secondaryAction.variant ?? \"outline\"}\n onClick={secondaryAction.onClick}\n >\n {secondaryAction.label}\n </Button>\n )}\n </div>\n )}\n </div>\n );\n}\n"],"names":["iconContainerVariants","EmptyState","Icon","illustration","title","description","variant","primaryAction","secondaryAction","className","jsxs","cn","jsx","Button"],"mappings":";;;AA6CA,MAAMA,IAA2D;AAAA,EAC/D,aAAc;AAAA,EACd,SAAc;AAAA,EACd,cAAc;AAAA,EACd,OAAc;AAChB;AAoCO,SAASC,EAAW;AAAA,EACzB,MAAMC;AAAA,EACN,cAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,eAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,WAAAC;AACF,GAAoB;AAClB,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAF;AAAA,MAAA;AAAA,MAEF,MAAK;AAAA,MACL,aAAU;AAAA,MAGT,UAAA;AAAA,QAAAN,IACC,gBAAAS;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,KAAKT;AAAA,YACL,KAAI;AAAA,YACJ,WAAU;AAAA,YACV,eAAY;AAAA,UAAA;AAAA,QAAA,IAEZD,IACF,gBAAAU;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWD;AAAA,cACT;AAAA,cACAX,EAAsBM,CAAO;AAAA,YAAA;AAAA,YAE/B,eAAY;AAAA,YAEZ,UAAA,gBAAAM,EAACV,GAAA,EAAK,WAAU,SAAA,CAAS;AAAA,UAAA;AAAA,QAAA,IAEzB;AAAA,QAGJ,gBAAAQ,EAAC,OAAA,EAAI,WAAU,wBACb,UAAA;AAAA,UAAA,gBAAAE,EAAC,MAAA,EAAG,WAAU,wDACX,UAAAR,GACH;AAAA,UACA,gBAAAQ,EAAC,KAAA,EAAE,WAAU,iDACV,UAAAP,EAAA,CACH;AAAA,QAAA,GACF;AAAA,SAGEE,KAAiBC,MACjB,gBAAAE,EAAC,OAAA,EAAI,WAAU,yDACZ,UAAA;AAAA,UAAAH,KACC,gBAAAK;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,SAASN,EAAc,WAAW;AAAA,cAClC,SAASA,EAAc;AAAA,cAEtB,UAAAA,EAAc;AAAA,YAAA;AAAA,UAAA;AAAA,UAGlBC,KACC,gBAAAI;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,SAASL,EAAgB,WAAW;AAAA,cACpC,SAASA,EAAgB;AAAA,cAExB,UAAAA,EAAgB;AAAA,YAAA;AAAA,UAAA;AAAA,QACnB,EAAA,CAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),h=require("../utils.cjs"),j=require("../../../assets/illustrations/announcements.png.cjs"),x=require("../../../assets/illustrations/checklist-approved.png.cjs"),C=require("../../../assets/illustrations/client-profile.png.cjs"),o=require("../../../assets/illustrations/contract-agreement.png.cjs"),s=require("../../../assets/illustrations/create-record.png.cjs"),k=require("../../../assets/illustrations/cta-action.png.cjs"),g=require("../../../assets/illustrations/draft-document.png.cjs"),A=require("../../../assets/illustrations/edit-company.png.cjs"),b=require("../../../assets/illustrations/edit-document.png.cjs"),a=require("../../../assets/illustrations/empty-no-results.png.cjs"),u=require("../../../assets/illustrations/empty-not-found.png.cjs"),c=require("../../../assets/illustrations/empty-task-approved.png.cjs"),N=require("../../../assets/illustrations/empty-workflow-status.png.cjs"),v=require("../../../assets/illustrations/integrations.png.cjs"),T=require("../../../assets/illustrations/onboarding-tips.png.cjs"),l=require("../../../assets/illustrations/scheduled-tasks.png.cjs"),D=require("../../../assets/illustrations/search-documents.png.cjs"),i=require("../../../assets/illustrations/success-checkmark.png.cjs"),P={sm:"w-24 h-24",md:"w-32 h-32",lg:"w-48 h-48"};function n({src:t,alt:e,size:E="md",className:S}){return r.jsx("img",{src:t,alt:e,className:h.cn(P[E],"object-contain",S)})}function d({size:t="md",className:e}){return r.jsx(n,{src:c.default,alt:"Caixa de entrada vazia",size:t,className:e})}function m({size:t="md",className:e}){return r.jsx(n,{src:a.default,alt:"Nenhum resultado encontrado",size:t,className:e})}function f({size:t="md",className:e}){return r.jsx(n,{src:s.default,alt:"Nenhum projeto criado",size:t,className:e})}function p({size:t="md",className:e}){return r.jsx(n,{src:l.default,alt:"Calendário sem eventos",size:t,className:e})}function y({size:t="md",className:e}){return r.jsx(n,{src:u.default,alt:"Erro ou item não encontrado",size:t,className:e})}function I({size:t="md",className:e}){return r.jsx(n,{src:i.default,alt:"Ação concluída com sucesso",size:t,className:e})}function q({size:t="md",className:e}){return r.jsx(n,{src:o.default,alt:"Nenhum contrato cadastrado",size:t,className:e})}const w={EmptyInbox:d,EmptySearch:m,EmptyProjects:f,EmptyCalendar:p,EmptyContracts:q,ErrorState:y,SuccessState:I},R={emptyTaskApproved:c.default,emptyNoResults:a.default,createRecord:s.default,scheduledTasks:l.default,emptyNotFound:u.default,successCheckmark:i.default,contractAgreement:o.default,announcements:j.default,checklistApproved:x.default,clientProfile:C.default,ctaAction:k.default,draftDocument:g.default,editCompany:A.default,editDocument:b.default,emptyWorkflowStatus:N.default,integrations:v.default,onboardingTips:T.default,searchDocuments:D.default};exports.EmptyCalendarIllustration=p;exports.EmptyContractsIllustration=q;exports.EmptyInboxIllustration=d;exports.EmptyProjectsIllustration=f;exports.EmptySearchIllustration=m;exports.ErrorStateIllustration=y;exports.Illustrations=w;exports.SuccessStateIllustration=I;exports.illustrationSources=R;
|
|
2
|
+
//# sourceMappingURL=illustrations.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"illustrations.cjs","sources":["../../../../src/components/ui/feedback/illustrations.tsx"],"sourcesContent":["/**\n * Illustration System - iClips Design System\n *\n * Componentes de ilustração respaldados pelos assets PNG oficiais da marca.\n * Os arquivos são importados como módulos e bundlados junto com a lib.\n */\n\nimport { cn } from \"../utils\";\n\nimport announcementsSrc from \"../../../assets/illustrations/announcements.png\";\nimport checklistApprovedSrc from \"../../../assets/illustrations/checklist-approved.png\";\nimport clientProfileSrc from \"../../../assets/illustrations/client-profile.png\";\nimport contractAgreementSrc from \"../../../assets/illustrations/contract-agreement.png\";\nimport createRecordSrc from \"../../../assets/illustrations/create-record.png\";\nimport ctaActionSrc from \"../../../assets/illustrations/cta-action.png\";\nimport draftDocumentSrc from \"../../../assets/illustrations/draft-document.png\";\nimport editCompanySrc from \"../../../assets/illustrations/edit-company.png\";\nimport editDocumentSrc from \"../../../assets/illustrations/edit-document.png\";\nimport emptyNoResultsSrc from \"../../../assets/illustrations/empty-no-results.png\";\nimport emptyNotFoundSrc from \"../../../assets/illustrations/empty-not-found.png\";\nimport emptyTaskApprovedSrc from \"../../../assets/illustrations/empty-task-approved.png\";\nimport emptyWorkflowStatusSrc from \"../../../assets/illustrations/empty-workflow-status.png\";\nimport integrationsSrc from \"../../../assets/illustrations/integrations.png\";\nimport onboardingTipsSrc from \"../../../assets/illustrations/onboarding-tips.png\";\nimport scheduledTasksSrc from \"../../../assets/illustrations/scheduled-tasks.png\";\nimport searchDocumentsSrc from \"../../../assets/illustrations/search-documents.png\";\nimport successCheckmarkSrc from \"../../../assets/illustrations/success-checkmark.png\";\n\ninterface IllustrationProps {\n className?: string;\n size?: \"sm\" | \"md\" | \"lg\";\n}\n\nconst sizeClasses = {\n sm: \"w-24 h-24\",\n md: \"w-32 h-32\",\n lg: \"w-48 h-48\",\n};\n\nfunction IllustrationImage({\n src,\n alt,\n size = \"md\",\n className,\n}: IllustrationProps & { src: string; alt: string }) {\n return (\n <img\n src={src}\n alt={alt}\n className={cn(sizeClasses[size], \"object-contain\", className)}\n />\n );\n}\n\n/**\n * Empty Inbox Illustration\n * Use for: No messages, no notifications, cleared inbox\n */\nexport function EmptyInboxIllustration({ size = \"md\", className }: IllustrationProps) {\n return (\n <IllustrationImage\n src={emptyTaskApprovedSrc}\n alt=\"Caixa de entrada vazia\"\n size={size}\n className={className}\n />\n );\n}\n\n/**\n * Empty Search Illustration\n * Use for: No results found, empty search\n */\nexport function EmptySearchIllustration({ size = \"md\", className }: IllustrationProps) {\n return (\n <IllustrationImage\n src={emptyNoResultsSrc}\n alt=\"Nenhum resultado encontrado\"\n size={size}\n className={className}\n />\n );\n}\n\n/**\n * Empty Projects Illustration\n * Use for: No projects, no campaigns, empty folder\n */\nexport function EmptyProjectsIllustration({ size = \"md\", className }: IllustrationProps) {\n return (\n <IllustrationImage\n src={createRecordSrc}\n alt=\"Nenhum projeto criado\"\n size={size}\n className={className}\n />\n );\n}\n\n/**\n * Empty Calendar Illustration\n * Use for: No events, no deadlines, clear schedule\n */\nexport function EmptyCalendarIllustration({ size = \"md\", className }: IllustrationProps) {\n return (\n <IllustrationImage\n src={scheduledTasksSrc}\n alt=\"Calendário sem eventos\"\n size={size}\n className={className}\n />\n );\n}\n\n/**\n * Error State Illustration\n * Use for: Error loading, something went wrong, not found\n */\nexport function ErrorStateIllustration({ size = \"md\", className }: IllustrationProps) {\n return (\n <IllustrationImage\n src={emptyNotFoundSrc}\n alt=\"Erro ou item não encontrado\"\n size={size}\n className={className}\n />\n );\n}\n\n/**\n * Success State Illustration\n * Use for: Action completed, all done\n */\nexport function SuccessStateIllustration({ size = \"md\", className }: IllustrationProps) {\n return (\n <IllustrationImage\n src={successCheckmarkSrc}\n alt=\"Ação concluída com sucesso\"\n size={size}\n className={className}\n />\n );\n}\n\n/**\n * Empty Contracts Illustration\n * Use for: No contracts, empty contracts list\n */\nexport function EmptyContractsIllustration({ size = \"md\", className }: IllustrationProps) {\n return (\n <IllustrationImage\n src={contractAgreementSrc}\n alt=\"Nenhum contrato cadastrado\"\n size={size}\n className={className}\n />\n );\n}\n\n// Export all illustrations\nexport const Illustrations = {\n EmptyInbox: EmptyInboxIllustration,\n EmptySearch: EmptySearchIllustration,\n EmptyProjects: EmptyProjectsIllustration,\n EmptyCalendar: EmptyCalendarIllustration,\n EmptyContracts: EmptyContractsIllustration,\n ErrorState: ErrorStateIllustration,\n SuccessState: SuccessStateIllustration,\n};\n\n// Image sources for all available illustrations (use directly in <img src={...} />)\nexport const illustrationSources = {\n emptyTaskApproved: emptyTaskApprovedSrc,\n emptyNoResults: emptyNoResultsSrc,\n createRecord: createRecordSrc,\n scheduledTasks: scheduledTasksSrc,\n emptyNotFound: emptyNotFoundSrc,\n successCheckmark: successCheckmarkSrc,\n contractAgreement: contractAgreementSrc,\n announcements: announcementsSrc,\n checklistApproved: checklistApprovedSrc,\n clientProfile: clientProfileSrc,\n ctaAction: ctaActionSrc,\n draftDocument: draftDocumentSrc,\n editCompany: editCompanySrc,\n editDocument: editDocumentSrc,\n emptyWorkflowStatus: emptyWorkflowStatusSrc,\n integrations: integrationsSrc,\n onboardingTips: onboardingTipsSrc,\n searchDocuments: searchDocumentsSrc,\n};\n\nexport type { IllustrationProps };\n"],"names":["sizeClasses","IllustrationImage","src","alt","size","className","jsx","cn","EmptyInboxIllustration","emptyTaskApprovedSrc","EmptySearchIllustration","emptyNoResultsSrc","EmptyProjectsIllustration","createRecordSrc","EmptyCalendarIllustration","scheduledTasksSrc","ErrorStateIllustration","emptyNotFoundSrc","SuccessStateIllustration","successCheckmarkSrc","EmptyContractsIllustration","contractAgreementSrc","Illustrations","illustrationSources","announcementsSrc","checklistApprovedSrc","clientProfileSrc","ctaActionSrc","draftDocumentSrc","editCompanySrc","editDocumentSrc","emptyWorkflowStatusSrc","integrationsSrc","onboardingTipsSrc","searchDocumentsSrc"],"mappings":"s0CAiCMA,EAAc,CAChB,GAAI,YACJ,GAAI,YACJ,GAAI,WACR,EAEA,SAASC,EAAkB,CACvB,IAAAC,EACA,IAAAC,EACA,KAAAC,EAAO,KACP,UAAAC,CACJ,EAAqD,CACjD,OACIC,EAAAA,IAAC,MAAA,CACG,IAAAJ,EACA,IAAAC,EACA,UAAWI,EAAAA,GAAGP,EAAYI,CAAI,EAAG,iBAAkBC,CAAS,CAAA,CAAA,CAGxE,CAMO,SAASG,EAAuB,CAAE,KAAAJ,EAAO,KAAM,UAAAC,GAAgC,CAClF,OACIC,EAAAA,IAACL,EAAA,CACG,IAAKQ,EAAAA,QACL,IAAI,yBACJ,KAAAL,EACA,UAAAC,CAAA,CAAA,CAGZ,CAMO,SAASK,EAAwB,CAAE,KAAAN,EAAO,KAAM,UAAAC,GAAgC,CACnF,OACIC,EAAAA,IAACL,EAAA,CACG,IAAKU,EAAAA,QACL,IAAI,8BACJ,KAAAP,EACA,UAAAC,CAAA,CAAA,CAGZ,CAMO,SAASO,EAA0B,CAAE,KAAAR,EAAO,KAAM,UAAAC,GAAgC,CACrF,OACIC,EAAAA,IAACL,EAAA,CACG,IAAKY,EAAAA,QACL,IAAI,wBACJ,KAAAT,EACA,UAAAC,CAAA,CAAA,CAGZ,CAMO,SAASS,EAA0B,CAAE,KAAAV,EAAO,KAAM,UAAAC,GAAgC,CACrF,OACIC,EAAAA,IAACL,EAAA,CACG,IAAKc,EAAAA,QACL,IAAI,yBACJ,KAAAX,EACA,UAAAC,CAAA,CAAA,CAGZ,CAMO,SAASW,EAAuB,CAAE,KAAAZ,EAAO,KAAM,UAAAC,GAAgC,CAClF,OACIC,EAAAA,IAACL,EAAA,CACG,IAAKgB,EAAAA,QACL,IAAI,8BACJ,KAAAb,EACA,UAAAC,CAAA,CAAA,CAGZ,CAMO,SAASa,EAAyB,CAAE,KAAAd,EAAO,KAAM,UAAAC,GAAgC,CACpF,OACIC,EAAAA,IAACL,EAAA,CACG,IAAKkB,EAAAA,QACL,IAAI,6BACJ,KAAAf,EACA,UAAAC,CAAA,CAAA,CAGZ,CAMO,SAASe,EAA2B,CAAE,KAAAhB,EAAO,KAAM,UAAAC,GAAgC,CACtF,OACIC,EAAAA,IAACL,EAAA,CACG,IAAKoB,EAAAA,QACL,IAAI,6BACJ,KAAAjB,EACA,UAAAC,CAAA,CAAA,CAGZ,CAGO,MAAMiB,EAAgB,CACzB,WAAYd,EACZ,YAAaE,EACb,cAAeE,EACf,cAAeE,EACf,eAAgBM,EAChB,WAAYJ,EACZ,aAAcE,CAClB,EAGaK,EAAsB,CAC/B,kBAAmBd,EAAAA,QACnB,eAAgBE,EAAAA,QAChB,aAAcE,EAAAA,QACd,eAAgBE,EAAAA,QAChB,cAAeE,EAAAA,QACf,iBAAkBE,EAAAA,QAClB,kBAAmBE,EAAAA,QACnB,cAAeG,EAAAA,QACf,kBAAmBC,EAAAA,QACnB,cAAeC,EAAAA,QACf,UAAWC,EAAAA,QACX,cAAeC,EAAAA,QACf,YAAaC,EAAAA,QACb,aAAcC,EAAAA,QACd,oBAAqBC,EAAAA,QACrB,aAAcC,EAAAA,QACd,eAAgBC,EAAAA,QAChB,gBAAiBC,EAAAA,OACrB"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { cn as d } from "../utils.js";
|
|
3
|
+
import f from "../../../assets/illustrations/announcements.png.js";
|
|
4
|
+
import S from "../../../assets/illustrations/checklist-approved.png.js";
|
|
5
|
+
import y from "../../../assets/illustrations/client-profile.png.js";
|
|
6
|
+
import c from "../../../assets/illustrations/contract-agreement.png.js";
|
|
7
|
+
import n from "../../../assets/illustrations/create-record.png.js";
|
|
8
|
+
import h from "../../../assets/illustrations/cta-action.png.js";
|
|
9
|
+
import E from "../../../assets/illustrations/draft-document.png.js";
|
|
10
|
+
import k from "../../../assets/illustrations/edit-company.png.js";
|
|
11
|
+
import I from "../../../assets/illustrations/edit-document.png.js";
|
|
12
|
+
import m from "../../../assets/illustrations/empty-no-results.png.js";
|
|
13
|
+
import s from "../../../assets/illustrations/empty-not-found.png.js";
|
|
14
|
+
import a from "../../../assets/illustrations/empty-task-approved.png.js";
|
|
15
|
+
import C from "../../../assets/illustrations/empty-workflow-status.png.js";
|
|
16
|
+
import g from "../../../assets/illustrations/integrations.png.js";
|
|
17
|
+
import A from "../../../assets/illustrations/onboarding-tips.png.js";
|
|
18
|
+
import i from "../../../assets/illustrations/scheduled-tasks.png.js";
|
|
19
|
+
import N from "../../../assets/illustrations/search-documents.png.js";
|
|
20
|
+
import u from "../../../assets/illustrations/success-checkmark.png.js";
|
|
21
|
+
const v = {
|
|
22
|
+
sm: "w-24 h-24",
|
|
23
|
+
md: "w-32 h-32",
|
|
24
|
+
lg: "w-48 h-48"
|
|
25
|
+
};
|
|
26
|
+
function e({
|
|
27
|
+
src: t,
|
|
28
|
+
alt: r,
|
|
29
|
+
size: p = "md",
|
|
30
|
+
className: l
|
|
31
|
+
}) {
|
|
32
|
+
return /* @__PURE__ */ o(
|
|
33
|
+
"img",
|
|
34
|
+
{
|
|
35
|
+
src: t,
|
|
36
|
+
alt: r,
|
|
37
|
+
className: d(v[p], "object-contain", l)
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
function D({ size: t = "md", className: r }) {
|
|
42
|
+
return /* @__PURE__ */ o(
|
|
43
|
+
e,
|
|
44
|
+
{
|
|
45
|
+
src: a,
|
|
46
|
+
alt: "Caixa de entrada vazia",
|
|
47
|
+
size: t,
|
|
48
|
+
className: r
|
|
49
|
+
}
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
function T({ size: t = "md", className: r }) {
|
|
53
|
+
return /* @__PURE__ */ o(
|
|
54
|
+
e,
|
|
55
|
+
{
|
|
56
|
+
src: m,
|
|
57
|
+
alt: "Nenhum resultado encontrado",
|
|
58
|
+
size: t,
|
|
59
|
+
className: r
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
function b({ size: t = "md", className: r }) {
|
|
64
|
+
return /* @__PURE__ */ o(
|
|
65
|
+
e,
|
|
66
|
+
{
|
|
67
|
+
src: n,
|
|
68
|
+
alt: "Nenhum projeto criado",
|
|
69
|
+
size: t,
|
|
70
|
+
className: r
|
|
71
|
+
}
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
function j({ size: t = "md", className: r }) {
|
|
75
|
+
return /* @__PURE__ */ o(
|
|
76
|
+
e,
|
|
77
|
+
{
|
|
78
|
+
src: i,
|
|
79
|
+
alt: "Calendário sem eventos",
|
|
80
|
+
size: t,
|
|
81
|
+
className: r
|
|
82
|
+
}
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
function w({ size: t = "md", className: r }) {
|
|
86
|
+
return /* @__PURE__ */ o(
|
|
87
|
+
e,
|
|
88
|
+
{
|
|
89
|
+
src: s,
|
|
90
|
+
alt: "Erro ou item não encontrado",
|
|
91
|
+
size: t,
|
|
92
|
+
className: r
|
|
93
|
+
}
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
function x({ size: t = "md", className: r }) {
|
|
97
|
+
return /* @__PURE__ */ o(
|
|
98
|
+
e,
|
|
99
|
+
{
|
|
100
|
+
src: u,
|
|
101
|
+
alt: "Ação concluída com sucesso",
|
|
102
|
+
size: t,
|
|
103
|
+
className: r
|
|
104
|
+
}
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
function P({ size: t = "md", className: r }) {
|
|
108
|
+
return /* @__PURE__ */ o(
|
|
109
|
+
e,
|
|
110
|
+
{
|
|
111
|
+
src: c,
|
|
112
|
+
alt: "Nenhum contrato cadastrado",
|
|
113
|
+
size: t,
|
|
114
|
+
className: r
|
|
115
|
+
}
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
const $ = {
|
|
119
|
+
EmptyInbox: D,
|
|
120
|
+
EmptySearch: T,
|
|
121
|
+
EmptyProjects: b,
|
|
122
|
+
EmptyCalendar: j,
|
|
123
|
+
EmptyContracts: P,
|
|
124
|
+
ErrorState: w,
|
|
125
|
+
SuccessState: x
|
|
126
|
+
}, tt = {
|
|
127
|
+
emptyTaskApproved: a,
|
|
128
|
+
emptyNoResults: m,
|
|
129
|
+
createRecord: n,
|
|
130
|
+
scheduledTasks: i,
|
|
131
|
+
emptyNotFound: s,
|
|
132
|
+
successCheckmark: u,
|
|
133
|
+
contractAgreement: c,
|
|
134
|
+
announcements: f,
|
|
135
|
+
checklistApproved: S,
|
|
136
|
+
clientProfile: y,
|
|
137
|
+
ctaAction: h,
|
|
138
|
+
draftDocument: E,
|
|
139
|
+
editCompany: k,
|
|
140
|
+
editDocument: I,
|
|
141
|
+
emptyWorkflowStatus: C,
|
|
142
|
+
integrations: g,
|
|
143
|
+
onboardingTips: A,
|
|
144
|
+
searchDocuments: N
|
|
145
|
+
};
|
|
146
|
+
export {
|
|
147
|
+
j as EmptyCalendarIllustration,
|
|
148
|
+
P as EmptyContractsIllustration,
|
|
149
|
+
D as EmptyInboxIllustration,
|
|
150
|
+
b as EmptyProjectsIllustration,
|
|
151
|
+
T as EmptySearchIllustration,
|
|
152
|
+
w as ErrorStateIllustration,
|
|
153
|
+
$ as Illustrations,
|
|
154
|
+
x as SuccessStateIllustration,
|
|
155
|
+
tt as illustrationSources
|
|
156
|
+
};
|
|
157
|
+
//# sourceMappingURL=illustrations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"illustrations.js","sources":["../../../../src/components/ui/feedback/illustrations.tsx"],"sourcesContent":["/**\n * Illustration System - iClips Design System\n *\n * Componentes de ilustração respaldados pelos assets PNG oficiais da marca.\n * Os arquivos são importados como módulos e bundlados junto com a lib.\n */\n\nimport { cn } from \"../utils\";\n\nimport announcementsSrc from \"../../../assets/illustrations/announcements.png\";\nimport checklistApprovedSrc from \"../../../assets/illustrations/checklist-approved.png\";\nimport clientProfileSrc from \"../../../assets/illustrations/client-profile.png\";\nimport contractAgreementSrc from \"../../../assets/illustrations/contract-agreement.png\";\nimport createRecordSrc from \"../../../assets/illustrations/create-record.png\";\nimport ctaActionSrc from \"../../../assets/illustrations/cta-action.png\";\nimport draftDocumentSrc from \"../../../assets/illustrations/draft-document.png\";\nimport editCompanySrc from \"../../../assets/illustrations/edit-company.png\";\nimport editDocumentSrc from \"../../../assets/illustrations/edit-document.png\";\nimport emptyNoResultsSrc from \"../../../assets/illustrations/empty-no-results.png\";\nimport emptyNotFoundSrc from \"../../../assets/illustrations/empty-not-found.png\";\nimport emptyTaskApprovedSrc from \"../../../assets/illustrations/empty-task-approved.png\";\nimport emptyWorkflowStatusSrc from \"../../../assets/illustrations/empty-workflow-status.png\";\nimport integrationsSrc from \"../../../assets/illustrations/integrations.png\";\nimport onboardingTipsSrc from \"../../../assets/illustrations/onboarding-tips.png\";\nimport scheduledTasksSrc from \"../../../assets/illustrations/scheduled-tasks.png\";\nimport searchDocumentsSrc from \"../../../assets/illustrations/search-documents.png\";\nimport successCheckmarkSrc from \"../../../assets/illustrations/success-checkmark.png\";\n\ninterface IllustrationProps {\n className?: string;\n size?: \"sm\" | \"md\" | \"lg\";\n}\n\nconst sizeClasses = {\n sm: \"w-24 h-24\",\n md: \"w-32 h-32\",\n lg: \"w-48 h-48\",\n};\n\nfunction IllustrationImage({\n src,\n alt,\n size = \"md\",\n className,\n}: IllustrationProps & { src: string; alt: string }) {\n return (\n <img\n src={src}\n alt={alt}\n className={cn(sizeClasses[size], \"object-contain\", className)}\n />\n );\n}\n\n/**\n * Empty Inbox Illustration\n * Use for: No messages, no notifications, cleared inbox\n */\nexport function EmptyInboxIllustration({ size = \"md\", className }: IllustrationProps) {\n return (\n <IllustrationImage\n src={emptyTaskApprovedSrc}\n alt=\"Caixa de entrada vazia\"\n size={size}\n className={className}\n />\n );\n}\n\n/**\n * Empty Search Illustration\n * Use for: No results found, empty search\n */\nexport function EmptySearchIllustration({ size = \"md\", className }: IllustrationProps) {\n return (\n <IllustrationImage\n src={emptyNoResultsSrc}\n alt=\"Nenhum resultado encontrado\"\n size={size}\n className={className}\n />\n );\n}\n\n/**\n * Empty Projects Illustration\n * Use for: No projects, no campaigns, empty folder\n */\nexport function EmptyProjectsIllustration({ size = \"md\", className }: IllustrationProps) {\n return (\n <IllustrationImage\n src={createRecordSrc}\n alt=\"Nenhum projeto criado\"\n size={size}\n className={className}\n />\n );\n}\n\n/**\n * Empty Calendar Illustration\n * Use for: No events, no deadlines, clear schedule\n */\nexport function EmptyCalendarIllustration({ size = \"md\", className }: IllustrationProps) {\n return (\n <IllustrationImage\n src={scheduledTasksSrc}\n alt=\"Calendário sem eventos\"\n size={size}\n className={className}\n />\n );\n}\n\n/**\n * Error State Illustration\n * Use for: Error loading, something went wrong, not found\n */\nexport function ErrorStateIllustration({ size = \"md\", className }: IllustrationProps) {\n return (\n <IllustrationImage\n src={emptyNotFoundSrc}\n alt=\"Erro ou item não encontrado\"\n size={size}\n className={className}\n />\n );\n}\n\n/**\n * Success State Illustration\n * Use for: Action completed, all done\n */\nexport function SuccessStateIllustration({ size = \"md\", className }: IllustrationProps) {\n return (\n <IllustrationImage\n src={successCheckmarkSrc}\n alt=\"Ação concluída com sucesso\"\n size={size}\n className={className}\n />\n );\n}\n\n/**\n * Empty Contracts Illustration\n * Use for: No contracts, empty contracts list\n */\nexport function EmptyContractsIllustration({ size = \"md\", className }: IllustrationProps) {\n return (\n <IllustrationImage\n src={contractAgreementSrc}\n alt=\"Nenhum contrato cadastrado\"\n size={size}\n className={className}\n />\n );\n}\n\n// Export all illustrations\nexport const Illustrations = {\n EmptyInbox: EmptyInboxIllustration,\n EmptySearch: EmptySearchIllustration,\n EmptyProjects: EmptyProjectsIllustration,\n EmptyCalendar: EmptyCalendarIllustration,\n EmptyContracts: EmptyContractsIllustration,\n ErrorState: ErrorStateIllustration,\n SuccessState: SuccessStateIllustration,\n};\n\n// Image sources for all available illustrations (use directly in <img src={...} />)\nexport const illustrationSources = {\n emptyTaskApproved: emptyTaskApprovedSrc,\n emptyNoResults: emptyNoResultsSrc,\n createRecord: createRecordSrc,\n scheduledTasks: scheduledTasksSrc,\n emptyNotFound: emptyNotFoundSrc,\n successCheckmark: successCheckmarkSrc,\n contractAgreement: contractAgreementSrc,\n announcements: announcementsSrc,\n checklistApproved: checklistApprovedSrc,\n clientProfile: clientProfileSrc,\n ctaAction: ctaActionSrc,\n draftDocument: draftDocumentSrc,\n editCompany: editCompanySrc,\n editDocument: editDocumentSrc,\n emptyWorkflowStatus: emptyWorkflowStatusSrc,\n integrations: integrationsSrc,\n onboardingTips: onboardingTipsSrc,\n searchDocuments: searchDocumentsSrc,\n};\n\nexport type { IllustrationProps };\n"],"names":["sizeClasses","IllustrationImage","src","alt","size","className","jsx","cn","EmptyInboxIllustration","emptyTaskApprovedSrc","EmptySearchIllustration","emptyNoResultsSrc","EmptyProjectsIllustration","createRecordSrc","EmptyCalendarIllustration","scheduledTasksSrc","ErrorStateIllustration","emptyNotFoundSrc","SuccessStateIllustration","successCheckmarkSrc","EmptyContractsIllustration","contractAgreementSrc","Illustrations","illustrationSources","announcementsSrc","checklistApprovedSrc","clientProfileSrc","ctaActionSrc","draftDocumentSrc","editCompanySrc","editDocumentSrc","emptyWorkflowStatusSrc","integrationsSrc","onboardingTipsSrc","searchDocumentsSrc"],"mappings":";;;;;;;;;;;;;;;;;;;;AAiCA,MAAMA,IAAc;AAAA,EAChB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACR;AAEA,SAASC,EAAkB;AAAA,EACvB,KAAAC;AAAA,EACA,KAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,WAAAC;AACJ,GAAqD;AACjD,SACI,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,KAAAJ;AAAA,MACA,KAAAC;AAAA,MACA,WAAWI,EAAGP,EAAYI,CAAI,GAAG,kBAAkBC,CAAS;AAAA,IAAA;AAAA,EAAA;AAGxE;AAMO,SAASG,EAAuB,EAAE,MAAAJ,IAAO,MAAM,WAAAC,KAAgC;AAClF,SACI,gBAAAC;AAAA,IAACL;AAAA,IAAA;AAAA,MACG,KAAKQ;AAAA,MACL,KAAI;AAAA,MACJ,MAAAL;AAAA,MACA,WAAAC;AAAA,IAAA;AAAA,EAAA;AAGZ;AAMO,SAASK,EAAwB,EAAE,MAAAN,IAAO,MAAM,WAAAC,KAAgC;AACnF,SACI,gBAAAC;AAAA,IAACL;AAAA,IAAA;AAAA,MACG,KAAKU;AAAA,MACL,KAAI;AAAA,MACJ,MAAAP;AAAA,MACA,WAAAC;AAAA,IAAA;AAAA,EAAA;AAGZ;AAMO,SAASO,EAA0B,EAAE,MAAAR,IAAO,MAAM,WAAAC,KAAgC;AACrF,SACI,gBAAAC;AAAA,IAACL;AAAA,IAAA;AAAA,MACG,KAAKY;AAAA,MACL,KAAI;AAAA,MACJ,MAAAT;AAAA,MACA,WAAAC;AAAA,IAAA;AAAA,EAAA;AAGZ;AAMO,SAASS,EAA0B,EAAE,MAAAV,IAAO,MAAM,WAAAC,KAAgC;AACrF,SACI,gBAAAC;AAAA,IAACL;AAAA,IAAA;AAAA,MACG,KAAKc;AAAA,MACL,KAAI;AAAA,MACJ,MAAAX;AAAA,MACA,WAAAC;AAAA,IAAA;AAAA,EAAA;AAGZ;AAMO,SAASW,EAAuB,EAAE,MAAAZ,IAAO,MAAM,WAAAC,KAAgC;AAClF,SACI,gBAAAC;AAAA,IAACL;AAAA,IAAA;AAAA,MACG,KAAKgB;AAAA,MACL,KAAI;AAAA,MACJ,MAAAb;AAAA,MACA,WAAAC;AAAA,IAAA;AAAA,EAAA;AAGZ;AAMO,SAASa,EAAyB,EAAE,MAAAd,IAAO,MAAM,WAAAC,KAAgC;AACpF,SACI,gBAAAC;AAAA,IAACL;AAAA,IAAA;AAAA,MACG,KAAKkB;AAAA,MACL,KAAI;AAAA,MACJ,MAAAf;AAAA,MACA,WAAAC;AAAA,IAAA;AAAA,EAAA;AAGZ;AAMO,SAASe,EAA2B,EAAE,MAAAhB,IAAO,MAAM,WAAAC,KAAgC;AACtF,SACI,gBAAAC;AAAA,IAACL;AAAA,IAAA;AAAA,MACG,KAAKoB;AAAA,MACL,KAAI;AAAA,MACJ,MAAAjB;AAAA,MACA,WAAAC;AAAA,IAAA;AAAA,EAAA;AAGZ;AAGO,MAAMiB,IAAgB;AAAA,EACzB,YAAYd;AAAA,EACZ,aAAaE;AAAA,EACb,eAAeE;AAAA,EACf,eAAeE;AAAA,EACf,gBAAgBM;AAAA,EAChB,YAAYJ;AAAA,EACZ,cAAcE;AAClB,GAGaK,KAAsB;AAAA,EAC/B,mBAAmBd;AAAA,EACnB,gBAAgBE;AAAA,EAChB,cAAcE;AAAA,EACd,gBAAgBE;AAAA,EAChB,eAAeE;AAAA,EACf,kBAAkBE;AAAA,EAClB,mBAAmBE;AAAA,EACnB,eAAeG;AAAA,EACf,mBAAmBC;AAAA,EACnB,eAAeC;AAAA,EACf,WAAWC;AAAA,EACX,eAAeC;AAAA,EACf,aAAaC;AAAA,EACb,cAAcC;AAAA,EACd,qBAAqBC;AAAA,EACrB,cAAcC;AAAA,EACd,gBAAgBC;AAAA,EAChB,iBAAiBC;AACrB;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),n=require("next-themes"),e=require("sonner");function s(t){const{resolvedTheme:r="light"}=n.useTheme();return o.jsx(e.Toaster,{theme:r,className:"toaster group",toastOptions:{unstyled:!0,classNames:{toast:"w-full rounded-lg border px-4 py-3 shadow-lg flex items-start gap-3 bg-card text-card-foreground border-border",title:"font-semibold text-sm leading-[1.2]",description:"text-sm mt-1 leading-relaxed",actionButton:"inline-flex items-center justify-center rounded-md text-sm font-medium bg-primary text-primary-foreground hover:bg-primary/90 h-8 px-3",cancelButton:"inline-flex items-center justify-center rounded-md text-sm font-medium bg-muted text-muted-foreground hover:bg-muted/90 h-8 px-3",closeButton:"absolute right-2 top-2 rounded-md p-1 text-foreground/50 hover:text-foreground",error:"toast-variant-error",success:"toast-variant-success",warning:"toast-variant-warning",info:"toast-variant-info"}},...t})}Object.defineProperty(exports,"toast",{enumerable:!0,get:()=>e.toast});exports.Toaster=s;
|
|
2
|
+
//# sourceMappingURL=toast.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast.cjs","sources":["../../../../src/components/ui/feedback/toast.tsx"],"sourcesContent":["\"use client\";\n\nimport { useTheme } from \"next-themes\";\nimport { toast as toastFn, Toaster as ToasterProvider, type ToasterProps } from \"sonner\";\n\nexport type { ToasterProps } from \"sonner\";\n\nfunction Toaster(props: ToasterProps) {\n const { resolvedTheme = \"light\" } = useTheme();\n\n return (\n <ToasterProvider\n theme={resolvedTheme as ToasterProps[\"theme\"]}\n className=\"toaster group\"\n toastOptions={{\n unstyled: true,\n classNames: {\n toast:\n \"w-full rounded-lg border px-4 py-3 shadow-lg flex items-start gap-3 \" +\n \"bg-card text-card-foreground border-border\",\n title: \"font-semibold text-sm leading-[1.2]\",\n description: \"text-sm mt-1 leading-relaxed\",\n actionButton:\n \"inline-flex items-center justify-center rounded-md text-sm font-medium \" +\n \"bg-primary text-primary-foreground hover:bg-primary/90 h-8 px-3\",\n cancelButton:\n \"inline-flex items-center justify-center rounded-md text-sm font-medium \" +\n \"bg-muted text-muted-foreground hover:bg-muted/90 h-8 px-3\",\n closeButton:\n \"absolute right-2 top-2 rounded-md p-1 text-foreground/50 hover:text-foreground\",\n // Variantes de status derivam a cor dos tokens semânticos via\n // color-mix (toast-theme.css) — adaptam sozinhas em dark/light.\n error: \"toast-variant-error\",\n success: \"toast-variant-success\",\n warning: \"toast-variant-warning\",\n info: \"toast-variant-info\",\n },\n }}\n {...props}\n />\n );\n}\n\nexport { toastFn as toast, Toaster };\n"],"names":["Toaster","props","resolvedTheme","useTheme","jsx","ToasterProvider"],"mappings":"+KAOA,SAASA,EAAQC,EAAqB,CACpC,KAAM,CAAE,cAAAC,EAAgB,OAAA,EAAYC,WAAA,EAEpC,OACEC,EAAAA,IAACC,EAAAA,QAAA,CACC,MAAOH,EACP,UAAU,gBACV,aAAc,CACZ,SAAU,GACV,WAAY,CACV,MACE,iHAEF,MAAO,sCACP,YAAa,+BACb,aACE,yIAEF,aACE,mIAEF,YACE,iFAGF,MAAO,sBACP,QAAS,wBACT,QAAS,wBACT,KAAM,oBAAA,CACR,EAED,GAAGD,CAAA,CAAA,CAGV"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
3
|
+
import { useTheme as o } from "next-themes";
|
|
4
|
+
import { Toaster as n } from "sonner";
|
|
5
|
+
import { toast as l } from "sonner";
|
|
6
|
+
function d(t) {
|
|
7
|
+
const { resolvedTheme: e = "light" } = o();
|
|
8
|
+
return /* @__PURE__ */ r(
|
|
9
|
+
n,
|
|
10
|
+
{
|
|
11
|
+
theme: e,
|
|
12
|
+
className: "toaster group",
|
|
13
|
+
toastOptions: {
|
|
14
|
+
unstyled: !0,
|
|
15
|
+
classNames: {
|
|
16
|
+
toast: "w-full rounded-lg border px-4 py-3 shadow-lg flex items-start gap-3 bg-card text-card-foreground border-border",
|
|
17
|
+
title: "font-semibold text-sm leading-[1.2]",
|
|
18
|
+
description: "text-sm mt-1 leading-relaxed",
|
|
19
|
+
actionButton: "inline-flex items-center justify-center rounded-md text-sm font-medium bg-primary text-primary-foreground hover:bg-primary/90 h-8 px-3",
|
|
20
|
+
cancelButton: "inline-flex items-center justify-center rounded-md text-sm font-medium bg-muted text-muted-foreground hover:bg-muted/90 h-8 px-3",
|
|
21
|
+
closeButton: "absolute right-2 top-2 rounded-md p-1 text-foreground/50 hover:text-foreground",
|
|
22
|
+
// Variantes de status derivam a cor dos tokens semânticos via
|
|
23
|
+
// color-mix (toast-theme.css) — adaptam sozinhas em dark/light.
|
|
24
|
+
error: "toast-variant-error",
|
|
25
|
+
success: "toast-variant-success",
|
|
26
|
+
warning: "toast-variant-warning",
|
|
27
|
+
info: "toast-variant-info"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
...t
|
|
31
|
+
}
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
export {
|
|
35
|
+
d as Toaster,
|
|
36
|
+
l as toast
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=toast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast.js","sources":["../../../../src/components/ui/feedback/toast.tsx"],"sourcesContent":["\"use client\";\n\nimport { useTheme } from \"next-themes\";\nimport { toast as toastFn, Toaster as ToasterProvider, type ToasterProps } from \"sonner\";\n\nexport type { ToasterProps } from \"sonner\";\n\nfunction Toaster(props: ToasterProps) {\n const { resolvedTheme = \"light\" } = useTheme();\n\n return (\n <ToasterProvider\n theme={resolvedTheme as ToasterProps[\"theme\"]}\n className=\"toaster group\"\n toastOptions={{\n unstyled: true,\n classNames: {\n toast:\n \"w-full rounded-lg border px-4 py-3 shadow-lg flex items-start gap-3 \" +\n \"bg-card text-card-foreground border-border\",\n title: \"font-semibold text-sm leading-[1.2]\",\n description: \"text-sm mt-1 leading-relaxed\",\n actionButton:\n \"inline-flex items-center justify-center rounded-md text-sm font-medium \" +\n \"bg-primary text-primary-foreground hover:bg-primary/90 h-8 px-3\",\n cancelButton:\n \"inline-flex items-center justify-center rounded-md text-sm font-medium \" +\n \"bg-muted text-muted-foreground hover:bg-muted/90 h-8 px-3\",\n closeButton:\n \"absolute right-2 top-2 rounded-md p-1 text-foreground/50 hover:text-foreground\",\n // Variantes de status derivam a cor dos tokens semânticos via\n // color-mix (toast-theme.css) — adaptam sozinhas em dark/light.\n error: \"toast-variant-error\",\n success: \"toast-variant-success\",\n warning: \"toast-variant-warning\",\n info: \"toast-variant-info\",\n },\n }}\n {...props}\n />\n );\n}\n\nexport { toastFn as toast, Toaster };\n"],"names":["Toaster","props","resolvedTheme","useTheme","jsx","ToasterProvider"],"mappings":";;;;;AAOA,SAASA,EAAQC,GAAqB;AACpC,QAAM,EAAE,eAAAC,IAAgB,QAAA,IAAYC,EAAA;AAEpC,SACE,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,OAAOH;AAAA,MACP,WAAU;AAAA,MACV,cAAc;AAAA,QACZ,UAAU;AAAA,QACV,YAAY;AAAA,UACV,OACE;AAAA,UAEF,OAAO;AAAA,UACP,aAAa;AAAA,UACb,cACE;AAAA,UAEF,cACE;AAAA,UAEF,aACE;AAAA;AAAA;AAAA,UAGF,OAAO;AAAA,UACP,SAAS;AAAA,UACT,SAAS;AAAA,UACT,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,MAED,GAAGD;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),m=require("react-day-picker"),g=require("date-fns/locale"),n=require("lucide-react"),e=require("../utils.cjs"),r=require("../primitives/button.cjs");function o({className:d,classNames:c,showOutsideDays:i=!0,locale:s=g.ptBR,...u}){return t.jsx(m.DayPicker,{showOutsideDays:i,locale:s,className:e.cn("p-3 relative",d),classNames:{months:"flex flex-col sm:flex-row gap-4",month:"flex flex-col gap-4",month_caption:"flex justify-center pt-1 relative items-center",caption_label:"text-sm font-medium",nav:"absolute top-3 inset-x-3 flex items-center justify-between z-10",button_previous:e.cn(r.buttonVariants({variant:"outline"}),"size-7 bg-background p-1.5 hover:bg-accent hover:text-accent-foreground rounded-md border-border"),button_next:e.cn(r.buttonVariants({variant:"outline"}),"size-7 bg-background p-1.5 hover:bg-accent hover:text-accent-foreground rounded-md border-border"),month_grid:"w-full border-collapse space-y-1",weekdays:"flex",weekday:"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]",week:"flex w-full mt-2",day:"h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20 rounded-md",day_button:e.cn(r.buttonVariants({variant:"ghost"}),"h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-md"),range_end:"range-end",range_start:"range-start",selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground rounded-md",today:"bg-accent text-accent-foreground rounded-md",outside:"outside text-muted-foreground aria-selected:bg-accent/50 aria-selected:text-muted-foreground",disabled:"text-muted-foreground opacity-50",range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",hidden:"invisible",...c},components:{Chevron:({orientation:l,...a})=>l==="left"?t.jsx(n.ChevronLeft,{className:"h-4 w-4",...a}):t.jsx(n.ChevronRight,{className:"h-4 w-4",...a})},...u})}o.displayName="Calendar";exports.Calendar=o;
|
|
2
|
+
//# sourceMappingURL=calendar.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar.cjs","sources":["../../../../src/components/ui/forms/calendar.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { DayPicker } from \"react-day-picker\";\nimport { ptBR } from \"date-fns/locale\";\nimport { ChevronLeft, ChevronRight } from \"lucide-react\";\n\nimport { cn } from \"../utils\";\nimport { buttonVariants } from \"../primitives/button\";\n\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>;\n\n/**\n * Calendar - Componente base de calendário\n *\n * Grid de dias para seleção de datas. Usado internamente pelo DatePicker\n * e DateRangePicker, mas também pode ser usado standalone.\n *\n * @example\n * // Seleção única\n * <Calendar\n * mode=\"single\"\n * selected={date}\n * onSelect={setDate}\n * />\n *\n * @example\n * // Seleção de intervalo\n * <Calendar\n * mode=\"range\"\n * selected={dateRange}\n * onSelect={setDateRange}\n * />\n */\n// react-day-picker's DayPicker is a plain function with no ref support -- cannot be forwardRef'd.\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n locale = ptBR,\n ...props\n}: CalendarProps) {\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n locale={locale}\n className={cn(\"p-3 relative\", className)}\n classNames={{\n months: \"flex flex-col sm:flex-row gap-4\",\n month: \"flex flex-col gap-4\",\n month_caption: \"flex justify-center pt-1 relative items-center\",\n caption_label: \"text-sm font-medium\",\n nav: \"absolute top-3 inset-x-3 flex items-center justify-between z-10\",\n button_previous: cn(\n buttonVariants({ variant: \"outline\" }),\n \"size-7 bg-background p-1.5 hover:bg-accent hover:text-accent-foreground rounded-md border-border\"\n ),\n button_next: cn(\n buttonVariants({ variant: \"outline\" }),\n \"size-7 bg-background p-1.5 hover:bg-accent hover:text-accent-foreground rounded-md border-border\"\n ),\n month_grid: \"w-full border-collapse space-y-1\",\n weekdays: \"flex\",\n weekday: \"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]\",\n week: \"flex w-full mt-2\",\n day: \"h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20 rounded-md\",\n day_button: cn(\n buttonVariants({ variant: \"ghost\" }),\n \"h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-md\"\n ),\n range_end: \"range-end\",\n range_start: \"range-start\",\n selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground rounded-md\",\n today: \"bg-accent text-accent-foreground rounded-md\",\n outside:\n \"outside text-muted-foreground aria-selected:bg-accent/50 aria-selected:text-muted-foreground\",\n disabled: \"text-muted-foreground opacity-50\",\n range_middle:\n \"aria-selected:bg-accent aria-selected:text-accent-foreground\",\n hidden: \"invisible\",\n ...classNames,\n }}\n components={{\n Chevron: ({ orientation, ...rest }) =>\n orientation === \"left\" ? (\n <ChevronLeft className=\"h-4 w-4\" {...rest} />\n ) : (\n <ChevronRight className=\"h-4 w-4\" {...rest} />\n ),\n }}\n {...props}\n />\n );\n}\n\nCalendar.displayName = \"Calendar\";\n\nexport { Calendar };\n"],"names":["Calendar","className","classNames","showOutsideDays","locale","ptBR","props","jsx","DayPicker","cn","buttonVariants","orientation","rest","ChevronLeft","ChevronRight"],"mappings":"uRAmCA,SAASA,EAAS,CAChB,UAAAC,EACA,WAAAC,EACA,gBAAAC,EAAkB,GAAA,OAClBC,EAASC,EAAAA,KACT,GAAGC,CACL,EAAkB,CAChB,OACEC,EAAAA,IAACC,EAAAA,UAAA,CACC,gBAAAL,EAAA,OACAC,EACA,UAAWK,EAAAA,GAAG,eAAgBR,CAAS,EACvC,WAAY,CACV,OAAQ,kCACR,MAAO,sBACP,cAAe,iDACf,cAAe,sBACf,IAAK,kEACL,gBAAiBQ,EAAAA,GACfC,iBAAe,CAAE,QAAS,UAAW,EACrC,kGAAA,EAEF,YAAaD,EAAAA,GACXC,iBAAe,CAAE,QAAS,UAAW,EACrC,kGAAA,EAEF,WAAY,mCACZ,SAAU,OACV,QAAS,iEACT,KAAM,mBACN,IAAK,sQACL,WAAYD,EAAAA,GACVC,iBAAe,CAAE,QAAS,QAAS,EACnC,8DAAA,EAEF,UAAW,YACX,YAAa,cACb,SACE,8IACF,MAAO,8CACP,QACE,+FACF,SAAU,mCACV,aACE,+DACF,OAAQ,YACR,GAAGR,CAAA,EAEL,WAAY,CACV,QAAS,CAAC,CAAE,YAAAS,EAAa,GAAGC,CAAA,IAC1BD,IAAgB,OACdJ,EAAAA,IAACM,eAAY,UAAU,UAAW,GAAGD,CAAA,CAAM,QAE1CE,EAAAA,aAAA,CAAa,UAAU,UAAW,GAAGF,CAAA,CAAM,CAAA,EAGjD,GAAGN,CAAA,CAAA,CAGV,CAEAN,EAAS,YAAc"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
3
|
+
import { DayPicker as m } from "react-day-picker";
|
|
4
|
+
import { ptBR as l } from "date-fns/locale";
|
|
5
|
+
import { ChevronLeft as u, ChevronRight as f } from "lucide-react";
|
|
6
|
+
import { cn as e } from "../utils.js";
|
|
7
|
+
import { buttonVariants as r } from "../primitives/button.js";
|
|
8
|
+
function g({
|
|
9
|
+
className: a,
|
|
10
|
+
classNames: n,
|
|
11
|
+
showOutsideDays: d = !0,
|
|
12
|
+
locale: i = l,
|
|
13
|
+
...c
|
|
14
|
+
}) {
|
|
15
|
+
return /* @__PURE__ */ t(
|
|
16
|
+
m,
|
|
17
|
+
{
|
|
18
|
+
showOutsideDays: d,
|
|
19
|
+
locale: i,
|
|
20
|
+
className: e("p-3 relative", a),
|
|
21
|
+
classNames: {
|
|
22
|
+
months: "flex flex-col sm:flex-row gap-4",
|
|
23
|
+
month: "flex flex-col gap-4",
|
|
24
|
+
month_caption: "flex justify-center pt-1 relative items-center",
|
|
25
|
+
caption_label: "text-sm font-medium",
|
|
26
|
+
nav: "absolute top-3 inset-x-3 flex items-center justify-between z-10",
|
|
27
|
+
button_previous: e(
|
|
28
|
+
r({ variant: "outline" }),
|
|
29
|
+
"size-7 bg-background p-1.5 hover:bg-accent hover:text-accent-foreground rounded-md border-border"
|
|
30
|
+
),
|
|
31
|
+
button_next: e(
|
|
32
|
+
r({ variant: "outline" }),
|
|
33
|
+
"size-7 bg-background p-1.5 hover:bg-accent hover:text-accent-foreground rounded-md border-border"
|
|
34
|
+
),
|
|
35
|
+
month_grid: "w-full border-collapse space-y-1",
|
|
36
|
+
weekdays: "flex",
|
|
37
|
+
weekday: "text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]",
|
|
38
|
+
week: "flex w-full mt-2",
|
|
39
|
+
day: "h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20 rounded-md",
|
|
40
|
+
day_button: e(
|
|
41
|
+
r({ variant: "ghost" }),
|
|
42
|
+
"h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-md"
|
|
43
|
+
),
|
|
44
|
+
range_end: "range-end",
|
|
45
|
+
range_start: "range-start",
|
|
46
|
+
selected: "bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground rounded-md",
|
|
47
|
+
today: "bg-accent text-accent-foreground rounded-md",
|
|
48
|
+
outside: "outside text-muted-foreground aria-selected:bg-accent/50 aria-selected:text-muted-foreground",
|
|
49
|
+
disabled: "text-muted-foreground opacity-50",
|
|
50
|
+
range_middle: "aria-selected:bg-accent aria-selected:text-accent-foreground",
|
|
51
|
+
hidden: "invisible",
|
|
52
|
+
...n
|
|
53
|
+
},
|
|
54
|
+
components: {
|
|
55
|
+
Chevron: ({ orientation: s, ...o }) => s === "left" ? /* @__PURE__ */ t(u, { className: "h-4 w-4", ...o }) : /* @__PURE__ */ t(f, { className: "h-4 w-4", ...o })
|
|
56
|
+
},
|
|
57
|
+
...c
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
g.displayName = "Calendar";
|
|
62
|
+
export {
|
|
63
|
+
g as Calendar
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=calendar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar.js","sources":["../../../../src/components/ui/forms/calendar.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { DayPicker } from \"react-day-picker\";\nimport { ptBR } from \"date-fns/locale\";\nimport { ChevronLeft, ChevronRight } from \"lucide-react\";\n\nimport { cn } from \"../utils\";\nimport { buttonVariants } from \"../primitives/button\";\n\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>;\n\n/**\n * Calendar - Componente base de calendário\n *\n * Grid de dias para seleção de datas. Usado internamente pelo DatePicker\n * e DateRangePicker, mas também pode ser usado standalone.\n *\n * @example\n * // Seleção única\n * <Calendar\n * mode=\"single\"\n * selected={date}\n * onSelect={setDate}\n * />\n *\n * @example\n * // Seleção de intervalo\n * <Calendar\n * mode=\"range\"\n * selected={dateRange}\n * onSelect={setDateRange}\n * />\n */\n// react-day-picker's DayPicker is a plain function with no ref support -- cannot be forwardRef'd.\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n locale = ptBR,\n ...props\n}: CalendarProps) {\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n locale={locale}\n className={cn(\"p-3 relative\", className)}\n classNames={{\n months: \"flex flex-col sm:flex-row gap-4\",\n month: \"flex flex-col gap-4\",\n month_caption: \"flex justify-center pt-1 relative items-center\",\n caption_label: \"text-sm font-medium\",\n nav: \"absolute top-3 inset-x-3 flex items-center justify-between z-10\",\n button_previous: cn(\n buttonVariants({ variant: \"outline\" }),\n \"size-7 bg-background p-1.5 hover:bg-accent hover:text-accent-foreground rounded-md border-border\"\n ),\n button_next: cn(\n buttonVariants({ variant: \"outline\" }),\n \"size-7 bg-background p-1.5 hover:bg-accent hover:text-accent-foreground rounded-md border-border\"\n ),\n month_grid: \"w-full border-collapse space-y-1\",\n weekdays: \"flex\",\n weekday: \"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]\",\n week: \"flex w-full mt-2\",\n day: \"h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20 rounded-md\",\n day_button: cn(\n buttonVariants({ variant: \"ghost\" }),\n \"h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-md\"\n ),\n range_end: \"range-end\",\n range_start: \"range-start\",\n selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground rounded-md\",\n today: \"bg-accent text-accent-foreground rounded-md\",\n outside:\n \"outside text-muted-foreground aria-selected:bg-accent/50 aria-selected:text-muted-foreground\",\n disabled: \"text-muted-foreground opacity-50\",\n range_middle:\n \"aria-selected:bg-accent aria-selected:text-accent-foreground\",\n hidden: \"invisible\",\n ...classNames,\n }}\n components={{\n Chevron: ({ orientation, ...rest }) =>\n orientation === \"left\" ? (\n <ChevronLeft className=\"h-4 w-4\" {...rest} />\n ) : (\n <ChevronRight className=\"h-4 w-4\" {...rest} />\n ),\n }}\n {...props}\n />\n );\n}\n\nCalendar.displayName = \"Calendar\";\n\nexport { Calendar };\n"],"names":["Calendar","className","classNames","showOutsideDays","locale","ptBR","props","jsx","DayPicker","cn","buttonVariants","orientation","rest","ChevronLeft","ChevronRight"],"mappings":";;;;;;;AAmCA,SAASA,EAAS;AAAA,EAChB,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,QAAAC,IAASC;AAAA,EACT,GAAGC;AACL,GAAkB;AAChB,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,iBAAAL;AAAA,MACA,QAAAC;AAAA,MACA,WAAWK,EAAG,gBAAgBR,CAAS;AAAA,MACvC,YAAY;AAAA,QACV,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,eAAe;AAAA,QACf,eAAe;AAAA,QACf,KAAK;AAAA,QACL,iBAAiBQ;AAAA,UACfC,EAAe,EAAE,SAAS,WAAW;AAAA,UACrC;AAAA,QAAA;AAAA,QAEF,aAAaD;AAAA,UACXC,EAAe,EAAE,SAAS,WAAW;AAAA,UACrC;AAAA,QAAA;AAAA,QAEF,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,SAAS;AAAA,QACT,MAAM;AAAA,QACN,KAAK;AAAA,QACL,YAAYD;AAAA,UACVC,EAAe,EAAE,SAAS,SAAS;AAAA,UACnC;AAAA,QAAA;AAAA,QAEF,WAAW;AAAA,QACX,aAAa;AAAA,QACb,UACE;AAAA,QACF,OAAO;AAAA,QACP,SACE;AAAA,QACF,UAAU;AAAA,QACV,cACE;AAAA,QACF,QAAQ;AAAA,QACR,GAAGR;AAAA,MAAA;AAAA,MAEL,YAAY;AAAA,QACV,SAAS,CAAC,EAAE,aAAAS,GAAa,GAAGC,EAAA,MAC1BD,MAAgB,SACd,gBAAAJ,EAACM,KAAY,WAAU,WAAW,GAAGD,EAAA,CAAM,sBAE1CE,GAAA,EAAa,WAAU,WAAW,GAAGF,EAAA,CAAM;AAAA,MAAA;AAAA,MAGjD,GAAGN;AAAA,IAAA;AAAA,EAAA;AAGV;AAEAN,EAAS,cAAc;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),s=require("react"),d=require("@radix-ui/react-checkbox"),u=require("lucide-react"),l=require("../utils.cjs");function o(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const c=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,c.get?c:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const b=o(s),a=o(d),n=b.forwardRef(({className:e,...r},t)=>i.jsx(a.Root,{ref:t,"data-slot":"checkbox",className:l.cn("peer border bg-input-background dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...r,children:i.jsx(a.Indicator,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current transition-none",children:i.jsx(u.Check,{className:"size-3.5"})})}));n.displayName=a.Root.displayName;exports.Checkbox=n;
|
|
2
|
+
//# sourceMappingURL=checkbox.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox.cjs","sources":["../../../../src/components/ui/forms/checkbox.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { Check } from \"lucide-react\";\n\nimport { cn } from \"../utils\";\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n data-slot=\"checkbox\"\n className={cn(\n \"peer border bg-input-background dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"flex items-center justify-center text-current transition-none\"\n >\n <Check className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n));\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n"],"names":["Checkbox","React","className","props","ref","jsx","CheckboxPrimitive","cn","Check"],"mappings":"ghBAQMA,EAAWC,EAAM,WAGrB,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAA,EAASC,IAC1BC,EAAAA,IAACC,EAAkB,KAAlB,CACC,IAAAF,EACA,YAAU,WACV,UAAWG,EAAAA,GACT,4fACAL,CAAA,EAED,GAAGC,EAEJ,SAAAE,EAAAA,IAACC,EAAkB,UAAlB,CACC,YAAU,qBACV,UAAU,gEAEV,SAAAD,EAAAA,IAACG,EAAAA,MAAA,CAAM,UAAU,UAAA,CAAW,CAAA,CAAA,CAC9B,CACF,CACD,EACDR,EAAS,YAAcM,EAAkB,KAAK"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
3
|
+
import * as o from "react";
|
|
4
|
+
import * as r from "@radix-ui/react-checkbox";
|
|
5
|
+
import { Check as d } from "lucide-react";
|
|
6
|
+
import { cn as s } from "../utils.js";
|
|
7
|
+
const c = o.forwardRef(({ className: i, ...a }, t) => /* @__PURE__ */ e(
|
|
8
|
+
r.Root,
|
|
9
|
+
{
|
|
10
|
+
ref: t,
|
|
11
|
+
"data-slot": "checkbox",
|
|
12
|
+
className: s(
|
|
13
|
+
"peer border bg-input-background dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
|
|
14
|
+
i
|
|
15
|
+
),
|
|
16
|
+
...a,
|
|
17
|
+
children: /* @__PURE__ */ e(
|
|
18
|
+
r.Indicator,
|
|
19
|
+
{
|
|
20
|
+
"data-slot": "checkbox-indicator",
|
|
21
|
+
className: "flex items-center justify-center text-current transition-none",
|
|
22
|
+
children: /* @__PURE__ */ e(d, { className: "size-3.5" })
|
|
23
|
+
}
|
|
24
|
+
)
|
|
25
|
+
}
|
|
26
|
+
));
|
|
27
|
+
c.displayName = r.Root.displayName;
|
|
28
|
+
export {
|
|
29
|
+
c as Checkbox
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox.js","sources":["../../../../src/components/ui/forms/checkbox.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { Check } from \"lucide-react\";\n\nimport { cn } from \"../utils\";\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n data-slot=\"checkbox\"\n className={cn(\n \"peer border bg-input-background dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"flex items-center justify-center text-current transition-none\"\n >\n <Check className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n));\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n"],"names":["Checkbox","React","className","props","ref","jsx","CheckboxPrimitive","cn","Check"],"mappings":";;;;;;AAQA,MAAMA,IAAWC,EAAM,WAGrB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAACC,EAAkB;AAAA,EAAlB;AAAA,IACC,KAAAF;AAAA,IACA,aAAU;AAAA,IACV,WAAWG;AAAA,MACT;AAAA,MACAL;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,IAEJ,UAAA,gBAAAE;AAAA,MAACC,EAAkB;AAAA,MAAlB;AAAA,QACC,aAAU;AAAA,QACV,WAAU;AAAA,QAEV,UAAA,gBAAAD,EAACG,GAAA,EAAM,WAAU,WAAA,CAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EAC9B;AACF,CACD;AACDR,EAAS,cAAcM,EAAkB,KAAK;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),u=require("react"),F=require("react-colorful"),i=require("../overlays/popover.cjs"),C=require("../primitives/button.cjs"),h=require("./input.cjs"),d=require("../primitives/label.cjs"),j=require("../utils.cjs");function B(t){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const l in t)if(l!=="default"){const o=Object.getOwnPropertyDescriptor(t,l);Object.defineProperty(s,l,o.get?o:{enumerable:!0,get:()=>t[l]})}}return s.default=t,Object.freeze(s)}const b=B(u),g=b.forwardRef(({value:t="#7F26BF",onChange:s,label:l,className:o,disabled:p=!1},N)=>{const[c,n]=u.useState(t),[v,y]=u.useState(!1);b.useEffect(()=>{n(t)},[t]);const x=r=>{n(r),s==null||s(r)},m=r=>{let a=r.target.value;a=a.replace("#",""),a=a.replace(/[^0-9A-Fa-f]/g,""),a.length>6&&(a=a.slice(0,6));const f="#"+a;n(f),a.length===6&&(s==null||s(f))};return e.jsxs("div",{className:j.cn("space-y-2",o),children:[l&&e.jsx(d.Label,{children:l}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(i.Popover,{open:v,onOpenChange:y,children:[e.jsx(i.PopoverTrigger,{asChild:!0,children:e.jsx(C.Button,{ref:N,type:"button",variant:"outline",className:"w-12 h-10 p-0 border-2",style:{backgroundColor:c},disabled:p,"aria-label":"Selecionar cor",children:e.jsx("span",{className:"sr-only",children:"Selecionar cor"})})}),e.jsx(i.PopoverContent,{className:"w-64 p-3",align:"start",children:e.jsxs("div",{className:"space-y-3",children:[e.jsx(F.HexColorPicker,{color:c,onChange:x,style:{width:"100%"}}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(d.Label,{className:"text-xs",children:"Código Hexadecimal"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx("span",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-sm text-muted-foreground",children:"#"}),e.jsx(h.Input,{value:c.replace("#","").toUpperCase(),onChange:m,className:"pl-7 font-mono text-sm",placeholder:"7F26BF",maxLength:6})]}),e.jsx("div",{className:"w-10 h-10 rounded border-2",style:{backgroundColor:c}})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(d.Label,{className:"text-xs",children:"Cores Rápidas"}),e.jsx("div",{className:"grid grid-cols-8 gap-1",children:["#7F26BF","#5B158C","#420F66","#0086E6","#0053A6","#003066","#24B347","#007F2A","#004D19","#FAB325","#E6960B","#CC7C04","#F26924","#E64D0B","#BF3000","#F22435","#CC0A1A","#99000D","#000000","#697280","#C5CDD9","#FFFFFF"].map(r=>e.jsx("button",{type:"button",className:j.cn("w-6 h-6 rounded border transition-all hover:scale-110",c.toLowerCase()===r.toLowerCase()?"border-2 border-primary ring-2 ring-primary/20":"border-border"),style:{backgroundColor:r},onClick:()=>x(r),title:r},r))})]})]})})]}),e.jsxs("div",{className:"relative flex-1",children:[e.jsx("span",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground",children:"#"}),e.jsx(h.Input,{value:c.replace("#","").toUpperCase(),onChange:m,className:"pl-8 font-mono",placeholder:"7F26BF",disabled:p,maxLength:6})]})]})]})});g.displayName="ColorPicker";exports.ColorPicker=g;
|
|
2
|
+
//# sourceMappingURL=color-picker.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-picker.cjs","sources":["../../../../src/components/ui/forms/color-picker.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { useState } from \"react\";\nimport { HexColorPicker } from \"react-colorful\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"../overlays/popover\";\nimport { Button } from \"../primitives/button\";\nimport { Input } from \"./input\";\nimport { Label } from \"../primitives/label\";\nimport { cn } from \"../utils\";\n\nexport interface ColorPickerProps {\n value?: string;\n onChange?: (color: string) => void;\n label?: string;\n className?: string;\n disabled?: boolean;\n}\n\nexport const ColorPicker = React.forwardRef<\n React.ElementRef<typeof Button>,\n ColorPickerProps\n>(({\n value = \"#7F26BF\",\n onChange,\n label,\n className,\n disabled = false,\n}, ref) => {\n const [color, setColor] = useState(value);\n const [open, setOpen] = useState(false);\n\n React.useEffect(() => {\n setColor(value);\n }, [value]);\n\n const handleColorChange = (newColor: string) => {\n setColor(newColor);\n onChange?.(newColor);\n };\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n let inputValue = e.target.value;\n \n // Remove # if exists\n inputValue = inputValue.replace(\"#\", \"\");\n \n // Only allow valid hex characters\n inputValue = inputValue.replace(/[^0-9A-Fa-f]/g, \"\");\n \n // Limit to 6 characters\n if (inputValue.length > 6) {\n inputValue = inputValue.slice(0, 6);\n }\n \n const newColor = \"#\" + inputValue;\n setColor(newColor);\n \n // Only call onChange if we have a complete hex color\n if (inputValue.length === 6) {\n onChange?.(newColor);\n }\n };\n\n return (\n <div className={cn(\"space-y-2\", className)}>\n {label && <Label>{label}</Label>}\n \n <div className=\"flex gap-2\">\n {/* Color Preview Button */}\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n ref={ref}\n type=\"button\"\n variant=\"outline\"\n className=\"w-12 h-10 p-0 border-2\"\n style={{ backgroundColor: color }}\n disabled={disabled}\n aria-label=\"Selecionar cor\"\n >\n <span className=\"sr-only\">Selecionar cor</span>\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-64 p-3\" align=\"start\">\n <div className=\"space-y-3\">\n <HexColorPicker \n color={color} \n onChange={handleColorChange}\n style={{ width: \"100%\" }}\n />\n \n <div className=\"space-y-2\">\n <Label className=\"text-xs\">Código Hexadecimal</Label>\n <div className=\"flex gap-2\">\n <div className=\"relative flex-1\">\n <span className=\"absolute left-3 top-1/2 -translate-y-1/2 text-sm text-muted-foreground\">\n #\n </span>\n <Input\n value={color.replace(\"#\", \"\").toUpperCase()}\n onChange={handleInputChange}\n className=\"pl-7 font-mono text-sm\"\n placeholder=\"7F26BF\"\n maxLength={6}\n />\n </div>\n <div \n className=\"w-10 h-10 rounded border-2\"\n style={{ backgroundColor: color }}\n />\n </div>\n </div>\n\n {/* Preset Colors */}\n <div className=\"space-y-2\">\n <Label className=\"text-xs\">Cores Rápidas</Label>\n <div className=\"grid grid-cols-8 gap-1\">\n {[\n \"#7F26BF\", \"#5B158C\", \"#420F66\", // Purple\n \"#0086E6\", \"#0053A6\", \"#003066\", // Blue\n \"#24B347\", \"#007F2A\", \"#004D19\", // Green\n \"#FAB325\", \"#E6960B\", \"#CC7C04\", // Yellow\n \"#F26924\", \"#E64D0B\", \"#BF3000\", // Orange\n \"#F22435\", \"#CC0A1A\", \"#99000D\", // Red\n \"#000000\", \"#697280\", \"#C5CDD9\", \"#FFFFFF\", // Grays\n ].map((presetColor) => (\n <button\n key={presetColor}\n type=\"button\"\n className={cn(\n \"w-6 h-6 rounded border transition-all hover:scale-110\",\n color.toLowerCase() === presetColor.toLowerCase()\n ? \"border-2 border-primary ring-2 ring-primary/20\"\n : \"border-border\"\n )}\n style={{ backgroundColor: presetColor }}\n onClick={() => handleColorChange(presetColor)}\n title={presetColor}\n />\n ))}\n </div>\n </div>\n </div>\n </PopoverContent>\n </Popover>\n\n {/* Text Input */}\n <div className=\"relative flex-1\">\n <span className=\"absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground\">\n #\n </span>\n <Input\n value={color.replace(\"#\", \"\").toUpperCase()}\n onChange={handleInputChange}\n className=\"pl-8 font-mono\"\n placeholder=\"7F26BF\"\n disabled={disabled}\n maxLength={6}\n />\n </div>\n </div>\n </div>\n );\n});\nColorPicker.displayName = \"ColorPicker\";\n\n// Simplified version without label for inline use\nexport function ColorPickerInline({\n value = \"#7F26BF\",\n onChange,\n className,\n disabled = false,\n}: Omit<ColorPickerProps, \"label\">) {\n return (\n <ColorPicker\n value={value}\n onChange={onChange}\n className={className}\n disabled={disabled}\n />\n );\n}\n"],"names":["ColorPicker","React","value","onChange","label","className","disabled","ref","color","setColor","useState","open","setOpen","handleColorChange","newColor","handleInputChange","e","inputValue","cn","jsx","Label","jsxs","Popover","PopoverTrigger","Button","PopoverContent","HexColorPicker","Input","presetColor"],"mappings":"8mBAmBaA,EAAcC,EAAM,WAG/B,CAAC,CACD,MAAAC,EAAQ,UACR,SAAAC,EAAA,MACAC,EACA,UAAAC,EACA,SAAAC,EAAW,EACb,EAAGC,IAAQ,CACT,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAAAA,SAASR,CAAK,EAClC,CAACS,EAAMC,CAAO,EAAIF,EAAAA,SAAS,EAAK,EAEtCT,EAAM,UAAU,IAAM,CACpBQ,EAASP,CAAK,CAChB,EAAG,CAACA,CAAK,CAAC,EAEV,MAAMW,EAAqBC,GAAqB,CAC9CL,EAASK,CAAQ,EACjBX,GAAA,MAAAA,EAAWW,EACb,EAEMC,EAAqBC,GAA2C,CACpE,IAAIC,EAAaD,EAAE,OAAO,MAG1BC,EAAaA,EAAW,QAAQ,IAAK,EAAE,EAGvCA,EAAaA,EAAW,QAAQ,gBAAiB,EAAE,EAG/CA,EAAW,OAAS,IACtBA,EAAaA,EAAW,MAAM,EAAG,CAAC,GAGpC,MAAMH,EAAW,IAAMG,EACvBR,EAASK,CAAQ,EAGbG,EAAW,SAAW,IACxBd,GAAA,MAAAA,EAAWW,GAEf,EAEA,cACG,MAAA,CAAI,UAAWI,EAAAA,GAAG,YAAab,CAAS,EACtC,SAAA,CAAAD,GAASe,EAAAA,IAACC,EAAAA,OAAO,SAAAhB,CAAA,CAAM,EAExBiB,EAAAA,KAAC,MAAA,CAAI,UAAU,aAEb,SAAA,CAAAA,EAAAA,KAACC,EAAAA,QAAA,CAAQ,KAAAX,EAAY,aAAcC,EACjC,SAAA,CAAAO,EAAAA,IAACI,EAAAA,eAAA,CAAe,QAAO,GACrB,SAAAJ,EAAAA,IAACK,EAAAA,OAAA,CACC,IAAAjB,EACA,KAAK,SACL,QAAQ,UACR,UAAU,yBACV,MAAO,CAAE,gBAAiBC,CAAA,EAC1B,SAAAF,EACA,aAAW,iBAEX,SAAAa,EAAAA,IAAC,OAAA,CAAK,UAAU,UAAU,SAAA,gBAAA,CAAc,CAAA,CAAA,EAE5C,EACAA,EAAAA,IAACM,EAAAA,gBAAe,UAAU,WAAW,MAAM,QACzC,SAAAJ,EAAAA,KAAC,MAAA,CAAI,UAAU,YACb,SAAA,CAAAF,EAAAA,IAACO,EAAAA,eAAA,CACC,MAAAlB,EACA,SAAUK,EACV,MAAO,CAAE,MAAO,MAAA,CAAO,CAAA,EAGzBQ,EAAAA,KAAC,MAAA,CAAI,UAAU,YACb,SAAA,CAAAF,EAAAA,IAACC,EAAAA,MAAA,CAAM,UAAU,UAAU,SAAA,qBAAkB,EAC7CC,EAAAA,KAAC,MAAA,CAAI,UAAU,aACb,SAAA,CAAAA,EAAAA,KAAC,MAAA,CAAI,UAAU,kBACb,SAAA,CAAAF,EAAAA,IAAC,OAAA,CAAK,UAAU,yEAAyE,SAAA,IAEzF,EACAA,EAAAA,IAACQ,EAAAA,MAAA,CACC,MAAOnB,EAAM,QAAQ,IAAK,EAAE,EAAE,YAAA,EAC9B,SAAUO,EACV,UAAU,yBACV,YAAY,SACZ,UAAW,CAAA,CAAA,CACb,EACF,EACAI,EAAAA,IAAC,MAAA,CACC,UAAU,6BACV,MAAO,CAAE,gBAAiBX,CAAA,CAAM,CAAA,CAClC,CAAA,CACF,CAAA,EACF,EAGAa,EAAAA,KAAC,MAAA,CAAI,UAAU,YACb,SAAA,CAAAF,EAAAA,IAACC,EAAAA,MAAA,CAAM,UAAU,UAAU,SAAA,gBAAa,EACxCD,EAAAA,IAAC,MAAA,CAAI,UAAU,yBACZ,SAAA,CACC,UAAW,UAAW,UACtB,UAAW,UAAW,UACtB,UAAW,UAAW,UACtB,UAAW,UAAW,UACtB,UAAW,UAAW,UACtB,UAAW,UAAW,UACtB,UAAW,UAAW,UAAW,SAAA,EACjC,IAAKS,GACLT,EAAAA,IAAC,SAAA,CAEC,KAAK,SACL,UAAWD,EAAAA,GACT,wDACAV,EAAM,YAAA,IAAkBoB,EAAY,YAAA,EAChC,iDACA,eAAA,EAEN,MAAO,CAAE,gBAAiBA,CAAA,EAC1B,QAAS,IAAMf,EAAkBe,CAAW,EAC5C,MAAOA,CAAA,EAVFA,CAAA,CAYR,CAAA,CACH,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CACF,CAAA,EACF,EAGAP,EAAAA,KAAC,MAAA,CAAI,UAAU,kBACb,SAAA,CAAAF,EAAAA,IAAC,OAAA,CAAK,UAAU,iEAAiE,SAAA,IAEjF,EACAA,EAAAA,IAACQ,EAAAA,MAAA,CACC,MAAOnB,EAAM,QAAQ,IAAK,EAAE,EAAE,YAAA,EAC9B,SAAUO,EACV,UAAU,iBACV,YAAY,SACZ,SAAAT,EACA,UAAW,CAAA,CAAA,CACb,CAAA,CACF,CAAA,CAAA,CACF,CAAA,EACF,CAEJ,CAAC,EACDN,EAAY,YAAc"}
|