@wakastellar/ui 4.0.0-dev.0 → 4.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/dist/components/waka-rich-text-editor/index.d.ts +6 -0
- package/dist/doc.cjs.js +1 -1
- package/dist/doc.es.js +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +1 -1
- package/dist/rich-text.cjs.js +1 -1
- package/dist/rich-text.es.js +1 -1
- package/dist/waka-rich-text-editor-DcZuIQ-q.js +1 -0
- package/dist/{waka-rich-text-editor-BbEpfD5b.mjs → waka-rich-text-editor-SOKYDdDP.mjs} +38 -36
- package/package.json +1 -1
- package/src/components/waka-rich-text-editor/index.tsx +10 -0
- package/dist/editor.d.ts +0 -1
- package/dist/src/blocks/activity-timeline/index.d.ts +0 -73
- package/dist/src/blocks/antivirus-dashboard/index.d.ts +0 -44
- package/dist/src/blocks/apm-overview/index.d.ts +0 -58
- package/dist/src/blocks/auth-2fa/index.d.ts +0 -38
- package/dist/src/blocks/calendar-view/index.d.ts +0 -56
- package/dist/src/blocks/chat/index.d.ts +0 -112
- package/dist/src/blocks/chat/widget.d.ts +0 -100
- package/dist/src/blocks/chat-interface/index.d.ts +0 -66
- package/dist/src/blocks/checkout-flow/index.d.ts +0 -76
- package/dist/src/blocks/cicd-builder/index.d.ts +0 -47
- package/dist/src/blocks/clamav-service-status/index.d.ts +0 -35
- package/dist/src/blocks/cloud-cost-dashboard/index.d.ts +0 -49
- package/dist/src/blocks/container-orchestrator/index.d.ts +0 -63
- package/dist/src/blocks/dashboard/index.d.ts +0 -95
- package/dist/src/blocks/dashboard-kpi/index.d.ts +0 -69
- package/dist/src/blocks/database-admin/index.d.ts +0 -84
- package/dist/src/blocks/deployment-dashboard/index.d.ts +0 -68
- package/dist/src/blocks/empty-states/index.d.ts +0 -47
- package/dist/src/blocks/error-pages/index.d.ts +0 -55
- package/dist/src/blocks/faq/index.d.ts +0 -54
- package/dist/src/blocks/file-manager/index.d.ts +0 -81
- package/dist/src/blocks/file-scan-uploader/index.d.ts +0 -29
- package/dist/src/blocks/footer/index.d.ts +0 -19
- package/dist/src/blocks/gitops-sync-status/index.d.ts +0 -45
- package/dist/src/blocks/header/index.d.ts +0 -86
- package/dist/src/blocks/headtab/index.d.ts +0 -27
- package/dist/src/blocks/i18n-editor/index.d.ts +0 -63
- package/dist/src/blocks/incident-manager/index.d.ts +0 -44
- package/dist/src/blocks/index.d.ts +0 -58
- package/dist/src/blocks/infrastructure-map/index.d.ts +0 -32
- package/dist/src/blocks/kanban-board/index.d.ts +0 -77
- package/dist/src/blocks/landing/index.d.ts +0 -104
- package/dist/src/blocks/language-selector/index.d.ts +0 -6
- package/dist/src/blocks/layout/index.d.ts +0 -28
- package/dist/src/blocks/login/index.d.ts +0 -42
- package/dist/src/blocks/login/types.d.ts +0 -126
- package/dist/src/blocks/on-call-schedule/index.d.ts +0 -43
- package/dist/src/blocks/player-profile/index.d.ts +0 -78
- package/dist/src/blocks/pricing/index.d.ts +0 -64
- package/dist/src/blocks/profile/index.d.ts +0 -98
- package/dist/src/blocks/quarantine-manager/index.d.ts +0 -27
- package/dist/src/blocks/release-notes/index.d.ts +0 -49
- package/dist/src/blocks/scan-history-log/index.d.ts +0 -28
- package/dist/src/blocks/scan-policy-editor/index.d.ts +0 -27
- package/dist/src/blocks/scan-report-generator/index.d.ts +0 -47
- package/dist/src/blocks/settings/index.d.ts +0 -62
- package/dist/src/blocks/sidebar/index.d.ts +0 -155
- package/dist/src/blocks/signature-database-manager/index.d.ts +0 -39
- package/dist/src/blocks/threat-alert-banner/index.d.ts +0 -26
- package/dist/src/blocks/user-management/index.d.ts +0 -95
- package/dist/src/blocks/waka-doc-shell/index.d.ts +0 -3
- package/dist/src/blocks/waka-doc-shell/types.d.ts +0 -32
- package/dist/src/blocks/wizard/index.d.ts +0 -88
- package/dist/src/charts.d.ts +0 -17
- package/dist/src/cli/commands/add.d.ts +0 -7
- package/dist/src/cli/commands/init.d.ts +0 -6
- package/dist/src/cli/commands/list.d.ts +0 -5
- package/dist/src/cli/commands/search.d.ts +0 -1
- package/dist/src/cli/index.d.ts +0 -1
- package/dist/src/cli/utils/config.d.ts +0 -29
- package/dist/src/cli/utils/logger.d.ts +0 -20
- package/dist/src/cli/utils/registry.d.ts +0 -23
- package/dist/src/cli/utils/remote.d.ts +0 -49
- package/dist/src/components/DataTable/DataTable.d.ts +0 -17
- package/dist/src/components/DataTable/DataTableAdvanced.d.ts +0 -27
- package/dist/src/components/DataTable/DataTableColumnResizer.d.ts +0 -8
- package/dist/src/components/DataTable/DataTableContextMenu.d.ts +0 -47
- package/dist/src/components/DataTable/DataTableEditCell.d.ts +0 -29
- package/dist/src/components/DataTable/DataTableFilters.d.ts +0 -14
- package/dist/src/components/DataTable/DataTableGrouping.d.ts +0 -25
- package/dist/src/components/DataTable/DataTablePagination.d.ts +0 -8
- package/dist/src/components/DataTable/DataTableSelection.d.ts +0 -46
- package/dist/src/components/DataTable/DataTableToolbar.d.ts +0 -14
- package/dist/src/components/DataTable/examples/EditExample.d.ts +0 -2
- package/dist/src/components/DataTable/hooks/useDataTable.d.ts +0 -24
- package/dist/src/components/DataTable/hooks/useDataTableAdvanced.d.ts +0 -38
- package/dist/src/components/DataTable/hooks/useDataTableEdit.d.ts +0 -22
- package/dist/src/components/DataTable/hooks/useDataTableExport.d.ts +0 -15
- package/dist/src/components/DataTable/hooks/useDataTableImport.d.ts +0 -12
- package/dist/src/components/DataTable/hooks/useDataTableTheme.d.ts +0 -16
- package/dist/src/components/DataTable/hooks/useDataTableVirtualization.d.ts +0 -19
- package/dist/src/components/DataTable/hooks/useTableLayout.d.ts +0 -26
- package/dist/src/components/DataTable/index.d.ts +0 -37
- package/dist/src/components/DataTable/types.d.ts +0 -461
- package/dist/src/components/DataTable/utils.d.ts +0 -37
- package/dist/src/components/accordion/index.d.ts +0 -7
- package/dist/src/components/alert/index.d.ts +0 -8
- package/dist/src/components/alert-dialog/index.d.ts +0 -20
- package/dist/src/components/aspect-ratio/index.d.ts +0 -3
- package/dist/src/components/avatar/index.d.ts +0 -6
- package/dist/src/components/badge/index.d.ts +0 -9
- package/dist/src/components/button/index.d.ts +0 -11
- package/dist/src/components/calendar/index.d.ts +0 -18
- package/dist/src/components/card/index.d.ts +0 -46
- package/dist/src/components/checkbox/index.d.ts +0 -4
- package/dist/src/components/code/index.d.ts +0 -29
- package/dist/src/components/collapsible/index.d.ts +0 -5
- package/dist/src/components/command/index.d.ts +0 -83
- package/dist/src/components/context-menu/index.d.ts +0 -27
- package/dist/src/components/dialog/index.d.ts +0 -19
- package/dist/src/components/dropdown-menu/index.d.ts +0 -27
- package/dist/src/components/editor/blocks/index.d.ts +0 -51
- package/dist/src/components/editor/blocks/waka-acceptance-criteria-block.d.ts +0 -60
- package/dist/src/components/editor/blocks/waka-ai-assist-block.d.ts +0 -58
- package/dist/src/components/editor/blocks/waka-api-endpoint-block.d.ts +0 -63
- package/dist/src/components/editor/blocks/waka-code-playground-block.d.ts +0 -61
- package/dist/src/components/editor/blocks/waka-comment-thread-block.d.ts +0 -85
- package/dist/src/components/editor/blocks/waka-diagram-block.d.ts +0 -52
- package/dist/src/components/editor/blocks/waka-embed-block.d.ts +0 -58
- package/dist/src/components/editor/blocks/waka-slash-menu-block.d.ts +0 -67
- package/dist/src/components/editor/blocks/waka-user-story-block.d.ts +0 -79
- package/dist/src/components/editor/blocks/waka-version-diff-block.d.ts +0 -73
- package/dist/src/components/editor/index.d.ts +0 -80
- package/dist/src/components/editor/waka-ai-writer.d.ts +0 -80
- package/dist/src/components/editor/waka-collaborative-editor.d.ts +0 -93
- package/dist/src/components/editor/waka-diff-viewer.d.ts +0 -71
- package/dist/src/components/editor/waka-dnd-editor.d.ts +0 -64
- package/dist/src/components/editor/waka-document-editor.d.ts +0 -92
- package/dist/src/components/editor/waka-editor-elements.d.ts +0 -79
- package/dist/src/components/editor/waka-editor-leaves.d.ts +0 -39
- package/dist/src/components/editor/waka-editor-plugins.d.ts +0 -41
- package/dist/src/components/editor/waka-editor-toolbar.d.ts +0 -20
- package/dist/src/components/editor/waka-editor.d.ts +0 -59
- package/dist/src/components/editor/waka-floating-toolbar.d.ts +0 -53
- package/dist/src/components/editor/waka-markdown-editor.d.ts +0 -60
- package/dist/src/components/editor/waka-mention-editor.d.ts +0 -125
- package/dist/src/components/editor/waka-slash-menu.d.ts +0 -70
- package/dist/src/components/editor/waka-spec-editor.d.ts +0 -88
- package/dist/src/components/error-boundary/ErrorBoundary.d.ts +0 -102
- package/dist/src/components/error-boundary/index.d.ts +0 -2
- package/dist/src/components/form/index.d.ts +0 -23
- package/dist/src/components/hover-card/index.d.ts +0 -6
- package/dist/src/components/index.d.ts +0 -257
- package/dist/src/components/input/index.d.ts +0 -19
- package/dist/src/components/input-otp/index.d.ts +0 -51
- package/dist/src/components/label/index.d.ts +0 -5
- package/dist/src/components/language-selector/index.d.ts +0 -40
- package/dist/src/components/menubar/index.d.ts +0 -28
- package/dist/src/components/navigation-menu/index.d.ts +0 -12
- package/dist/src/components/popover/index.d.ts +0 -6
- package/dist/src/components/progress/index.d.ts +0 -4
- package/dist/src/components/radio-group/index.d.ts +0 -5
- package/dist/src/components/scroll-area/index.d.ts +0 -5
- package/dist/src/components/select/index.d.ts +0 -13
- package/dist/src/components/separator/index.d.ts +0 -4
- package/dist/src/components/sheet/index.d.ts +0 -27
- package/dist/src/components/skeleton/index.d.ts +0 -13
- package/dist/src/components/slider/index.d.ts +0 -4
- package/dist/src/components/switch/index.d.ts +0 -4
- package/dist/src/components/table/index.d.ts +0 -21
- package/dist/src/components/tabs/index.d.ts +0 -7
- package/dist/src/components/textarea/index.d.ts +0 -14
- package/dist/src/components/theme-selector/index.d.ts +0 -8
- package/dist/src/components/toast/index.d.ts +0 -15
- package/dist/src/components/toaster/index.d.ts +0 -1
- package/dist/src/components/toggle/index.d.ts +0 -12
- package/dist/src/components/tooltip/index.d.ts +0 -7
- package/dist/src/components/typography/index.d.ts +0 -85
- package/dist/src/components/waka-3d-pie-chart/index.d.ts +0 -67
- package/dist/src/components/waka-achievement-unlock/index.d.ts +0 -83
- package/dist/src/components/waka-activity-feed/index.d.ts +0 -78
- package/dist/src/components/waka-ad-banner/index.d.ts +0 -36
- package/dist/src/components/waka-ad-fallback/index.d.ts +0 -33
- package/dist/src/components/waka-ad-inline/index.d.ts +0 -15
- package/dist/src/components/waka-ad-interstitial/index.d.ts +0 -26
- package/dist/src/components/waka-ad-placeholder/index.d.ts +0 -17
- package/dist/src/components/waka-ad-provider/index.d.ts +0 -103
- package/dist/src/components/waka-ad-sidebar/index.d.ts +0 -18
- package/dist/src/components/waka-ad-sticky-footer/index.d.ts +0 -17
- package/dist/src/components/waka-address-autocomplete/index.d.ts +0 -129
- package/dist/src/components/waka-admincrumb/index.d.ts +0 -55
- package/dist/src/components/waka-alert-panel/index.d.ts +0 -45
- package/dist/src/components/waka-alert-stack/index.d.ts +0 -58
- package/dist/src/components/waka-allocation-matrix/index.d.ts +0 -193
- package/dist/src/components/waka-approval-chain/index.d.ts +0 -43
- package/dist/src/components/waka-artifact-list/index.d.ts +0 -32
- package/dist/src/components/waka-audit-log/index.d.ts +0 -142
- package/dist/src/components/waka-autocomplete/index.d.ts +0 -59
- package/dist/src/components/waka-badge-showcase/index.d.ts +0 -51
- package/dist/src/components/waka-barcode/index.d.ts +0 -27
- package/dist/src/components/waka-biometric-prompt/index.d.ts +0 -84
- package/dist/src/components/waka-bottom-sheet/index.d.ts +0 -61
- package/dist/src/components/waka-breadcrumb/index.d.ts +0 -43
- package/dist/src/components/waka-breadcrumb-path/index.d.ts +0 -46
- package/dist/src/components/waka-budget-burn/index.d.ts +0 -154
- package/dist/src/components/waka-build-matrix/index.d.ts +0 -36
- package/dist/src/components/waka-capacity-planner/index.d.ts +0 -132
- package/dist/src/components/waka-carousel/index.d.ts +0 -105
- package/dist/src/components/waka-cart-summary/index.d.ts +0 -154
- package/dist/src/components/waka-challenge-timer/index.d.ts +0 -86
- package/dist/src/components/waka-charts/WakaAreaChart.d.ts +0 -12
- package/dist/src/components/waka-charts/WakaBarChart.d.ts +0 -12
- package/dist/src/components/waka-charts/WakaChart.d.ts +0 -17
- package/dist/src/components/waka-charts/WakaLineChart.d.ts +0 -12
- package/dist/src/components/waka-charts/WakaMiniChart.d.ts +0 -13
- package/dist/src/components/waka-charts/WakaPieChart.d.ts +0 -12
- package/dist/src/components/waka-charts/WakaSparkline.d.ts +0 -13
- package/dist/src/components/waka-charts/dataTableHelpers.d.ts +0 -34
- package/dist/src/components/waka-charts/hooks/useChartTheme.d.ts +0 -23
- package/dist/src/components/waka-charts/hooks/useRechartsLoader.d.ts +0 -161
- package/dist/src/components/waka-charts/index.d.ts +0 -57
- package/dist/src/components/waka-charts/types.d.ts +0 -298
- package/dist/src/components/waka-chat-bubble/index.d.ts +0 -127
- package/dist/src/components/waka-checklist/index.d.ts +0 -123
- package/dist/src/components/waka-checkout-stepper/index.d.ts +0 -154
- package/dist/src/components/waka-cohort-table/index.d.ts +0 -130
- package/dist/src/components/waka-color-picker/index.d.ts +0 -40
- package/dist/src/components/waka-combo-counter/index.d.ts +0 -53
- package/dist/src/components/waka-combobox/index.d.ts +0 -81
- package/dist/src/components/waka-command-bar/index.d.ts +0 -45
- package/dist/src/components/waka-compare-period/index.d.ts +0 -122
- package/dist/src/components/waka-config-comparator/index.d.ts +0 -37
- package/dist/src/components/waka-connection-matrix/index.d.ts +0 -117
- package/dist/src/components/waka-container-list/index.d.ts +0 -51
- package/dist/src/components/waka-content-recommendation/index.d.ts +0 -23
- package/dist/src/components/waka-contribution-graph/index.d.ts +0 -34
- package/dist/src/components/waka-cost-breakdown/index.d.ts +0 -50
- package/dist/src/components/waka-coupon-input/index.d.ts +0 -105
- package/dist/src/components/waka-credit-activity-feed/index.d.ts +0 -21
- package/dist/src/components/waka-credit-alert/index.d.ts +0 -24
- package/dist/src/components/waka-credit-balance/index.d.ts +0 -30
- package/dist/src/components/waka-credit-balance/types.d.ts +0 -34
- package/dist/src/components/waka-credit-breakdown/index.d.ts +0 -32
- package/dist/src/components/waka-credit-burn-rate/index.d.ts +0 -25
- package/dist/src/components/waka-credit-card-input/index.d.ts +0 -95
- package/dist/src/components/waka-credit-history/index.d.ts +0 -31
- package/dist/src/components/waka-credit-meter/index.d.ts +0 -27
- package/dist/src/components/waka-credit-pricing-pack/index.d.ts +0 -17
- package/dist/src/components/waka-credit-projection/index.d.ts +0 -21
- package/dist/src/components/waka-credit-quota/index.d.ts +0 -25
- package/dist/src/components/waka-credit-receipt/index.d.ts +0 -23
- package/dist/src/components/waka-credit-top-up/index.d.ts +0 -26
- package/dist/src/components/waka-credit-transaction/index.d.ts +0 -22
- package/dist/src/components/waka-credit-transfer-form/index.d.ts +0 -27
- package/dist/src/components/waka-credit-usage-chart/index.d.ts +0 -34
- package/dist/src/components/waka-daily-reward/index.d.ts +0 -76
- package/dist/src/components/waka-database-card/index.d.ts +0 -46
- package/dist/src/components/waka-date-range-picker/index.d.ts +0 -68
- package/dist/src/components/waka-datetime-picker/index.d.ts +0 -135
- package/dist/src/components/waka-datetime-picker.form-integration/index.d.ts +0 -73
- package/dist/src/components/waka-dependency-tree/index.d.ts +0 -38
- package/dist/src/components/waka-deployment-lane/index.d.ts +0 -43
- package/dist/src/components/waka-device-trust/index.d.ts +0 -95
- package/dist/src/components/waka-doc-breadcrumb/index.d.ts +0 -11
- package/dist/src/components/waka-doc-callout/index.d.ts +0 -9
- package/dist/src/components/waka-doc-code-block/index.d.ts +0 -9
- package/dist/src/components/waka-doc-nav/index.d.ts +0 -16
- package/dist/src/components/waka-doc-renderer/index.d.ts +0 -7
- package/dist/src/components/waka-doc-search/index.d.ts +0 -23
- package/dist/src/components/waka-doc-table/index.d.ts +0 -8
- package/dist/src/components/waka-doc-toc/index.d.ts +0 -11
- package/dist/src/components/waka-doc-toolbar/index.d.ts +0 -15
- package/dist/src/components/waka-doc-version/index.d.ts +0 -13
- package/dist/src/components/waka-dock/index.d.ts +0 -49
- package/dist/src/components/waka-drawer/index.d.ts +0 -59
- package/dist/src/components/waka-empty-state/index.d.ts +0 -85
- package/dist/src/components/waka-env-var-editor/index.d.ts +0 -30
- package/dist/src/components/waka-error-shake/index.d.ts +0 -49
- package/dist/src/components/waka-feature-announcement/index.d.ts +0 -112
- package/dist/src/components/waka-feature-flag-row/index.d.ts +0 -45
- package/dist/src/components/waka-file-upload/index.d.ts +0 -49
- package/dist/src/components/waka-floating-nav/index.d.ts +0 -51
- package/dist/src/components/waka-flow-diagram/index.d.ts +0 -71
- package/dist/src/components/waka-funnel-chart/index.d.ts +0 -108
- package/dist/src/components/waka-glow-card/index.d.ts +0 -32
- package/dist/src/components/waka-goal-progress/index.d.ts +0 -139
- package/dist/src/components/waka-haptic-button/index.d.ts +0 -50
- package/dist/src/components/waka-health-pulse/index.d.ts +0 -28
- package/dist/src/components/waka-heatmap/index.d.ts +0 -135
- package/dist/src/components/waka-hotspot/index.d.ts +0 -111
- package/dist/src/components/waka-image/index.d.ts +0 -59
- package/dist/src/components/waka-incident-timeline/index.d.ts +0 -38
- package/dist/src/components/waka-invoice-preview/index.d.ts +0 -137
- package/dist/src/components/waka-kanban/index.d.ts +0 -68
- package/dist/src/components/waka-kpi-dashboard/index.d.ts +0 -80
- package/dist/src/components/waka-kubernetes-overview/index.d.ts +0 -98
- package/dist/src/components/waka-leaderboard/index.d.ts +0 -85
- package/dist/src/components/waka-level-progress/index.d.ts +0 -89
- package/dist/src/components/waka-liquid-button/index.d.ts +0 -46
- package/dist/src/components/waka-loading-orbit/index.d.ts +0 -90
- package/dist/src/components/waka-log-viewer/index.d.ts +0 -38
- package/dist/src/components/waka-loot-box/index.d.ts +0 -87
- package/dist/src/components/waka-magic-link/index.d.ts +0 -34
- package/dist/src/components/waka-magnetic-button/index.d.ts +0 -61
- package/dist/src/components/waka-mention-input/index.d.ts +0 -106
- package/dist/src/components/waka-metric-sparkline/index.d.ts +0 -46
- package/dist/src/components/waka-migration-list/index.d.ts +0 -36
- package/dist/src/components/waka-milestone-road/index.d.ts +0 -91
- package/dist/src/components/waka-modal/index.d.ts +0 -87
- package/dist/src/components/waka-morph-button/index.d.ts +0 -62
- package/dist/src/components/waka-network-topology/index.d.ts +0 -35
- package/dist/src/components/waka-notifications/index.d.ts +0 -40
- package/dist/src/components/waka-number-input/index.d.ts +0 -60
- package/dist/src/components/waka-orbital-menu/index.d.ts +0 -61
- package/dist/src/components/waka-order-tracker/index.d.ts +0 -121
- package/dist/src/components/waka-outstream-video/index.d.ts +0 -24
- package/dist/src/components/waka-pagination/index.d.ts +0 -67
- package/dist/src/components/waka-password-strength/index.d.ts +0 -98
- package/dist/src/components/waka-payment-method-picker/index.d.ts +0 -88
- package/dist/src/components/waka-permission-matrix/index.d.ts +0 -197
- package/dist/src/components/waka-phone-input/index.d.ts +0 -93
- package/dist/src/components/waka-pipeline-view/index.d.ts +0 -49
- package/dist/src/components/waka-player-card/index.d.ts +0 -36
- package/dist/src/components/waka-pod-card/index.d.ts +0 -73
- package/dist/src/components/waka-points-popup/index.d.ts +0 -75
- package/dist/src/components/waka-power-up/index.d.ts +0 -103
- package/dist/src/components/waka-presence-indicator/index.d.ts +0 -188
- package/dist/src/components/waka-pricing-table/index.d.ts +0 -77
- package/dist/src/components/waka-product-card/index.d.ts +0 -81
- package/dist/src/components/waka-progress-onboarding/index.d.ts +0 -97
- package/dist/src/components/waka-pull-to-refresh/index.d.ts +0 -45
- package/dist/src/components/waka-qrcode/index.d.ts +0 -32
- package/dist/src/components/waka-query-explain/index.d.ts +0 -48
- package/dist/src/components/waka-quest-card/index.d.ts +0 -110
- package/dist/src/components/waka-quota-bar/index.d.ts +0 -100
- package/dist/src/components/waka-radar-score/index.d.ts +0 -95
- package/dist/src/components/waka-rank-badge/index.d.ts +0 -58
- package/dist/src/components/waka-rating-input/index.d.ts +0 -110
- package/dist/src/components/waka-reaction-picker/index.d.ts +0 -77
- package/dist/src/components/waka-region-map/index.d.ts +0 -27
- package/dist/src/components/waka-resource-gauge/index.d.ts +0 -78
- package/dist/src/components/waka-resource-pool/index.d.ts +0 -81
- package/dist/src/components/waka-rich-text-editor/index.d.ts +0 -36
- package/dist/src/components/waka-rollback-slider/index.d.ts +0 -79
- package/dist/src/components/waka-sankey-diagram/index.d.ts +0 -120
- package/dist/src/components/waka-schedule-picker/index.d.ts +0 -100
- package/dist/src/components/waka-scratch-card/index.d.ts +0 -87
- package/dist/src/components/waka-season-pass/index.d.ts +0 -65
- package/dist/src/components/waka-secret-card/index.d.ts +0 -43
- package/dist/src/components/waka-security-scan-result/index.d.ts +0 -45
- package/dist/src/components/waka-security-score/index.d.ts +0 -124
- package/dist/src/components/waka-segmented-control/index.d.ts +0 -42
- package/dist/src/components/waka-server-rack/index.d.ts +0 -44
- package/dist/src/components/waka-service-graph/index.d.ts +0 -44
- package/dist/src/components/waka-session-manager/index.d.ts +0 -116
- package/dist/src/components/waka-signature-pad/index.d.ts +0 -87
- package/dist/src/components/waka-skeleton-wave/index.d.ts +0 -79
- package/dist/src/components/waka-skill-tree/index.d.ts +0 -78
- package/dist/src/components/waka-sla-tracker/index.d.ts +0 -65
- package/dist/src/components/waka-slider-range/index.d.ts +0 -88
- package/dist/src/components/waka-spin-wheel/index.d.ts +0 -51
- package/dist/src/components/waka-spinner/index.d.ts +0 -46
- package/dist/src/components/waka-sponsored-badge/index.d.ts +0 -20
- package/dist/src/components/waka-sponsored-card/index.d.ts +0 -25
- package/dist/src/components/waka-sponsored-feed/index.d.ts +0 -31
- package/dist/src/components/waka-spotlight/index.d.ts +0 -47
- package/dist/src/components/waka-stat/index.d.ts +0 -57
- package/dist/src/components/waka-stats-hexagon/index.d.ts +0 -149
- package/dist/src/components/waka-status-matrix/index.d.ts +0 -38
- package/dist/src/components/waka-stepper/index.d.ts +0 -76
- package/dist/src/components/waka-streak-counter/index.d.ts +0 -27
- package/dist/src/components/waka-success-explosion/index.d.ts +0 -51
- package/dist/src/components/waka-swipe-card/index.d.ts +0 -64
- package/dist/src/components/waka-tabs-morph/index.d.ts +0 -66
- package/dist/src/components/waka-tag-input/index.d.ts +0 -134
- package/dist/src/components/waka-team-banner/index.d.ts +0 -122
- package/dist/src/components/waka-terminal-output/index.d.ts +0 -48
- package/dist/src/components/waka-test-report/index.d.ts +0 -60
- package/dist/src/components/waka-theme-creator/index.d.ts +0 -59
- package/dist/src/components/waka-theme-manager/index.d.ts +0 -62
- package/dist/src/components/waka-thread-view/index.d.ts +0 -101
- package/dist/src/components/waka-tilt-card/index.d.ts +0 -36
- package/dist/src/components/waka-time-picker/index.d.ts +0 -51
- package/dist/src/components/waka-timeline/index.d.ts +0 -46
- package/dist/src/components/waka-tooltip-tour/index.d.ts +0 -123
- package/dist/src/components/waka-tour-guide/index.d.ts +0 -127
- package/dist/src/components/waka-tournament-bracket/index.d.ts +0 -101
- package/dist/src/components/waka-trace-viewer/index.d.ts +0 -36
- package/dist/src/components/waka-tree/index.d.ts +0 -67
- package/dist/src/components/waka-treemap-chart/index.d.ts +0 -104
- package/dist/src/components/waka-two-factor-setup/index.d.ts +0 -93
- package/dist/src/components/waka-typewriter/index.d.ts +0 -98
- package/dist/src/components/waka-typing-indicator/index.d.ts +0 -64
- package/dist/src/components/waka-versus-card/index.d.ts +0 -117
- package/dist/src/components/waka-video/index.d.ts +0 -66
- package/dist/src/components/waka-video-ad/index.d.ts +0 -32
- package/dist/src/components/waka-video-call/index.d.ts +0 -170
- package/dist/src/components/waka-video-overlay/index.d.ts +0 -26
- package/dist/src/components/waka-virtual-list/index.d.ts +0 -54
- package/dist/src/components/waka-voice-message/index.d.ts +0 -117
- package/dist/src/components/waka-welcome-modal/index.d.ts +0 -120
- package/dist/src/components/waka-xp-bar/index.d.ts +0 -54
- package/dist/src/context/admincrumb-context.d.ts +0 -34
- package/dist/src/context/index.d.ts +0 -8
- package/dist/src/context/language-context.d.ts +0 -57
- package/dist/src/context/theme-context.d.ts +0 -39
- package/dist/src/context/theme-provider.d.ts +0 -74
- package/dist/src/context/waka-provider.d.ts +0 -50
- package/dist/src/doc.d.ts +0 -33
- package/dist/src/editor.d.ts +0 -26
- package/dist/src/export.d.ts +0 -30
- package/dist/src/hooks/index.d.ts +0 -1
- package/dist/src/hooks/use-toast.d.ts +0 -44
- package/dist/src/hooks/use-translation.d.ts +0 -15
- package/dist/src/hooks/useToast.d.ts +0 -44
- package/dist/src/index.d.ts +0 -35
- package/dist/src/lib/i18n.d.ts +0 -4
- package/dist/src/rich-text.d.ts +0 -21
- package/dist/src/stories/Button.d.ts +0 -14
- package/dist/src/stories/Button.stories.d.ts +0 -8
- package/dist/src/stories/Header.d.ts +0 -11
- package/dist/src/stories/Header.stories.d.ts +0 -6
- package/dist/src/stories/Page.d.ts +0 -2
- package/dist/src/stories/Page.stories.d.ts +0 -6
- package/dist/src/stories/editor/EditorStoryWrapper.d.ts +0 -11
- package/dist/src/types/index.d.ts +0 -1
- package/dist/src/types/link.d.ts +0 -23
- package/dist/src/types/provider.d.ts +0 -108
- package/dist/src/utils/cn.d.ts +0 -1
- package/dist/src/utils/datetime-helpers.d.ts +0 -137
- package/dist/src/utils/error-handling.d.ts +0 -190
- package/dist/src/utils/index.d.ts +0 -6
- package/dist/src/utils/logger.d.ts +0 -9
- package/dist/src/utils/security.d.ts +0 -96
- package/dist/src/utils/theme-loader.d.ts +0 -101
- package/dist/src/utils/tweak.d.ts +0 -18
- package/dist/waka-rich-text-editor-C4b30Ik-.js +0 -1
|
@@ -27,6 +27,12 @@ export interface WakaRichTextEditorProps {
|
|
|
27
27
|
description?: string;
|
|
28
28
|
/** Mode éditable */
|
|
29
29
|
editable?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Si false (défaut), Tiptap reporte le rendu de l'éditeur au prochain tick
|
|
32
|
+
* pour éviter les hydration mismatches Next.js / React 19.
|
|
33
|
+
* Mettre à true uniquement dans un environnement purement client (ex. SPA Vite).
|
|
34
|
+
*/
|
|
35
|
+
immediatelyRender?: boolean;
|
|
30
36
|
}
|
|
31
37
|
/**
|
|
32
38
|
* Composant WakaRichTextEditor
|
package/dist/doc.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./chunk-FDd1SASZ.js`),t=require(`./cn-DEeiGoUV.js`),n=require(`./separator-DviMy-io.js`),r=require(`./waka-doc-renderer-22MUZbyl.js`);let i=require(`react`);i=e.r(i);let a=require(`lucide-react`),o=require(`react/jsx-runtime`);function s({content:e,mode:s=`view`,canEdit:l=!1,onModeChange:u,onChange:d,debounceMs:f=1500,saveStatus:p=`idle`,navItems:m,activePageId:h,onPageChange:g,breadcrumbs:_,onBreadcrumbClick:v,searchPages:y,onSearchSelect:b,versions:x,currentVersion:S,onVersionChange:C,className:w}){let[T,E]=i.useState([]),[D,O]=i.useState(!1),[k,A]=i.useState(e);i.useEffect(()=>{A(e)},[e]);let j=i.useRef(),M=i.useCallback(e=>{A(e),j.current&&clearTimeout(j.current),j.current=setTimeout(()=>{d?.(e)},f)},[d,f]);i.useEffect(()=>()=>{j.current&&clearTimeout(j.current)},[]);let N=m&&m.length>0,P=y&&y.length>0,F=x&&x.length>0&&S;return(0,o.jsxs)(`div`,{className:t.t(`relative flex min-h-screen`,w),children:[N&&(0,o.jsx)(n.n,{variant:`ghost`,size:`icon`,className:`fixed left-4 top-4 z-50 lg:hidden`,onClick:()=>O(!D),children:D?(0,o.jsx)(a.X,{className:`h-5 w-5`}):(0,o.jsx)(a.Menu,{className:`h-5 w-5`})}),N&&(0,o.jsx)(`aside`,{className:t.t(`fixed inset-y-0 left-0 z-40 w-72 shrink-0 border-r border-border/50 bg-background/95 backdrop-blur-md transition-transform duration-300 lg:relative lg:translate-x-0`,D?`translate-x-0`:`-translate-x-full`),children:(0,o.jsxs)(`div`,{className:`flex h-full flex-col gap-4 overflow-y-auto p-4`,children:[P&&(0,o.jsx)(r.o,{pages:y,onSelect:e=>{b?.(e),O(!1)}}),F&&(0,o.jsx)(r.a,{versions:x,current:S,onVersionChange:C}),(0,o.jsx)(r.s,{items:m,activeId:h,onItemClick:e=>{g?.(e),O(!1)}})]})}),N&&D&&(0,o.jsx)(`div`,{className:`fixed inset-0 z-30 bg-black/50 lg:hidden`,onClick:()=>O(!1)}),(0,o.jsxs)(`main`,{className:`flex min-w-0 flex-1 gap-8`,children:[(0,o.jsxs)(`div`,{className:`mx-auto w-full max-w-3xl px-4 py-8 lg:px-8`,children:[(0,o.jsxs)(`div`,{className:`mb-6 flex flex-col gap-3`,children:[_&&_.length>0&&(0,o.jsx)(r.r,{items:_,onItemClick:v}),(0,o.jsx)(r.i,{content:k,mode:s,canEdit:l,onModeChange:u,saveStatus:p})]}),s===`view`?(0,o.jsx)(r.t,{content:k,onHeadingsExtracted:E}):(0,o.jsx)(c,{content:k,onChange:M,onHeadingsExtracted:E})]}),T.length>0&&(0,o.jsx)(`aside`,{className:`hidden w-56 shrink-0 py-8 xl:block`,children:(0,o.jsx)(r.c,{items:T})})]})]})}function c({content:e,onChange:t,onHeadingsExtracted:n}){let[r,a]=i.useState(null);return i.useEffect(()=>{(async()=>{try{let{WakaRichTextEditor:e}=await Promise.resolve().then(()=>require(`./waka-rich-text-editor-
|
|
1
|
+
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./chunk-FDd1SASZ.js`),t=require(`./cn-DEeiGoUV.js`),n=require(`./separator-DviMy-io.js`),r=require(`./waka-doc-renderer-22MUZbyl.js`);let i=require(`react`);i=e.r(i);let a=require(`lucide-react`),o=require(`react/jsx-runtime`);function s({content:e,mode:s=`view`,canEdit:l=!1,onModeChange:u,onChange:d,debounceMs:f=1500,saveStatus:p=`idle`,navItems:m,activePageId:h,onPageChange:g,breadcrumbs:_,onBreadcrumbClick:v,searchPages:y,onSearchSelect:b,versions:x,currentVersion:S,onVersionChange:C,className:w}){let[T,E]=i.useState([]),[D,O]=i.useState(!1),[k,A]=i.useState(e);i.useEffect(()=>{A(e)},[e]);let j=i.useRef(),M=i.useCallback(e=>{A(e),j.current&&clearTimeout(j.current),j.current=setTimeout(()=>{d?.(e)},f)},[d,f]);i.useEffect(()=>()=>{j.current&&clearTimeout(j.current)},[]);let N=m&&m.length>0,P=y&&y.length>0,F=x&&x.length>0&&S;return(0,o.jsxs)(`div`,{className:t.t(`relative flex min-h-screen`,w),children:[N&&(0,o.jsx)(n.n,{variant:`ghost`,size:`icon`,className:`fixed left-4 top-4 z-50 lg:hidden`,onClick:()=>O(!D),children:D?(0,o.jsx)(a.X,{className:`h-5 w-5`}):(0,o.jsx)(a.Menu,{className:`h-5 w-5`})}),N&&(0,o.jsx)(`aside`,{className:t.t(`fixed inset-y-0 left-0 z-40 w-72 shrink-0 border-r border-border/50 bg-background/95 backdrop-blur-md transition-transform duration-300 lg:relative lg:translate-x-0`,D?`translate-x-0`:`-translate-x-full`),children:(0,o.jsxs)(`div`,{className:`flex h-full flex-col gap-4 overflow-y-auto p-4`,children:[P&&(0,o.jsx)(r.o,{pages:y,onSelect:e=>{b?.(e),O(!1)}}),F&&(0,o.jsx)(r.a,{versions:x,current:S,onVersionChange:C}),(0,o.jsx)(r.s,{items:m,activeId:h,onItemClick:e=>{g?.(e),O(!1)}})]})}),N&&D&&(0,o.jsx)(`div`,{className:`fixed inset-0 z-30 bg-black/50 lg:hidden`,onClick:()=>O(!1)}),(0,o.jsxs)(`main`,{className:`flex min-w-0 flex-1 gap-8`,children:[(0,o.jsxs)(`div`,{className:`mx-auto w-full max-w-3xl px-4 py-8 lg:px-8`,children:[(0,o.jsxs)(`div`,{className:`mb-6 flex flex-col gap-3`,children:[_&&_.length>0&&(0,o.jsx)(r.r,{items:_,onItemClick:v}),(0,o.jsx)(r.i,{content:k,mode:s,canEdit:l,onModeChange:u,saveStatus:p})]}),s===`view`?(0,o.jsx)(r.t,{content:k,onHeadingsExtracted:E}):(0,o.jsx)(c,{content:k,onChange:M,onHeadingsExtracted:E})]}),T.length>0&&(0,o.jsx)(`aside`,{className:`hidden w-56 shrink-0 py-8 xl:block`,children:(0,o.jsx)(r.c,{items:T})})]})]})}function c({content:e,onChange:t,onHeadingsExtracted:n}){let[r,a]=i.useState(null);return i.useEffect(()=>{(async()=>{try{let{WakaRichTextEditor:e}=await Promise.resolve().then(()=>require(`./waka-rich-text-editor-DcZuIQ-q.js`)).then(e=>e.n);a(()=>e)}catch{}})()},[]),i.useEffect(()=>{let t=[],r=e.split(`
|
|
2
2
|
`);for(let e of r){let n=e.match(/^(#{2,4})\s+(.+)$/);if(n){let e=n[1].length,r=n[2].replace(/[`*_~]/g,``),i=r.toLowerCase().replace(/[^\w\s-]/g,``).replace(/\s+/g,`-`);t.push({id:i,text:r,level:e})}}n(t)},[e,n]),r?(0,o.jsx)(r,{value:e,onChange:t,placeholder:`Écrivez votre documentation...`,minHeight:400,editable:!0}):(0,o.jsx)(`textarea`,{value:e,onChange:e=>t(e.target.value),className:`min-h-[400px] w-full rounded-lg border border-border/50 bg-background p-4 font-mono text-sm focus:outline-none focus:ring-2 focus:ring-primary/50`,placeholder:`Écrivez en markdown...`})}exports.WakaDocBreadcrumb=r.r,exports.WakaDocCallout=r.u,exports.WakaDocCodeBlock=r.l,exports.WakaDocNav=r.s,exports.WakaDocRenderer=r.t,exports.WakaDocSearch=r.o,exports.WakaDocShell=s,exports.WakaDocTable=r.n,exports.WakaDocToc=r.c,exports.WakaDocToolbar=r.i,exports.WakaDocVersion=r.a;
|
package/dist/doc.es.js
CHANGED
|
@@ -97,7 +97,7 @@ function v({ content: e, onChange: t, onHeadingsExtracted: n }) {
|
|
|
97
97
|
return f.useEffect(() => {
|
|
98
98
|
(async () => {
|
|
99
99
|
try {
|
|
100
|
-
let { WakaRichTextEditor: e } = await import("./waka-rich-text-editor-
|
|
100
|
+
let { WakaRichTextEditor: e } = await import("./waka-rich-text-editor-SOKYDdDP.mjs").then((e) => e.n);
|
|
101
101
|
i(() => e);
|
|
102
102
|
} catch {}
|
|
103
103
|
})();
|
package/dist/index.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use client";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./chunk-FDd1SASZ.js`),t=require(`./cn-DEeiGoUV.js`),n=require(`./security-DwyLk9h1.js`),r=require(`./badge-B2Kw7ew3.js`),i=require(`./separator-DviMy-io.js`),a=require(`./waka-doc-renderer-22MUZbyl.js`),o=require(`./textarea-jycisJkk.js`),s=require(`./input-vHHUMve1.js`),c=require(`./waka-rich-text-editor-C4b30Ik-.js`),l=require(`./types-CUCT8Mwf.js`),u=require(`./useDataTableImport-DNU1m8NO.js`);let d=require(`react`);d=e.r(d);let f=require(`@radix-ui/react-accordion`);f=e.r(f);let p=require(`lucide-react`),m=require(`clsx`),h=require(`class-variance-authority`),g=require(`react/jsx-runtime`),_=require(`@radix-ui/react-alert-dialog`);_=e.r(_);let v=require(`@radix-ui/react-aspect-ratio`);v=e.r(v);let y=require(`@radix-ui/react-slot`),b=require(`react-day-picker`),x=require(`@radix-ui/react-checkbox`);x=e.r(x);let S=require(`date-fns`),C=require(`date-fns/locale`),w=require(`prismjs`);w=e.r(w);let T=require(`@radix-ui/react-collapsible`);T=e.r(T);let E=require(`cmdk`),D=require(`@radix-ui/react-dialog`);D=e.r(D);let O=require(`@radix-ui/react-context-menu`);O=e.r(O);let k=require(`@radix-ui/react-dropdown-menu`);k=e.r(k);let A=require(`react-hook-form`),j=require(`@radix-ui/react-hover-card`);j=e.r(j);let M=require(`react-dom`),N=require(`@radix-ui/react-menubar`);N=e.r(N);let P=require(`@radix-ui/react-navigation-menu`);P=e.r(P);let F=require(`@radix-ui/react-progress`);F=e.r(F);let I=require(`@radix-ui/react-radio-group`);I=e.r(I);let L=require(`@radix-ui/react-slider`);L=e.r(L);let R=require(`@radix-ui/react-switch`);R=e.r(R);let z=require(`@radix-ui/react-tabs`);z=e.r(z);let B=require(`@radix-ui/react-toast`);B=e.r(B);let V=require(`@radix-ui/react-toggle`);V=e.r(V);let H=require(`@tanstack/react-table`),U=require(`react-i18next`),W=require(`@tanstack/react-virtual`),G=require(`react-datepicker`);G=e.r(G);let K=require(`i18next`);K=e.r(K);let q=require(`recharts`);var ee=f.Root,J=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(f.Item,{ref:r,className:t.t(`border-b`,e),...n}));J.displayName=`AccordionItem`;var te=d.forwardRef(({className:e,children:n,...r},i)=>(0,g.jsx)(f.Header,{className:`flex`,children:(0,g.jsxs)(f.Trigger,{ref:i,className:t.t(`flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180`,e),...r,children:[n,(0,g.jsx)(p.ChevronDown,{className:`h-4 w-4 shrink-0 transition-transform duration-200`})]})}));te.displayName=f.Trigger.displayName;var ne=d.forwardRef(({className:e,children:n,...r},i)=>(0,g.jsx)(f.Content,{ref:i,className:`overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down`,...r,children:(0,g.jsx)(`div`,{className:t.t(`pb-4 pt-0`,e),children:n})}));ne.displayName=f.Content.displayName;var re=_.Root,ie=_.Trigger,ae=_.Portal,oe=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(_.Overlay,{className:t.t(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...n,ref:r}));oe.displayName=_.Overlay.displayName;var se=d.forwardRef(({className:e,...n},r)=>(0,g.jsxs)(ae,{children:[(0,g.jsx)(oe,{}),(0,g.jsx)(_.Content,{ref:r,className:t.t(`fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg`,e),...n})]}));se.displayName=_.Content.displayName;var ce=({className:e,...n})=>(0,g.jsx)(`div`,{className:t.t(`flex flex-col space-y-2 text-center sm:text-left`,e),...n});ce.displayName=`AlertDialogHeader`;var le=({className:e,...n})=>(0,g.jsx)(`div`,{className:t.t(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,e),...n});le.displayName=`AlertDialogFooter`;var ue=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(_.Title,{ref:r,className:t.t(`text-lg font-semibold`,e),...n}));ue.displayName=_.Title.displayName;var de=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(_.Description,{ref:r,className:t.t(`text-sm text-muted-foreground`,e),...n}));de.displayName=_.Description.displayName;var fe=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(_.Action,{ref:r,className:t.t(`inline-flex h-10 items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-semibold text-primary-foreground ring-offset-background transition-colors hover:bg-primary/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,e),...n}));fe.displayName=_.Action.displayName;var pe=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(_.Cancel,{ref:r,className:t.t(`mt-2 inline-flex h-10 items-center justify-center rounded-md border border-input bg-background px-4 py-2 text-sm font-semibold ring-offset-background transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 sm:mt-0`,e),...n}));pe.displayName=_.Cancel.displayName;var me=(0,h.cva)(`relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7`,{variants:{variant:{default:`bg-background text-foreground`,destructive:`border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive`}},defaultVariants:{variant:`default`}}),he=d.forwardRef(({className:e,variant:n,...r},i)=>(0,g.jsx)(`div`,{ref:i,role:`alert`,className:t.t(me({variant:n}),e),...r}));he.displayName=`Alert`;var ge=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`h5`,{ref:r,className:t.t(`mb-1 font-medium leading-none tracking-tight`,e),...n}));ge.displayName=`AlertTitle`;var _e=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`div`,{ref:r,className:t.t(`text-sm [&_p]:leading-relaxed`,e),...n}));_e.displayName=`AlertDescription`;var ve=v.Root;function ye({className:e,classNames:n,showOutsideDays:r=!0,...i}){return(0,g.jsx)(b.DayPicker,{showOutsideDays:r,className:t.t(`p-4 bg-background border border-border rounded-lg shadow-sm`,e),classNames:{months:`flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0`,month:`space-y-4`,caption:`flex justify-center pt-1 relative items-center mb-4`,caption_label:`text-lg font-semibold text-foreground`,nav:`space-x-1 flex items-center`,nav_button:t.t(`inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-all duration-200`,`h-8 w-8 bg-background border border-border hover:bg-accent hover:text-accent-foreground`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,`disabled:pointer-events-none disabled:opacity-50`),nav_button_previous:`absolute left-1`,nav_button_next:`absolute right-1`,table:`w-full border-collapse space-y-1`,head_row:`flex mb-2`,head_cell:`text-muted-foreground rounded-md w-10 h-10 font-medium text-sm flex items-center justify-center`,row:`flex w-full`,cell:`h-10 w-10 text-center text-sm p-0 relative`,day:t.t(`inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-all duration-200`,`h-10 w-10 p-0 font-normal cursor-pointer`,`hover:bg-accent hover:text-accent-foreground`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,`disabled:pointer-events-none disabled:opacity-50`),day_range_end:`day-range-end`,day_selected:t.t(`bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground`,`focus:bg-primary focus:text-primary-foreground shadow-sm`),day_today:`bg-accent text-accent-foreground font-semibold`,day_outside:`text-muted-foreground opacity-50 hover:opacity-70`,day_disabled:`text-muted-foreground opacity-30 cursor-not-allowed`,day_range_middle:`bg-accent/50 text-accent-foreground`,day_hidden:`invisible`,...n},components:{Chevron:({...e})=>e.orientation===`left`?(0,g.jsx)(p.ChevronLeft,{className:`h-4 w-4`}):(0,g.jsx)(p.ChevronRight,{className:`h-4 w-4`})},...i})}ye.displayName=`Calendar`;var Y=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`div`,{ref:r,className:t.t(`rounded-xl border bg-card text-card-foreground shadow`,e),...n}));Y.displayName=`Card`;var X=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`div`,{ref:r,className:t.t(`flex flex-col space-y-1.5 p-6`,e),...n}));X.displayName=`CardHeader`;var Z=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`h3`,{ref:r,className:t.t(`font-semibold leading-none tracking-tight`,e),...n}));Z.displayName=`CardTitle`;var be=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`p`,{ref:r,className:t.t(`text-sm text-muted-foreground`,e),...n}));be.displayName=`CardDescription`;var Q=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`div`,{ref:r,className:t.t(`p-6 pt-0`,e),...n}));Q.displayName=`CardContent`;var xe=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`div`,{ref:r,className:t.t(`flex items-center p-6 pt-0`,e),...n}));xe.displayName=`CardFooter`;var Se=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(x.Root,{ref:r,className:t.t(`peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground`,e),...n,children:(0,g.jsx)(x.Indicator,{className:t.t(`flex items-center justify-center text-current`),children:(0,g.jsx)(p.Check,{className:`h-4 w-4`})})}));Se.displayName=x.Root.displayName;var Ce=(e=C.fr)=>[{label:`Aujourd'hui`,value:()=>new Date},{label:`Hier`,value:()=>(0,S.subDays)(new Date,1)},{label:`Demain`,value:()=>(0,S.addDays)(new Date,1)},{label:`Cette semaine`,range:()=>({from:(0,S.startOfWeek)(new Date,{locale:e}),to:(0,S.endOfWeek)(new Date,{locale:e})})},{label:`Semaine dernière`,range:()=>({from:(0,S.startOfWeek)((0,S.subWeeks)(new Date,1),{locale:e}),to:(0,S.endOfWeek)((0,S.subWeeks)(new Date,1),{locale:e})})},{label:`Ce mois`,range:()=>({from:(0,S.startOfMonth)(new Date),to:(0,S.endOfMonth)(new Date)})},{label:`Mois dernier`,range:()=>({from:(0,S.startOfMonth)((0,S.subMonths)(new Date,1)),to:(0,S.endOfMonth)((0,S.subMonths)(new Date,1))})},{label:`Ce trimestre`,range:()=>({from:(0,S.startOfQuarter)(new Date),to:(0,S.endOfQuarter)(new Date)})},{label:`Cette année`,range:()=>({from:(0,S.startOfYear)(new Date),to:(0,S.endOfYear)(new Date)})}],we=()=>[{label:`7 derniers jours`,range:()=>({from:(0,S.subDays)(new Date,7),to:new Date})},{label:`30 derniers jours`,range:()=>({from:(0,S.subDays)(new Date,30),to:new Date})},{label:`90 derniers jours`,range:()=>({from:(0,S.subDays)(new Date,90),to:new Date})}],Te=e=>e.map(e=>({label:`${e} prochains jours`,range:()=>({from:new Date,to:(0,S.addDays)(new Date,e)})})),Ee=(e,t)=>{if(typeof t==`function`){let n=t();return`from`in n&&n.from&&n.to?{label:e,range:()=>({from:n.from,to:n.to})}:{label:e,value:t}}return`from`in t&&t.from&&t.to?{label:e,range:{from:t.from,to:t.to}}:{label:e,value:t}},De=e=>(0,S.isAfter)(e,(0,S.endOfDay)(new Date)),Oe=e=>(0,S.isBefore)(e,(0,S.startOfDay)(new Date)),ke=e=>{let t=new Date;return e.getDate()===t.getDate()&&e.getMonth()===t.getMonth()&&e.getFullYear()===t.getFullYear()},Ae=e=>{let t=e.getDay();return t!==0&&t!==6},je=e=>{let t=e.getDay();return t===0||t===6},Me=(e,t)=>t.some(t=>(0,S.isEqual)((0,S.startOfDay)(t),(0,S.startOfDay)(e))),Ne=(e,t,n)=>(0,S.isWithinInterval)(e,{start:t,end:n}),Pe=e=>t=>(0,S.isAfter)(t,(0,S.subYears)(new Date,e))?`L'âge minimum est de ${e} ans`:!0,Fe=e=>t=>(0,S.isBefore)(t,(0,S.subYears)(new Date,e))?`L'âge maximum est de ${e} ans`:!0,Ie=e=>Oe(e)?`Cette date est expirée`:!0,Le=(e,t)=>({days:(0,S.differenceInDays)(t,e),weeks:(0,S.differenceInWeeks)(t,e),months:(0,S.differenceInMonths)(t,e)}),Re=(e,t=`PPP`,n=C.fr)=>e.from?e.to?`${(0,S.format)(e.from,t,{locale:n})} - ${(0,S.format)(e.to,t,{locale:n})}`:(0,S.format)(e.from,t,{locale:n}):``,ze=e=>[new Date(e,0,1),new Date(e,4,1),new Date(e,4,8),new Date(e,6,14),new Date(e,7,15),new Date(e,10,1),new Date(e,10,11),new Date(e,11,25)],Be=(e,t)=>{let n=[],r=(0,S.startOfMonth)(new Date(e,t)),i=(0,S.endOfMonth)(new Date(e,t)),a=r;for(;(0,S.isBefore)(a,i)||(0,S.isEqual)(a,i);)n.push(a),a=(0,S.addDays)(a,1);return n},Ve=(e,t)=>Be(e,t).filter(je),He=(e,t)=>Be(e,t).filter(Ae),Ue=()=>e=>{let t=new Date,n=(0,S.endOfMonth)(e);return(0,S.isBefore)(n,t)?`La carte est expirée`:(0,S.isBefore)(n,(0,S.addMonths)(t,3))?`La carte expire bientôt`:!0},We=e=>t=>(0,S.isBefore)(t,(0,S.addDays)(new Date,e))?`La réservation doit être faite ${e} jours à l'avance minimum`:!0,Ge=e=>t=>!t.from||!t.to?!0:(0,S.differenceInDays)(t.to,t.from)>e?`La période ne peut pas dépasser ${e} jours`:!0,Ke=(e,t)=>(0,S.isEqual)((0,S.startOfDay)(e),(0,S.startOfDay)(t)),qe=(e,t,n=[])=>{let r=0,i=(0,S.startOfDay)(e),a=(0,S.startOfDay)(t);for(;(0,S.isBefore)(i,a)||(0,S.isEqual)(i,a);)Ae(i)&&!Me(i,n)&&r++,i=(0,S.addDays)(i,1);return r},Je=e=>{let t=e||new Date().getFullYear();return[1,2,3,4].map(e=>{let n=(0,S.startOfQuarter)(new Date(t,(e-1)*3,1)),r=(0,S.endOfQuarter)(n);return{label:`T${e} ${t}`,range:()=>({from:n,to:r})}})},Ye=(e,t=C.fr)=>{let n=e||new Date().getFullYear();return Array.from({length:12},(e,r)=>{let i=(0,S.startOfMonth)(new Date(n,r,1)),a=(0,S.endOfMonth)(i);return{label:(0,S.format)(i,`MMMM yyyy`,{locale:t}),range:()=>({from:i,to:a})}})},Xe=e=>e.getTime(),Ze=e=>new Date(e),Qe=e=>(0,S.startOfDay)(e),$e=(e,t)=>!e.from||!e.to||!t.from||!t.to?!1:(0,S.isEqual)((0,S.startOfDay)(e.from),(0,S.startOfDay)(t.from))&&(0,S.isEqual)((0,S.startOfDay)(e.to),(0,S.startOfDay)(t.to)),et=(e,t)=>!e.from||!e.to||!t.from||!t.to||!(Ne(e.from,t.from,t.to)||Ne(e.to,t.from,t.to)||Ne(t.from,e.from,e.to)||Ne(t.to,e.from,e.to))?null:{from:(0,S.isBefore)(e.from,t.from)?e.from:t.from,to:(0,S.isAfter)(e.to,t.to)?e.to:t.to},tt=(e,t)=>!e.from||!e.to||!t.from||!t.to?!1:Ne(e.from,t.from,t.to)||Ne(e.to,t.from,t.to)||Ne(t.from,e.from,e.to)||Ne(t.to,e.from,e.to),nt=class{constructor(e){this.loadedThemes=new Set,this.styleElements=new Map,this.config={baseUrl:e.baseUrl,cache:e.cache??!0,timeout:e.timeout??1e4,onError:e.onError??(e=>console.error(`Theme loading error:`,e)),onSuccess:e.onSuccess??(()=>{})}}async loadTheme(e){if(this.config.cache&&this.loadedThemes.has(e)){console.log(`Theme "${e}" already loaded from cache`),this.applyTheme(e);return}try{let t=new AbortController,n=setTimeout(()=>t.abort(),this.config.timeout),r=this.buildThemeUrl(e);console.log(`Loading theme from: ${r}`);let i=await fetch(r,{signal:t.signal,headers:{Accept:`text/css`}});if(clearTimeout(n),!i.ok)throw Error(`Failed to load theme: ${i.status} ${i.statusText}`);let a=await i.text();if(!a.includes(`[data-theme="${e}"]`))throw Error(`Invalid theme CSS: missing [data-theme="${e}"] selector`);this.injectThemeStyles(e,a),this.loadedThemes.add(e),this.applyTheme(e),this.config.onSuccess(e)}catch(t){let n=t instanceof Error?t:Error(String(t));throw this.config.onError(n,e),n}}applyTheme(e){if(!(typeof document>`u`)){document.documentElement.setAttribute(`data-theme`,e);try{localStorage.setItem(`theme`,e)}catch(e){console.warn(`Could not save theme to localStorage:`,e)}console.log(`Applied theme: ${e}`)}}getCurrentTheme(){return typeof document>`u`?null:document.documentElement.getAttribute(`data-theme`)}loadSavedTheme(){if(typeof window>`u`)return null;try{return localStorage.getItem(`theme`)}catch(e){return console.warn(`Could not load theme from localStorage:`,e),null}}async preloadThemes(e){console.log(`Preloading ${e.length} themes...`),await Promise.allSettled(e.map(e=>this.loadTheme(e))),console.log(`Preloaded ${this.loadedThemes.size} themes`)}unloadTheme(e){let t=this.styleElements.get(e);t&&(t.remove(),this.styleElements.delete(e)),this.loadedThemes.delete(e),console.log(`Unloaded theme: ${e}`)}clearCache(){this.styleElements.forEach(e=>e.remove()),this.styleElements.clear(),this.loadedThemes.clear(),console.log(`Theme cache cleared`)}getLoadedThemes(){return Array.from(this.loadedThemes)}buildThemeUrl(e){return`${this.config.baseUrl.replace(/\/$/,``)}/${e}.css`}injectThemeStyles(e,t){if(typeof document>`u`)return;let n=this.styleElements.get(e);n&&n.remove();let r=document.createElement(`style`);r.setAttribute(`data-theme-name`,e),r.textContent=t,document.head.appendChild(r),this.styleElements.set(e,r)}},rt=null;function it(e){return rt=new nt(e),rt}function at(){if(!rt)throw Error(`ThemeLoader not initialized. Call initThemeLoader() first.`);return rt}async function ot(e){return at().loadTheme(e)}function st(e){at().applyTheme(e)}function ct(e){if(typeof window>`u`)return{loadTheme:async()=>{},applyTheme:()=>{},currentTheme:null,loadedThemes:[],isLoading:!1};let t=rt||new nt({baseUrl:e?.baseUrl||`/themes`,...e}),[n,r]=d.useState(!1),[i,a]=d.useState(t.getCurrentTheme());return{loadTheme:async e=>{r(!0);try{await t.loadTheme(e),a(e)}finally{r(!1)}},applyTheme:e=>{t.applyTheme(e),a(e)},currentTheme:i,loadedThemes:t.getLoadedThemes(),isLoading:n}}Prism.languages.scss=Prism.languages.extend(`css`,{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:`important`},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),Prism.languages.insertBefore(`scss`,`atrule`,{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),Prism.languages.insertBefore(`scss`,`important`,{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),Prism.languages.insertBefore(`scss`,`function`,{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:`keyword`},placeholder:{pattern:/%[-\w]+/,alias:`selector`},statement:{pattern:/\B!(?:default|optional)\b/i,alias:`keyword`},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),Prism.languages.scss.atrule.inside.rest=Prism.languages.scss,(function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=`(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*`,r={pattern:RegExp(`(^|[^\\w.])`+n+`[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b`),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend(`clike`,{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(`(^|[^\\w.])`+n+`[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)`),lookbehind:!0,inside:r.inside},{pattern:RegExp(`(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)`+n+`[A-Z]\\w*\\b`),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore(`java`,`string`,{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:`string`},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore(`java`,`class-name`,{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:`punctuation`},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(`(\\bimport\\s+)`+n+`(?:[A-Z]\\w*|\\*)(?=\\s*;)`),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(`(\\bimport\\s+static\\s+)`+n+`(?:\\w+|\\*)(?=\\s*;)`),lookbehind:!0,alias:`static`,inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(`(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?`.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})})(Prism),(function(e){function t(e,t){return e.replace(/<<(\d+)>>/g,function(e,n){return`(?:`+t[+n]+`)`})}function n(e,n,r){return RegExp(t(e,n),r||``)}function r(e,t){for(var n=0;n<t;n++)e=e.replace(/<<self>>/g,function(){return`(?:`+e+`)`});return e.replace(/<<self>>/g,`[^\\s\\S]`)}var i={type:`bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void`,typeDeclaration:`class enum interface record struct`,contextual:`add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)`,other:`abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield`};function a(e){return`\\b(?:`+e.trim().replace(/ /g,`|`)+`)\\b`}var o=a(i.typeDeclaration),s=RegExp(a(i.type+` `+i.typeDeclaration+` `+i.contextual+` `+i.other)),c=a(i.typeDeclaration+` `+i.contextual+` `+i.other),l=a(i.type+` `+i.typeDeclaration+` `+i.other),u=r(`<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>`,2),d=r(`\\((?:[^()]|<<self>>)*\\)`,2),f=`@?\\b[A-Za-z_]\\w*\\b`,p=t(`<<0>>(?:\\s*<<1>>)?`,[f,u]),m=t(`(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*`,[c,p]),h=`\\[\\s*(?:,\\s*)*\\]`,g=t(`<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?`,[m,h]),_=t(`(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?`,[t(`\\(<<0>>+(?:,<<0>>+)+\\)`,[t(`[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>`,[u,d,h])]),m,h]),v={keyword:s,punctuation:/[<>()?,.:[\]]/},y=`'(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'`,b=`"(?:\\\\.|[^\\\\"\\r\\n])*"`,x=`@"(?:""|\\\\[\\s\\S]|[^\\\\"])*"(?!")`;e.languages.csharp=e.languages.extend(`clike`,{string:[{pattern:n(`(^|[^$\\\\])<<0>>`,[x]),lookbehind:!0,greedy:!0},{pattern:n(`(^|[^@$\\\\])<<0>>`,[b]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:n(`(\\busing\\s+static\\s+)<<0>>(?=\\s*;)`,[m]),lookbehind:!0,inside:v},{pattern:n(`(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)`,[f,_]),lookbehind:!0,inside:v},{pattern:n(`(\\busing\\s+)<<0>>(?=\\s*=)`,[f]),lookbehind:!0},{pattern:n(`(\\b<<0>>\\s+)<<1>>`,[o,p]),lookbehind:!0,inside:v},{pattern:n(`(\\bcatch\\s*\\(\\s*)<<0>>`,[m]),lookbehind:!0,inside:v},{pattern:n(`(\\bwhere\\s+)<<0>>`,[f]),lookbehind:!0},{pattern:n(`(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>`,[g]),lookbehind:!0,inside:v},{pattern:n(`\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))`,[_,l,f]),inside:v}],keyword:s,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore(`csharp`,`number`,{range:{pattern:/\.\./,alias:`operator`}}),e.languages.insertBefore(`csharp`,`punctuation`,{"named-parameter":{pattern:n(`([(,]\\s*)<<0>>(?=\\s*:)`,[f]),lookbehind:!0,alias:`punctuation`}}),e.languages.insertBefore(`csharp`,`class-name`,{namespace:{pattern:n(`(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])`,[f]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:n(`(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))`,[d]),lookbehind:!0,alias:`class-name`,inside:v},"return-type":{pattern:n(`<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))`,[_,m]),inside:v,alias:`class-name`},"constructor-invocation":{pattern:n(`(\\bnew\\s+)<<0>>(?=\\s*[[({])`,[_]),lookbehind:!0,inside:v,alias:`class-name`},"generic-method":{pattern:n(`<<0>>\\s*<<1>>(?=\\s*\\()`,[f,u]),inside:{function:n(`^<<0>>`,[f]),generic:{pattern:RegExp(u),alias:`class-name`,inside:v}}},"type-list":{pattern:n(`\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))`,[o,p,f,_,s.source,d,`\\bnew\\s*\\(\\s*\\)`]),lookbehind:!0,inside:{"record-arguments":{pattern:n(`(^(?!new\\s*\\()<<0>>\\s*)<<1>>`,[p,d]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:s,"class-name":{pattern:RegExp(_),greedy:!0,inside:v},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:`property`,inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:`keyword`}}}});var S=b+`|`+y,C=t(`\\/(?![*/])|\\/\\/[^\\r\\n]*[\\r\\n]|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>`,[S]),w=r(t(`[^"'/()]|<<0>>|\\(<<self>>*\\)`,[C]),2),T=`\\b(?:assembly|event|field|method|module|param|property|return|type)\\b`,E=t(`<<0>>(?:\\s*\\(<<1>>*\\))?`,[m,w]);e.languages.insertBefore(`csharp`,`class-name`,{attribute:{pattern:n(`((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])`,[T,E]),lookbehind:!0,greedy:!0,inside:{target:{pattern:n(`^<<0>>(?=\\s*:)`,[T]),alias:`keyword`},"attribute-arguments":{pattern:n(`\\(<<0>>*\\)`,[w]),inside:e.languages.csharp},"class-name":{pattern:RegExp(m),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var D=`:[^}\\r\\n]+`,O=r(t(`[^"'/()]|<<0>>|\\(<<self>>*\\)`,[C]),2),k=t(`\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}`,[O,D]),A=r(t(`[^"'/()]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>|\\(<<self>>*\\)`,[S]),2),j=t(`\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}`,[A,D]);function M(t,r){return{interpolation:{pattern:n(`((?:^|[^{])(?:\\{\\{)*)<<0>>`,[t]),lookbehind:!0,inside:{"format-string":{pattern:n(`(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)`,[r,D]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:`language-csharp`,inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore(`csharp`,`string`,{"interpolation-string":[{pattern:n(`(^|[^\\\\])(?:\\$@|@\\$)"(?:""|\\\\[\\s\\S]|\\{\\{|<<0>>|[^\\\\{"])*"`,[k]),lookbehind:!0,greedy:!0,inside:M(k,O)},{pattern:n(`(^|[^@\\\\])\\$"(?:\\\\.|\\{\\{|<<0>>|[^\\\\"{])*"`,[j]),lookbehind:!0,greedy:!0,inside:M(j,A)}],char:{pattern:RegExp(y),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp})(Prism),(function(e){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,n=[{pattern:/\b(?:false|true)\b/i,alias:`boolean`},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],r=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,i=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,a=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:`important`},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:`class-name`},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:`function`},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:`type-casting`,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:`type-hint`,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:`return-type`,greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:`type-declaration`,greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:`type-declaration`,greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:`static-context`,greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:`class-name-fully-qualified`,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:`class-name-fully-qualified`,greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:`class-name-fully-qualified`,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:`type-declaration`,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[`class-name-fully-qualified`,`type-declaration`],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:`static-context`,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:[`class-name-fully-qualified`,`static-context`],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:`type-hint`,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[`class-name-fully-qualified`,`type-hint`],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:`return-type`,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:[`class-name-fully-qualified`,`return-type`],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:r,operator:i,punctuation:a};var o={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},s=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:`nowdoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:`symbol`,inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:`heredoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:`symbol`,inside:{punctuation:/^<<<"?|[";]$/}},interpolation:o}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:`backtick-quoted-string`,greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:`single-quoted-string`,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:`double-quoted-string`,greedy:!0,inside:{interpolation:o}}];e.languages.insertBefore(`php`,`variable`,{string:s,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:s,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:`class-name`,greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:[`class-name`,`class-name-fully-qualified`],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,number:r,operator:i,punctuation:a}},delimiter:{pattern:/^#\[|\]$/,alias:`punctuation`}}}}),e.hooks.add(`before-tokenize`,function(t){/<\?/.test(t.code)&&e.languages[`markup-templating`].buildPlaceholders(t,`php`,/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)}),e.hooks.add(`after-tokenize`,function(t){e.languages[`markup-templating`].tokenizePlaceholders(t,`php`)})})(Prism),(function(e){e.languages.ruby=e.languages.extend(`clike`,{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore(`ruby`,`operator`,{"double-colon":{pattern:/::/,alias:`punctuation`}});var t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:`punctuation`}}};delete e.languages.ruby.function;var n=`(?:`+[`([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1`,`\\((?:[^()\\\\]|\\\\[\\s\\S]|\\((?:[^()\\\\]|\\\\[\\s\\S])*\\))*\\)`,`\\{(?:[^{}\\\\]|\\\\[\\s\\S]|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\})*\\}`,`\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S]|\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\])*\\]`,`<(?:[^<>\\\\]|\\\\[\\s\\S]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)*>`].join(`|`)+`)`,r=`(?:"(?:\\\\.|[^"\\\\\\r\\n])*"|(?:\\b[a-zA-Z_]\\w*|[^\\s\\0-\\x7F]+)[?!]?|\\$.)`;e.languages.insertBefore(`ruby`,`keyword`,{"regex-literal":[{pattern:RegExp(`%r`+n+`[egimnosux]{0,6}`),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(`(^|[^:]):`+r),lookbehind:!0,greedy:!0},{pattern:RegExp(`([\\r\\n{(,][ \\t]*)`+r+`(?=:(?!:))`),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore(`ruby`,`string`,{"string-literal":[{pattern:RegExp(`%[qQiIwWs]?`+n),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:`heredoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:`heredoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(`%x`+n),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:`string`}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:`string`}}}]}),delete e.languages.ruby.string,e.languages.insertBefore(`ruby`,`number`,{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby})(Prism),Prism.languages.git={comment:/^#.*/m,deleted:/^[-–].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m};var lt=(0,h.cva)(`relative rounded font-mono`,{variants:{variant:{inline:`bg-muted px-[0.3rem] py-[0.2rem] text-xs sm:text-sm`,block:`block bg-muted overflow-x-auto`},size:{sm:`text-xs sm:text-sm`,base:`text-sm sm:text-base`,lg:`text-base sm:text-lg`}},defaultVariants:{variant:`inline`,size:`base`}}),ut=d.forwardRef(({className:e,variant:n,size:r,language:a,showLineNumbers:o=!1,maxHeight:s,copyable:c=!1,filename:l,theme:u=`auto`,children:f,...m},h)=>{let[_,v]=d.useState(!1),[y,b]=d.useState(``);return d.useRef(null),d.useEffect(()=>{if(n===`block`&&a&&f)try{let e=typeof f==`string`?f:String(f);b(w.default.highlight(e,w.default.languages[a]||w.default.languages.text,a))}catch(e){console.warn(`Failed to highlight code for language: ${a}`,e),b(String(f))}else b(String(f))},[a,f,n]),n===`block`?(0,g.jsxs)(`div`,{className:`relative my-4 sm:my-6`,children:[(l||c)&&(0,g.jsxs)(`div`,{className:`flex items-center justify-between bg-muted/50 px-3 sm:px-4 py-2 sm:py-3 rounded-t-lg border-b`,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[l&&(0,g.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs sm:text-sm text-muted-foreground`,children:[(0,g.jsx)(p.FileText,{className:`h-3 w-3 sm:h-4 sm:w-4`}),(0,g.jsx)(`span`,{className:`font-medium`,children:l})]}),a&&!l&&(0,g.jsx)(`div`,{className:`text-xs sm:text-sm text-muted-foreground uppercase font-medium`,children:a})]}),c&&(0,g.jsx)(i.n,{variant:`ghost`,size:`sm`,onClick:async()=>{if(typeof f==`string`)try{await navigator.clipboard.writeText(f),v(!0),setTimeout(()=>v(!1),2e3)}catch(e){console.error(`Failed to copy code:`,e)}},className:`h-6 w-6 sm:h-7 sm:w-7 p-0 hover:bg-muted-foreground/10`,children:_?(0,g.jsx)(p.Check,{className:`h-3 w-3 sm:h-4 sm:w-4 text-green-600`}):(0,g.jsx)(p.Copy,{className:`h-3 w-3 sm:h-4 sm:w-4`})})]}),(0,g.jsx)(`div`,{className:t.t(`waka-code relative`,s&&`overflow-hidden`),style:{maxHeight:s?`${s}px`:void 0},children:(0,g.jsxs)(`pre`,{className:t.t(lt({variant:n,size:r}),`p-3 sm:p-4 lg:p-6`,`text-xs sm:text-sm lg:text-base`,`leading-relaxed sm:leading-loose`,`whitespace-pre-wrap break-words`,`scrollbar-thin scrollbar-thumb-muted-foreground/20 scrollbar-track-transparent`,`hover:scrollbar-thumb-muted-foreground/30`,s&&`overflow-y-auto`,!l&&!c&&a&&`rounded-lg`,l||c?`rounded-b-lg`:`rounded-lg`,e),children:[o&&(0,g.jsx)(`div`,{className:`absolute left-0 top-0 bottom-0 w-8 sm:w-10 lg:w-12 bg-muted/30 border-r border-border/50 flex flex-col text-xs sm:text-sm text-muted-foreground select-none`,children:String(f).split(`
|
|
1
|
+
"use client";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./chunk-FDd1SASZ.js`),t=require(`./cn-DEeiGoUV.js`),n=require(`./security-DwyLk9h1.js`),r=require(`./badge-B2Kw7ew3.js`),i=require(`./separator-DviMy-io.js`),a=require(`./waka-doc-renderer-22MUZbyl.js`),o=require(`./textarea-jycisJkk.js`),s=require(`./input-vHHUMve1.js`),c=require(`./waka-rich-text-editor-DcZuIQ-q.js`),l=require(`./types-CUCT8Mwf.js`),u=require(`./useDataTableImport-DNU1m8NO.js`);let d=require(`react`);d=e.r(d);let f=require(`@radix-ui/react-accordion`);f=e.r(f);let p=require(`lucide-react`),m=require(`clsx`),h=require(`class-variance-authority`),g=require(`react/jsx-runtime`),_=require(`@radix-ui/react-alert-dialog`);_=e.r(_);let v=require(`@radix-ui/react-aspect-ratio`);v=e.r(v);let y=require(`@radix-ui/react-slot`),b=require(`react-day-picker`),x=require(`@radix-ui/react-checkbox`);x=e.r(x);let S=require(`date-fns`),C=require(`date-fns/locale`),w=require(`prismjs`);w=e.r(w);let T=require(`@radix-ui/react-collapsible`);T=e.r(T);let E=require(`cmdk`),D=require(`@radix-ui/react-dialog`);D=e.r(D);let O=require(`@radix-ui/react-context-menu`);O=e.r(O);let k=require(`@radix-ui/react-dropdown-menu`);k=e.r(k);let A=require(`react-hook-form`),j=require(`@radix-ui/react-hover-card`);j=e.r(j);let M=require(`react-dom`),N=require(`@radix-ui/react-menubar`);N=e.r(N);let P=require(`@radix-ui/react-navigation-menu`);P=e.r(P);let F=require(`@radix-ui/react-progress`);F=e.r(F);let I=require(`@radix-ui/react-radio-group`);I=e.r(I);let L=require(`@radix-ui/react-slider`);L=e.r(L);let R=require(`@radix-ui/react-switch`);R=e.r(R);let z=require(`@radix-ui/react-tabs`);z=e.r(z);let B=require(`@radix-ui/react-toast`);B=e.r(B);let V=require(`@radix-ui/react-toggle`);V=e.r(V);let H=require(`@tanstack/react-table`),U=require(`react-i18next`),W=require(`@tanstack/react-virtual`),G=require(`react-datepicker`);G=e.r(G);let K=require(`i18next`);K=e.r(K);let q=require(`recharts`);var ee=f.Root,J=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(f.Item,{ref:r,className:t.t(`border-b`,e),...n}));J.displayName=`AccordionItem`;var te=d.forwardRef(({className:e,children:n,...r},i)=>(0,g.jsx)(f.Header,{className:`flex`,children:(0,g.jsxs)(f.Trigger,{ref:i,className:t.t(`flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180`,e),...r,children:[n,(0,g.jsx)(p.ChevronDown,{className:`h-4 w-4 shrink-0 transition-transform duration-200`})]})}));te.displayName=f.Trigger.displayName;var ne=d.forwardRef(({className:e,children:n,...r},i)=>(0,g.jsx)(f.Content,{ref:i,className:`overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down`,...r,children:(0,g.jsx)(`div`,{className:t.t(`pb-4 pt-0`,e),children:n})}));ne.displayName=f.Content.displayName;var re=_.Root,ie=_.Trigger,ae=_.Portal,oe=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(_.Overlay,{className:t.t(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...n,ref:r}));oe.displayName=_.Overlay.displayName;var se=d.forwardRef(({className:e,...n},r)=>(0,g.jsxs)(ae,{children:[(0,g.jsx)(oe,{}),(0,g.jsx)(_.Content,{ref:r,className:t.t(`fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg`,e),...n})]}));se.displayName=_.Content.displayName;var ce=({className:e,...n})=>(0,g.jsx)(`div`,{className:t.t(`flex flex-col space-y-2 text-center sm:text-left`,e),...n});ce.displayName=`AlertDialogHeader`;var le=({className:e,...n})=>(0,g.jsx)(`div`,{className:t.t(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,e),...n});le.displayName=`AlertDialogFooter`;var ue=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(_.Title,{ref:r,className:t.t(`text-lg font-semibold`,e),...n}));ue.displayName=_.Title.displayName;var de=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(_.Description,{ref:r,className:t.t(`text-sm text-muted-foreground`,e),...n}));de.displayName=_.Description.displayName;var fe=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(_.Action,{ref:r,className:t.t(`inline-flex h-10 items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-semibold text-primary-foreground ring-offset-background transition-colors hover:bg-primary/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,e),...n}));fe.displayName=_.Action.displayName;var pe=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(_.Cancel,{ref:r,className:t.t(`mt-2 inline-flex h-10 items-center justify-center rounded-md border border-input bg-background px-4 py-2 text-sm font-semibold ring-offset-background transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 sm:mt-0`,e),...n}));pe.displayName=_.Cancel.displayName;var me=(0,h.cva)(`relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7`,{variants:{variant:{default:`bg-background text-foreground`,destructive:`border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive`}},defaultVariants:{variant:`default`}}),he=d.forwardRef(({className:e,variant:n,...r},i)=>(0,g.jsx)(`div`,{ref:i,role:`alert`,className:t.t(me({variant:n}),e),...r}));he.displayName=`Alert`;var ge=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`h5`,{ref:r,className:t.t(`mb-1 font-medium leading-none tracking-tight`,e),...n}));ge.displayName=`AlertTitle`;var _e=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`div`,{ref:r,className:t.t(`text-sm [&_p]:leading-relaxed`,e),...n}));_e.displayName=`AlertDescription`;var ve=v.Root;function ye({className:e,classNames:n,showOutsideDays:r=!0,...i}){return(0,g.jsx)(b.DayPicker,{showOutsideDays:r,className:t.t(`p-4 bg-background border border-border rounded-lg shadow-sm`,e),classNames:{months:`flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0`,month:`space-y-4`,caption:`flex justify-center pt-1 relative items-center mb-4`,caption_label:`text-lg font-semibold text-foreground`,nav:`space-x-1 flex items-center`,nav_button:t.t(`inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-all duration-200`,`h-8 w-8 bg-background border border-border hover:bg-accent hover:text-accent-foreground`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,`disabled:pointer-events-none disabled:opacity-50`),nav_button_previous:`absolute left-1`,nav_button_next:`absolute right-1`,table:`w-full border-collapse space-y-1`,head_row:`flex mb-2`,head_cell:`text-muted-foreground rounded-md w-10 h-10 font-medium text-sm flex items-center justify-center`,row:`flex w-full`,cell:`h-10 w-10 text-center text-sm p-0 relative`,day:t.t(`inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-all duration-200`,`h-10 w-10 p-0 font-normal cursor-pointer`,`hover:bg-accent hover:text-accent-foreground`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,`disabled:pointer-events-none disabled:opacity-50`),day_range_end:`day-range-end`,day_selected:t.t(`bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground`,`focus:bg-primary focus:text-primary-foreground shadow-sm`),day_today:`bg-accent text-accent-foreground font-semibold`,day_outside:`text-muted-foreground opacity-50 hover:opacity-70`,day_disabled:`text-muted-foreground opacity-30 cursor-not-allowed`,day_range_middle:`bg-accent/50 text-accent-foreground`,day_hidden:`invisible`,...n},components:{Chevron:({...e})=>e.orientation===`left`?(0,g.jsx)(p.ChevronLeft,{className:`h-4 w-4`}):(0,g.jsx)(p.ChevronRight,{className:`h-4 w-4`})},...i})}ye.displayName=`Calendar`;var Y=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`div`,{ref:r,className:t.t(`rounded-xl border bg-card text-card-foreground shadow`,e),...n}));Y.displayName=`Card`;var X=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`div`,{ref:r,className:t.t(`flex flex-col space-y-1.5 p-6`,e),...n}));X.displayName=`CardHeader`;var Z=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`h3`,{ref:r,className:t.t(`font-semibold leading-none tracking-tight`,e),...n}));Z.displayName=`CardTitle`;var be=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`p`,{ref:r,className:t.t(`text-sm text-muted-foreground`,e),...n}));be.displayName=`CardDescription`;var Q=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`div`,{ref:r,className:t.t(`p-6 pt-0`,e),...n}));Q.displayName=`CardContent`;var xe=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`div`,{ref:r,className:t.t(`flex items-center p-6 pt-0`,e),...n}));xe.displayName=`CardFooter`;var Se=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(x.Root,{ref:r,className:t.t(`peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground`,e),...n,children:(0,g.jsx)(x.Indicator,{className:t.t(`flex items-center justify-center text-current`),children:(0,g.jsx)(p.Check,{className:`h-4 w-4`})})}));Se.displayName=x.Root.displayName;var Ce=(e=C.fr)=>[{label:`Aujourd'hui`,value:()=>new Date},{label:`Hier`,value:()=>(0,S.subDays)(new Date,1)},{label:`Demain`,value:()=>(0,S.addDays)(new Date,1)},{label:`Cette semaine`,range:()=>({from:(0,S.startOfWeek)(new Date,{locale:e}),to:(0,S.endOfWeek)(new Date,{locale:e})})},{label:`Semaine dernière`,range:()=>({from:(0,S.startOfWeek)((0,S.subWeeks)(new Date,1),{locale:e}),to:(0,S.endOfWeek)((0,S.subWeeks)(new Date,1),{locale:e})})},{label:`Ce mois`,range:()=>({from:(0,S.startOfMonth)(new Date),to:(0,S.endOfMonth)(new Date)})},{label:`Mois dernier`,range:()=>({from:(0,S.startOfMonth)((0,S.subMonths)(new Date,1)),to:(0,S.endOfMonth)((0,S.subMonths)(new Date,1))})},{label:`Ce trimestre`,range:()=>({from:(0,S.startOfQuarter)(new Date),to:(0,S.endOfQuarter)(new Date)})},{label:`Cette année`,range:()=>({from:(0,S.startOfYear)(new Date),to:(0,S.endOfYear)(new Date)})}],we=()=>[{label:`7 derniers jours`,range:()=>({from:(0,S.subDays)(new Date,7),to:new Date})},{label:`30 derniers jours`,range:()=>({from:(0,S.subDays)(new Date,30),to:new Date})},{label:`90 derniers jours`,range:()=>({from:(0,S.subDays)(new Date,90),to:new Date})}],Te=e=>e.map(e=>({label:`${e} prochains jours`,range:()=>({from:new Date,to:(0,S.addDays)(new Date,e)})})),Ee=(e,t)=>{if(typeof t==`function`){let n=t();return`from`in n&&n.from&&n.to?{label:e,range:()=>({from:n.from,to:n.to})}:{label:e,value:t}}return`from`in t&&t.from&&t.to?{label:e,range:{from:t.from,to:t.to}}:{label:e,value:t}},De=e=>(0,S.isAfter)(e,(0,S.endOfDay)(new Date)),Oe=e=>(0,S.isBefore)(e,(0,S.startOfDay)(new Date)),ke=e=>{let t=new Date;return e.getDate()===t.getDate()&&e.getMonth()===t.getMonth()&&e.getFullYear()===t.getFullYear()},Ae=e=>{let t=e.getDay();return t!==0&&t!==6},je=e=>{let t=e.getDay();return t===0||t===6},Me=(e,t)=>t.some(t=>(0,S.isEqual)((0,S.startOfDay)(t),(0,S.startOfDay)(e))),Ne=(e,t,n)=>(0,S.isWithinInterval)(e,{start:t,end:n}),Pe=e=>t=>(0,S.isAfter)(t,(0,S.subYears)(new Date,e))?`L'âge minimum est de ${e} ans`:!0,Fe=e=>t=>(0,S.isBefore)(t,(0,S.subYears)(new Date,e))?`L'âge maximum est de ${e} ans`:!0,Ie=e=>Oe(e)?`Cette date est expirée`:!0,Le=(e,t)=>({days:(0,S.differenceInDays)(t,e),weeks:(0,S.differenceInWeeks)(t,e),months:(0,S.differenceInMonths)(t,e)}),Re=(e,t=`PPP`,n=C.fr)=>e.from?e.to?`${(0,S.format)(e.from,t,{locale:n})} - ${(0,S.format)(e.to,t,{locale:n})}`:(0,S.format)(e.from,t,{locale:n}):``,ze=e=>[new Date(e,0,1),new Date(e,4,1),new Date(e,4,8),new Date(e,6,14),new Date(e,7,15),new Date(e,10,1),new Date(e,10,11),new Date(e,11,25)],Be=(e,t)=>{let n=[],r=(0,S.startOfMonth)(new Date(e,t)),i=(0,S.endOfMonth)(new Date(e,t)),a=r;for(;(0,S.isBefore)(a,i)||(0,S.isEqual)(a,i);)n.push(a),a=(0,S.addDays)(a,1);return n},Ve=(e,t)=>Be(e,t).filter(je),He=(e,t)=>Be(e,t).filter(Ae),Ue=()=>e=>{let t=new Date,n=(0,S.endOfMonth)(e);return(0,S.isBefore)(n,t)?`La carte est expirée`:(0,S.isBefore)(n,(0,S.addMonths)(t,3))?`La carte expire bientôt`:!0},We=e=>t=>(0,S.isBefore)(t,(0,S.addDays)(new Date,e))?`La réservation doit être faite ${e} jours à l'avance minimum`:!0,Ge=e=>t=>!t.from||!t.to?!0:(0,S.differenceInDays)(t.to,t.from)>e?`La période ne peut pas dépasser ${e} jours`:!0,Ke=(e,t)=>(0,S.isEqual)((0,S.startOfDay)(e),(0,S.startOfDay)(t)),qe=(e,t,n=[])=>{let r=0,i=(0,S.startOfDay)(e),a=(0,S.startOfDay)(t);for(;(0,S.isBefore)(i,a)||(0,S.isEqual)(i,a);)Ae(i)&&!Me(i,n)&&r++,i=(0,S.addDays)(i,1);return r},Je=e=>{let t=e||new Date().getFullYear();return[1,2,3,4].map(e=>{let n=(0,S.startOfQuarter)(new Date(t,(e-1)*3,1)),r=(0,S.endOfQuarter)(n);return{label:`T${e} ${t}`,range:()=>({from:n,to:r})}})},Ye=(e,t=C.fr)=>{let n=e||new Date().getFullYear();return Array.from({length:12},(e,r)=>{let i=(0,S.startOfMonth)(new Date(n,r,1)),a=(0,S.endOfMonth)(i);return{label:(0,S.format)(i,`MMMM yyyy`,{locale:t}),range:()=>({from:i,to:a})}})},Xe=e=>e.getTime(),Ze=e=>new Date(e),Qe=e=>(0,S.startOfDay)(e),$e=(e,t)=>!e.from||!e.to||!t.from||!t.to?!1:(0,S.isEqual)((0,S.startOfDay)(e.from),(0,S.startOfDay)(t.from))&&(0,S.isEqual)((0,S.startOfDay)(e.to),(0,S.startOfDay)(t.to)),et=(e,t)=>!e.from||!e.to||!t.from||!t.to||!(Ne(e.from,t.from,t.to)||Ne(e.to,t.from,t.to)||Ne(t.from,e.from,e.to)||Ne(t.to,e.from,e.to))?null:{from:(0,S.isBefore)(e.from,t.from)?e.from:t.from,to:(0,S.isAfter)(e.to,t.to)?e.to:t.to},tt=(e,t)=>!e.from||!e.to||!t.from||!t.to?!1:Ne(e.from,t.from,t.to)||Ne(e.to,t.from,t.to)||Ne(t.from,e.from,e.to)||Ne(t.to,e.from,e.to),nt=class{constructor(e){this.loadedThemes=new Set,this.styleElements=new Map,this.config={baseUrl:e.baseUrl,cache:e.cache??!0,timeout:e.timeout??1e4,onError:e.onError??(e=>console.error(`Theme loading error:`,e)),onSuccess:e.onSuccess??(()=>{})}}async loadTheme(e){if(this.config.cache&&this.loadedThemes.has(e)){console.log(`Theme "${e}" already loaded from cache`),this.applyTheme(e);return}try{let t=new AbortController,n=setTimeout(()=>t.abort(),this.config.timeout),r=this.buildThemeUrl(e);console.log(`Loading theme from: ${r}`);let i=await fetch(r,{signal:t.signal,headers:{Accept:`text/css`}});if(clearTimeout(n),!i.ok)throw Error(`Failed to load theme: ${i.status} ${i.statusText}`);let a=await i.text();if(!a.includes(`[data-theme="${e}"]`))throw Error(`Invalid theme CSS: missing [data-theme="${e}"] selector`);this.injectThemeStyles(e,a),this.loadedThemes.add(e),this.applyTheme(e),this.config.onSuccess(e)}catch(t){let n=t instanceof Error?t:Error(String(t));throw this.config.onError(n,e),n}}applyTheme(e){if(!(typeof document>`u`)){document.documentElement.setAttribute(`data-theme`,e);try{localStorage.setItem(`theme`,e)}catch(e){console.warn(`Could not save theme to localStorage:`,e)}console.log(`Applied theme: ${e}`)}}getCurrentTheme(){return typeof document>`u`?null:document.documentElement.getAttribute(`data-theme`)}loadSavedTheme(){if(typeof window>`u`)return null;try{return localStorage.getItem(`theme`)}catch(e){return console.warn(`Could not load theme from localStorage:`,e),null}}async preloadThemes(e){console.log(`Preloading ${e.length} themes...`),await Promise.allSettled(e.map(e=>this.loadTheme(e))),console.log(`Preloaded ${this.loadedThemes.size} themes`)}unloadTheme(e){let t=this.styleElements.get(e);t&&(t.remove(),this.styleElements.delete(e)),this.loadedThemes.delete(e),console.log(`Unloaded theme: ${e}`)}clearCache(){this.styleElements.forEach(e=>e.remove()),this.styleElements.clear(),this.loadedThemes.clear(),console.log(`Theme cache cleared`)}getLoadedThemes(){return Array.from(this.loadedThemes)}buildThemeUrl(e){return`${this.config.baseUrl.replace(/\/$/,``)}/${e}.css`}injectThemeStyles(e,t){if(typeof document>`u`)return;let n=this.styleElements.get(e);n&&n.remove();let r=document.createElement(`style`);r.setAttribute(`data-theme-name`,e),r.textContent=t,document.head.appendChild(r),this.styleElements.set(e,r)}},rt=null;function it(e){return rt=new nt(e),rt}function at(){if(!rt)throw Error(`ThemeLoader not initialized. Call initThemeLoader() first.`);return rt}async function ot(e){return at().loadTheme(e)}function st(e){at().applyTheme(e)}function ct(e){if(typeof window>`u`)return{loadTheme:async()=>{},applyTheme:()=>{},currentTheme:null,loadedThemes:[],isLoading:!1};let t=rt||new nt({baseUrl:e?.baseUrl||`/themes`,...e}),[n,r]=d.useState(!1),[i,a]=d.useState(t.getCurrentTheme());return{loadTheme:async e=>{r(!0);try{await t.loadTheme(e),a(e)}finally{r(!1)}},applyTheme:e=>{t.applyTheme(e),a(e)},currentTheme:i,loadedThemes:t.getLoadedThemes(),isLoading:n}}Prism.languages.scss=Prism.languages.extend(`css`,{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:`important`},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),Prism.languages.insertBefore(`scss`,`atrule`,{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),Prism.languages.insertBefore(`scss`,`important`,{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),Prism.languages.insertBefore(`scss`,`function`,{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:`keyword`},placeholder:{pattern:/%[-\w]+/,alias:`selector`},statement:{pattern:/\B!(?:default|optional)\b/i,alias:`keyword`},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),Prism.languages.scss.atrule.inside.rest=Prism.languages.scss,(function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=`(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*`,r={pattern:RegExp(`(^|[^\\w.])`+n+`[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b`),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend(`clike`,{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(`(^|[^\\w.])`+n+`[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)`),lookbehind:!0,inside:r.inside},{pattern:RegExp(`(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)`+n+`[A-Z]\\w*\\b`),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore(`java`,`string`,{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:`string`},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore(`java`,`class-name`,{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:`punctuation`},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(`(\\bimport\\s+)`+n+`(?:[A-Z]\\w*|\\*)(?=\\s*;)`),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(`(\\bimport\\s+static\\s+)`+n+`(?:\\w+|\\*)(?=\\s*;)`),lookbehind:!0,alias:`static`,inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(`(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?`.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})})(Prism),(function(e){function t(e,t){return e.replace(/<<(\d+)>>/g,function(e,n){return`(?:`+t[+n]+`)`})}function n(e,n,r){return RegExp(t(e,n),r||``)}function r(e,t){for(var n=0;n<t;n++)e=e.replace(/<<self>>/g,function(){return`(?:`+e+`)`});return e.replace(/<<self>>/g,`[^\\s\\S]`)}var i={type:`bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void`,typeDeclaration:`class enum interface record struct`,contextual:`add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)`,other:`abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield`};function a(e){return`\\b(?:`+e.trim().replace(/ /g,`|`)+`)\\b`}var o=a(i.typeDeclaration),s=RegExp(a(i.type+` `+i.typeDeclaration+` `+i.contextual+` `+i.other)),c=a(i.typeDeclaration+` `+i.contextual+` `+i.other),l=a(i.type+` `+i.typeDeclaration+` `+i.other),u=r(`<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>`,2),d=r(`\\((?:[^()]|<<self>>)*\\)`,2),f=`@?\\b[A-Za-z_]\\w*\\b`,p=t(`<<0>>(?:\\s*<<1>>)?`,[f,u]),m=t(`(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*`,[c,p]),h=`\\[\\s*(?:,\\s*)*\\]`,g=t(`<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?`,[m,h]),_=t(`(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?`,[t(`\\(<<0>>+(?:,<<0>>+)+\\)`,[t(`[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>`,[u,d,h])]),m,h]),v={keyword:s,punctuation:/[<>()?,.:[\]]/},y=`'(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'`,b=`"(?:\\\\.|[^\\\\"\\r\\n])*"`,x=`@"(?:""|\\\\[\\s\\S]|[^\\\\"])*"(?!")`;e.languages.csharp=e.languages.extend(`clike`,{string:[{pattern:n(`(^|[^$\\\\])<<0>>`,[x]),lookbehind:!0,greedy:!0},{pattern:n(`(^|[^@$\\\\])<<0>>`,[b]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:n(`(\\busing\\s+static\\s+)<<0>>(?=\\s*;)`,[m]),lookbehind:!0,inside:v},{pattern:n(`(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)`,[f,_]),lookbehind:!0,inside:v},{pattern:n(`(\\busing\\s+)<<0>>(?=\\s*=)`,[f]),lookbehind:!0},{pattern:n(`(\\b<<0>>\\s+)<<1>>`,[o,p]),lookbehind:!0,inside:v},{pattern:n(`(\\bcatch\\s*\\(\\s*)<<0>>`,[m]),lookbehind:!0,inside:v},{pattern:n(`(\\bwhere\\s+)<<0>>`,[f]),lookbehind:!0},{pattern:n(`(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>`,[g]),lookbehind:!0,inside:v},{pattern:n(`\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))`,[_,l,f]),inside:v}],keyword:s,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore(`csharp`,`number`,{range:{pattern:/\.\./,alias:`operator`}}),e.languages.insertBefore(`csharp`,`punctuation`,{"named-parameter":{pattern:n(`([(,]\\s*)<<0>>(?=\\s*:)`,[f]),lookbehind:!0,alias:`punctuation`}}),e.languages.insertBefore(`csharp`,`class-name`,{namespace:{pattern:n(`(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])`,[f]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:n(`(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))`,[d]),lookbehind:!0,alias:`class-name`,inside:v},"return-type":{pattern:n(`<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))`,[_,m]),inside:v,alias:`class-name`},"constructor-invocation":{pattern:n(`(\\bnew\\s+)<<0>>(?=\\s*[[({])`,[_]),lookbehind:!0,inside:v,alias:`class-name`},"generic-method":{pattern:n(`<<0>>\\s*<<1>>(?=\\s*\\()`,[f,u]),inside:{function:n(`^<<0>>`,[f]),generic:{pattern:RegExp(u),alias:`class-name`,inside:v}}},"type-list":{pattern:n(`\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))`,[o,p,f,_,s.source,d,`\\bnew\\s*\\(\\s*\\)`]),lookbehind:!0,inside:{"record-arguments":{pattern:n(`(^(?!new\\s*\\()<<0>>\\s*)<<1>>`,[p,d]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:s,"class-name":{pattern:RegExp(_),greedy:!0,inside:v},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:`property`,inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:`keyword`}}}});var S=b+`|`+y,C=t(`\\/(?![*/])|\\/\\/[^\\r\\n]*[\\r\\n]|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>`,[S]),w=r(t(`[^"'/()]|<<0>>|\\(<<self>>*\\)`,[C]),2),T=`\\b(?:assembly|event|field|method|module|param|property|return|type)\\b`,E=t(`<<0>>(?:\\s*\\(<<1>>*\\))?`,[m,w]);e.languages.insertBefore(`csharp`,`class-name`,{attribute:{pattern:n(`((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])`,[T,E]),lookbehind:!0,greedy:!0,inside:{target:{pattern:n(`^<<0>>(?=\\s*:)`,[T]),alias:`keyword`},"attribute-arguments":{pattern:n(`\\(<<0>>*\\)`,[w]),inside:e.languages.csharp},"class-name":{pattern:RegExp(m),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var D=`:[^}\\r\\n]+`,O=r(t(`[^"'/()]|<<0>>|\\(<<self>>*\\)`,[C]),2),k=t(`\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}`,[O,D]),A=r(t(`[^"'/()]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>|\\(<<self>>*\\)`,[S]),2),j=t(`\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}`,[A,D]);function M(t,r){return{interpolation:{pattern:n(`((?:^|[^{])(?:\\{\\{)*)<<0>>`,[t]),lookbehind:!0,inside:{"format-string":{pattern:n(`(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)`,[r,D]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:`language-csharp`,inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore(`csharp`,`string`,{"interpolation-string":[{pattern:n(`(^|[^\\\\])(?:\\$@|@\\$)"(?:""|\\\\[\\s\\S]|\\{\\{|<<0>>|[^\\\\{"])*"`,[k]),lookbehind:!0,greedy:!0,inside:M(k,O)},{pattern:n(`(^|[^@\\\\])\\$"(?:\\\\.|\\{\\{|<<0>>|[^\\\\"{])*"`,[j]),lookbehind:!0,greedy:!0,inside:M(j,A)}],char:{pattern:RegExp(y),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp})(Prism),(function(e){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,n=[{pattern:/\b(?:false|true)\b/i,alias:`boolean`},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],r=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,i=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,a=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:`important`},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:`class-name`},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:`function`},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:`type-casting`,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:`type-hint`,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:`return-type`,greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:`type-declaration`,greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:`type-declaration`,greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:`static-context`,greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:`class-name-fully-qualified`,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:`class-name-fully-qualified`,greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:`class-name-fully-qualified`,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:`type-declaration`,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[`class-name-fully-qualified`,`type-declaration`],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:`static-context`,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:[`class-name-fully-qualified`,`static-context`],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:`type-hint`,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[`class-name-fully-qualified`,`type-hint`],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:`return-type`,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:[`class-name-fully-qualified`,`return-type`],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:r,operator:i,punctuation:a};var o={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},s=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:`nowdoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:`symbol`,inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:`heredoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:`symbol`,inside:{punctuation:/^<<<"?|[";]$/}},interpolation:o}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:`backtick-quoted-string`,greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:`single-quoted-string`,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:`double-quoted-string`,greedy:!0,inside:{interpolation:o}}];e.languages.insertBefore(`php`,`variable`,{string:s,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:s,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:`class-name`,greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:[`class-name`,`class-name-fully-qualified`],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,number:r,operator:i,punctuation:a}},delimiter:{pattern:/^#\[|\]$/,alias:`punctuation`}}}}),e.hooks.add(`before-tokenize`,function(t){/<\?/.test(t.code)&&e.languages[`markup-templating`].buildPlaceholders(t,`php`,/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)}),e.hooks.add(`after-tokenize`,function(t){e.languages[`markup-templating`].tokenizePlaceholders(t,`php`)})})(Prism),(function(e){e.languages.ruby=e.languages.extend(`clike`,{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore(`ruby`,`operator`,{"double-colon":{pattern:/::/,alias:`punctuation`}});var t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:`punctuation`}}};delete e.languages.ruby.function;var n=`(?:`+[`([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1`,`\\((?:[^()\\\\]|\\\\[\\s\\S]|\\((?:[^()\\\\]|\\\\[\\s\\S])*\\))*\\)`,`\\{(?:[^{}\\\\]|\\\\[\\s\\S]|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\})*\\}`,`\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S]|\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\])*\\]`,`<(?:[^<>\\\\]|\\\\[\\s\\S]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)*>`].join(`|`)+`)`,r=`(?:"(?:\\\\.|[^"\\\\\\r\\n])*"|(?:\\b[a-zA-Z_]\\w*|[^\\s\\0-\\x7F]+)[?!]?|\\$.)`;e.languages.insertBefore(`ruby`,`keyword`,{"regex-literal":[{pattern:RegExp(`%r`+n+`[egimnosux]{0,6}`),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(`(^|[^:]):`+r),lookbehind:!0,greedy:!0},{pattern:RegExp(`([\\r\\n{(,][ \\t]*)`+r+`(?=:(?!:))`),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore(`ruby`,`string`,{"string-literal":[{pattern:RegExp(`%[qQiIwWs]?`+n),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:`heredoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:`heredoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(`%x`+n),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:`string`}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:`string`}}}]}),delete e.languages.ruby.string,e.languages.insertBefore(`ruby`,`number`,{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby})(Prism),Prism.languages.git={comment:/^#.*/m,deleted:/^[-–].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m};var lt=(0,h.cva)(`relative rounded font-mono`,{variants:{variant:{inline:`bg-muted px-[0.3rem] py-[0.2rem] text-xs sm:text-sm`,block:`block bg-muted overflow-x-auto`},size:{sm:`text-xs sm:text-sm`,base:`text-sm sm:text-base`,lg:`text-base sm:text-lg`}},defaultVariants:{variant:`inline`,size:`base`}}),ut=d.forwardRef(({className:e,variant:n,size:r,language:a,showLineNumbers:o=!1,maxHeight:s,copyable:c=!1,filename:l,theme:u=`auto`,children:f,...m},h)=>{let[_,v]=d.useState(!1),[y,b]=d.useState(``);return d.useRef(null),d.useEffect(()=>{if(n===`block`&&a&&f)try{let e=typeof f==`string`?f:String(f);b(w.default.highlight(e,w.default.languages[a]||w.default.languages.text,a))}catch(e){console.warn(`Failed to highlight code for language: ${a}`,e),b(String(f))}else b(String(f))},[a,f,n]),n===`block`?(0,g.jsxs)(`div`,{className:`relative my-4 sm:my-6`,children:[(l||c)&&(0,g.jsxs)(`div`,{className:`flex items-center justify-between bg-muted/50 px-3 sm:px-4 py-2 sm:py-3 rounded-t-lg border-b`,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[l&&(0,g.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs sm:text-sm text-muted-foreground`,children:[(0,g.jsx)(p.FileText,{className:`h-3 w-3 sm:h-4 sm:w-4`}),(0,g.jsx)(`span`,{className:`font-medium`,children:l})]}),a&&!l&&(0,g.jsx)(`div`,{className:`text-xs sm:text-sm text-muted-foreground uppercase font-medium`,children:a})]}),c&&(0,g.jsx)(i.n,{variant:`ghost`,size:`sm`,onClick:async()=>{if(typeof f==`string`)try{await navigator.clipboard.writeText(f),v(!0),setTimeout(()=>v(!1),2e3)}catch(e){console.error(`Failed to copy code:`,e)}},className:`h-6 w-6 sm:h-7 sm:w-7 p-0 hover:bg-muted-foreground/10`,children:_?(0,g.jsx)(p.Check,{className:`h-3 w-3 sm:h-4 sm:w-4 text-green-600`}):(0,g.jsx)(p.Copy,{className:`h-3 w-3 sm:h-4 sm:w-4`})})]}),(0,g.jsx)(`div`,{className:t.t(`waka-code relative`,s&&`overflow-hidden`),style:{maxHeight:s?`${s}px`:void 0},children:(0,g.jsxs)(`pre`,{className:t.t(lt({variant:n,size:r}),`p-3 sm:p-4 lg:p-6`,`text-xs sm:text-sm lg:text-base`,`leading-relaxed sm:leading-loose`,`whitespace-pre-wrap break-words`,`scrollbar-thin scrollbar-thumb-muted-foreground/20 scrollbar-track-transparent`,`hover:scrollbar-thumb-muted-foreground/30`,s&&`overflow-y-auto`,!l&&!c&&a&&`rounded-lg`,l||c?`rounded-b-lg`:`rounded-lg`,e),children:[o&&(0,g.jsx)(`div`,{className:`absolute left-0 top-0 bottom-0 w-8 sm:w-10 lg:w-12 bg-muted/30 border-r border-border/50 flex flex-col text-xs sm:text-sm text-muted-foreground select-none`,children:String(f).split(`
|
|
2
2
|
`).map((e,t)=>(0,g.jsx)(`div`,{className:`flex items-center justify-center h-5 sm:h-6 lg:h-7`,children:t+1},t))}),(0,g.jsx)(`code`,{ref:h,className:t.t(`block`,o&&`ml-8 sm:ml-10 lg:ml-12`,a&&`language-`+a),...m,dangerouslySetInnerHTML:n===`block`&&a?{__html:y}:void 0,children:n===`block`&&a?void 0:f})]})}),a&&!l&&!c&&(0,g.jsx)(`div`,{className:`absolute top-2 right-2 text-xs text-muted-foreground/70 bg-background/80 px-2 py-1 rounded uppercase font-medium`,children:a})]}):(0,g.jsx)(`code`,{className:t.t(lt({variant:n,size:r}),e),ref:h,...m,children:f})});ut.displayName=`Code`;var dt=T.Root,ft=T.CollapsibleTrigger,pt=T.CollapsibleContent,mt=D.Root,ht=D.Trigger,gt=D.Portal,_t=D.Close,vt=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(D.Overlay,{ref:r,className:t.t(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...n}));vt.displayName=D.Overlay.displayName;var yt=d.forwardRef(({className:e,children:n,...r},i)=>(0,g.jsxs)(gt,{children:[(0,g.jsx)(vt,{}),(0,g.jsxs)(D.Content,{ref:i,className:t.t(`fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg`,e),...r,children:[n,(0,g.jsxs)(D.Close,{className:`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground`,children:[(0,g.jsx)(p.X,{className:`h-4 w-4`}),(0,g.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]}));yt.displayName=D.Content.displayName;var bt=({className:e,...n})=>(0,g.jsx)(`div`,{className:t.t(`flex flex-col space-y-1.5 text-center sm:text-left`,e),...n});bt.displayName=`DialogHeader`;var xt=({className:e,...n})=>(0,g.jsx)(`div`,{className:t.t(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,e),...n});xt.displayName=`DialogFooter`;var St=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(D.Title,{ref:r,className:t.t(`text-lg font-semibold leading-none tracking-tight`,e),...n}));St.displayName=D.Title.displayName;var Ct=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(D.Description,{ref:r,className:t.t(`text-sm text-muted-foreground`,e),...n}));Ct.displayName=D.Description.displayName;var wt=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(E.Command,{ref:r,className:t.t(`flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground`,e),...n}));wt.displayName=E.Command.displayName;var Tt=({children:e,...t})=>(0,g.jsx)(mt,{...t,children:(0,g.jsxs)(yt,{className:`overflow-hidden p-0 shadow-lg`,children:[(0,g.jsx)(St,{className:`sr-only`,children:`Command palette`}),(0,g.jsx)(wt,{className:`[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5`,children:e})]})}),Et=d.forwardRef(({className:e,...n},r)=>(0,g.jsxs)(`div`,{className:`flex items-center border-b px-3`,"cmdk-input-wrapper":``,children:[(0,g.jsx)(p.Search,{className:`mr-2 h-4 w-4 shrink-0 opacity-50`}),(0,g.jsx)(E.Command.Input,{ref:r,className:t.t(`flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50`,e),...n})]}));Et.displayName=E.Command.Input.displayName;var Dt=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(E.Command.List,{ref:r,className:t.t(`max-h-[300px] overflow-y-auto overflow-x-hidden`,e),...n}));Dt.displayName=E.Command.List.displayName;var Ot=d.forwardRef((e,t)=>(0,g.jsx)(E.Command.Empty,{ref:t,className:`py-6 text-center text-sm`,...e}));Ot.displayName=E.Command.Empty.displayName;var kt=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(E.Command.Group,{ref:r,className:t.t(`overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground`,e),...n}));kt.displayName=E.Command.Group.displayName;var At=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(E.Command.Separator,{ref:r,className:t.t(`-mx-1 h-px bg-border`,e),...n}));At.displayName=E.Command.Separator.displayName;var jt=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(E.Command.Item,{ref:r,className:t.t(`relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n}));jt.displayName=E.Command.Item.displayName;var Mt=({className:e,...n})=>(0,g.jsx)(`span`,{className:t.t(`ml-auto text-xs tracking-widest text-muted-foreground`,e),...n});Mt.displayName=`CommandShortcut`;var Nt=O.Root,Pt=O.Trigger,Ft=O.Group,It=O.Portal,Lt=O.Sub,Rt=O.RadioGroup,zt=d.forwardRef(({className:e,inset:n,children:r,...i},a)=>(0,g.jsxs)(O.SubTrigger,{ref:a,className:t.t(`flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground`,n&&`pl-8`,e),...i,children:[r,(0,g.jsx)(p.ChevronRight,{className:`ml-auto h-4 w-4`})]}));zt.displayName=O.SubTrigger.displayName;var Bt=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(O.SubContent,{ref:r,className:t.t(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...n}));Bt.displayName=O.SubContent.displayName;var Vt=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(O.Portal,{children:(0,g.jsx)(O.Content,{ref:r,className:t.t(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...n})}));Vt.displayName=O.Content.displayName;var Ht=d.forwardRef(({className:e,inset:n,...r},i)=>(0,g.jsx)(O.Item,{ref:i,className:t.t(`relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,n&&`pl-8`,e),...r}));Ht.displayName=O.Item.displayName;var Ut=d.forwardRef(({className:e,children:n,checked:r,...i},a)=>(0,g.jsxs)(O.CheckboxItem,{ref:a,className:t.t(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),checked:r,...i,children:[(0,g.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,g.jsx)(O.ItemIndicator,{children:(0,g.jsx)(p.Check,{className:`h-4 w-4`})})}),n]}));Ut.displayName=O.CheckboxItem.displayName;var Wt=d.forwardRef(({className:e,children:n,...r},i)=>(0,g.jsxs)(O.RadioItem,{ref:i,className:t.t(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...r,children:[(0,g.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,g.jsx)(O.ItemIndicator,{children:(0,g.jsx)(p.Circle,{className:`h-2 w-2 fill-current`})})}),n]}));Wt.displayName=O.RadioItem.displayName;var Gt=d.forwardRef(({className:e,inset:n,...r},i)=>(0,g.jsx)(O.Label,{ref:i,className:t.t(`px-2 py-1.5 text-sm font-semibold text-foreground`,n&&`pl-8`,e),...r}));Gt.displayName=O.Label.displayName;var Kt=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(O.Separator,{ref:r,className:t.t(`-mx-1 my-1 h-px bg-border`,e),...n}));Kt.displayName=O.Separator.displayName;var qt=({className:e,...n})=>(0,g.jsx)(`span`,{className:t.t(`ml-auto text-xs tracking-widest text-muted-foreground`,e),...n});qt.displayName=`ContextMenuShortcut`;var Jt=k.Root,Yt=k.Trigger,Xt=k.Group,Zt=k.Portal,Qt=k.Sub,$t=k.RadioGroup,en=d.forwardRef(({className:e,inset:n,children:r,...i},a)=>(0,g.jsxs)(k.SubTrigger,{ref:a,className:t.t(`flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent`,n&&`pl-8`,e),...i,children:[r,(0,g.jsx)(p.ChevronRight,{className:`ml-auto h-4 w-4`})]}));en.displayName=k.SubTrigger.displayName;var tn=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(k.SubContent,{ref:r,className:t.t(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...n}));tn.displayName=k.SubContent.displayName;var nn=d.forwardRef(({className:e,sideOffset:n=4,...r},i)=>(0,g.jsx)(k.Portal,{children:(0,g.jsx)(k.Content,{ref:i,sideOffset:n,className:t.t(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...r})}));nn.displayName=k.Content.displayName;var $=d.forwardRef(({className:e,inset:n,...r},i)=>(0,g.jsx)(k.Item,{ref:i,className:t.t(`relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,n&&`pl-8`,e),...r}));$.displayName=k.Item.displayName;var rn=d.forwardRef(({className:e,children:n,checked:r,...i},a)=>(0,g.jsxs)(k.CheckboxItem,{ref:a,className:t.t(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),checked:r,...i,children:[(0,g.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,g.jsx)(k.ItemIndicator,{children:(0,g.jsx)(p.Check,{className:`h-4 w-4`})})}),n]}));rn.displayName=k.CheckboxItem.displayName;var an=d.forwardRef(({className:e,children:n,...r},i)=>(0,g.jsxs)(k.RadioItem,{ref:i,className:t.t(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...r,children:[(0,g.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,g.jsx)(k.ItemIndicator,{children:(0,g.jsx)(p.Circle,{className:`h-2 w-2 fill-current`})})}),n]}));an.displayName=k.RadioItem.displayName;var on=d.forwardRef(({className:e,inset:n,...r},i)=>(0,g.jsx)(k.Label,{ref:i,className:t.t(`px-2 py-1.5 text-sm font-semibold`,n&&`pl-8`,e),...r}));on.displayName=k.Label.displayName;var sn=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(k.Separator,{ref:r,className:t.t(`-mx-1 my-1 h-px bg-muted`,e),...n}));sn.displayName=k.Separator.displayName;var cn=({className:e,...n})=>(0,g.jsx)(`span`,{className:t.t(`ml-auto text-xs tracking-widest opacity-60`,e),...n});cn.displayName=`DropdownMenuShortcut`;var ln=A.FormProvider,un=d.createContext({}),dn=({...e})=>(0,g.jsx)(un.Provider,{value:{name:e.name},children:(0,g.jsx)(A.Controller,{...e})}),fn=()=>{let e=d.useContext(un),t=d.useContext(pn),{getFieldState:n,formState:r}=(0,A.useFormContext)(),i=n(e.name,r);if(!e)throw Error(`useFormField should be used within <FormField>`);let{id:a}=t;return{id:a,name:e.name,formItemId:`${a}-form-item`,formDescriptionId:`${a}-form-item-description`,formMessageId:`${a}-form-item-message`,...i}},pn=d.createContext({}),mn=d.forwardRef(({className:e,...n},r)=>{let i=d.useId();return(0,g.jsx)(pn.Provider,{value:{id:i},children:(0,g.jsx)(`div`,{ref:r,className:t.t(`space-y-2`,e),...n})})});mn.displayName=`FormItem`;var hn=d.forwardRef(({className:e,...n},r)=>{let{error:i,formItemId:a}=fn();return(0,g.jsx)(o.n,{ref:r,className:t.t(i&&`text-destructive`,e),htmlFor:a,...n})});hn.displayName=`FormLabel`;var gn=d.forwardRef(({...e},t)=>{let{error:n,formItemId:r,formDescriptionId:i,formMessageId:a}=fn();return(0,g.jsx)(y.Slot,{ref:t,id:r,"aria-describedby":n?`${i} ${a}`:`${i}`,"aria-invalid":!!n,...e})});gn.displayName=`FormControl`;var _n=d.forwardRef(({className:e,...n},r)=>{let{formDescriptionId:i}=fn();return(0,g.jsx)(`p`,{ref:r,id:i,className:t.t(`text-sm text-muted-foreground`,e),...n})});_n.displayName=`FormDescription`;var vn=d.forwardRef(({className:e,children:n,...r},i)=>{let{error:a,formMessageId:o}=fn(),s=a?String(a?.message):n;return s?(0,g.jsx)(`p`,{ref:i,id:o,className:t.t(`text-sm font-medium text-destructive`,e),...r,children:s}):null});vn.displayName=`FormMessage`;var yn=j.Root,bn=j.Trigger,xn=d.forwardRef(({className:e,align:n=`center`,sideOffset:r=4,...i},a)=>(0,g.jsx)(j.Content,{ref:a,align:n,sideOffset:r,className:t.t(`z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...i}));xn.displayName=j.Content.displayName;var Sn=d.forwardRef(({length:e=6,value:n=``,onChange:r,onComplete:i,pattern:a=`numeric`,secure:o=!1,disabled:s=!1,className:c,error:l,size:u=`md`,separator:f,separatorElement:p=(0,g.jsx)(`span`,{className:`text-muted-foreground`,children:`-`}),...m},h)=>{let[_,v]=d.useState(n.split(``).slice(0,e)),y=d.useRef([]);d.useEffect(()=>{v(n.split(``).slice(0,e))},[n,e]);let b=(()=>{switch(a){case`numeric`:return/^[0-9]$/;case`alpha`:return/^[a-zA-Z]$/;case`alphanumeric`:return/^[a-zA-Z0-9]$/;default:return/^.$/}})(),x=(t,n)=>{if(s)return;let a=n.slice(-1);if(a&&!b.test(a))return;let o=[..._];o[t]=a,v(o);let c=o.join(``);r?.(c),a&&t<e-1&&y.current[t+1]?.focus(),o.every(e=>e!==``)&&o.length===e&&i?.(c)},S=(t,n)=>{if(!s){if(n.key===`Backspace`){n.preventDefault();let e=[..._];e[t]?(e[t]=``,v(e),r?.(e.join(``))):t>0&&(e[t-1]=``,v(e),r?.(e.join(``)),y.current[t-1]?.focus())}if(n.key===`Delete`){n.preventDefault();let e=[..._];e[t]=``,v(e),r?.(e.join(``))}n.key===`ArrowLeft`&&t>0&&(n.preventDefault(),y.current[t-1]?.focus()),n.key===`ArrowRight`&&t<e-1&&(n.preventDefault(),y.current[t+1]?.focus()),n.key===`Home`&&(n.preventDefault(),y.current[0]?.focus()),n.key===`End`&&(n.preventDefault(),y.current[e-1]?.focus())}},C=t=>{if(t.preventDefault(),s)return;let n=t.clipboardData.getData(`text/plain`).split(``).filter(e=>b.test(e)).slice(0,e),a=[..._];n.forEach((e,t)=>{a[t]=e}),v(a),r?.(a.join(``));let o=a.findIndex(e=>!e);o===-1?y.current[e-1]?.focus():y.current[o]?.focus(),a.every(e=>e!==``)&&a.length===e&&i?.(a.join(``))},w=e=>{e.target.select()},T={sm:`h-8 w-8 text-sm`,md:`h-12 w-12 text-base`,lg:`h-16 w-16 text-lg`}[u];return(0,g.jsxs)(`div`,{ref:h,className:t.t(`flex flex-col gap-2`,c),children:[(0,g.jsx)(`div`,{className:`flex items-center gap-2`,children:Array.from({length:e}).map((n,r)=>(0,g.jsxs)(d.Fragment,{children:[(0,g.jsx)(`input`,{ref:e=>y.current[r]=e,type:o?`password`:`text`,inputMode:a===`numeric`?`numeric`:`text`,maxLength:1,value:_[r]||``,onChange:e=>x(r,e.target.value),onKeyDown:e=>S(r,e),onPaste:C,onFocus:w,disabled:s,className:t.t(`flex items-center justify-center rounded-md border border-input bg-background text-center font-medium transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,`disabled:cursor-not-allowed disabled:opacity-50`,T,l&&`border-destructive focus-visible:ring-destructive`,_[r]&&`border-primary`),"aria-label":`Caractère ${r+1} sur ${e}`,...m}),f&&(r+1)%f===0&&r<e-1&&(0,g.jsx)(`div`,{className:`flex items-center justify-center`,children:p})]},r))}),l&&(0,g.jsx)(`p`,{className:`text-sm text-destructive`,role:`alert`,children:l})]})});Sn.displayName=`InputOTP`;function Cn({languages:e,value:n,onChange:r,showFlags:i=!0,showLabels:o=!0,variant:s=`default`,isLoading:c=!1,className:l,placeholder:u=`Select language`,ariaLabel:f=`Select language`}){let[m,h]=d.useState(!1),[_,v]=d.useState(!1),y=d.useRef(null),b=d.useRef(null);d.useEffect(()=>{v(!0)},[]);let x=e.find(e=>e.code===n),S=e=>{r?.(e),h(!1)},[C,w]=d.useState({top:0,left:0});if(d.useEffect(()=>{if(m&&y.current&&_){let e=y.current.getBoundingClientRect();w({top:e.bottom+8,left:e.left})}},[m,_]),s===`default`)return(0,g.jsxs)(a.d,{value:n,onValueChange:r,disabled:c,children:[(0,g.jsx)(a.y,{className:t.t(`w-[180px]`,l),children:(0,g.jsx)(a.b,{placeholder:u,children:x&&(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i&&x.flagEmoji&&(0,g.jsx)(`span`,{className:`text-lg`,children:x.flagEmoji}),i&&x.flag&&!x.flagEmoji&&(0,g.jsx)(`img`,{src:x.flag,alt:x.label,className:`h-4 w-6 object-cover rounded`}),!i&&(0,g.jsx)(p.Globe,{className:`h-4 w-4 text-muted-foreground`}),o&&(0,g.jsx)(`span`,{children:x.label})]})})}),(0,g.jsx)(a.f,{children:e.map(e=>(0,g.jsx)(a.m,{value:e.code,children:(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i&&e.flagEmoji&&(0,g.jsx)(`span`,{className:`text-lg`,children:e.flagEmoji}),i&&e.flag&&!e.flagEmoji&&(0,g.jsx)(`img`,{src:e.flag,alt:e.label,className:`h-4 w-6 object-cover rounded`}),o&&e.label]})},e.code))})]});if(s===`minimal`){let r=m&&_?(0,g.jsx)(`div`,{ref:b,className:`fixed z-[9999] min-w-[160px] rounded-md border border-border bg-popover text-popover-foreground p-2 shadow-lg`,style:{top:`${C.top}px`,left:`${C.left}px`},onMouseDown:e=>e.stopPropagation(),children:(0,g.jsx)(`div`,{className:`grid gap-1`,children:e.map(e=>(0,g.jsxs)(`button`,{onMouseDown:t=>{t.preventDefault(),t.stopPropagation(),S(e.code)},type:`button`,className:t.t(`flex items-center gap-2 rounded-sm px-2 py-2 text-sm hover:bg-accent hover:text-accent-foreground transition-colors cursor-pointer`,n===e.code&&`bg-accent`),children:[e.flagEmoji&&(0,g.jsx)(`span`,{className:`text-lg`,children:e.flagEmoji}),e.flag&&!e.flagEmoji&&(0,g.jsx)(`img`,{src:e.flag,alt:e.label,className:`h-4 w-6 object-cover rounded`}),(0,g.jsx)(`span`,{className:`flex-1 text-left`,children:e.label}),n===e.code&&(0,g.jsx)(p.Check,{className:`h-4 w-4 shrink-0`})]},e.code))})}):null;return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`button`,{ref:y,onClick:e=>{e.preventDefault(),e.stopPropagation(),h(!m)},className:t.t(`flex h-9 w-9 items-center justify-center rounded-md border border-input bg-transparent hover:bg-accent hover:text-accent-foreground transition-colors`,l),title:`Changer de langue`,type:`button`,disabled:c,children:[x?.flagEmoji?(0,g.jsx)(`span`,{className:`text-lg`,children:x.flagEmoji}):(0,g.jsx)(p.Globe,{className:`h-4 w-4`}),(0,g.jsx)(`span`,{className:`sr-only`,children:f})]}),_&&typeof document<`u`&&r&&(0,M.createPortal)((0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`div`,{className:`fixed inset-0 z-[9998]`,onMouseDown:e=>{e.preventDefault(),h(!1)}}),r]}),document.body)]})}let T=!o,E=m&&_?(0,g.jsx)(`div`,{ref:b,className:t.t(`fixed z-[9999] rounded-md border border-border bg-popover text-popover-foreground p-2 shadow-lg`,T?`min-w-[50px]`:`min-w-[180px]`),style:{top:`${C.top}px`,left:`${C.left}px`},onMouseDown:e=>e.stopPropagation(),children:(0,g.jsx)(`div`,{className:`grid gap-1`,children:e.map(e=>(0,g.jsxs)(`button`,{onMouseDown:t=>{t.preventDefault(),t.stopPropagation(),S(e.code)},type:`button`,title:e.label,className:t.t(`flex items-center gap-2 rounded-sm px-2 py-2 text-sm hover:bg-accent hover:text-accent-foreground transition-colors cursor-pointer`,n===e.code&&`bg-accent`,T&&`justify-center`),children:[i&&e.flagEmoji&&(0,g.jsx)(`span`,{className:`text-lg`,children:e.flagEmoji}),i&&e.flag&&!e.flagEmoji&&(0,g.jsx)(`img`,{src:e.flag,alt:e.label,className:`h-4 w-6 object-cover rounded`}),!T&&(0,g.jsx)(`span`,{className:`flex-1 text-left`,children:e.label}),!T&&n===e.code&&(0,g.jsx)(p.Check,{className:`h-4 w-4 shrink-0`})]},e.code))})}):null;return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`button`,{ref:y,onClick:e=>{e.preventDefault(),e.stopPropagation(),c||h(!m)},className:t.t(`inline-flex items-center justify-center rounded-md border border-input bg-transparent text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,T?`h-9 w-9 p-0`:`gap-2 px-3 py-2`,c&&`opacity-50 cursor-not-allowed`,l),disabled:c,type:`button`,"aria-label":f,title:x?.label||f,children:[i&&x?.flagEmoji&&(0,g.jsx)(`span`,{className:`text-lg`,children:x.flagEmoji}),i&&x?.flag&&!x?.flagEmoji&&(0,g.jsx)(`img`,{src:x.flag,alt:x.label,className:`h-4 w-6 object-cover rounded`}),!i&&(0,g.jsx)(p.Globe,{className:`h-4 w-4`}),o&&(0,g.jsx)(`span`,{children:x?.label||`Langue`}),!T&&(0,g.jsx)(p.ChevronDown,{className:`h-4 w-4`})]}),_&&typeof document<`u`&&E&&(0,M.createPortal)((0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`div`,{className:`fixed inset-0 z-[9998]`,onMouseDown:e=>{e.preventDefault(),h(!1)}}),E]}),document.body)]})}var wn=N.Menu,Tn=N.Group,En=N.Portal,Dn=N.Sub,On=N.RadioGroup,kn=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(N.Root,{ref:r,className:t.t(`flex h-10 items-center space-x-1 rounded-md border bg-background p-1`,e),...n}));kn.displayName=N.Root.displayName;var An=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(N.Trigger,{ref:r,className:t.t(`flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground`,e),...n}));An.displayName=N.Trigger.displayName;var jn=d.forwardRef(({className:e,inset:n,children:r,...i},a)=>(0,g.jsxs)(N.SubTrigger,{ref:a,className:t.t(`flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground`,n&&`pl-8`,e),...i,children:[r,(0,g.jsx)(p.ChevronRight,{className:`ml-auto h-4 w-4`})]}));jn.displayName=N.SubTrigger.displayName;var Mn=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(N.SubContent,{ref:r,className:t.t(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...n}));Mn.displayName=N.SubContent.displayName;var Nn=d.forwardRef(({className:e,align:n=`start`,alignOffset:r=-4,sideOffset:i=8,...a},o)=>(0,g.jsx)(N.Portal,{children:(0,g.jsx)(N.Content,{ref:o,align:n,alignOffset:r,sideOffset:i,className:t.t(`z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...a})}));Nn.displayName=N.Content.displayName;var Pn=d.forwardRef(({className:e,inset:n,...r},i)=>(0,g.jsx)(N.Item,{ref:i,className:t.t(`relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,n&&`pl-8`,e),...r}));Pn.displayName=N.Item.displayName;var Fn=d.forwardRef(({className:e,children:n,checked:r,...i},a)=>(0,g.jsxs)(N.CheckboxItem,{ref:a,className:t.t(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),checked:r,...i,children:[(0,g.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,g.jsx)(N.ItemIndicator,{children:(0,g.jsx)(p.Check,{className:`h-4 w-4`})})}),n]}));Fn.displayName=N.CheckboxItem.displayName;var In=d.forwardRef(({className:e,children:n,...r},i)=>(0,g.jsxs)(N.RadioItem,{ref:i,className:t.t(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...r,children:[(0,g.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,g.jsx)(N.ItemIndicator,{children:(0,g.jsx)(p.Circle,{className:`h-2 w-2 fill-current`})})}),n]}));In.displayName=N.RadioItem.displayName;var Ln=d.forwardRef(({className:e,inset:n,...r},i)=>(0,g.jsx)(N.Label,{ref:i,className:t.t(`px-2 py-1.5 text-sm font-semibold`,n&&`pl-8`,e),...r}));Ln.displayName=N.Label.displayName;var Rn=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(N.Separator,{ref:r,className:t.t(`-mx-1 my-1 h-px bg-muted`,e),...n}));Rn.displayName=N.Separator.displayName;var zn=({className:e,...n})=>(0,g.jsx)(`span`,{className:t.t(`ml-auto text-xs tracking-widest text-muted-foreground`,e),...n});zn.displayName=`MenubarShortcut`;var Bn=d.forwardRef(({className:e,children:n,...r},i)=>(0,g.jsxs)(P.Root,{ref:i,className:t.t(`relative z-10 flex max-w-max flex-1 items-center justify-center`,e),...r,children:[n,(0,g.jsx)(qn,{})]}));Bn.displayName=P.Root.displayName;var Vn=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(P.List,{ref:r,className:t.t(`group flex flex-1 list-none items-center justify-center space-x-1`,e),...n}));Vn.displayName=P.List.displayName;var Hn=P.Item,Un=(0,h.cva)(`group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50`),Wn=d.forwardRef(({className:e,children:n,...r},i)=>(0,g.jsxs)(P.Trigger,{ref:i,className:t.t(Un(),`group`,e),...r,children:[n,` `,(0,g.jsx)(p.ChevronDown,{className:`relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180`,"aria-hidden":`true`})]}));Wn.displayName=P.Trigger.displayName;var Gn=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(P.Content,{ref:r,className:t.t(`left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto `,e),...n}));Gn.displayName=P.Content.displayName;var Kn=P.Link,qn=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`div`,{className:t.t(`absolute left-0 top-full flex justify-center`),children:(0,g.jsx)(P.Viewport,{className:t.t(`origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]`,e),ref:r,...n})}));qn.displayName=P.Viewport.displayName;var Jn=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(P.Indicator,{ref:r,className:t.t(`top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in`,e),...n,children:(0,g.jsx)(`div`,{className:`relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md`})}));Jn.displayName=P.Indicator.displayName;var Yn=d.forwardRef(({className:e,value:n,...r},i)=>(0,g.jsx)(F.Root,{ref:i,value:n,className:t.t(`relative h-4 w-full overflow-hidden rounded-full bg-secondary`,e),...r,children:(0,g.jsx)(F.Indicator,{className:`h-full w-full flex-1 bg-primary transition-all`,style:{transform:`translateX(-${100-(n||0)}%)`}})}));Yn.displayName=F.Root.displayName;var Xn=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(I.Root,{className:t.t(`grid gap-2`,e),...n,ref:r}));Xn.displayName=I.Root.displayName;var Zn=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(I.Item,{ref:r,className:t.t(`aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,e),...n,children:(0,g.jsx)(I.Indicator,{className:`flex items-center justify-center`,children:(0,g.jsx)(p.Circle,{className:`h-2.5 w-2.5 fill-current text-current`})})}));Zn.displayName=I.Item.displayName;var Qn=D.Root,$n=D.Trigger,er=D.Close,tr=D.Portal,nr=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(D.Overlay,{className:t.t(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...n,ref:r}));nr.displayName=D.Overlay.displayName;var rr=(0,h.cva)(`fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500`,{variants:{side:{top:`inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top`,bottom:`inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom`,left:`inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm`,right:`inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm`}},defaultVariants:{side:`right`}}),ir=d.forwardRef(({side:e=`right`,className:n,children:r,...i},a)=>(0,g.jsxs)(tr,{children:[(0,g.jsx)(nr,{}),(0,g.jsxs)(D.Content,{ref:a,className:t.t(rr({side:e}),n),...i,children:[r,(0,g.jsxs)(D.Close,{className:`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary`,children:[(0,g.jsx)(p.X,{className:`h-4 w-4`}),(0,g.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]}));ir.displayName=D.Content.displayName;var ar=({className:e,...n})=>(0,g.jsx)(`div`,{className:t.t(`flex flex-col space-y-2 text-center sm:text-left`,e),...n});ar.displayName=`SheetHeader`;var or=({className:e,...n})=>(0,g.jsx)(`div`,{className:t.t(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,e),...n});or.displayName=`SheetFooter`;var sr=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(D.Title,{ref:r,className:t.t(`text-lg font-semibold text-foreground`,e),...n}));sr.displayName=D.Title.displayName;var cr=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(D.Description,{ref:r,className:t.t(`text-sm text-muted-foreground`,e),...n}));cr.displayName=D.Description.displayName;var lr=d.forwardRef(({className:e,...n},r)=>{let i=Math.max(1,n.value?.length??n.defaultValue?.length??1);return(0,g.jsxs)(L.Root,{ref:r,className:t.t(`relative flex w-full touch-none select-none items-center`,e),...n,children:[(0,g.jsx)(L.Track,{className:`relative h-2 w-full grow overflow-hidden rounded-full bg-secondary`,children:(0,g.jsx)(L.Range,{className:`absolute h-full bg-primary`})}),Array.from({length:i},(e,t)=>(0,g.jsx)(L.Thumb,{className:`block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50`},t))]})});lr.displayName=L.Root.displayName;var ur=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(R.Root,{className:t.t(`peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input`,e),...n,ref:r,children:(0,g.jsx)(R.Thumb,{className:t.t(`pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0`)})}));ur.displayName=R.Root.displayName;var dr=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`div`,{className:`relative w-full overflow-auto`,children:(0,g.jsx)(`table`,{ref:r,className:t.t(`w-full caption-bottom text-sm`,e),...n})}));dr.displayName=`Table`;var fr=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`thead`,{ref:r,className:t.t(`[&_tr]:border-b`,e),...n}));fr.displayName=`TableHeader`;var pr=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`tbody`,{ref:r,className:t.t(`[&_tr:last-child]:border-0`,e),...n}));pr.displayName=`TableBody`;var mr=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`tfoot`,{ref:r,className:t.t(`border-t bg-muted/50 font-medium [&>tr]:last:border-b-0`,e),...n}));mr.displayName=`TableFooter`;var hr=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`tr`,{ref:r,className:t.t(`border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted`,e),...n}));hr.displayName=`TableRow`;var gr=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`th`,{ref:r,className:t.t(`h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0`,e),...n}));gr.displayName=`TableHead`;var _r=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`td`,{ref:r,className:t.t(`p-4 align-middle [&:has([role=checkbox])]:pr-0`,e),...n}));_r.displayName=`TableCell`;var vr=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(`caption`,{ref:r,className:t.t(`mt-4 text-sm text-muted-foreground`,e),...n}));vr.displayName=`TableCaption`;var yr=z.Root,br=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(z.List,{ref:r,className:t.t(`inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground`,e),...n}));br.displayName=z.List.displayName;var xr=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(z.Trigger,{ref:r,className:t.t(`inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm`,e),...n}));xr.displayName=z.Trigger.displayName;var Sr=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(z.Content,{ref:r,className:t.t(`mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,e),...n}));Sr.displayName=z.Content.displayName;var Cr=d.createContext(void 0);function wr({children:e,themes:t,defaultTheme:n=`default`,s3Config:r,onThemeChange:i,enableDarkMode:a=!1}){let[o,s]=d.useState(n),[c,l]=d.useState(!0),[u,f]=d.useState(new Set),[p,m]=d.useState(!1),[h,_]=d.useState(!1),v=d.useRef(new Map),y=d.useRef(new Set);d.useEffect(()=>{y.current=u},[u]);let b=d.useCallback(async e=>{if(!r)throw Error(`S3 configuration not provided`);let{baseUrl:t,prefix:n=``,extension:i=`css`,headers:a={},timeout:o=1e4}=r,s=t.replace(/\/+$/,``),c=n.replace(/^\/+/,``).replace(/\/+$/,``),l=`v=${Date.now()}`,u;u=c?`${s}/${c}/${e}.${i}?${l}`:`${s}/${e}.${i}?${l}`,console.log(`[ThemeProvider] Loading theme "${e}" from URL: ${u}`);try{let t=new AbortController,n=setTimeout(()=>t.abort(),o),r=await fetch(u,{signal:t.signal,headers:{Accept:i===`json`?`application/json`:`text/css`,"Cache-Control":`no-cache, no-store, must-revalidate`,Pragma:`no-cache`,...a}});if(clearTimeout(n),!r.ok){let t=`HTTP ${r.status}: ${r.statusText}`;throw console.error(`[ThemeProvider] Failed to load theme "${e}" from ${u}:`,t),Error(t)}if(console.log(`[ThemeProvider] ✅ Successfully loaded theme "${e}" from ${u}`),i===`json`){let t;try{let n=await r.text();if(console.log(`[ThemeProvider] Raw JSON response for theme "${e}" (${n.length} chars)`),!n||n.trim().length===0)throw Error(`Empty JSON response for theme "${e}"`);t=JSON.parse(n),console.log(`[ThemeProvider] Parsed JSON for theme "${e}":`,Object.keys(t))}catch(t){throw console.error(`[ThemeProvider] Failed to parse JSON for theme "${e}":`,t),Error(`Invalid JSON format for theme "${e}": ${t instanceof Error?t.message:`Unknown error`}`)}try{let n=Tr(e,t);if(!n.includes(`[data-theme="${e}"]`))throw console.error(`[ThemeProvider] ❌ Generated CSS missing [data-theme="${e}"] selector for theme "${e}"`),console.error(`[ThemeProvider] Generated CSS:`,n.substring(0,500)),Error(`Generated CSS is missing the required selector [data-theme="${e}"]`);return console.log(`[ThemeProvider] ✅ Converted JSON to CSS for theme "${e}" (${n.length} chars)`),n}catch(t){throw console.error(`[ThemeProvider] Failed to convert JSON to CSS for theme "${e}":`,t),t}}let s=await r.text();if(!s||s.trim().length===0)throw Error(`Empty CSS response for theme "${e}"`);return!s.includes(`[data-theme="${e}"]`)&&!s.includes(`:root`)&&!s.includes(`html`)?(console.warn(`[ThemeProvider] Theme CSS might be missing [data-theme="${e}"] selector`),console.warn(`[ThemeProvider] CSS content preview:`,s.substring(0,200))):console.log(`[ThemeProvider] ✅ CSS file loaded for theme "${e}" (${s.length} chars)`),s}catch(t){throw console.error(`[ThemeProvider] Error loading theme ${e}:`,t),t}},[r]);d.useCallback(e=>{let t=v.current.get(e);t&&(t.parentNode&&t.parentNode.removeChild(t),v.current.delete(e))},[]);let x=d.useCallback((e,t)=>{if(typeof document>`u`)return;!t.includes(`[data-theme="${e}"]`)&&!t.includes(`:root`)&&console.warn(`[ThemeProvider] CSS might be missing [data-theme="${e}"] selector:`,t.substring(0,200)),document.querySelectorAll(`style[data-theme-styles]`).forEach(e=>e.remove()),v.current.clear();let n=document.createElement(`style`);n.setAttribute(`data-theme-id`,e),n.setAttribute(`data-theme-styles`,`active`),n.textContent=t,document.head.appendChild(n),v.current.set(e,n),document.querySelector(`style[data-theme-id="${e}"]`)?console.log(`[ThemeProvider] ✅ CSS injected for theme "${e}" (${t.length} chars)`):console.error(`[ThemeProvider] ❌ Failed to inject CSS for theme "${e}"`),n.offsetHeight},[]),S=d.useCallback(e=>{if(typeof document>`u`)return;let t=document.documentElement;t.setAttribute(`data-theme`,e);let n=t.getAttribute(`data-theme`);n===e?console.log(`[ThemeProvider] ✅ Theme attribute applied: data-theme="${e}"`):console.warn(`[ThemeProvider] Failed to apply theme attribute. Expected: ${e}, Got: ${n}`);try{localStorage.setItem(`waka-theme`,e)}catch(e){console.warn(`[ThemeProvider] Could not save theme to localStorage:`,e)}},[]),C=d.useCallback(async e=>{if(!y.current.has(e))try{r&&x(e,await b(e)),f(t=>new Set(t).add(e))}catch(t){throw console.error(`[ThemeProvider] Failed to preload theme ${e}:`,t),t}},[r,b,x]),w=d.useCallback(async e=>{console.log(`[ThemeProvider] changeTheme called with themeId: ${e}`),l(!0);try{if(r){console.log(`[ThemeProvider] Loading theme from S3: ${e}`);let t=await b(e);console.log(`[ThemeProvider] CSS loaded, length: ${t.length}`),x(e,t),f(t=>new Set(t).add(e)),await new Promise(e=>requestAnimationFrame(e))}else console.log(`[ThemeProvider] No S3 config, applying theme directly`);console.log(`[ThemeProvider] Applying theme attribute: ${e}`),S(e),s(e),console.log(`[ThemeProvider] ✅ Theme changed successfully to: ${e}`),i?.(e)}catch(t){console.error(`[ThemeProvider] ❌ Failed to change theme to ${e}:`,t);try{S(e),s(e)}catch(e){console.error(`[ThemeProvider] ❌ Fallback also failed:`,e)}throw t}finally{l(!1)}},[r,b,x,S,i]),T=d.useCallback(e=>u.has(e),[u]);d.useEffect(()=>{p||(async()=>{l(!0);try{let e=n;if(typeof window<`u`){let n=localStorage.getItem(`waka-theme`);n&&t.some(e=>e.id===n)&&(e=n)}if(r){let t=await b(e);x(e,t),f(new Set([e])),await new Promise(e=>requestAnimationFrame(e))}else f(new Set([e]));S(e),s(e)}catch(e){console.error(`[ThemeProvider] Error initializing:`,e),S(n),s(n),f(new Set([n]))}finally{l(!1),m(!0)}})()},[p,n,t,r,b,x,S]);let E=d.useCallback(()=>{a&&_(e=>{let t=!e,n=document.documentElement;t?n.classList.add(`dark`):n.classList.remove(`dark`);try{localStorage.setItem(`waka-dark-mode`,t?`dark`:`light`)}catch(e){console.warn(`[ThemeProvider] Could not save dark mode to localStorage:`,e)}return t})},[a]);d.useEffect(()=>{if(!a||typeof window>`u`)return;let e=!1;try{let t=localStorage.getItem(`waka-dark-mode`);t===null?(e=window.matchMedia(`(prefers-color-scheme: dark)`).matches,localStorage.setItem(`waka-dark-mode`,e?`dark`:`light`)):e=t===`dark`}catch(e){console.warn(`[ThemeProvider] Could not read dark mode from localStorage:`,e)}_(e);let t=document.documentElement;e?t.classList.add(`dark`):t.classList.remove(`dark`);let n=window.matchMedia(`(prefers-color-scheme: dark)`),r=e=>{try{localStorage.getItem(`waka-dark-mode`)||(_(e.matches),e.matches?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`),localStorage.setItem(`waka-dark-mode`,e.matches?`dark`:`light`))}catch{}};return n.addEventListener(`change`,r),()=>{n.removeEventListener(`change`,r)}},[]),d.useEffect(()=>()=>{v.current.forEach(e=>{e.parentNode&&e.parentNode.removeChild(e)}),v.current.clear()},[]);let D={currentTheme:o,themes:t,changeTheme:w,isLoading:c,loadedThemes:u,preloadTheme:C,isThemeLoaded:T,isDarkMode:h,toggleDarkMode:E};return(0,g.jsx)(Cr.Provider,{value:D,children:e})}function Tr(e,t){if(!t||typeof t!=`object`)throw console.error(`[ThemeProvider] Invalid JSON data for theme "${e}":`,t),Error(`Invalid JSON data for theme "${e}"`);let n={};if(t.cssVars||t[`css-vars`])n=t.cssVars||t[`css-vars`],console.log(`[ThemeProvider] Using cssVars/css-vars format for theme "${e}"`);else if(t.variables)n=t.variables,console.log(`[ThemeProvider] Using variables format for theme "${e}"`);else if(typeof t==`object`&&t){let r=[`label`,`description`,`author`,`previewColor`,`version`,`createdAt`,`changelog`,`id`];n=Object.fromEntries(Object.entries(t).filter(([e])=>!r.includes(e))),console.log(`[ThemeProvider] Using direct object format for theme "${e}"`)}if(!n||Object.keys(n).length===0)throw console.error(`[ThemeProvider] No CSS variables found in JSON for theme "${e}":`,t),Error(`No CSS variables found in JSON for theme "${e}"`);console.log(`[ThemeProvider] Found ${Object.keys(n).length} CSS variables for theme "${e}"`);let r=(e,t)=>{if(typeof e==`string`)return e;if(typeof e==`number`||typeof e==`boolean`)return String(e);if(e==null)return`none`;if(typeof e==`object`){if(Array.isArray(e))return e.map(e=>r(e,t)).join(` `);if(console.log(`[ThemeProvider] Converting object value for key "${t}":`,JSON.stringify(e,null,2)),(`r`in e||`R`in e)&&(`g`in e||`G`in e)&&(`b`in e||`B`in e)){let t=e.r??e.R??0,n=e.g??e.G??0,r=e.b??e.B??0,i=e.a??e.A??e.alpha??e.opacity;return i==null?`rgb(${t}, ${n}, ${r})`:`rgba(${t}, ${n}, ${r}, ${i})`}if((`h`in e||`H`in e)&&(`s`in e||`S`in e)&&(`l`in e||`L`in e)){let t=e.h??e.H??0,n=e.s??e.S??0,r=e.l??e.L??0,i=e.a??e.A??e.alpha??e.opacity;return i==null?`hsl(${t}, ${n}%, ${r}%)`:`hsla(${t}, ${n}%, ${r}%, ${i})`}return Object.keys(e).length>0?(console.warn(`[ThemeProvider] Object value for "${t}" has nested structure, cannot convert to CSS:`,e),JSON.stringify(e)):`none`}return console.warn(`[ThemeProvider] Unknown value type for "${t}":`,typeof e,e),String(e)},i=(e,t=``)=>{let n=[];for(let[a,o]of Object.entries(e))if(typeof o==`object`&&o&&!Array.isArray(o))if((`r`in o||`R`in o||`h`in o||`H`in o)&&(`g`in o||`G`in o||`s`in o||`S`in o)){let e=t?`--${t}-${a}`:a.startsWith(`--`)?a:`--${a}`,i=r(o,a);n.push(` ${e}: ${i};`)}else{let e=i(o,t?`${t}-${a}`:``);n.push(...e)}else{let e=t?`--${t}-${a}`:a.startsWith(`--`)?a:`--${a}`,i=r(o,a);n.push(` ${e}: ${i};`)}return n},a=n.light,o=n.dark,s=n.theme,c=Object.fromEntries(Object.entries(n).filter(([e])=>![`light`,`dark`,`theme`].includes(e))),l=[];s&&typeof s==`object`&&!Array.isArray(s)&&l.push(...i(s,``)),Object.keys(c).length>0&&l.push(...i(c,``));let u=a&&typeof a==`object`&&!Array.isArray(a)?i(a,``):[],d=o&&typeof o==`object`&&!Array.isArray(o)?i(o,``):[],f=``;if(l.length>0||u.length>0){let t=[...l,...u];f+=`[data-theme="${e}"] {\n${t.join(`
|
|
3
3
|
`)}\n}\n\n`}d.length>0&&(f+=`[data-theme="${e}"].dark,\n[data-theme="${e}"][data-theme-mode="dark"] {\n${d.join(`
|
|
4
4
|
`)}\n}`);let p=f.trim();if(p.trim().length===0)throw console.error(`[ThemeProvider] No CSS variables generated for theme "${e}"`),Error(`No CSS variables found in JSON for theme "${e}"`);let m=p;if(!m.includes(`[data-theme="${e}"]`))throw console.error(`[ThemeProvider] Generated CSS is missing the selector for theme "${e}"`),console.error(`[ThemeProvider] Generated CSS:`,m),Error(`Generated CSS is missing the required selector [data-theme="${e}"]`);return m.length<50&&console.warn(`[ThemeProvider] Generated CSS seems too short for theme "${e}":`,m),console.log(`[ThemeProvider] ✅ Generated valid CSS for theme "${e}" with ${Object.keys(n).length} variables`),m}function Er(){let e=d.useContext(Cr);if(!e)throw Error(`useTheme must be used within a ThemeProvider`);return e}var Dr=d.forwardRef(({className:e,variant:n=`default`,ariaLabel:r=`Select theme`},i)=>{let{currentTheme:o,changeTheme:s,themes:c,isLoading:l}=Er(),[u,f]=d.useState(!1),[m,h]=d.useState(!1),_=d.useRef(null),v=d.useRef(null);d.useEffect(()=>{h(!0)},[]);let y=async(e,t)=>{t&&(t.preventDefault(),t.stopPropagation());try{console.log(`[ThemeSelector] Changing theme to: ${e}`),await s(e),console.log(`[ThemeSelector] ✅ Theme changed to: ${e}`)}catch(t){console.error(`[ThemeSelector] ❌ Failed to change theme to ${e}:`,t)}n===`compact`&&setTimeout(()=>f(!1),100)},[b,x]=d.useState({top:0,right:0});if(d.useEffect(()=>{if(u&&_.current&&m){let e=_.current.getBoundingClientRect();x({top:e.bottom+8,right:window.innerWidth-e.right})}},[u,m]),n===`compact`){let n=u&&m?(0,g.jsxs)(`div`,{ref:v,className:`fixed z-[9999] min-w-[220px] rounded-md border border-border bg-popover text-popover-foreground p-2 shadow-lg`,style:{top:`${b.top}px`,right:`${b.right}px`},onMouseDown:e=>{e.stopPropagation()},children:[(0,g.jsx)(`div`,{className:`px-2 py-1.5 border-b border-border mb-2`,children:(0,g.jsxs)(`div`,{className:`text-xs font-medium text-muted-foreground flex items-center justify-between`,children:[(0,g.jsx)(`span`,{children:`Thèmes`}),l&&(0,g.jsx)(p.Loader2,{className:`h-3 w-3 animate-spin`})]})}),l&&c.length===0?(0,g.jsxs)(`div`,{className:`flex items-center justify-center py-6 text-sm text-muted-foreground`,children:[(0,g.jsx)(p.Loader2,{className:`h-4 w-4 mr-2 animate-spin`}),`Chargement...`]}):(0,g.jsxs)(`div`,{className:`grid gap-1`,children:[c.map(e=>(0,g.jsxs)(`button`,{onMouseDown:t=>{t.preventDefault(),t.stopPropagation(),y(e.id,t)},type:`button`,className:t.t(`flex items-center gap-3 rounded-sm px-2 py-2 text-sm hover:bg-accent hover:text-accent-foreground transition-colors cursor-pointer`,o===e.id&&`bg-accent`),children:[e.previewColor&&(0,g.jsx)(`div`,{className:`h-4 w-4 rounded border border-border shrink-0`,style:{backgroundColor:e.previewColor}}),(0,g.jsx)(`span`,{className:`flex-1 text-left`,children:e.label}),o===e.id&&(0,g.jsx)(p.Check,{className:`h-4 w-4 shrink-0`})]},e.id)),c.length===0&&!l&&(0,g.jsx)(`div`,{className:`py-6 text-center text-sm text-muted-foreground`,children:`Aucun thème disponible`})]}),(0,g.jsx)(`div`,{className:`px-2 py-1.5 border-t border-border mt-2`,children:(0,g.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[c.length,` thème`,c.length>1?`s`:``,` disponible`,c.length>1?`s`:``]})})]}):null;return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`div`,{ref:i,className:t.t(`relative`,e),children:(0,g.jsxs)(`button`,{ref:_,onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onClick:e=>{e.preventDefault(),e.stopPropagation(),f(!u)},className:`flex h-9 w-9 items-center justify-center rounded-md border border-input bg-transparent hover:bg-accent hover:text-accent-foreground relative`,title:`Changer de thème`,type:`button`,children:[(0,g.jsx)(p.Palette,{className:`h-4 w-4`}),l&&(0,g.jsx)(p.Loader2,{className:`h-3 w-3 absolute top-1 right-1 animate-spin text-primary`}),(0,g.jsx)(`span`,{className:`sr-only`,children:r})]})}),m&&typeof document<`u`&&n&&(0,M.createPortal)((0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`div`,{className:`fixed inset-0 z-[9998]`,onMouseDown:e=>{e.preventDefault(),f(!1)}}),n]}),document.body)]})}if(n===`select`){let n=c.find(e=>e.id===o);return(0,g.jsx)(`div`,{ref:i,className:t.t(`w-full`,e),children:(0,g.jsxs)(a.d,{value:o,onValueChange:async e=>{try{console.log(`[ThemeSelector] Changing theme to: ${e}`),await s(e),console.log(`[ThemeSelector] ✅ Theme changed to: ${e}`)}catch(t){console.error(`[ThemeSelector] ❌ Failed to change theme to ${e}:`,t)}},disabled:l||c.length===0,children:[(0,g.jsx)(a.y,{className:`w-full`,"aria-label":r,children:(0,g.jsx)(a.b,{children:l&&c.length===0?(0,g.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(p.Loader2,{className:`h-4 w-4 animate-spin`}),(0,g.jsx)(`span`,{children:`Chargement...`})]}):n?(0,g.jsxs)(`span`,{className:`flex items-center gap-3`,children:[n.previewColor&&(0,g.jsx)(`div`,{className:`h-4 w-4 rounded border border-border shrink-0`,style:{backgroundColor:n.previewColor}}),(0,g.jsx)(`span`,{className:`truncate`,children:n.label})]}):(0,g.jsx)(`span`,{className:`text-muted-foreground`,children:`Sélectionner un thème`})})}),(0,g.jsxs)(a.f,{children:[c.map(e=>(0,g.jsx)(a.m,{value:e.id,className:`cursor-pointer`,children:(0,g.jsxs)(`div`,{className:`flex items-center gap-3 w-full`,children:[e.previewColor&&(0,g.jsx)(`div`,{className:`h-4 w-4 rounded border border-border shrink-0`,style:{backgroundColor:e.previewColor}}),(0,g.jsx)(`span`,{className:`flex-1 text-left truncate`,children:e.label})]})},e.id)),c.length===0&&!l&&(0,g.jsx)(`div`,{className:`py-6 text-center text-sm text-muted-foreground`,children:`Aucun thème disponible`})]})]})})}return(0,g.jsx)(`div`,{ref:i,className:t.t(`grid gap-4`,e),children:l&&c.length===0?(0,g.jsxs)(`div`,{className:`flex items-center justify-center py-12 text-sm text-muted-foreground`,children:[(0,g.jsx)(p.Loader2,{className:`h-5 w-5 mr-2 animate-spin`}),`Chargement des thèmes...`]}):(0,g.jsxs)(g.Fragment,{children:[c.map(e=>(0,g.jsxs)(`button`,{onClick:async t=>{t.preventDefault(),t.stopPropagation(),await y(e.id,t)},type:`button`,className:t.t(`relative flex flex-col items-start gap-2 rounded-lg border-2 p-4 text-left transition-all hover:border-primary`,o===e.id?`border-primary bg-primary/5`:`border-muted`),children:[(0,g.jsxs)(`div`,{className:`flex w-full items-center justify-between`,children:[(0,g.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,g.jsx)(`span`,{className:`font-semibold`,children:e.label}),e.description&&(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:e.description})]}),o===e.id&&(0,g.jsx)(p.Check,{className:`h-5 w-5 text-primary shrink-0`})]}),e.previewColor&&(0,g.jsx)(`div`,{className:`flex gap-2 w-full`,children:(0,g.jsx)(`div`,{className:`h-8 w-full rounded border`,style:{backgroundColor:e.previewColor}})})]},e.id)),c.length===0&&!l&&(0,g.jsx)(`div`,{className:`py-12 text-center text-sm text-muted-foreground`,children:`Aucun thème disponible`})]})})});Dr.displayName=`ThemeSelector`;var Or=B.Provider,kr=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(B.Viewport,{ref:r,className:t.t(`fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]`,e),...n}));kr.displayName=B.Viewport.displayName;var Ar=(0,h.cva)(`group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full`,{variants:{variant:{default:`border bg-background text-foreground`,destructive:`destructive group border-destructive bg-destructive text-destructive-foreground`}},defaultVariants:{variant:`default`}}),jr=d.forwardRef(({className:e,variant:n,...r},i)=>(0,g.jsx)(B.Root,{ref:i,className:t.t(Ar({variant:n}),e),...r}));jr.displayName=B.Root.displayName;var Mr=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(B.Action,{ref:r,className:t.t(`inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive`,e),...n}));Mr.displayName=B.Action.displayName;var Nr=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(B.Close,{ref:r,className:t.t(`absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600`,e),"toast-close":``,...n,children:(0,g.jsx)(p.X,{className:`h-4 w-4`})}));Nr.displayName=B.Close.displayName;var Pr=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(B.Title,{ref:r,className:t.t(`text-sm font-semibold`,e),...n}));Pr.displayName=B.Title.displayName;var Fr=d.forwardRef(({className:e,...n},r)=>(0,g.jsx)(B.Description,{ref:r,className:t.t(`text-sm opacity-90`,e),...n}));Fr.displayName=B.Description.displayName;var Ir=1,Lr=1e6,Rr=0;function zr(){return Rr=(Rr+1)%(2**53-1),Rr.toString()}var Br=new Map,Vr=e=>{if(Br.has(e))return;let t=setTimeout(()=>{Br.delete(e),Gr({type:`REMOVE_TOAST`,toastId:e})},Lr);Br.set(e,t)},Hr=(e,t)=>{switch(t.type){case`ADD_TOAST`:return{...e,toasts:[t.toast,...e.toasts].slice(0,Ir)};case`UPDATE_TOAST`:return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case`DISMISS_TOAST`:{let{toastId:n}=t;return n?Vr(n):e.toasts.forEach(e=>{Vr(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===n||n===void 0?{...e,open:!1}:e)}}case`REMOVE_TOAST`:return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},Ur=[],Wr={toasts:[]};function Gr(e){Wr=Hr(Wr,e),Ur.forEach(e=>{e(Wr)})}function Kr({...e}){let t=zr(),n=e=>Gr({type:`UPDATE_TOAST`,toast:{...e,id:t}}),r=()=>Gr({type:`DISMISS_TOAST`,toastId:t});return Gr({type:`ADD_TOAST`,toast:{...e,id:t,open:!0,onOpenChange:e=>{e||r()}}}),{id:t,dismiss:r,update:n}}function qr(){let[e,t]=d.useState(Wr);return d.useEffect(()=>(Ur.push(t),()=>{let e=Ur.indexOf(t);e>-1&&Ur.splice(e,1)}),[e]),{...e,toast:Kr,dismiss:e=>Gr({type:`DISMISS_TOAST`,toastId:e})}}function Jr(){let{toasts:e}=qr();return(0,g.jsxs)(Or,{children:[e.map(function({id:e,title:t,description:n,action:r,...i}){return(0,g.jsxs)(jr,{...i,children:[(0,g.jsxs)(`div`,{className:`grid gap-1`,children:[t&&(0,g.jsx)(Pr,{children:t}),n&&(0,g.jsx)(Fr,{children:n})]}),r,(0,g.jsx)(Nr,{})]},e)}),(0,g.jsx)(kr,{})]})}var Yr=(0,h.cva)(`inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground`,{variants:{variant:{default:`bg-transparent`,outline:`border border-input bg-transparent hover:bg-accent hover:text-accent-foreground`},size:{default:`h-10 px-3`,sm:`h-9 px-2.5`,lg:`h-11 px-5`}},defaultVariants:{variant:`default`,size:`default`}}),Xr=d.forwardRef(({className:e,variant:n,size:r,...i},a)=>(0,g.jsx)(V.Root,{ref:a,className:t.t(Yr({variant:n,size:r,className:e})),...i}));Xr.displayName=V.Root.displayName;var Zr=(0,h.cva)(``,{variants:{variant:{default:`text-foreground`,muted:`text-muted-foreground`,destructive:`text-destructive`,success:`text-green-600 dark:text-green-400`,warning:`text-amber-600 dark:text-amber-400`,link:`text-primary underline-offset-4 hover:underline`},size:{xs:`text-xs`,sm:`text-sm`,base:`text-base`,lg:`text-lg`,xl:`text-xl`},weight:{normal:`font-normal`,medium:`font-medium`,semibold:`font-semibold`,bold:`font-bold`},align:{left:`text-left`,center:`text-center`,right:`text-right`,justify:`text-justify`}},defaultVariants:{variant:`default`,size:`base`,weight:`normal`,align:`left`}}),Qr=d.forwardRef(({className:e,variant:n,size:r,weight:i,align:a,asChild:o=!1,truncate:s=!1,...c},l)=>(0,g.jsx)(o?y.Slot:`p`,{className:t.t(Zr({variant:n,size:r,weight:i,align:a}),s&&`truncate`,e),ref:l,...c}));Qr.displayName=`Text`;var $r=(0,h.cva)(`font-bold tracking-tight`,{variants:{level:{h1:`text-4xl lg:text-5xl`,h2:`text-3xl lg:text-4xl`,h3:`text-2xl lg:text-3xl`,h4:`text-xl lg:text-2xl`,h5:`text-lg lg:text-xl`,h6:`text-base lg:text-lg`},variant:{default:`text-foreground`,gradient:`bg-gradient-to-r from-primary to-primary/60 bg-clip-text text-transparent`,muted:`text-muted-foreground`}},defaultVariants:{level:`h2`,variant:`default`}}),ei=d.forwardRef(({className:e,level:n=`h2`,variant:r,asChild:i=!1,...a},o)=>(0,g.jsx)(i?y.Slot:n,{className:t.t($r({level:n,variant:r}),e),ref:o,...a}));ei.displayName=`Heading`;var ti=(0,h.cva)(`mt-6 border-l-4 pl-6 italic`,{variants:{variant:{default:`border-border text-muted-foreground`,primary:`border-primary text-foreground`,success:`border-green-500 text-green-900 dark:text-green-100`,warning:`border-amber-500 text-amber-900 dark:text-amber-100`,destructive:`border-destructive text-destructive`}},defaultVariants:{variant:`default`}}),ni=d.forwardRef(({className:e,variant:n,author:r,cite:i,children:a,...o},s)=>(0,g.jsxs)(`figure`,{className:`my-6`,children:[(0,g.jsx)(`blockquote`,{className:t.t(ti({variant:n}),e),cite:i,ref:s,...o,children:a}),r&&(0,g.jsxs)(`figcaption`,{className:`mt-2 text-sm text-muted-foreground`,children:[`— `,r]})]}));ni.displayName=`Blockquote`,(0,h.cva)(`relative rounded font-mono`,{variants:{variant:{inline:`bg-muted px-[0.3rem] py-[0.2rem] text-xs sm:text-sm`,block:`block bg-muted overflow-x-auto`},size:{sm:`text-xs sm:text-sm`,base:`text-sm sm:text-base`,lg:`text-base sm:text-lg`}},defaultVariants:{variant:`inline`,size:`base`}});var ri=(0,h.cva)(`inline-flex items-center justify-center rounded border border-border bg-muted px-2 py-1 font-mono text-xs font-medium text-muted-foreground shadow-sm`,{variants:{size:{sm:`h-5 min-w-[1.25rem] text-[0.625rem]`,default:`h-6 min-w-[1.5rem] text-xs`,lg:`h-7 min-w-[1.75rem] text-sm`}},defaultVariants:{size:`default`}}),ii=d.forwardRef(({className:e,size:n,...r},i)=>(0,g.jsx)(`kbd`,{className:t.t(ri({size:n}),e),ref:i,...r}));ii.displayName=`Kbd`;function ai(...e){return(0,m.clsx)(e)}function oi(e,t=`export.csv`){if(!e||e.length===0)return;let n=Object.keys(e[0]),r=[n.join(`,`),...e.map(e=>n.map(t=>{let n=e[t];return typeof n==`string`&&(n.includes(`,`)||n.includes(`"`)||n.includes(`
|
package/dist/index.es.js
CHANGED
|
@@ -7,7 +7,7 @@ import { n as y, t as b } from "./separator-DDQs13_a.mjs";
|
|
|
7
7
|
import { _ as x, a as S, b as C, c as w, d as T, f as E, g as D, h as O, i as k, l as A, m as j, n as M, o as N, p as P, r as F, s as I, t as L, u as R, v as z, y as B } from "./waka-doc-renderer-BZ3DtCzv.mjs";
|
|
8
8
|
import { n as V, t as ee } from "./textarea-C4AbqFOT.mjs";
|
|
9
9
|
import { t as H } from "./input-B8pxqKEs.mjs";
|
|
10
|
-
import { a as te, i as ne, r as re, t as ie } from "./waka-rich-text-editor-
|
|
10
|
+
import { a as te, i as ne, r as re, t as ie } from "./waka-rich-text-editor-SOKYDdDP.mjs";
|
|
11
11
|
import { a as ae, c as oe, d as se, f as ce, i as le, l as ue, m as de, n as fe, o as pe, p as me, r as he, s as ge, t as _e, u as ve } from "./types-DXkPQFit.mjs";
|
|
12
12
|
import { n as ye, t as be } from "./useDataTableImport-z5avsB21.mjs";
|
|
13
13
|
import * as U from "react";
|
package/dist/rich-text.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./waka-rich-text-editor-
|
|
1
|
+
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./waka-rich-text-editor-DcZuIQ-q.js`);exports.WakaRichTextEditor=e.t;
|
package/dist/rich-text.es.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";const e=require(`./chunk-FDd1SASZ.js`),t=require(`./cn-DEeiGoUV.js`),n=require(`./separator-DviMy-io.js`),r=require(`./textarea-jycisJkk.js`),i=require(`./input-vHHUMve1.js`);let a=require(`react`);a=e.r(a);let o=require(`lucide-react`),s=require(`react/jsx-runtime`),c=require(`@radix-ui/react-popover`);c=e.r(c);var l=c.Root,u=c.Trigger,d=a.forwardRef(({className:e,align:n=`center`,sideOffset:r=4,...i},a)=>(0,s.jsx)(c.Portal,{children:(0,s.jsx)(c.Content,{ref:a,align:n,sideOffset:r,className:t.t(`z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...i})}));d.displayName=c.Content.displayName;var f=e.n({WakaRichTextEditor:()=>m,default:()=>m}),p=[[`bold`,`italic`,`underline`,`strike`],[`h1`,`h2`,`h3`],[`bulletList`,`orderedList`,`blockquote`],[`link`,`code`],[`undo`,`redo`]],m=a.forwardRef(({value:e=``,onChange:t,toolbar:n=p,placeholder:r=`Écrivez ici...`,maxLength:i,showCharacterCount:o=!1,minHeight:c=200,disabled:l=!1,error:u,className:d,label:f,description:m,editable:g=!0,immediatelyRender:v=!1},y)=>{let[b,x]=a.useState(null),[S,C]=a.useState(null),[w,T]=a.useState(null),[E,D]=a.useState(``);return a.useEffect(()=>{(async()=>{try{let[{useEditor:e,EditorContent:t},{default:n},{default:r},{default:i},{default:a}]=await Promise.all([import(`@tiptap/react`),import(`@tiptap/starter-kit`),import(`@tiptap/extension-underline`),import(`@tiptap/extension-link`),import(`@tiptap/extension-text-align`)]);C({useEditor:e,EditorContent:t,StarterKit:n,Underline:r,Link:i,TextAlign:a}),x(!0)}catch{x(!1)}})()},[]),b&&S?(0,s.jsx)(h,{ref:y,components:S,value:e,onChange:t,toolbar:n,placeholder:r,maxLength:i,showCharacterCount:o,minHeight:c,disabled:l,error:u,className:d,label:f,description:m,editable:g,immediatelyRender:v,linkUrl:E,setLinkUrl:D,editor:w,setEditor:T}):(0,s.jsx)(_,{ref:y,value:e,onChange:t,placeholder:r,maxLength:i,showCharacterCount:o,minHeight:c,disabled:l,error:u,className:d,label:f,description:m,loading:b===null})});m.displayName=`WakaRichTextEditor`;var h=a.forwardRef(({components:e,value:i,onChange:o,toolbar:c,placeholder:l,maxLength:u,showCharacterCount:d,minHeight:f,disabled:p,error:m,className:h,label:_,description:v,editable:y,immediatelyRender:b=!1,linkUrl:x,setLinkUrl:S,setEditor:C},w)=>{let{useEditor:T,EditorContent:E,StarterKit:D,Underline:O,Link:k,TextAlign:A}=e,j=T({extensions:[D.configure({heading:{levels:[1,2,3]}}),O,k.configure({openOnClick:!1}),A.configure({types:[`heading`,`paragraph`]})],content:i,editable:y&&!p,immediatelyRender:b,onUpdate:({editor:e})=>{let t=e.getHTML();(!u||t.length<=u)&&o?.(t)}});a.useEffect(()=>{C(j)},[j,C]),a.useEffect(()=>{j&&i!==j.getHTML()&&j.commands?.setContent?.(i||``,!1)},[i,j]);let M=()=>{j&&(x?j.chain().focus().setLink({href:x}).run():j.chain().focus().unsetLink().run(),S(``))},N=j?.storage?.characterCount?.characters?.()??i?.replace(/<[^>]*>/g,``).length??0;return(0,s.jsxs)(`div`,{ref:w,className:t.t(`space-y-1.5`,h),children:[_&&(0,s.jsx)(r.n,{children:_}),v&&(0,s.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:v}),(0,s.jsxs)(`div`,{className:t.t(`border rounded-lg overflow-hidden`,m&&`border-destructive`),children:[j&&c&&(0,s.jsx)(`div`,{className:`flex flex-wrap items-center gap-0.5 p-1 border-b bg-muted/30`,children:c.map((e,t)=>(0,s.jsxs)(a.Fragment,{children:[t>0&&(0,s.jsx)(n.t,{orientation:`vertical`,className:`mx-1 h-6`}),e.map(e=>(0,s.jsx)(g,{button:e,editor:j,linkUrl:x,setLinkUrl:S,handleSetLink:M},e))]},t))}),(0,s.jsx)(`div`,{style:{minHeight:f},children:(0,s.jsx)(E,{editor:j,className:t.t(`prose prose-sm max-w-none p-3 focus-within:outline-none h-full`,`[&_.ProseMirror]:outline-none [&_.ProseMirror]:min-h-[inherit]`)})}),d&&(0,s.jsxs)(`div`,{className:`flex justify-end p-1.5 border-t bg-muted/30 text-xs text-muted-foreground`,children:[N,u&&` / ${u}`,` caractères`]})]}),m&&(0,s.jsx)(`p`,{className:`text-sm text-destructive`,children:m})]})});h.displayName=`TiptapEditorComponent`;function g({button:e,editor:t,linkUrl:r,setLinkUrl:a,handleSetLink:c}){let{icon:f,action:p,isActive:m}={bold:{icon:(0,s.jsx)(o.Bold,{className:`h-4 w-4`}),action:()=>t.chain().focus().toggleBold().run(),isActive:()=>t.isActive(`bold`)},italic:{icon:(0,s.jsx)(o.Italic,{className:`h-4 w-4`}),action:()=>t.chain().focus().toggleItalic().run(),isActive:()=>t.isActive(`italic`)},underline:{icon:(0,s.jsx)(o.Underline,{className:`h-4 w-4`}),action:()=>t.chain().focus().toggleUnderline().run(),isActive:()=>t.isActive(`underline`)},strike:{icon:(0,s.jsx)(o.Strikethrough,{className:`h-4 w-4`}),action:()=>t.chain().focus().toggleStrike().run(),isActive:()=>t.isActive(`strike`)},h1:{icon:(0,s.jsx)(o.Heading1,{className:`h-4 w-4`}),action:()=>t.chain().focus().toggleHeading({level:1}).run(),isActive:()=>t.isActive(`heading`,{level:1})},h2:{icon:(0,s.jsx)(o.Heading2,{className:`h-4 w-4`}),action:()=>t.chain().focus().toggleHeading({level:2}).run(),isActive:()=>t.isActive(`heading`,{level:2})},h3:{icon:(0,s.jsx)(o.Heading3,{className:`h-4 w-4`}),action:()=>t.chain().focus().toggleHeading({level:3}).run(),isActive:()=>t.isActive(`heading`,{level:3})},bulletList:{icon:(0,s.jsx)(o.List,{className:`h-4 w-4`}),action:()=>t.chain().focus().toggleBulletList().run(),isActive:()=>t.isActive(`bulletList`)},orderedList:{icon:(0,s.jsx)(o.ListOrdered,{className:`h-4 w-4`}),action:()=>t.chain().focus().toggleOrderedList().run(),isActive:()=>t.isActive(`orderedList`)},blockquote:{icon:(0,s.jsx)(o.Quote,{className:`h-4 w-4`}),action:()=>t.chain().focus().toggleBlockquote().run(),isActive:()=>t.isActive(`blockquote`)},code:{icon:(0,s.jsx)(o.Code,{className:`h-4 w-4`}),action:()=>t.chain().focus().toggleCodeBlock().run(),isActive:()=>t.isActive(`codeBlock`)},link:{icon:(0,s.jsx)(o.Link,{className:`h-4 w-4`}),action:()=>{},isActive:()=>t.isActive(`link`)},alignLeft:{icon:(0,s.jsx)(o.AlignLeft,{className:`h-4 w-4`}),action:()=>t.chain().focus().setTextAlign(`left`).run(),isActive:()=>t.isActive({textAlign:`left`})},alignCenter:{icon:(0,s.jsx)(o.AlignCenter,{className:`h-4 w-4`}),action:()=>t.chain().focus().setTextAlign(`center`).run(),isActive:()=>t.isActive({textAlign:`center`})},alignRight:{icon:(0,s.jsx)(o.AlignRight,{className:`h-4 w-4`}),action:()=>t.chain().focus().setTextAlign(`right`).run(),isActive:()=>t.isActive({textAlign:`right`})},undo:{icon:(0,s.jsx)(o.Undo,{className:`h-4 w-4`}),action:()=>t.chain().focus().undo().run()},redo:{icon:(0,s.jsx)(o.Redo,{className:`h-4 w-4`}),action:()=>t.chain().focus().redo().run()}}[e];return e===`link`?(0,s.jsxs)(l,{children:[(0,s.jsx)(u,{asChild:!0,children:(0,s.jsx)(n.n,{type:`button`,variant:m?.()?`secondary`:`ghost`,size:`icon`,className:`h-7 w-7`,children:f})}),(0,s.jsx)(d,{className:`w-64 p-2`,children:(0,s.jsxs)(`div`,{className:`flex gap-2`,children:[(0,s.jsx)(i.t,{value:r,onChange:e=>a(e.target.value),placeholder:`https://...`,className:`h-8`}),(0,s.jsx)(n.n,{size:`sm`,onClick:c,children:`OK`})]})})]}):(0,s.jsx)(n.n,{type:`button`,variant:m?.()?`secondary`:`ghost`,size:`icon`,className:`h-7 w-7`,onClick:p,children:f})}var _=a.forwardRef(({value:e,onChange:n,placeholder:i,maxLength:a,showCharacterCount:o,minHeight:c,disabled:l,error:u,className:d,label:f,description:p,loading:m},h)=>(0,s.jsxs)(`div`,{ref:h,className:t.t(`space-y-1.5`,d),children:[f&&(0,s.jsx)(r.n,{children:f}),p&&(0,s.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:p}),(0,s.jsxs)(`div`,{className:`relative`,children:[(0,s.jsx)(r.t,{value:e,onChange:e=>n?.(e.target.value),placeholder:i,maxLength:a,disabled:l||m,style:{minHeight:c},className:t.t(u&&`border-destructive`)}),m&&(0,s.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center bg-background/50`,children:(0,s.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Chargement...`})})]}),(0,s.jsxs)(`div`,{className:`flex items-center justify-between`,children:[u&&(0,s.jsx)(`p`,{className:`text-sm text-destructive`,children:u}),o&&(0,s.jsxs)(`p`,{className:`text-xs text-muted-foreground ml-auto`,children:[e?.length||0,a&&` / ${a}`,` caractères`]})]})]}));_.displayName=`FallbackEditor`,Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return m}});
|
|
@@ -41,8 +41,8 @@ var j = /* @__PURE__ */ e({
|
|
|
41
41
|
],
|
|
42
42
|
["link", "code"],
|
|
43
43
|
["undo", "redo"]
|
|
44
|
-
], N = s.forwardRef(({ value: e = "", onChange: t, toolbar: n = M, placeholder: r = "Écrivez ici...", maxLength: i, showCharacterCount: a = !1, minHeight: o = 200, disabled: c = !1, error: l, className: u, label: d, description: f, editable: p = !0 },
|
|
45
|
-
let [
|
|
44
|
+
], N = s.forwardRef(({ value: e = "", onChange: t, toolbar: n = M, placeholder: r = "Écrivez ici...", maxLength: i, showCharacterCount: a = !1, minHeight: o = 200, disabled: c = !1, error: l, className: u, label: d, description: f, editable: p = !0, immediatelyRender: m = !1 }, h) => {
|
|
45
|
+
let [g, _] = s.useState(null), [v, y] = s.useState(null), [b, x] = s.useState(null), [S, C] = s.useState("");
|
|
46
46
|
return s.useEffect(() => {
|
|
47
47
|
(async () => {
|
|
48
48
|
try {
|
|
@@ -53,21 +53,21 @@ var j = /* @__PURE__ */ e({
|
|
|
53
53
|
import("@tiptap/extension-link"),
|
|
54
54
|
import("@tiptap/extension-text-align")
|
|
55
55
|
]);
|
|
56
|
-
|
|
56
|
+
y({
|
|
57
57
|
useEditor: e,
|
|
58
58
|
EditorContent: t,
|
|
59
59
|
StarterKit: n,
|
|
60
60
|
Underline: r,
|
|
61
61
|
Link: i,
|
|
62
62
|
TextAlign: a
|
|
63
|
-
}),
|
|
63
|
+
}), _(!0);
|
|
64
64
|
} catch {
|
|
65
|
-
|
|
65
|
+
_(!1);
|
|
66
66
|
}
|
|
67
67
|
})();
|
|
68
|
-
}, []),
|
|
69
|
-
ref:
|
|
70
|
-
components:
|
|
68
|
+
}, []), g && v ? /* @__PURE__ */ T(P, {
|
|
69
|
+
ref: h,
|
|
70
|
+
components: v,
|
|
71
71
|
value: e,
|
|
72
72
|
onChange: t,
|
|
73
73
|
toolbar: n,
|
|
@@ -81,12 +81,13 @@ var j = /* @__PURE__ */ e({
|
|
|
81
81
|
label: d,
|
|
82
82
|
description: f,
|
|
83
83
|
editable: p,
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
84
|
+
immediatelyRender: m,
|
|
85
|
+
linkUrl: S,
|
|
86
|
+
setLinkUrl: C,
|
|
87
|
+
editor: b,
|
|
88
|
+
setEditor: x
|
|
88
89
|
}) : /* @__PURE__ */ T(I, {
|
|
89
|
-
ref:
|
|
90
|
+
ref: h,
|
|
90
91
|
value: e,
|
|
91
92
|
onChange: t,
|
|
92
93
|
placeholder: r,
|
|
@@ -98,39 +99,40 @@ var j = /* @__PURE__ */ e({
|
|
|
98
99
|
className: u,
|
|
99
100
|
label: d,
|
|
100
101
|
description: f,
|
|
101
|
-
loading:
|
|
102
|
+
loading: g === null
|
|
102
103
|
});
|
|
103
104
|
});
|
|
104
105
|
N.displayName = "WakaRichTextEditor";
|
|
105
|
-
var P = s.forwardRef(({ components: e, value: n, onChange: a, toolbar: o, placeholder: c, maxLength: l, showCharacterCount: u, minHeight: d, disabled: f, error: p, className: m, label: h, description: g, editable: _,
|
|
106
|
-
let { useEditor:
|
|
106
|
+
var P = s.forwardRef(({ components: e, value: n, onChange: a, toolbar: o, placeholder: c, maxLength: l, showCharacterCount: u, minHeight: d, disabled: f, error: p, className: m, label: h, description: g, editable: _, immediatelyRender: v = !1, linkUrl: y, setLinkUrl: b, setEditor: x }, S) => {
|
|
107
|
+
let { useEditor: C, EditorContent: w, StarterKit: D, Underline: O, Link: k, TextAlign: A } = e, j = C({
|
|
107
108
|
extensions: [
|
|
108
|
-
|
|
109
|
+
D.configure({ heading: { levels: [
|
|
109
110
|
1,
|
|
110
111
|
2,
|
|
111
112
|
3
|
|
112
113
|
] } }),
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
114
|
+
O,
|
|
115
|
+
k.configure({ openOnClick: !1 }),
|
|
116
|
+
A.configure({ types: ["heading", "paragraph"] })
|
|
116
117
|
],
|
|
117
118
|
content: n,
|
|
118
119
|
editable: _ && !f,
|
|
120
|
+
immediatelyRender: v,
|
|
119
121
|
onUpdate: ({ editor: e }) => {
|
|
120
122
|
let t = e.getHTML();
|
|
121
123
|
(!l || t.length <= l) && a?.(t);
|
|
122
124
|
}
|
|
123
125
|
});
|
|
124
126
|
s.useEffect(() => {
|
|
125
|
-
|
|
126
|
-
}, [
|
|
127
|
-
|
|
128
|
-
}, [n,
|
|
129
|
-
let
|
|
130
|
-
|
|
131
|
-
},
|
|
127
|
+
x(j);
|
|
128
|
+
}, [j, x]), s.useEffect(() => {
|
|
129
|
+
j && n !== j.getHTML() && j.commands?.setContent?.(n || "", !1);
|
|
130
|
+
}, [n, j]);
|
|
131
|
+
let M = () => {
|
|
132
|
+
j && (y ? j.chain().focus().setLink({ href: y }).run() : j.chain().focus().unsetLink().run(), b(""));
|
|
133
|
+
}, N = j?.storage?.characterCount?.characters?.() ?? n?.replace(/<[^>]*>/g, "").length ?? 0;
|
|
132
134
|
return /* @__PURE__ */ E("div", {
|
|
133
|
-
ref:
|
|
135
|
+
ref: S,
|
|
134
136
|
className: t("space-y-1.5", m),
|
|
135
137
|
children: [
|
|
136
138
|
h && /* @__PURE__ */ T(i, { children: h }),
|
|
@@ -141,30 +143,30 @@ var P = s.forwardRef(({ components: e, value: n, onChange: a, toolbar: o, placeh
|
|
|
141
143
|
/* @__PURE__ */ E("div", {
|
|
142
144
|
className: t("border rounded-lg overflow-hidden", p && "border-destructive"),
|
|
143
145
|
children: [
|
|
144
|
-
|
|
146
|
+
j && o && /* @__PURE__ */ T("div", {
|
|
145
147
|
className: "flex flex-wrap items-center gap-0.5 p-1 border-b bg-muted/30",
|
|
146
148
|
children: o.map((e, t) => /* @__PURE__ */ E(s.Fragment, { children: [t > 0 && /* @__PURE__ */ T(r, {
|
|
147
149
|
orientation: "vertical",
|
|
148
150
|
className: "mx-1 h-6"
|
|
149
151
|
}), e.map((e) => /* @__PURE__ */ T(F, {
|
|
150
152
|
button: e,
|
|
151
|
-
editor:
|
|
152
|
-
linkUrl:
|
|
153
|
-
setLinkUrl:
|
|
154
|
-
handleSetLink:
|
|
153
|
+
editor: j,
|
|
154
|
+
linkUrl: y,
|
|
155
|
+
setLinkUrl: b,
|
|
156
|
+
handleSetLink: M
|
|
155
157
|
}, e))] }, t))
|
|
156
158
|
}),
|
|
157
159
|
/* @__PURE__ */ T("div", {
|
|
158
160
|
style: { minHeight: d },
|
|
159
|
-
children: /* @__PURE__ */ T(
|
|
160
|
-
editor:
|
|
161
|
+
children: /* @__PURE__ */ T(w, {
|
|
162
|
+
editor: j,
|
|
161
163
|
className: t("prose prose-sm max-w-none p-3 focus-within:outline-none h-full", "[&_.ProseMirror]:outline-none [&_.ProseMirror]:min-h-[inherit]")
|
|
162
164
|
})
|
|
163
165
|
}),
|
|
164
166
|
u && /* @__PURE__ */ E("div", {
|
|
165
167
|
className: "flex justify-end p-1.5 border-t bg-muted/30 text-xs text-muted-foreground",
|
|
166
168
|
children: [
|
|
167
|
-
|
|
169
|
+
N,
|
|
168
170
|
l && ` / ${l}`,
|
|
169
171
|
" caractères"
|
|
170
172
|
]
|