@wakastellar/ui 4.0.1 → 4.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/blocks/_shared/identity/InviteUserPanel.cjs.js +1 -1
- package/dist/blocks/_shared/identity/RoleSelect.cjs.js +1 -1
- package/dist/blocks/_shared/identity/SidePushLayout.cjs.js +1 -1
- package/dist/blocks/activity-timeline/index.cjs.js +1 -1
- package/dist/blocks/activity-timeline/index.es.js +1 -1
- package/dist/blocks/antivirus-dashboard/index.cjs.js +1 -1
- package/dist/blocks/antivirus-dashboard/index.es.js +1 -1
- package/dist/blocks/api-keys-manager/index.cjs.js +1 -1
- package/dist/blocks/apm-overview/index.cjs.js +1 -1
- package/dist/blocks/auth-2fa/index.cjs.js +2 -2
- package/dist/blocks/auth-2fa/index.es.js +1 -1
- package/dist/blocks/avatar-upload/index.cjs.js +1 -1
- package/dist/blocks/avatar-upload/index.es.js +13 -13
- package/dist/blocks/calendar-view/index.cjs.js +1 -1
- package/dist/blocks/calendar-view/index.es.js +1 -1
- package/dist/blocks/chat/index.cjs.js +1 -1
- package/dist/blocks/chat/index.es.js +162 -162
- package/dist/blocks/chat/widget.cjs.js +1 -1
- package/dist/blocks/chat/widget.es.js +19 -13
- package/dist/blocks/chat-interface/index.cjs.js +1 -1
- package/dist/blocks/chat-interface/index.es.js +1 -1
- package/dist/blocks/checkout-flow/index.cjs.js +1 -1
- package/dist/blocks/checkout-flow/index.es.js +1 -1
- package/dist/blocks/cicd-builder/index.cjs.js +1 -1
- package/dist/blocks/clamav-service-status/index.cjs.js +1 -1
- package/dist/blocks/cloud-cost-dashboard/index.cjs.js +1 -1
- package/dist/blocks/container-orchestrator/index.cjs.js +1 -1
- package/dist/blocks/container-orchestrator/index.es.js +2 -1
- package/dist/blocks/dashboard/index.cjs.js +1 -1
- package/dist/blocks/dashboard/index.es.js +2 -2
- package/dist/blocks/dashboard-kpi/index.cjs.js +1 -1
- package/dist/blocks/dashboard-kpi/index.es.js +1 -1
- package/dist/blocks/database-admin/index.cjs.js +1 -1
- package/dist/blocks/deployment-dashboard/index.cjs.js +1 -1
- package/dist/blocks/deployment-dashboard/index.es.js +1 -1
- package/dist/blocks/empty-states/index.cjs.js +1 -1
- package/dist/blocks/empty-states/index.es.js +1 -1
- package/dist/blocks/error-pages/index.cjs.js +1 -1
- package/dist/blocks/error-pages/index.es.js +1 -1
- package/dist/blocks/faq/index.cjs.js +1 -1
- package/dist/blocks/faq/index.es.js +1 -1
- package/dist/blocks/file-manager/index.cjs.js +1 -1
- package/dist/blocks/file-manager/index.es.js +1 -1
- package/dist/blocks/file-scan-uploader/index.cjs.js +1 -1
- package/dist/blocks/file-scan-uploader/index.es.js +2 -2
- package/dist/blocks/footer/index.cjs.js +1 -1
- package/dist/blocks/gitops-sync-status/index.cjs.js +1 -1
- package/dist/blocks/header/index.cjs.js +1 -1
- package/dist/blocks/header/index.es.js +1 -1
- package/dist/blocks/headtab/index.cjs.js +1 -1
- package/dist/blocks/i18n-editor/index.cjs.js +1 -1
- package/dist/blocks/i18n-editor/index.es.js +127 -127
- package/dist/blocks/incident-manager/index.cjs.js +1 -1
- package/dist/blocks/infrastructure-map/index.cjs.js +1 -1
- package/dist/blocks/kanban-board/index.cjs.js +1 -1
- package/dist/blocks/kanban-board/index.es.js +1 -1
- package/dist/blocks/landing/index.cjs.js +1 -1
- package/dist/blocks/landing/index.es.js +1 -1
- package/dist/blocks/language-selector/index.cjs.js +1 -1
- package/dist/blocks/layout/index.cjs.js +1 -1
- package/dist/blocks/login/index.cjs.js +1 -1
- package/dist/blocks/on-call-schedule/index.cjs.js +1 -1
- package/dist/blocks/player-profile/index.cjs.js +1 -1
- package/dist/blocks/player-profile/index.es.js +1 -1
- package/dist/blocks/pricing/index.cjs.js +1 -1
- package/dist/blocks/pricing/index.es.js +1 -1
- package/dist/blocks/profile/index.cjs.js +1 -1
- package/dist/blocks/profile/index.es.js +1 -1
- package/dist/blocks/profile-list/index.cjs.js +1 -1
- package/dist/blocks/quarantine-manager/index.cjs.js +1 -1
- package/dist/blocks/quarantine-manager/index.es.js +1 -1
- package/dist/blocks/release-notes/index.cjs.js +1 -1
- package/dist/blocks/scan-history-log/index.cjs.js +1 -1
- package/dist/blocks/scan-history-log/index.es.js +1 -1
- package/dist/blocks/scan-policy-editor/index.cjs.js +1 -1
- package/dist/blocks/scan-report-generator/index.cjs.js +1 -1
- package/dist/blocks/settings/index.cjs.js +1 -1
- package/dist/blocks/settings/index.es.js +1 -1
- package/dist/blocks/sidebar/index.cjs.js +1 -1
- package/dist/blocks/sidebar/index.es.js +1 -1
- package/dist/blocks/signature-database-manager/index.cjs.js +1 -1
- package/dist/blocks/team-form/index.cjs.js +1 -1
- package/dist/blocks/threat-alert-banner/index.cjs.js +1 -1
- package/dist/blocks/user-management/index.cjs.js +1 -1
- package/dist/blocks/waka-doc-shell/index.cjs.js +1 -1
- package/dist/blocks/wizard/index.cjs.js +1 -1
- package/dist/blocks/wizard/index.es.js +37 -37
- package/dist/charts.cjs.js +1 -1
- package/dist/charts.es.js +8 -8
- package/dist/cli/index.cjs +5 -1
- package/dist/components/DataTable/DataTable.cjs.js +1 -1
- package/dist/components/DataTable/DataTable.es.js +68 -66
- package/dist/components/DataTable/DataTableAdvanced.cjs.js +1 -1
- package/dist/components/DataTable/DataTableColumnResizer.cjs.js +1 -1
- package/dist/components/DataTable/DataTableContextMenu.cjs.js +1 -1
- package/dist/components/DataTable/DataTableEditCell.cjs.js +1 -1
- package/dist/components/DataTable/DataTableFilters.cjs.js +1 -1
- package/dist/components/DataTable/DataTableGrouping.cjs.js +1 -1
- package/dist/components/DataTable/DataTablePagination.cjs.js +1 -1
- package/dist/components/DataTable/DataTablePagination.d.ts +3 -1
- package/dist/components/DataTable/DataTablePagination.es.js +38 -27
- package/dist/components/DataTable/DataTableSelection.cjs.js +1 -1
- package/dist/components/DataTable/DataTableToolbar.cjs.js +1 -1
- package/dist/components/DataTable/hooks/useDataTable.cjs.js +1 -1
- package/dist/components/DataTable/hooks/useDataTable.es.js +5 -1
- package/dist/components/DataTable/hooks/useDataTableAdvanced.cjs.js +1 -1
- package/dist/components/DataTable/hooks/useDataTableEdit.cjs.js +1 -1
- package/dist/components/DataTable/hooks/useDataTableExport.cjs.js +2 -2
- package/dist/components/DataTable/hooks/useDataTableImport.cjs.js +2 -2
- package/dist/components/DataTable/hooks/useDataTableImport.es.js +2 -1
- package/dist/components/DataTable/hooks/useDataTableTheme.cjs.js +1 -1
- package/dist/components/DataTable/hooks/useDataTableVirtualization.cjs.js +1 -1
- package/dist/components/DataTable/hooks/useTableLayout.cjs.js +1 -1
- package/dist/components/DataTable/utils.cjs.js +1 -1
- package/dist/components/accordion/index.cjs.js +1 -1
- package/dist/components/alert/index.cjs.js +1 -1
- package/dist/components/alert-dialog/index.cjs.js +1 -1
- package/dist/components/aspect-ratio/index.cjs.js +1 -1
- package/dist/components/avatar/index.cjs.js +1 -1
- package/dist/components/badge/index.cjs.js +1 -1
- package/dist/components/button/index.cjs.js +1 -1
- package/dist/components/calendar/index.cjs.js +1 -1
- package/dist/components/card/index.cjs.js +1 -1
- package/dist/components/checkbox/index.cjs.js +1 -1
- package/dist/components/code/index.cjs.js +2 -2
- package/dist/components/code/index.es.js +3 -2
- package/dist/components/collapsible/index.cjs.js +1 -1
- package/dist/components/command/index.cjs.js +1 -1
- package/dist/components/context-menu/index.cjs.js +1 -1
- package/dist/components/dialog/index.cjs.js +1 -1
- package/dist/components/dropdown-menu/index.cjs.js +1 -1
- package/dist/components/editor/blocks/index.cjs.js +1 -1
- package/dist/components/editor/blocks/index.es.js +12 -12
- package/dist/components/editor/blocks/waka-acceptance-criteria-block.cjs.js +1 -1
- package/dist/components/editor/blocks/waka-ai-assist-block.cjs.js +1 -1
- package/dist/components/editor/blocks/waka-api-endpoint-block.cjs.js +1 -1
- package/dist/components/editor/blocks/waka-code-playground-block.cjs.js +1 -1
- package/dist/components/editor/blocks/waka-comment-thread-block.cjs.js +1 -1
- package/dist/components/editor/blocks/waka-diagram-block.cjs.js +3 -3
- package/dist/components/editor/blocks/waka-diagram-block.es.js +21 -40
- package/dist/components/editor/blocks/waka-embed-block.cjs.js +1 -1
- package/dist/components/editor/blocks/waka-slash-menu-block.cjs.js +1 -1
- package/dist/components/editor/blocks/waka-user-story-block.cjs.js +1 -1
- package/dist/components/editor/blocks/waka-version-diff-block.cjs.js +1 -1
- package/dist/components/editor/waka-ai-writer.cjs.js +1 -1
- package/dist/components/editor/waka-collaborative-editor.cjs.js +1 -1
- package/dist/components/editor/waka-diff-viewer.cjs.js +1 -1
- package/dist/components/editor/waka-dnd-editor.cjs.js +1 -1
- package/dist/components/editor/waka-document-editor.cjs.js +1 -1
- package/dist/components/editor/waka-document-editor.es.js +1 -1
- package/dist/components/editor/waka-editor-elements.cjs.js +1 -1
- package/dist/components/editor/waka-editor-leaves.cjs.js +1 -1
- package/dist/components/editor/waka-editor-toolbar.cjs.js +1 -1
- package/dist/components/editor/waka-editor.cjs.js +1 -1
- package/dist/components/editor/waka-floating-toolbar.cjs.js +1 -1
- package/dist/components/editor/waka-markdown-editor.cjs.js +1 -1
- package/dist/components/editor/waka-mention-editor.cjs.js +1 -1
- package/dist/components/editor/waka-mention-editor.es.js +2 -2
- package/dist/components/editor/waka-slash-menu.cjs.js +1 -1
- package/dist/components/editor/waka-spec-editor.cjs.js +1 -1
- package/dist/components/form/index.cjs.js +1 -1
- package/dist/components/hover-card/index.cjs.js +1 -1
- package/dist/components/input/index.cjs.js +1 -1
- package/dist/components/input-otp/index.cjs.js +1 -1
- package/dist/components/input-otp/index.es.js +2 -1
- package/dist/components/label/index.cjs.js +1 -1
- package/dist/components/language-selector/index.cjs.js +1 -1
- package/dist/components/menubar/index.cjs.js +1 -1
- package/dist/components/navigation-menu/index.cjs.js +1 -1
- package/dist/components/popover/index.cjs.js +1 -1
- package/dist/components/progress/index.cjs.js +1 -1
- package/dist/components/radio-group/index.cjs.js +1 -1
- package/dist/components/resizable/index.cjs.js +1 -1
- package/dist/components/resizable/index.es.js +9 -9
- package/dist/components/scroll-area/index.cjs.js +1 -1
- package/dist/components/select/index.cjs.js +1 -1
- package/dist/components/separator/index.cjs.js +1 -1
- package/dist/components/sheet/index.cjs.js +1 -1
- package/dist/components/skeleton/index.cjs.js +1 -1
- package/dist/components/slider/index.cjs.js +1 -1
- package/dist/components/switch/index.cjs.js +1 -1
- package/dist/components/table/index.cjs.js +1 -1
- package/dist/components/tabs/index.cjs.js +1 -1
- package/dist/components/textarea/index.cjs.js +1 -1
- package/dist/components/theme-selector/index.cjs.js +1 -1
- package/dist/components/toast/index.cjs.js +1 -1
- package/dist/components/toaster/index.cjs.js +1 -1
- package/dist/components/toggle/index.cjs.js +1 -1
- package/dist/components/toggle-group/index.cjs.js +1 -1
- package/dist/components/tooltip/index.cjs.js +1 -1
- package/dist/components/typography/index.cjs.js +1 -1
- package/dist/components/waka-3d-pie-chart/index.cjs.js +1 -1
- package/dist/components/waka-3d-pie-chart/index.es.js +1 -1
- package/dist/components/waka-achievement-unlock/index.cjs.js +1 -1
- package/dist/components/waka-achievement-unlock/index.es.js +1 -1
- package/dist/components/waka-activity-feed/index.cjs.js +2 -2
- package/dist/components/waka-activity-feed/index.es.js +1 -1
- package/dist/components/waka-ad-banner/index.cjs.js +1 -1
- package/dist/components/waka-ad-banner/index.es.js +18 -15
- package/dist/components/waka-ad-fallback/index.cjs.js +1 -1
- package/dist/components/waka-ad-fallback/index.es.js +1 -1
- package/dist/components/waka-ad-inline/index.cjs.js +1 -1
- package/dist/components/waka-ad-inline/index.es.js +2 -2
- package/dist/components/waka-ad-interstitial/index.cjs.js +1 -1
- package/dist/components/waka-ad-interstitial/index.es.js +3 -3
- package/dist/components/waka-ad-placeholder/index.cjs.js +2 -2
- package/dist/components/waka-ad-placeholder/index.es.js +1 -1
- package/dist/components/waka-ad-provider/index.cjs.js +1 -1
- package/dist/components/waka-ad-provider/index.es.js +1 -1
- package/dist/components/waka-ad-sidebar/index.cjs.js +1 -1
- package/dist/components/waka-ad-sidebar/index.es.js +2 -2
- package/dist/components/waka-ad-sticky-footer/index.cjs.js +1 -1
- package/dist/components/waka-ad-sticky-footer/index.es.js +2 -2
- package/dist/components/waka-address-autocomplete/index.cjs.js +2 -2
- package/dist/components/waka-address-autocomplete/index.es.js +10 -6
- package/dist/components/waka-admincrumb/index.cjs.js +1 -1
- package/dist/components/waka-alert-panel/index.cjs.js +1 -1
- package/dist/components/waka-alert-stack/index.cjs.js +1 -1
- package/dist/components/waka-alert-stack/index.es.js +1 -1
- package/dist/components/waka-allocation-matrix/index.cjs.js +2 -2
- package/dist/components/waka-allocation-matrix/index.es.js +1 -1
- package/dist/components/waka-approval-chain/index.cjs.js +1 -1
- package/dist/components/waka-approval-chain/index.es.js +1 -1
- package/dist/components/waka-artifact-list/index.cjs.js +1 -1
- package/dist/components/waka-artifact-list/index.es.js +1 -1
- package/dist/components/waka-audit-log/index.cjs.js +2 -2
- package/dist/components/waka-audit-log/index.es.js +1 -1
- package/dist/components/waka-autocomplete/index.cjs.js +1 -1
- package/dist/components/waka-autocomplete/index.es.js +3 -2
- package/dist/components/waka-badge-showcase/index.cjs.js +1 -1
- package/dist/components/waka-barcode/index.cjs.js +1 -1
- package/dist/components/waka-barcode/index.es.js +1 -1
- package/dist/components/waka-biometric-prompt/index.cjs.js +2 -2
- package/dist/components/waka-biometric-prompt/index.es.js +1 -1
- package/dist/components/waka-bottom-sheet/index.cjs.js +1 -1
- package/dist/components/waka-bottom-sheet/index.es.js +12 -7
- package/dist/components/waka-breadcrumb/index.cjs.js +1 -1
- package/dist/components/waka-breadcrumb/index.es.js +1 -1
- package/dist/components/waka-breadcrumb-path/index.cjs.js +1 -1
- package/dist/components/waka-breadcrumb-path/index.es.js +1 -1
- package/dist/components/waka-budget-burn/index.cjs.js +2 -2
- package/dist/components/waka-budget-burn/index.es.js +3 -3
- package/dist/components/waka-build-matrix/index.cjs.js +1 -1
- package/dist/components/waka-capacity-planner/index.cjs.js +2 -2
- package/dist/components/waka-capacity-planner/index.es.js +1 -1
- package/dist/components/waka-carousel/index.cjs.js +1 -1
- package/dist/components/waka-carousel/index.es.js +2 -2
- package/dist/components/waka-cart-summary/index.cjs.js +1 -1
- package/dist/components/waka-cart-summary/index.es.js +2 -2
- package/dist/components/waka-challenge-timer/index.cjs.js +1 -1
- package/dist/components/waka-charts/WakaAreaChart.cjs.js +1 -1
- package/dist/components/waka-charts/WakaAreaChart.es.js +2 -2
- package/dist/components/waka-charts/WakaBarChart.cjs.js +1 -1
- package/dist/components/waka-charts/WakaBarChart.es.js +2 -2
- package/dist/components/waka-charts/WakaChart.cjs.js +1 -1
- package/dist/components/waka-charts/WakaChart.es.js +1 -1
- package/dist/components/waka-charts/WakaLineChart.cjs.js +1 -1
- package/dist/components/waka-charts/WakaLineChart.es.js +2 -2
- package/dist/components/waka-charts/WakaMiniChart.cjs.js +1 -1
- package/dist/components/waka-charts/WakaMiniChart.es.js +2 -2
- package/dist/components/waka-charts/WakaPieChart.cjs.js +1 -1
- package/dist/components/waka-charts/WakaPieChart.es.js +2 -2
- package/dist/components/waka-charts/WakaSparkline.cjs.js +1 -1
- package/dist/components/waka-charts/WakaSparkline.es.js +1 -1
- package/dist/components/waka-charts/dataTableHelpers.cjs.js +1 -1
- package/dist/components/waka-charts/dataTableHelpers.es.js +1 -1
- package/dist/components/waka-charts/hooks/useChartTheme.cjs.js +1 -1
- package/dist/components/waka-charts/hooks/useChartTheme.es.js +1 -1
- package/dist/components/waka-charts/hooks/useRechartsLoader.cjs.js +1 -1
- package/dist/components/waka-charts/hooks/useRechartsLoader.es.js +1 -1
- package/dist/components/waka-chat-bubble/index.cjs.js +1 -1
- package/dist/components/waka-checklist/index.cjs.js +2 -2
- package/dist/components/waka-checklist/index.es.js +1 -1
- package/dist/components/waka-checkout-stepper/index.cjs.js +1 -1
- package/dist/components/waka-checkout-stepper/index.es.js +1 -1
- package/dist/components/waka-cohort-table/index.cjs.js +2 -2
- package/dist/components/waka-cohort-table/index.es.js +1 -1
- package/dist/components/waka-color-picker/index.cjs.js +2 -2
- package/dist/components/waka-color-picker/index.es.js +1 -1
- package/dist/components/waka-combo-counter/index.cjs.js +1 -1
- package/dist/components/waka-combobox/index.cjs.js +1 -1
- package/dist/components/waka-combobox/index.es.js +3 -2
- package/dist/components/waka-command-bar/index.cjs.js +1 -1
- package/dist/components/waka-compare-period/index.cjs.js +2 -2
- package/dist/components/waka-compare-period/index.es.js +7 -5
- package/dist/components/waka-config-comparator/index.cjs.js +1 -1
- package/dist/components/waka-config-comparator/index.es.js +1 -1
- package/dist/components/waka-connection-matrix/index.cjs.js +1 -1
- package/dist/components/waka-connection-matrix/index.es.js +1 -1
- package/dist/components/waka-container-list/index.cjs.js +1 -1
- package/dist/components/waka-container-list/index.es.js +1 -1
- package/dist/components/waka-content-recommendation/index.cjs.js +1 -1
- package/dist/components/waka-content-recommendation/index.es.js +2 -2
- package/dist/components/waka-contribution-graph/index.cjs.js +1 -1
- package/dist/components/waka-contribution-graph/index.es.js +4 -4
- package/dist/components/waka-cost-breakdown/index.cjs.js +1 -1
- package/dist/components/waka-cost-breakdown/index.es.js +7 -7
- package/dist/components/waka-coupon-input/index.cjs.js +2 -2
- package/dist/components/waka-coupon-input/index.es.js +1 -1
- package/dist/components/waka-credit-activity-feed/index.cjs.js +2 -2
- package/dist/components/waka-credit-activity-feed/index.es.js +1 -1
- package/dist/components/waka-credit-alert/index.cjs.js +1 -1
- package/dist/components/waka-credit-alert/index.es.js +1 -1
- package/dist/components/waka-credit-balance/index.cjs.js +1 -1
- package/dist/components/waka-credit-balance/index.es.js +3 -3
- package/dist/components/waka-credit-breakdown/index.cjs.js +1 -1
- package/dist/components/waka-credit-breakdown/index.es.js +1 -1
- package/dist/components/waka-credit-burn-rate/index.cjs.js +1 -1
- package/dist/components/waka-credit-burn-rate/index.es.js +1 -1
- package/dist/components/waka-credit-card-input/index.cjs.js +1 -1
- package/dist/components/waka-credit-card-input/index.es.js +1 -1
- package/dist/components/waka-credit-history/index.cjs.js +1 -1
- package/dist/components/waka-credit-history/index.es.js +1 -1
- package/dist/components/waka-credit-meter/index.cjs.js +2 -2
- package/dist/components/waka-credit-meter/index.es.js +3 -3
- package/dist/components/waka-credit-pricing-pack/index.cjs.js +1 -1
- package/dist/components/waka-credit-pricing-pack/index.es.js +1 -1
- package/dist/components/waka-credit-projection/index.cjs.js +1 -1
- package/dist/components/waka-credit-projection/index.es.js +1 -1
- package/dist/components/waka-credit-quota/index.cjs.js +1 -1
- package/dist/components/waka-credit-quota/index.es.js +3 -3
- package/dist/components/waka-credit-receipt/index.cjs.js +1 -1
- package/dist/components/waka-credit-receipt/index.es.js +1 -1
- package/dist/components/waka-credit-top-up/index.cjs.js +1 -1
- package/dist/components/waka-credit-top-up/index.es.js +1 -1
- package/dist/components/waka-credit-transaction/index.cjs.js +1 -1
- package/dist/components/waka-credit-transaction/index.es.js +1 -1
- package/dist/components/waka-credit-transfer-form/index.cjs.js +1 -1
- package/dist/components/waka-credit-transfer-form/index.es.js +1 -1
- package/dist/components/waka-credit-usage-chart/index.cjs.js +1 -1
- package/dist/components/waka-credit-usage-chart/index.es.js +1 -1
- package/dist/components/waka-daily-reward/index.cjs.js +1 -1
- package/dist/components/waka-database-card/index.cjs.js +1 -1
- package/dist/components/waka-database-card/index.es.js +1 -1
- package/dist/components/waka-date-range-picker/index.cjs.js +1 -1
- package/dist/components/waka-date-range-picker/index.es.js +3 -2
- package/dist/components/waka-datetime-picker/index.cjs.js +1 -1
- package/dist/components/waka-datetime-picker/index.es.js +4 -1
- package/dist/components/waka-datetime-picker.form-integration/index.cjs.js +1 -1
- package/dist/components/waka-dependency-tree/index.cjs.js +1 -1
- package/dist/components/waka-dependency-tree/index.es.js +1 -1
- package/dist/components/waka-deployment-lane/index.cjs.js +1 -1
- package/dist/components/waka-deployment-lane/index.es.js +1 -1
- package/dist/components/waka-device-trust/index.cjs.js +2 -2
- package/dist/components/waka-device-trust/index.es.js +1 -1
- package/dist/components/waka-doc-breadcrumb/index.cjs.js +1 -1
- package/dist/components/waka-doc-callout/index.cjs.js +1 -1
- package/dist/components/waka-doc-code-block/index.cjs.js +1 -1
- package/dist/components/waka-doc-nav/index.cjs.js +1 -1
- package/dist/components/waka-doc-renderer/index.cjs.js +1 -1
- package/dist/components/waka-doc-search/index.cjs.js +1 -1
- package/dist/components/waka-doc-table/index.cjs.js +1 -1
- package/dist/components/waka-doc-toc/index.cjs.js +1 -1
- package/dist/components/waka-doc-toolbar/index.cjs.js +1 -1
- package/dist/components/waka-doc-version/index.cjs.js +1 -1
- package/dist/components/waka-dock/index.cjs.js +1 -1
- package/dist/components/waka-dock/index.es.js +2 -2
- package/dist/components/waka-drawer/index.cjs.js +1 -1
- package/dist/components/waka-drawer/index.es.js +1 -1
- package/dist/components/waka-empty-state/index.cjs.js +1 -1
- package/dist/components/waka-env-var-editor/index.cjs.js +1 -1
- package/dist/components/waka-error-shake/index.cjs.js +1 -1
- package/dist/components/waka-feature-announcement/index.cjs.js +2 -2
- package/dist/components/waka-feature-announcement/index.es.js +1 -1
- package/dist/components/waka-feature-flag-row/index.cjs.js +1 -1
- package/dist/components/waka-file-upload/index.cjs.js +1 -1
- package/dist/components/waka-file-upload/index.es.js +2 -2
- package/dist/components/waka-floating-nav/index.cjs.js +1 -1
- package/dist/components/waka-floating-nav/index.es.js +1 -1
- package/dist/components/waka-flow-diagram/index.cjs.js +1 -1
- package/dist/components/waka-funnel-chart/index.cjs.js +2 -2
- package/dist/components/waka-funnel-chart/index.es.js +1 -1
- package/dist/components/waka-glow-card/index.cjs.js +1 -1
- package/dist/components/waka-glow-card/index.es.js +3 -3
- package/dist/components/waka-goal-progress/index.cjs.js +3 -3
- package/dist/components/waka-goal-progress/index.es.js +3 -3
- package/dist/components/waka-haptic-button/index.cjs.js +1 -1
- package/dist/components/waka-health-pulse/index.cjs.js +2 -2
- package/dist/components/waka-health-pulse/index.es.js +1 -1
- package/dist/components/waka-heatmap/index.cjs.js +1 -1
- package/dist/components/waka-heatmap/index.es.js +3 -3
- package/dist/components/waka-hotspot/index.cjs.js +1 -1
- package/dist/components/waka-image/index.cjs.js +1 -1
- package/dist/components/waka-image/index.es.js +1 -1
- package/dist/components/waka-incident-timeline/index.cjs.js +1 -1
- package/dist/components/waka-incident-timeline/index.es.js +3 -2
- package/dist/components/waka-invoice-preview/index.cjs.js +1 -1
- package/dist/components/waka-invoice-preview/index.es.js +1 -1
- package/dist/components/waka-kanban/index.cjs.js +1 -1
- package/dist/components/waka-kanban/index.es.js +1 -1
- package/dist/components/waka-kpi-dashboard/index.cjs.js +1 -1
- package/dist/components/waka-kpi-dashboard/index.es.js +6 -4
- package/dist/components/waka-kubernetes-overview/index.cjs.js +1 -1
- package/dist/components/waka-kubernetes-overview/index.es.js +1 -1
- package/dist/components/waka-leaderboard/index.cjs.js +1 -1
- package/dist/components/waka-level-progress/index.cjs.js +2 -2
- package/dist/components/waka-level-progress/index.es.js +2 -2
- package/dist/components/waka-liquid-button/index.cjs.js +1 -1
- package/dist/components/waka-loading-orbit/index.cjs.js +1 -1
- package/dist/components/waka-log-viewer/index.cjs.js +1 -1
- package/dist/components/waka-loot-box/index.cjs.js +2 -2
- package/dist/components/waka-loot-box/index.es.js +1 -1
- package/dist/components/waka-magic-link/index.cjs.js +2 -2
- package/dist/components/waka-magnetic-button/index.cjs.js +1 -1
- package/dist/components/waka-mention-input/index.cjs.js +1 -1
- package/dist/components/waka-mention-input/index.es.js +52 -40
- package/dist/components/waka-metric-sparkline/index.cjs.js +1 -1
- package/dist/components/waka-metric-sparkline/index.es.js +1 -1
- package/dist/components/waka-migration-list/index.cjs.js +1 -1
- package/dist/components/waka-milestone-road/index.cjs.js +2 -2
- package/dist/components/waka-milestone-road/index.es.js +5 -5
- package/dist/components/waka-modal/index.cjs.js +1 -1
- package/dist/components/waka-modal/index.es.js +1 -1
- package/dist/components/waka-morph-button/index.cjs.js +2 -2
- package/dist/components/waka-morph-button/index.es.js +6 -2
- package/dist/components/waka-network-topology/index.cjs.js +1 -1
- package/dist/components/waka-network-topology/index.es.js +4 -2
- package/dist/components/waka-notifications/index.cjs.js +1 -1
- package/dist/components/waka-number-input/index.cjs.js +1 -1
- package/dist/components/waka-number-input/index.es.js +1 -1
- package/dist/components/waka-orbital-menu/index.cjs.js +1 -1
- package/dist/components/waka-orbital-menu/index.es.js +1 -1
- package/dist/components/waka-order-tracker/index.cjs.js +1 -1
- package/dist/components/waka-order-tracker/index.es.js +3 -2
- package/dist/components/waka-outstream-video/index.cjs.js +1 -1
- package/dist/components/waka-outstream-video/index.es.js +2 -2
- package/dist/components/waka-pagination/index.cjs.js +1 -1
- package/dist/components/waka-pagination/index.es.js +1 -1
- package/dist/components/waka-password-strength/index.cjs.js +2 -2
- package/dist/components/waka-password-strength/index.es.js +3 -3
- package/dist/components/waka-payment-method-picker/index.cjs.js +1 -1
- package/dist/components/waka-payment-method-picker/index.es.js +1 -1
- package/dist/components/waka-permission-matrix/index.cjs.js +2 -2
- package/dist/components/waka-permission-matrix/index.es.js +3 -2
- package/dist/components/waka-phone-input/index.cjs.js +1 -1
- package/dist/components/waka-phone-input/index.es.js +5 -3
- package/dist/components/waka-pipeline-view/index.cjs.js +2 -2
- package/dist/components/waka-pipeline-view/index.es.js +1 -1
- package/dist/components/waka-player-card/index.cjs.js +2 -2
- package/dist/components/waka-player-card/index.es.js +4 -4
- package/dist/components/waka-pod-card/index.cjs.js +1 -1
- package/dist/components/waka-pod-card/index.es.js +1 -1
- package/dist/components/waka-points-popup/index.cjs.js +1 -1
- package/dist/components/waka-points-popup/index.es.js +5 -1
- package/dist/components/waka-power-up/index.cjs.js +1 -1
- package/dist/components/waka-presence-indicator/index.cjs.js +2 -2
- package/dist/components/waka-presence-indicator/index.es.js +1 -1
- package/dist/components/waka-pricing-table/index.cjs.js +2 -2
- package/dist/components/waka-pricing-table/index.es.js +1 -1
- package/dist/components/waka-product-card/index.cjs.js +1 -1
- package/dist/components/waka-progress-onboarding/index.cjs.js +3 -3
- package/dist/components/waka-progress-onboarding/index.es.js +1 -1
- package/dist/components/waka-pull-to-refresh/index.cjs.js +1 -1
- package/dist/components/waka-qrcode/index.cjs.js +1 -1
- package/dist/components/waka-qrcode/index.es.js +1 -1
- package/dist/components/waka-query-explain/index.cjs.js +1 -1
- package/dist/components/waka-quest-card/index.cjs.js +2 -2
- package/dist/components/waka-quest-card/index.es.js +4 -1
- package/dist/components/waka-quota-bar/index.cjs.js +2 -2
- package/dist/components/waka-quota-bar/index.es.js +11 -4
- package/dist/components/waka-radar-score/index.cjs.js +1 -1
- package/dist/components/waka-radar-score/index.es.js +6 -6
- package/dist/components/waka-rank-badge/index.cjs.js +2 -2
- package/dist/components/waka-rank-badge/index.es.js +1 -1
- package/dist/components/waka-rating-input/index.cjs.js +2 -2
- package/dist/components/waka-rating-input/index.es.js +1 -1
- package/dist/components/waka-reaction-picker/index.cjs.js +1 -1
- package/dist/components/waka-reaction-picker/index.es.js +7 -4
- package/dist/components/waka-region-map/index.cjs.js +1 -1
- package/dist/components/waka-region-map/index.es.js +1 -1
- package/dist/components/waka-resource-gauge/index.cjs.js +2 -2
- package/dist/components/waka-resource-gauge/index.es.js +3 -3
- package/dist/components/waka-resource-pool/index.cjs.js +2 -2
- package/dist/components/waka-resource-pool/index.es.js +1 -1
- package/dist/components/waka-rich-text-editor/index.cjs.js +1 -1
- package/dist/components/waka-rich-text-editor/index.es.js +1 -1
- package/dist/components/waka-rollback-slider/index.cjs.js +2 -2
- package/dist/components/waka-rollback-slider/index.es.js +5 -3
- package/dist/components/waka-sankey-diagram/index.cjs.js +2 -2
- package/dist/components/waka-sankey-diagram/index.es.js +5 -5
- package/dist/components/waka-schedule-picker/index.cjs.js +1 -1
- package/dist/components/waka-schedule-picker/index.es.js +3 -2
- package/dist/components/waka-scratch-card/index.cjs.js +2 -2
- package/dist/components/waka-scratch-card/index.es.js +1 -1
- package/dist/components/waka-season-pass/index.cjs.js +1 -1
- package/dist/components/waka-secret-card/index.cjs.js +1 -1
- package/dist/components/waka-security-scan-result/index.cjs.js +1 -1
- package/dist/components/waka-security-score/index.cjs.js +2 -2
- package/dist/components/waka-security-score/index.es.js +5 -5
- package/dist/components/waka-segmented-control/index.cjs.js +1 -1
- package/dist/components/waka-segmented-control/index.es.js +1 -1
- package/dist/components/waka-server-rack/index.cjs.js +1 -1
- package/dist/components/waka-service-graph/index.cjs.js +1 -1
- package/dist/components/waka-session-manager/index.cjs.js +1 -1
- package/dist/components/waka-session-manager/index.es.js +3 -2
- package/dist/components/waka-signature-pad/index.cjs.js +1 -1
- package/dist/components/waka-signature-pad/index.es.js +1 -1
- package/dist/components/waka-skeleton-wave/index.cjs.js +1 -1
- package/dist/components/waka-skill-tree/index.cjs.js +2 -2
- package/dist/components/waka-skill-tree/index.es.js +32 -32
- package/dist/components/waka-sla-tracker/index.cjs.js +1 -1
- package/dist/components/waka-sla-tracker/index.es.js +1 -1
- package/dist/components/waka-slider-range/index.cjs.js +1 -1
- package/dist/components/waka-slider-range/index.es.js +3 -3
- package/dist/components/waka-spin-wheel/index.cjs.js +2 -2
- package/dist/components/waka-spin-wheel/index.es.js +6 -6
- package/dist/components/waka-spinner/index.cjs.js +1 -1
- package/dist/components/waka-sponsored-badge/index.cjs.js +1 -1
- package/dist/components/waka-sponsored-badge/index.es.js +1 -1
- package/dist/components/waka-sponsored-card/index.cjs.js +1 -1
- package/dist/components/waka-sponsored-card/index.es.js +2 -2
- package/dist/components/waka-sponsored-feed/index.cjs.js +1 -1
- package/dist/components/waka-sponsored-feed/index.es.js +2 -2
- package/dist/components/waka-spotlight/index.cjs.js +1 -1
- package/dist/components/waka-spotlight/index.es.js +2 -1
- package/dist/components/waka-stat/index.cjs.js +1 -1
- package/dist/components/waka-stat/index.es.js +1 -1
- package/dist/components/waka-stats-hexagon/index.cjs.js +1 -1
- package/dist/components/waka-stats-hexagon/index.es.js +9 -9
- package/dist/components/waka-status-matrix/index.cjs.js +1 -1
- package/dist/components/waka-status-matrix/index.es.js +1 -1
- package/dist/components/waka-stepper/index.cjs.js +1 -1
- package/dist/components/waka-stepper/index.es.js +1 -1
- package/dist/components/waka-streak-counter/index.cjs.js +1 -1
- package/dist/components/waka-success-explosion/index.cjs.js +1 -1
- package/dist/components/waka-swipe-card/index.cjs.js +1 -1
- package/dist/components/waka-swipe-card/index.es.js +2 -2
- package/dist/components/waka-tabs-morph/index.cjs.js +1 -1
- package/dist/components/waka-tabs-morph/index.es.js +1 -1
- package/dist/components/waka-tag-input/index.cjs.js +1 -1
- package/dist/components/waka-tag-input/index.es.js +3 -2
- package/dist/components/waka-team-banner/index.cjs.js +2 -2
- package/dist/components/waka-team-banner/index.es.js +1 -1
- package/dist/components/waka-terminal-output/index.cjs.js +2 -2
- package/dist/components/waka-terminal-output/index.es.js +5 -3
- package/dist/components/waka-test-report/index.cjs.js +1 -1
- package/dist/components/waka-theme-creator/index.cjs.js +1 -1
- package/dist/components/waka-theme-manager/index.cjs.js +1 -1
- package/dist/components/waka-theme-manager/index.es.js +5 -2
- package/dist/components/waka-thread-view/index.cjs.js +2 -2
- package/dist/components/waka-thread-view/index.es.js +1 -1
- package/dist/components/waka-tilt-card/index.cjs.js +1 -1
- package/dist/components/waka-tilt-card/index.es.js +8 -6
- package/dist/components/waka-time-picker/index.cjs.js +1 -1
- package/dist/components/waka-time-picker/index.es.js +10 -6
- package/dist/components/waka-timeline/index.cjs.js +1 -1
- package/dist/components/waka-timeline/index.es.js +1 -1
- package/dist/components/waka-tooltip-tour/index.cjs.js +3 -3
- package/dist/components/waka-tooltip-tour/index.es.js +53 -51
- package/dist/components/waka-tour-guide/index.cjs.js +2 -2
- package/dist/components/waka-tour-guide/index.es.js +1 -1
- package/dist/components/waka-tournament-bracket/index.cjs.js +2 -2
- package/dist/components/waka-tournament-bracket/index.es.js +1 -1
- package/dist/components/waka-trace-viewer/index.cjs.js +1 -1
- package/dist/components/waka-tree/index.cjs.js +1 -1
- package/dist/components/waka-tree/index.es.js +1 -1
- package/dist/components/waka-treemap-chart/index.cjs.js +1 -1
- package/dist/components/waka-treemap-chart/index.es.js +1 -1
- package/dist/components/waka-two-factor-setup/index.cjs.js +2 -2
- package/dist/components/waka-two-factor-setup/index.es.js +5 -4
- package/dist/components/waka-typewriter/index.cjs.js +1 -1
- package/dist/components/waka-typewriter/index.es.js +7 -2
- package/dist/components/waka-typing-indicator/index.cjs.js +2 -2
- package/dist/components/waka-typing-indicator/index.es.js +1 -1
- package/dist/components/waka-versus-card/index.cjs.js +3 -3
- package/dist/components/waka-versus-card/index.es.js +5 -4
- package/dist/components/waka-video/index.cjs.js +1 -1
- package/dist/components/waka-video/index.es.js +1 -1
- package/dist/components/waka-video-ad/index.cjs.js +1 -1
- package/dist/components/waka-video-ad/index.es.js +3 -3
- package/dist/components/waka-video-call/index.cjs.js +2 -2
- package/dist/components/waka-video-call/index.es.js +1 -1
- package/dist/components/waka-video-overlay/index.cjs.js +1 -1
- package/dist/components/waka-video-overlay/index.es.js +2 -2
- package/dist/components/waka-virtual-list/index.cjs.js +1 -1
- package/dist/components/waka-virtual-list/index.es.js +1 -1
- package/dist/components/waka-voice-message/index.cjs.js +1 -1
- package/dist/components/waka-voice-message/index.es.js +6 -5
- package/dist/components/waka-welcome-modal/index.cjs.js +2 -2
- package/dist/components/waka-welcome-modal/index.es.js +1 -1
- package/dist/components/waka-xp-bar/index.cjs.js +1 -1
- package/dist/components/waka-xp-bar/index.es.js +2 -2
- package/dist/context/admincrumb-context.cjs.js +1 -1
- package/dist/context/language-context.cjs.js +1 -1
- package/dist/context/language-context.es.js +2 -2
- package/dist/context/theme-context.cjs.js +1 -1
- package/dist/context/theme-provider.cjs.js +1 -1
- package/dist/context/theme-provider.es.js +9 -6
- package/dist/context/waka-provider.cjs.js +1 -1
- package/dist/context/waka-provider.es.js +57 -53
- package/dist/doc.cjs.js +1 -1
- package/dist/editor.cjs.js +1 -1
- package/dist/export.cjs.js +1 -1
- package/dist/hooks/use-toast.cjs.js +1 -1
- package/dist/hooks/use-translation.cjs.js +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.es.js +279 -278
- package/dist/lib/i18n.cjs.js +1 -1
- package/dist/lib/i18n.es.js +11 -9
- package/dist/locales/default-resources.cjs.js +1 -0
- package/dist/locales/default-resources.d.ts +155 -0
- package/dist/locales/default-resources.es.js +150 -0
- package/dist/node_modules/.pnpm/exceljs@4.4.0/node_modules/exceljs/dist/exceljs.min.cjs.js +13 -13
- package/dist/node_modules/.pnpm/exceljs@4.4.0/node_modules/exceljs/dist/exceljs.min.es.js +13 -13
- package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-docker.cjs.js +1 -1
- package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-docker.es.js +19 -19
- package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-markdown.cjs.js +1 -1
- package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-markdown.es.js +24 -25
- package/dist/node_modules/.pnpm/react-resizable-panels@4.11.2_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-resizable-panels/dist/react-resizable-panels.cjs.js +1 -1
- package/dist/node_modules/.pnpm/react-resizable-panels@4.11.2_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-resizable-panels/dist/react-resizable-panels.es.js +26 -23
- package/dist/rich-text.cjs.js +1 -1
- package/dist/ui.css +1 -1
- package/dist/utils/cn.cjs.js +1 -1
- package/dist/utils/datetime-helpers.cjs.js +1 -1
- package/dist/utils/theme-loader.cjs.js +1 -1
- package/dist/utils/tweak.cjs.js +1 -1
- package/package.json +28 -27
- package/src/components/DataTable/DataTable.tsx +2 -0
- package/src/components/DataTable/DataTablePagination.tsx +28 -8
- package/src/components/DataTable/hooks/useDataTable.ts +13 -0
- package/src/components/editor/blocks/waka-diagram-block.tsx +7 -36
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`),n=require(`../../components/badge/index.cjs.js`),r=require(`../../components/button/index.cjs.js`),i=require(`../../components/dialog/index.cjs.js`),a=require(`../../components/dropdown-menu/index.cjs.js`),o=require(`../../components/input/index.cjs.js`),s=require(`../../components/select/index.cjs.js`),c=require(`../../components/sheet/index.cjs.js`),l=require(`../../components/textarea/index.cjs.js`),u=require(`../../components/tooltip/index.cjs.js`);let d=require(`react`);d=e.__toESM(d);let f=require(`lucide-react`),p=require(`react/jsx-runtime`);function m(e,t,n){let r=e.translations[n]?.value||``,i=e.translations[t]?.value;return!i||i.trim()===``?`missing`:i===r?`identical`:`valid`}function h(e,t,n){let r=t.filter(e=>e!==n).map(t=>m(e,t,n));return r.includes(`missing`)?`missing`:r.includes(`identical`)?`identical`:`valid`}function ee(e,t){let n=new Map;for(let r of e){let e=r.key.split(t),i=e.length>1?e[0]:`__root__`;n.has(i)||n.set(i,[]),n.get(i).push(r)}return n}function te({status:e}){let{label:r,icon:i,className:a}={valid:{label:`OK`,variant:`default`,icon:f.CheckCircle,className:`bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-300`},missing:{label:`Manquant`,variant:`destructive`,icon:f.XCircle,className:`bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-300`},identical:{label:`Identique`,variant:`secondary`,icon:f.AlertTriangle,className:`bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-300`},warning:{label:`Attention`,variant:`secondary`,icon:f.AlertTriangle,className:`bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-300`}}[e];return(0,p.jsxs)(n.Badge,{variant:`outline`,className:t.cn(`gap-1 text-xs`,a),children:[(0,p.jsx)(i,{className:`h-3 w-3`}),r]})}function g({value:e,onChange:n,onBlur:r,placeholder:i,status:a,disabled:o}){let[s,c]=d.useState(e);return d.useEffect(()=>{c(e)},[e]),(0,p.jsx)(l.Textarea,{value:s,onChange:e=>{c(e.target.value),n(e.target.value)},onBlur:r,placeholder:i,disabled:o,className:t.cn(`min-h-[60px] resize-none text-sm`,a===`missing`&&`border-red-300 dark:border-red-700`,a===`identical`&&`border-yellow-300 dark:border-yellow-700`)})}function _({config:e,translations:_,onChange:ne,onSave:v,onAddKey:re,onDeleteKey:ie,onAddLanguage:ae,onExport:y,onImport:oe,isLoading:se=!1,isSaving:ce=!1,className:b,title:le=`Translation Editor`,description:ue=`Gérez vos traductions i18n`}){let[x,S]=d.useState(_),[C,w]=d.useState(``),[T,de]=d.useState(`all`),[E,fe]=d.useState(new Set),[D,O]=d.useState(null),[pe,k]=d.useState(!1),[me,A]=d.useState(!1),[he,j]=d.useState(!1),[ge,M]=d.useState(!1),[N,P]=d.useState(``),[F,I]=d.useState({code:``,label:``,flag:``}),[L,R]=d.useState(null),[z,B]=d.useState(``),[V,_e]=d.useState(`merge`),[H,U]=d.useState(new Map),W=d.useRef(null),{languages:G,sourceLanguage:K,keyPathSeparator:q=`.`,autoSave:J=!0,saveDebounceMs:Y=300,placeholderPatterns:ve=[`{{.*?}}`,`{.*?}`,`%s`,`%d`]}=e,X=G.filter(e=>e.code!==K);d.useEffect(()=>{S(_)},[_]),d.useEffect(()=>(J&&H.size>0&&v&&(W.current&&clearTimeout(W.current),W.current=setTimeout(async()=>{await v(x),U(new Map)},Y)),()=>{W.current&&clearTimeout(W.current)}),[H,J,Y,v,x]);let Z=d.useMemo(()=>{let e=x;if(C){let t=C.toLowerCase();e=e.filter(e=>{if(e.key.toLowerCase().includes(t))return!0;for(let n of Object.keys(e.translations))if(e.translations[n]?.value?.toLowerCase().includes(t))return!0;return!1})}return T!==`all`&&(e=e.filter(e=>{let t=h(e,G.map(e=>e.code),K);switch(T){case`missing`:return t===`missing`;case`incomplete`:return t===`missing`||t===`identical`;case`identical`:return t===`identical`;default:return!0}})),e},[x,C,T,G,K]),ye=d.useMemo(()=>ee(Z,q),[Z,q]),Q=(e,t,n)=>{S(r=>r.map(r=>r.key===e?{...r,translations:{...r.translations,[t]:{...r.translations[t],value:n,updatedAt:new Date}}}:r)),U(r=>{let i=new Map(r);return i.has(e)||i.set(e,new Map),i.get(e).set(t,n),i}),ne?.(e,t,n)},be=async()=>{N.trim()&&(await re?.(N),P(``),A(!1))},xe=async e=>{await ie?.(e),S(t=>t.filter(t=>t.key!==e))},Se=async()=>{!F.code||!F.label||(await ae?.(F),I({code:``,label:``,flag:``}),j(!1))},Ce=async()=>{!L||!z||(await oe?.(L,z,V),R(null),B(``),M(!1))},we=e=>{navigator.clipboard.writeText(e)},Te=e=>{fe(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},$=d.useMemo(()=>{let e=x.length,t=0,n=0,r=0;for(let e of x){let i=h(e,G.map(e=>e.code),K);i===`missing`?t++:i===`identical`?n++:r++}return{total:e,missing:t,identical:n,valid:r}},[x,G,K]);return se?(0,p.jsx)(`div`,{className:t.cn(`flex items-center justify-center py-12`,b),children:(0,p.jsx)(f.Loader2,{className:`h-8 w-8 animate-spin text-muted-foreground`})}):(0,p.jsx)(u.TooltipProvider,{children:(0,p.jsxs)(`div`,{className:t.cn(`flex flex-col h-full`,b),children:[(0,p.jsxs)(`div`,{className:`flex flex-col gap-4 p-4 border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60`,children:[(0,p.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,p.jsxs)(`div`,{children:[(0,p.jsxs)(`h2`,{className:`text-2xl font-bold flex items-center gap-2`,children:[(0,p.jsx)(f.Languages,{className:`h-6 w-6`}),le]}),(0,p.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:ue})]}),(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsxs)(r.Button,{variant:`outline`,size:`sm`,onClick:()=>A(!0),children:[(0,p.jsx)(f.Plus,{className:`h-4 w-4 mr-1`}),`Ajouter une clé`]}),(0,p.jsxs)(r.Button,{variant:`outline`,size:`sm`,onClick:()=>j(!0),children:[(0,p.jsx)(f.Flag,{className:`h-4 w-4 mr-1`}),`Ajouter une langue`]}),(0,p.jsxs)(a.DropdownMenu,{children:[(0,p.jsx)(a.DropdownMenuTrigger,{asChild:!0,children:(0,p.jsx)(r.Button,{variant:`outline`,size:`sm`,children:(0,p.jsx)(f.MoreHorizontal,{className:`h-4 w-4`})})}),(0,p.jsxs)(a.DropdownMenuContent,{align:`end`,children:[(0,p.jsxs)(a.DropdownMenuItem,{onClick:()=>y?.(),children:[(0,p.jsx)(f.Download,{className:`h-4 w-4 mr-2`}),`Exporter tout`]}),G.map(e=>(0,p.jsxs)(a.DropdownMenuItem,{onClick:()=>y?.(e.code),children:[(0,p.jsx)(f.Download,{className:`h-4 w-4 mr-2`}),`Exporter `,e.label]},e.code)),(0,p.jsx)(a.DropdownMenuSeparator,{}),(0,p.jsxs)(a.DropdownMenuItem,{onClick:()=>M(!0),children:[(0,p.jsx)(f.Upload,{className:`h-4 w-4 mr-2`}),`Importer`]})]})]}),ce&&(0,p.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,p.jsx)(f.Loader2,{className:`h-4 w-4 animate-spin`}),`Sauvegarde...`]})]})]}),(0,p.jsxs)(`div`,{className:`flex items-center gap-4 text-sm`,children:[(0,p.jsxs)(`span`,{className:`text-muted-foreground`,children:[$.total,` clés`]}),(0,p.jsxs)(`span`,{className:`flex items-center gap-1 text-green-600 dark:text-green-400`,children:[(0,p.jsx)(f.CheckCircle,{className:`h-4 w-4`}),$.valid,` traduites`]}),(0,p.jsxs)(`span`,{className:`flex items-center gap-1 text-red-600 dark:text-red-400`,children:[(0,p.jsx)(f.XCircle,{className:`h-4 w-4`}),$.missing,` manquantes`]}),(0,p.jsxs)(`span`,{className:`flex items-center gap-1 text-yellow-600 dark:text-yellow-400`,children:[(0,p.jsx)(f.AlertTriangle,{className:`h-4 w-4`}),$.identical,` identiques`]})]}),(0,p.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,p.jsxs)(`div`,{className:`relative flex-1 max-w-md`,children:[(0,p.jsx)(f.Search,{className:`absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground`}),(0,p.jsx)(o.Input,{placeholder:`Rechercher une clé ou une traduction...`,value:C,onChange:e=>w(e.target.value),className:`pl-10`}),C&&(0,p.jsx)(`button`,{onClick:()=>w(``),className:`absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,children:(0,p.jsx)(f.X,{className:`h-4 w-4`})})]}),(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsx)(f.Filter,{className:`h-4 w-4 text-muted-foreground`}),(0,p.jsxs)(s.Select,{value:T,onValueChange:e=>de(e),children:[(0,p.jsx)(s.SelectTrigger,{className:`w-[180px]`,children:(0,p.jsx)(s.SelectValue,{})}),(0,p.jsxs)(s.SelectContent,{children:[(0,p.jsxs)(s.SelectItem,{value:`all`,children:[`Toutes (`,$.total,`)`]}),(0,p.jsxs)(s.SelectItem,{value:`missing`,children:[`Manquantes (`,$.missing,`)`]}),(0,p.jsxs)(s.SelectItem,{value:`incomplete`,children:[`Incomplètes (`,$.missing+$.identical,`)`]}),(0,p.jsxs)(s.SelectItem,{value:`identical`,children:[`Identiques (`,$.identical,`)`]})]})]})]})]})]}),(0,p.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,p.jsxs)(`table`,{className:`w-full border-collapse`,children:[(0,p.jsx)(`thead`,{className:`sticky top-0 bg-muted/50 backdrop-blur z-10`,children:(0,p.jsxs)(`tr`,{children:[(0,p.jsx)(`th`,{className:`text-left p-3 font-medium text-sm border-b w-[280px]`,children:`Clé`}),(0,p.jsxs)(`th`,{className:`text-left p-3 font-medium text-sm border-b`,children:[G.find(e=>e.code===K)?.label||K,` (source)`]}),X.map(e=>(0,p.jsx)(`th`,{className:`text-left p-3 font-medium text-sm border-b`,children:(0,p.jsxs)(`span`,{className:`flex items-center gap-2`,children:[e.flag&&(0,p.jsx)(`span`,{children:e.flag}),e.label]})},e.code)),(0,p.jsx)(`th`,{className:`text-center p-3 font-medium text-sm border-b w-[100px]`,children:`État`}),(0,p.jsx)(`th`,{className:`text-center p-3 font-medium text-sm border-b w-[60px]`,children:`Actions`})]})}),(0,p.jsxs)(`tbody`,{children:[Array.from(ye.entries()).map(([e,t])=>(0,p.jsxs)(d.Fragment,{children:[e!==`__root__`&&(0,p.jsx)(`tr`,{className:`bg-muted/30`,children:(0,p.jsx)(`td`,{colSpan:X.length+4,className:`p-2`,children:(0,p.jsxs)(`button`,{onClick:()=>Te(e),className:`flex items-center gap-2 text-sm font-medium hover:text-primary transition-colors`,children:[E.has(e)?(0,p.jsx)(f.ChevronRight,{className:`h-4 w-4`}):(0,p.jsx)(f.ChevronDown,{className:`h-4 w-4`}),e,(0,p.jsx)(n.Badge,{variant:`secondary`,className:`text-xs`,children:t.length})]})})}),!E.has(e)&&t.map(e=>{let t=h(e,G.map(e=>e.code),K);return(0,p.jsxs)(`tr`,{className:`border-b hover:bg-muted/30 transition-colors`,children:[(0,p.jsx)(`td`,{className:`p-3 font-mono text-sm`,children:(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsx)(`span`,{className:`truncate max-w-[200px]`,title:e.key,children:e.key}),(0,p.jsxs)(u.Tooltip,{children:[(0,p.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,p.jsx)(`button`,{onClick:()=>we(e.key),className:`text-muted-foreground hover:text-foreground`,children:(0,p.jsx)(f.Copy,{className:`h-3 w-3`})})}),(0,p.jsx)(u.TooltipContent,{children:`Copier la clé`})]})]})}),(0,p.jsx)(`td`,{className:`p-2`,children:(0,p.jsx)(g,{value:e.translations[K]?.value||``,onChange:t=>Q(e.key,K,t),placeholder:`Texte source...`,status:e.translations[K]?.value?`valid`:`missing`})}),X.map(t=>{let n=m(e,t.code,K);return(0,p.jsx)(`td`,{className:`p-2`,children:(0,p.jsx)(g,{value:e.translations[t.code]?.value||``,onChange:n=>Q(e.key,t.code,n),placeholder:`Traduction ${t.label}...`,status:n})},t.code)}),(0,p.jsx)(`td`,{className:`p-3 text-center`,children:(0,p.jsx)(te,{status:t})}),(0,p.jsx)(`td`,{className:`p-3 text-center`,children:(0,p.jsxs)(a.DropdownMenu,{children:[(0,p.jsx)(a.DropdownMenuTrigger,{asChild:!0,children:(0,p.jsx)(r.Button,{variant:`ghost`,size:`sm`,children:(0,p.jsx)(f.MoreHorizontal,{className:`h-4 w-4`})})}),(0,p.jsxs)(a.DropdownMenuContent,{align:`end`,children:[(0,p.jsxs)(a.DropdownMenuItem,{onClick:()=>{O(e),k(!0)},children:[(0,p.jsx)(f.Edit3,{className:`h-4 w-4 mr-2`}),`Éditer`]}),(0,p.jsxs)(a.DropdownMenuItem,{onClick:()=>we(e.key),children:[(0,p.jsx)(f.Copy,{className:`h-4 w-4 mr-2`}),`Copier la clé`]}),(0,p.jsx)(a.DropdownMenuSeparator,{}),(0,p.jsxs)(a.DropdownMenuItem,{className:`text-destructive`,onClick:()=>xe(e.key),children:[(0,p.jsx)(f.Trash2,{className:`h-4 w-4 mr-2`}),`Supprimer`]})]})]})})]},e.key)})]},e)),Z.length===0&&(0,p.jsx)(`tr`,{children:(0,p.jsxs)(`td`,{colSpan:X.length+4,className:`p-12 text-center`,children:[(0,p.jsx)(f.Languages,{className:`h-12 w-12 mx-auto text-muted-foreground/50 mb-4`}),(0,p.jsx)(`p`,{className:`text-muted-foreground`,children:C||T!==`all`?`Aucune traduction ne correspond à vos critères`:`Aucune traduction disponible`})]})})]})]})}),(0,p.jsx)(c.Sheet,{open:pe,onOpenChange:k,children:(0,p.jsxs)(c.SheetContent,{className:`w-[500px] sm:max-w-[500px]`,children:[(0,p.jsxs)(c.SheetHeader,{children:[(0,p.jsx)(c.SheetTitle,{children:`Éditer la traduction`}),(0,p.jsx)(c.SheetDescription,{children:D?.key})]}),D&&(0,p.jsxs)(`div`,{className:`py-6 space-y-6`,children:[(0,p.jsxs)(`div`,{className:`space-y-2`,children:[(0,p.jsxs)(`label`,{className:`text-sm font-medium`,children:[G.find(e=>e.code===K)?.label,` (source)`]}),(0,p.jsx)(l.Textarea,{value:D.translations[K]?.value||``,onChange:e=>{Q(D.key,K,e.target.value),O({...D,translations:{...D.translations,[K]:{...D.translations[K],value:e.target.value}}})},placeholder:`Texte source...`,className:`min-h-[100px]`})]}),G.filter(e=>e.code!==K).map(e=>(0,p.jsxs)(`div`,{className:`space-y-2`,children:[(0,p.jsxs)(`label`,{className:`text-sm font-medium flex items-center gap-2`,children:[e.flag&&(0,p.jsx)(`span`,{children:e.flag}),e.label]}),(0,p.jsx)(l.Textarea,{value:D.translations[e.code]?.value||``,onChange:t=>{Q(D.key,e.code,t.target.value),O({...D,translations:{...D.translations,[e.code]:{...D.translations[e.code],value:t.target.value}}})},placeholder:`Traduction ${e.label}...`,className:`min-h-[100px]`})]},e.code)),(0,p.jsxs)(`div`,{className:`space-y-2`,children:[(0,p.jsx)(`label`,{className:`text-sm font-medium`,children:`Commentaire (optionnel)`}),(0,p.jsx)(l.Textarea,{placeholder:`Contexte ou indication pour la traduction...`,className:`min-h-[80px]`})]})]}),(0,p.jsx)(c.SheetFooter,{children:(0,p.jsx)(r.Button,{variant:`outline`,onClick:()=>k(!1),children:`Fermer`})})]})}),(0,p.jsx)(i.Dialog,{open:me,onOpenChange:A,children:(0,p.jsxs)(i.DialogContent,{children:[(0,p.jsxs)(i.DialogHeader,{children:[(0,p.jsx)(i.DialogTitle,{children:`Ajouter une clé de traduction`}),(0,p.jsx)(i.DialogDescription,{children:`Entrez la clé de traduction (ex: common.buttons.submit)`})]}),(0,p.jsx)(`div`,{className:`py-4`,children:(0,p.jsx)(o.Input,{value:N,onChange:e=>P(e.target.value),placeholder:`namespace.key.name`})}),(0,p.jsxs)(i.DialogFooter,{children:[(0,p.jsx)(r.Button,{variant:`outline`,onClick:()=>A(!1),children:`Annuler`}),(0,p.jsx)(r.Button,{onClick:be,children:`Ajouter`})]})]})}),(0,p.jsx)(i.Dialog,{open:he,onOpenChange:j,children:(0,p.jsxs)(i.DialogContent,{children:[(0,p.jsxs)(i.DialogHeader,{children:[(0,p.jsx)(i.DialogTitle,{children:`Ajouter une langue`}),(0,p.jsx)(i.DialogDescription,{children:`Configurez la nouvelle langue à ajouter`})]}),(0,p.jsxs)(`div`,{className:`py-4 space-y-4`,children:[(0,p.jsxs)(`div`,{className:`space-y-2`,children:[(0,p.jsx)(`label`,{className:`text-sm font-medium`,children:`Code (ex: de, it, pt)`}),(0,p.jsx)(o.Input,{value:F.code,onChange:e=>I({...F,code:e.target.value}),placeholder:`de`})]}),(0,p.jsxs)(`div`,{className:`space-y-2`,children:[(0,p.jsx)(`label`,{className:`text-sm font-medium`,children:`Label`}),(0,p.jsx)(o.Input,{value:F.label,onChange:e=>I({...F,label:e.target.value}),placeholder:`Allemand`})]}),(0,p.jsxs)(`div`,{className:`space-y-2`,children:[(0,p.jsx)(`label`,{className:`text-sm font-medium`,children:`Emoji drapeau (optionnel)`}),(0,p.jsx)(o.Input,{value:F.flag,onChange:e=>I({...F,flag:e.target.value}),placeholder:`🇩🇪`})]})]}),(0,p.jsxs)(i.DialogFooter,{children:[(0,p.jsx)(r.Button,{variant:`outline`,onClick:()=>j(!1),children:`Annuler`}),(0,p.jsx)(r.Button,{onClick:Se,children:`Ajouter`})]})]})}),(0,p.jsx)(i.Dialog,{open:ge,onOpenChange:M,children:(0,p.jsxs)(i.DialogContent,{children:[(0,p.jsxs)(i.DialogHeader,{children:[(0,p.jsx)(i.DialogTitle,{children:`Importer des traductions`}),(0,p.jsx)(i.DialogDescription,{children:`Sélectionnez un fichier JSON à importer`})]}),(0,p.jsxs)(`div`,{className:`py-4 space-y-4`,children:[(0,p.jsxs)(`div`,{className:`space-y-2`,children:[(0,p.jsx)(`label`,{className:`text-sm font-medium`,children:`Fichier JSON`}),(0,p.jsx)(o.Input,{type:`file`,accept:`.json`,onChange:e=>R(e.target.files?.[0]||null)})]}),(0,p.jsxs)(`div`,{className:`space-y-2`,children:[(0,p.jsx)(`label`,{className:`text-sm font-medium`,children:`Langue cible`}),(0,p.jsxs)(s.Select,{value:z,onValueChange:B,children:[(0,p.jsx)(s.SelectTrigger,{children:(0,p.jsx)(s.SelectValue,{placeholder:`Sélectionner une langue`})}),(0,p.jsx)(s.SelectContent,{children:G.map(e=>(0,p.jsxs)(s.SelectItem,{value:e.code,children:[e.flag&&(0,p.jsx)(`span`,{className:`mr-2`,children:e.flag}),e.label]},e.code))})]})]}),(0,p.jsxs)(`div`,{className:`space-y-2`,children:[(0,p.jsx)(`label`,{className:`text-sm font-medium`,children:`Stratégie`}),(0,p.jsxs)(s.Select,{value:V,onValueChange:e=>_e(e),children:[(0,p.jsx)(s.SelectTrigger,{children:(0,p.jsx)(s.SelectValue,{})}),(0,p.jsxs)(s.SelectContent,{children:[(0,p.jsx)(s.SelectItem,{value:`merge`,children:`Fusionner (conserver les existantes)`}),(0,p.jsx)(s.SelectItem,{value:`overwrite`,children:`Écraser tout`})]})]})]})]}),(0,p.jsxs)(i.DialogFooter,{children:[(0,p.jsx)(r.Button,{variant:`outline`,onClick:()=>M(!1),children:`Annuler`}),(0,p.jsx)(r.Button,{onClick:Ce,disabled:!L||!z,children:`Importer`})]})]})})]})})}exports.default=_;
|
|
1
|
+
"use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js"),n=require("../../components/badge/index.cjs.js"),r=require("../../components/button/index.cjs.js"),i=require("../../components/dialog/index.cjs.js"),a=require("../../components/dropdown-menu/index.cjs.js"),o=require("../../components/input/index.cjs.js"),s=require("../../components/select/index.cjs.js"),c=require("../../components/sheet/index.cjs.js"),l=require("../../components/textarea/index.cjs.js"),u=require("../../components/tooltip/index.cjs.js");let d=require("react");d=e.__toESM(d);let f=require("lucide-react"),p=require("react/jsx-runtime");function m(e,t,n){let r=e.translations[n]?.value||``,i=e.translations[t]?.value;return!i||i.trim()===``?`missing`:i===r?`identical`:`valid`}function h(e,t,n){let r=t.filter(e=>e!==n).map(t=>m(e,t,n));return r.includes(`missing`)?`missing`:r.includes(`identical`)?`identical`:`valid`}function ee(e,t){let n=new Map;for(let r of e){let e=r.key.split(t),i=e.length>1?e[0]:`__root__`;n.has(i)||n.set(i,[]),n.get(i).push(r)}return n}function te({status:e}){let{label:r,icon:i,className:a}={valid:{label:`OK`,variant:`default`,icon:f.CheckCircle,className:`bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-300`},missing:{label:`Manquant`,variant:`destructive`,icon:f.XCircle,className:`bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-300`},identical:{label:`Identique`,variant:`secondary`,icon:f.AlertTriangle,className:`bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-300`},warning:{label:`Attention`,variant:`secondary`,icon:f.AlertTriangle,className:`bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-300`}}[e];return(0,p.jsxs)(n.Badge,{variant:`outline`,className:t.cn(`gap-1 text-xs`,a),children:[(0,p.jsx)(i,{className:`h-3 w-3`}),r]})}function g({value:e,onChange:n,onBlur:r,placeholder:i,status:a,disabled:o}){let[s,c]=d.useState(e);return d.useEffect(()=>{c(e)},[e]),(0,p.jsx)(l.Textarea,{value:s,onChange:e=>{c(e.target.value),n(e.target.value)},onBlur:r,placeholder:i,disabled:o,className:t.cn(`min-h-[60px] resize-none text-sm`,a===`missing`&&`border-red-300 dark:border-red-700`,a===`identical`&&`border-yellow-300 dark:border-yellow-700`)})}function _({config:e,translations:_,onChange:ne,onSave:v,onAddKey:re,onDeleteKey:ie,onAddLanguage:ae,onExport:y,onImport:oe,isLoading:se=!1,isSaving:ce=!1,className:b,title:le=`Translation Editor`,description:ue=`Gérez vos traductions i18n`}){let[x,S]=d.useState(_),[C,w]=d.useState(``),[T,de]=d.useState(`all`),[fe,pe]=d.useState(new Set),[E,D]=d.useState(null),[me,O]=d.useState(!1),[he,k]=d.useState(!1),[ge,A]=d.useState(!1),[_e,j]=d.useState(!1),[M,N]=d.useState(``),[P,F]=d.useState({code:``,label:``,flag:``}),[I,L]=d.useState(null),[R,z]=d.useState(``),[B,ve]=d.useState(`merge`),[V,H]=d.useState(new Map),U=d.useRef(null),{languages:W,sourceLanguage:G,keyPathSeparator:K=`.`,autoSave:q=!0,saveDebounceMs:J=300,placeholderPatterns:ye=[`{{.*?}}`,`{.*?}`,`%s`,`%d`]}=e,Y=W.filter(e=>e.code!==G);d.useEffect(()=>{S(_)},[_]),d.useEffect(()=>(q&&V.size>0&&v&&(U.current&&clearTimeout(U.current),U.current=setTimeout(async()=>{await v(x),H(new Map)},J)),()=>{U.current&&clearTimeout(U.current)}),[V,q,J,v,x]);let X=d.useMemo(()=>{let e=x;if(C){let t=C.toLowerCase();e=e.filter(e=>{if(e.key.toLowerCase().includes(t))return!0;for(let n of Object.keys(e.translations))if(e.translations[n]?.value?.toLowerCase().includes(t))return!0;return!1})}return T!==`all`&&(e=e.filter(e=>{let t=h(e,W.map(e=>e.code),G);switch(T){case`missing`:return t===`missing`;case`incomplete`:return t===`missing`||t===`identical`;case`identical`:return t===`identical`;default:return!0}})),e},[x,C,T,W,G]),be=d.useMemo(()=>ee(X,K),[X,K]),Z=(e,t,n)=>{S(r=>r.map(r=>r.key===e?{...r,translations:{...r.translations,[t]:{...r.translations[t],value:n,updatedAt:new Date}}}:r)),H(r=>{let i=new Map(r);return i.has(e)||i.set(e,new Map),i.get(e).set(t,n),i}),ne?.(e,t,n)},xe=async()=>{M.trim()&&(await re?.(M),N(``),k(!1))},Se=async e=>{await ie?.(e),S(t=>t.filter(t=>t.key!==e))},Ce=async()=>{!P.code||!P.label||(await ae?.(P),F({code:``,label:``,flag:``}),A(!1))},we=async()=>{!I||!R||(await oe?.(I,R,B),L(null),z(``),j(!1))},Q=e=>{navigator.clipboard.writeText(e)},Te=e=>{pe(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},$=d.useMemo(()=>{let e=x.length,t=0,n=0,r=0;for(let e of x){let i=h(e,W.map(e=>e.code),G);i===`missing`?t++:i===`identical`?n++:r++}return{total:e,missing:t,identical:n,valid:r}},[x,W,G]);return se?(0,p.jsx)(`div`,{className:t.cn(`flex items-center justify-center py-12`,b),children:(0,p.jsx)(f.Loader2,{className:`h-8 w-8 animate-spin text-muted-foreground`})}):(0,p.jsx)(u.TooltipProvider,{children:(0,p.jsxs)(`div`,{className:t.cn(`flex flex-col h-full`,b),children:[(0,p.jsxs)(`div`,{className:`flex flex-col gap-4 p-4 border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60`,children:[(0,p.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,p.jsxs)(`div`,{children:[(0,p.jsxs)(`h2`,{className:`text-2xl font-bold flex items-center gap-2`,children:[(0,p.jsx)(f.Languages,{className:`h-6 w-6`}),le]}),(0,p.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:ue})]}),(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsxs)(r.Button,{variant:`outline`,size:`sm`,onClick:()=>k(!0),children:[(0,p.jsx)(f.Plus,{className:`h-4 w-4 mr-1`}),`Ajouter une clé`]}),(0,p.jsxs)(r.Button,{variant:`outline`,size:`sm`,onClick:()=>A(!0),children:[(0,p.jsx)(f.Flag,{className:`h-4 w-4 mr-1`}),`Ajouter une langue`]}),(0,p.jsxs)(a.DropdownMenu,{children:[(0,p.jsx)(a.DropdownMenuTrigger,{asChild:!0,children:(0,p.jsx)(r.Button,{variant:`outline`,size:`sm`,children:(0,p.jsx)(f.MoreHorizontal,{className:`h-4 w-4`})})}),(0,p.jsxs)(a.DropdownMenuContent,{align:`end`,children:[(0,p.jsxs)(a.DropdownMenuItem,{onClick:()=>y?.(),children:[(0,p.jsx)(f.Download,{className:`h-4 w-4 mr-2`}),`Exporter tout`]}),W.map(e=>(0,p.jsxs)(a.DropdownMenuItem,{onClick:()=>y?.(e.code),children:[(0,p.jsx)(f.Download,{className:`h-4 w-4 mr-2`}),`Exporter `,e.label]},e.code)),(0,p.jsx)(a.DropdownMenuSeparator,{}),(0,p.jsxs)(a.DropdownMenuItem,{onClick:()=>j(!0),children:[(0,p.jsx)(f.Upload,{className:`h-4 w-4 mr-2`}),`Importer`]})]})]}),ce&&(0,p.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,p.jsx)(f.Loader2,{className:`h-4 w-4 animate-spin`}),`Sauvegarde...`]})]})]}),(0,p.jsxs)(`div`,{className:`flex items-center gap-4 text-sm`,children:[(0,p.jsxs)(`span`,{className:`text-muted-foreground`,children:[$.total,` clés`]}),(0,p.jsxs)(`span`,{className:`flex items-center gap-1 text-green-600 dark:text-green-400`,children:[(0,p.jsx)(f.CheckCircle,{className:`h-4 w-4`}),$.valid,` traduites`]}),(0,p.jsxs)(`span`,{className:`flex items-center gap-1 text-red-600 dark:text-red-400`,children:[(0,p.jsx)(f.XCircle,{className:`h-4 w-4`}),$.missing,` manquantes`]}),(0,p.jsxs)(`span`,{className:`flex items-center gap-1 text-yellow-600 dark:text-yellow-400`,children:[(0,p.jsx)(f.AlertTriangle,{className:`h-4 w-4`}),$.identical,` identiques`]})]}),(0,p.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,p.jsxs)(`div`,{className:`relative flex-1 max-w-md`,children:[(0,p.jsx)(f.Search,{className:`absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground`}),(0,p.jsx)(o.Input,{placeholder:`Rechercher une clé ou une traduction...`,value:C,onChange:e=>w(e.target.value),className:`pl-10`}),C&&(0,p.jsx)(`button`,{onClick:()=>w(``),className:`absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,children:(0,p.jsx)(f.X,{className:`h-4 w-4`})})]}),(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsx)(f.Filter,{className:`h-4 w-4 text-muted-foreground`}),(0,p.jsxs)(s.Select,{value:T,onValueChange:e=>de(e),children:[(0,p.jsx)(s.SelectTrigger,{className:`w-[180px]`,children:(0,p.jsx)(s.SelectValue,{})}),(0,p.jsxs)(s.SelectContent,{children:[(0,p.jsxs)(s.SelectItem,{value:`all`,children:[`Toutes (`,$.total,`)`]}),(0,p.jsxs)(s.SelectItem,{value:`missing`,children:[`Manquantes (`,$.missing,`)`]}),(0,p.jsxs)(s.SelectItem,{value:`incomplete`,children:[`Incomplètes (`,$.missing+$.identical,`)`]}),(0,p.jsxs)(s.SelectItem,{value:`identical`,children:[`Identiques (`,$.identical,`)`]})]})]})]})]})]}),(0,p.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,p.jsxs)(`table`,{className:`w-full border-collapse`,children:[(0,p.jsx)(`thead`,{className:`sticky top-0 bg-muted/50 backdrop-blur z-10`,children:(0,p.jsxs)(`tr`,{children:[(0,p.jsx)(`th`,{className:`text-left p-3 font-medium text-sm border-b w-[280px]`,children:`Clé`}),(0,p.jsxs)(`th`,{className:`text-left p-3 font-medium text-sm border-b`,children:[W.find(e=>e.code===G)?.label||G,` (source)`]}),Y.map(e=>(0,p.jsx)(`th`,{className:`text-left p-3 font-medium text-sm border-b`,children:(0,p.jsxs)(`span`,{className:`flex items-center gap-2`,children:[e.flag&&(0,p.jsx)(`span`,{children:e.flag}),e.label]})},e.code)),(0,p.jsx)(`th`,{className:`text-center p-3 font-medium text-sm border-b w-[100px]`,children:`État`}),(0,p.jsx)(`th`,{className:`text-center p-3 font-medium text-sm border-b w-[60px]`,children:`Actions`})]})}),(0,p.jsxs)(`tbody`,{children:[Array.from(be.entries()).map(([e,t])=>(0,p.jsxs)(d.Fragment,{children:[e!==`__root__`&&(0,p.jsx)(`tr`,{className:`bg-muted/30`,children:(0,p.jsx)(`td`,{colSpan:Y.length+4,className:`p-2`,children:(0,p.jsxs)(`button`,{onClick:()=>Te(e),className:`flex items-center gap-2 text-sm font-medium hover:text-primary transition-colors`,children:[fe.has(e)?(0,p.jsx)(f.ChevronRight,{className:`h-4 w-4`}):(0,p.jsx)(f.ChevronDown,{className:`h-4 w-4`}),e,(0,p.jsx)(n.Badge,{variant:`secondary`,className:`text-xs`,children:t.length})]})})}),!fe.has(e)&&t.map(e=>{let t=h(e,W.map(e=>e.code),G);return(0,p.jsxs)(`tr`,{className:`border-b hover:bg-muted/30 transition-colors`,children:[(0,p.jsx)(`td`,{className:`p-3 font-mono text-sm`,children:(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsx)(`span`,{className:`truncate max-w-[200px]`,title:e.key,children:e.key}),(0,p.jsxs)(u.Tooltip,{children:[(0,p.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,p.jsx)(`button`,{onClick:()=>Q(e.key),className:`text-muted-foreground hover:text-foreground`,children:(0,p.jsx)(f.Copy,{className:`h-3 w-3`})})}),(0,p.jsx)(u.TooltipContent,{children:`Copier la clé`})]})]})}),(0,p.jsx)(`td`,{className:`p-2`,children:(0,p.jsx)(g,{value:e.translations[G]?.value||``,onChange:t=>Z(e.key,G,t),placeholder:`Texte source...`,status:e.translations[G]?.value?`valid`:`missing`})}),Y.map(t=>{let n=m(e,t.code,G);return(0,p.jsx)(`td`,{className:`p-2`,children:(0,p.jsx)(g,{value:e.translations[t.code]?.value||``,onChange:n=>Z(e.key,t.code,n),placeholder:`Traduction ${t.label}...`,status:n})},t.code)}),(0,p.jsx)(`td`,{className:`p-3 text-center`,children:(0,p.jsx)(te,{status:t})}),(0,p.jsx)(`td`,{className:`p-3 text-center`,children:(0,p.jsxs)(a.DropdownMenu,{children:[(0,p.jsx)(a.DropdownMenuTrigger,{asChild:!0,children:(0,p.jsx)(r.Button,{variant:`ghost`,size:`sm`,children:(0,p.jsx)(f.MoreHorizontal,{className:`h-4 w-4`})})}),(0,p.jsxs)(a.DropdownMenuContent,{align:`end`,children:[(0,p.jsxs)(a.DropdownMenuItem,{onClick:()=>{D(e),O(!0)},children:[(0,p.jsx)(f.Edit3,{className:`h-4 w-4 mr-2`}),`Éditer`]}),(0,p.jsxs)(a.DropdownMenuItem,{onClick:()=>Q(e.key),children:[(0,p.jsx)(f.Copy,{className:`h-4 w-4 mr-2`}),`Copier la clé`]}),(0,p.jsx)(a.DropdownMenuSeparator,{}),(0,p.jsxs)(a.DropdownMenuItem,{className:`text-destructive`,onClick:()=>Se(e.key),children:[(0,p.jsx)(f.Trash2,{className:`h-4 w-4 mr-2`}),`Supprimer`]})]})]})})]},e.key)})]},e)),X.length===0&&(0,p.jsx)(`tr`,{children:(0,p.jsxs)(`td`,{colSpan:Y.length+4,className:`p-12 text-center`,children:[(0,p.jsx)(f.Languages,{className:`h-12 w-12 mx-auto text-muted-foreground/50 mb-4`}),(0,p.jsx)(`p`,{className:`text-muted-foreground`,children:C||T!==`all`?`Aucune traduction ne correspond à vos critères`:`Aucune traduction disponible`})]})})]})]})}),(0,p.jsx)(c.Sheet,{open:me,onOpenChange:O,children:(0,p.jsxs)(c.SheetContent,{className:`w-[500px] sm:max-w-[500px]`,children:[(0,p.jsxs)(c.SheetHeader,{children:[(0,p.jsx)(c.SheetTitle,{children:`Éditer la traduction`}),(0,p.jsx)(c.SheetDescription,{children:E?.key})]}),E&&(0,p.jsxs)(`div`,{className:`py-6 space-y-6`,children:[(0,p.jsxs)(`div`,{className:`space-y-2`,children:[(0,p.jsxs)(`label`,{className:`text-sm font-medium`,children:[W.find(e=>e.code===G)?.label,` (source)`]}),(0,p.jsx)(l.Textarea,{value:E.translations[G]?.value||``,onChange:e=>{Z(E.key,G,e.target.value),D({...E,translations:{...E.translations,[G]:{...E.translations[G],value:e.target.value}}})},placeholder:`Texte source...`,className:`min-h-[100px]`})]}),W.filter(e=>e.code!==G).map(e=>(0,p.jsxs)(`div`,{className:`space-y-2`,children:[(0,p.jsxs)(`label`,{className:`text-sm font-medium flex items-center gap-2`,children:[e.flag&&(0,p.jsx)(`span`,{children:e.flag}),e.label]}),(0,p.jsx)(l.Textarea,{value:E.translations[e.code]?.value||``,onChange:t=>{Z(E.key,e.code,t.target.value),D({...E,translations:{...E.translations,[e.code]:{...E.translations[e.code],value:t.target.value}}})},placeholder:`Traduction ${e.label}...`,className:`min-h-[100px]`})]},e.code)),(0,p.jsxs)(`div`,{className:`space-y-2`,children:[(0,p.jsx)(`label`,{className:`text-sm font-medium`,children:`Commentaire (optionnel)`}),(0,p.jsx)(l.Textarea,{placeholder:`Contexte ou indication pour la traduction...`,className:`min-h-[80px]`})]})]}),(0,p.jsx)(c.SheetFooter,{children:(0,p.jsx)(r.Button,{variant:`outline`,onClick:()=>O(!1),children:`Fermer`})})]})}),(0,p.jsx)(i.Dialog,{open:he,onOpenChange:k,children:(0,p.jsxs)(i.DialogContent,{children:[(0,p.jsxs)(i.DialogHeader,{children:[(0,p.jsx)(i.DialogTitle,{children:`Ajouter une clé de traduction`}),(0,p.jsx)(i.DialogDescription,{children:`Entrez la clé de traduction (ex: common.buttons.submit)`})]}),(0,p.jsx)(`div`,{className:`py-4`,children:(0,p.jsx)(o.Input,{value:M,onChange:e=>N(e.target.value),placeholder:`namespace.key.name`})}),(0,p.jsxs)(i.DialogFooter,{children:[(0,p.jsx)(r.Button,{variant:`outline`,onClick:()=>k(!1),children:`Annuler`}),(0,p.jsx)(r.Button,{onClick:xe,children:`Ajouter`})]})]})}),(0,p.jsx)(i.Dialog,{open:ge,onOpenChange:A,children:(0,p.jsxs)(i.DialogContent,{children:[(0,p.jsxs)(i.DialogHeader,{children:[(0,p.jsx)(i.DialogTitle,{children:`Ajouter une langue`}),(0,p.jsx)(i.DialogDescription,{children:`Configurez la nouvelle langue à ajouter`})]}),(0,p.jsxs)(`div`,{className:`py-4 space-y-4`,children:[(0,p.jsxs)(`div`,{className:`space-y-2`,children:[(0,p.jsx)(`label`,{className:`text-sm font-medium`,children:`Code (ex: de, it, pt)`}),(0,p.jsx)(o.Input,{value:P.code,onChange:e=>F({...P,code:e.target.value}),placeholder:`de`})]}),(0,p.jsxs)(`div`,{className:`space-y-2`,children:[(0,p.jsx)(`label`,{className:`text-sm font-medium`,children:`Label`}),(0,p.jsx)(o.Input,{value:P.label,onChange:e=>F({...P,label:e.target.value}),placeholder:`Allemand`})]}),(0,p.jsxs)(`div`,{className:`space-y-2`,children:[(0,p.jsx)(`label`,{className:`text-sm font-medium`,children:`Emoji drapeau (optionnel)`}),(0,p.jsx)(o.Input,{value:P.flag,onChange:e=>F({...P,flag:e.target.value}),placeholder:`🇩🇪`})]})]}),(0,p.jsxs)(i.DialogFooter,{children:[(0,p.jsx)(r.Button,{variant:`outline`,onClick:()=>A(!1),children:`Annuler`}),(0,p.jsx)(r.Button,{onClick:Ce,children:`Ajouter`})]})]})}),(0,p.jsx)(i.Dialog,{open:_e,onOpenChange:j,children:(0,p.jsxs)(i.DialogContent,{children:[(0,p.jsxs)(i.DialogHeader,{children:[(0,p.jsx)(i.DialogTitle,{children:`Importer des traductions`}),(0,p.jsx)(i.DialogDescription,{children:`Sélectionnez un fichier JSON à importer`})]}),(0,p.jsxs)(`div`,{className:`py-4 space-y-4`,children:[(0,p.jsxs)(`div`,{className:`space-y-2`,children:[(0,p.jsx)(`label`,{className:`text-sm font-medium`,children:`Fichier JSON`}),(0,p.jsx)(o.Input,{type:`file`,accept:`.json`,onChange:e=>L(e.target.files?.[0]||null)})]}),(0,p.jsxs)(`div`,{className:`space-y-2`,children:[(0,p.jsx)(`label`,{className:`text-sm font-medium`,children:`Langue cible`}),(0,p.jsxs)(s.Select,{value:R,onValueChange:z,children:[(0,p.jsx)(s.SelectTrigger,{children:(0,p.jsx)(s.SelectValue,{placeholder:`Sélectionner une langue`})}),(0,p.jsx)(s.SelectContent,{children:W.map(e=>(0,p.jsxs)(s.SelectItem,{value:e.code,children:[e.flag&&(0,p.jsx)(`span`,{className:`mr-2`,children:e.flag}),e.label]},e.code))})]})]}),(0,p.jsxs)(`div`,{className:`space-y-2`,children:[(0,p.jsx)(`label`,{className:`text-sm font-medium`,children:`Stratégie`}),(0,p.jsxs)(s.Select,{value:B,onValueChange:e=>ve(e),children:[(0,p.jsx)(s.SelectTrigger,{children:(0,p.jsx)(s.SelectValue,{})}),(0,p.jsxs)(s.SelectContent,{children:[(0,p.jsx)(s.SelectItem,{value:`merge`,children:`Fusionner (conserver les existantes)`}),(0,p.jsx)(s.SelectItem,{value:`overwrite`,children:`Écraser tout`})]})]})]})]}),(0,p.jsxs)(i.DialogFooter,{children:[(0,p.jsx)(r.Button,{variant:`outline`,onClick:()=>j(!1),children:`Annuler`}),(0,p.jsx)(r.Button,{onClick:we,disabled:!I||!R,children:`Importer`})]})]})})]})})}exports.WakaI18nEditor=_,exports.default=_;
|