@nextsparkjs/core 0.1.0-beta.187 → 0.1.0-beta.189
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/api/keys/ApiKeyDisplay.js +19 -19
- package/dist/components/api/keys/CreateApiKeyDialog.js +21 -21
- package/dist/components/app/layouts/PublicNavbar.d.ts.map +1 -1
- package/dist/components/app/layouts/PublicNavbar.js +34 -16
- package/dist/components/app/misc/ThemeToggle.d.ts.map +1 -1
- package/dist/components/app/misc/ThemeToggle.js +3 -4
- package/dist/components/auth/SessionCookieRefresher.d.ts +5 -0
- package/dist/components/auth/SessionCookieRefresher.d.ts.map +1 -1
- package/dist/components/auth/SessionCookieRefresher.js +7 -1
- package/dist/components/auth/forms/LoginForm.d.ts.map +1 -1
- package/dist/components/auth/forms/LoginForm.js +49 -12
- package/dist/components/auth/forms/SignupForm.d.ts.map +1 -1
- package/dist/components/auth/forms/SignupForm.js +4 -3
- package/dist/components/dashboard/block-editor/block-settings-panel.js +1 -1
- package/dist/components/dashboard/block-editor/floating-block-toolbar.js +1 -1
- package/dist/components/dashboard/block-editor/sortable-block.js +1 -1
- package/dist/components/dashboard/layouts/Sidebar.d.ts.map +1 -1
- package/dist/components/dashboard/layouts/Sidebar.js +8 -6
- package/dist/components/dashboard/layouts/TopNavbar.d.ts.map +1 -1
- package/dist/components/dashboard/layouts/TopNavbar.js +51 -54
- package/dist/components/dashboard/misc/NotificationsDropdown.d.ts.map +1 -1
- package/dist/components/dashboard/misc/NotificationsDropdown.js +17 -15
- package/dist/components/dashboard/misc/SearchDropdown.d.ts.map +1 -1
- package/dist/components/dashboard/misc/SearchDropdown.js +19 -22
- package/dist/components/dashboard/mobile/MobileBottomNav.js +1 -1
- package/dist/components/dashboard/mobile/MobileTopBar.d.ts +10 -1
- package/dist/components/dashboard/mobile/MobileTopBar.d.ts.map +1 -1
- package/dist/components/dashboard/mobile/MobileTopBar.js +4 -3
- package/dist/components/dashboard/navigation/DynamicNavigation.js +5 -5
- package/dist/components/devtools/BlockDetailViewer.js +1 -1
- package/dist/components/devtools/BlocksViewer.js +1 -1
- package/dist/components/entities/EntityChildManager.js +5 -5
- package/dist/components/entities/EntityDetailPage.d.ts.map +1 -1
- package/dist/components/entities/EntityDetailPage.js +16 -15
- package/dist/components/entities/EntityFieldRenderer.d.ts.map +1 -1
- package/dist/components/entities/EntityFieldRenderer.js +12 -7
- package/dist/components/entities/EntityPageHeader.js +5 -5
- package/dist/components/entities/ErrorBoundary.d.ts.map +1 -1
- package/dist/components/entities/ErrorBoundary.js +20 -21
- package/dist/components/entities/wrappers/EntityDetailWrapper.js +5 -5
- package/dist/components/entities/wrappers/EntityFormWrapper.js +2 -2
- package/dist/components/entities/wrappers/EntityListWrapper.js +3 -3
- package/dist/components/permissions/NoPermission.js +10 -10
- package/dist/components/public/pageBuilder/PageRenderer.d.ts.map +1 -1
- package/dist/components/public/pageBuilder/PageRenderer.js +2 -1
- package/dist/components/settings/SettingsPageSkeleton.js +4 -4
- package/dist/components/settings/layouts/SettingsSidebar.js +6 -6
- package/dist/components/shared/MultiSelectFilter.d.ts +3 -1
- package/dist/components/shared/MultiSelectFilter.d.ts.map +1 -1
- package/dist/components/shared/MultiSelectFilter.js +7 -3
- package/dist/components/shared/SearchInput.d.ts +2 -0
- package/dist/components/shared/SearchInput.d.ts.map +1 -1
- package/dist/components/shared/SearchInput.js +64 -6
- package/dist/components/ui/address-input.js +18 -18
- package/dist/components/ui/audio-upload.js +9 -9
- package/dist/components/ui/combobox.d.ts.map +1 -1
- package/dist/components/ui/combobox.js +4 -4
- package/dist/components/ui/country-select.d.ts.map +1 -1
- package/dist/components/ui/country-select.js +3 -3
- package/dist/components/ui/currency-select.d.ts.map +1 -1
- package/dist/components/ui/currency-select.js +3 -3
- package/dist/components/ui/dynamic-icon.d.ts.map +1 -1
- package/dist/components/ui/dynamic-icon.js +3 -2
- package/dist/components/ui/file-upload.js +7 -7
- package/dist/components/ui/image-upload.js +8 -8
- package/dist/components/ui/multi-select.d.ts +2 -1
- package/dist/components/ui/multi-select.d.ts.map +1 -1
- package/dist/components/ui/multi-select.js +4 -3
- package/dist/components/ui/phone-input.d.ts.map +1 -1
- package/dist/components/ui/phone-input.js +3 -3
- package/dist/components/ui/relation-display.js +1 -1
- package/dist/components/ui/simple-relation-select.d.ts +2 -1
- package/dist/components/ui/simple-relation-select.d.ts.map +1 -1
- package/dist/components/ui/simple-relation-select.js +7 -6
- package/dist/components/ui/tags-input.d.ts.map +1 -1
- package/dist/components/ui/tags-input.js +1 -1
- package/dist/components/ui/timezone-select.d.ts.map +1 -1
- package/dist/components/ui/timezone-select.js +3 -3
- package/dist/components/ui/user-display.js +4 -4
- package/dist/components/ui/user-select.d.ts.map +1 -1
- package/dist/components/ui/user-select.js +9 -9
- package/dist/components/ui/video-upload.js +9 -9
- package/dist/contexts/SubscriptionContext.d.ts.map +1 -1
- package/dist/contexts/SubscriptionContext.js +5 -1
- package/dist/contexts/TeamContext.d.ts.map +1 -1
- package/dist/contexts/TeamContext.js +83 -26
- package/dist/emails/otp-verification.d.ts.map +1 -1
- package/dist/emails/otp-verification.js +3 -2
- package/dist/hooks/useAccountPreferencesSync.d.ts +13 -0
- package/dist/hooks/useAccountPreferencesSync.d.ts.map +1 -0
- package/dist/hooks/useAccountPreferencesSync.js +95 -0
- package/dist/hooks/useAuth.d.ts +202 -15
- package/dist/hooks/useAuth.d.ts.map +1 -1
- package/dist/hooks/useAuth.js +49 -13
- package/dist/hooks/useEntityConfig.js +2 -2
- package/dist/hooks/useEntitySearch.js +10 -10
- package/dist/hooks/useNotifications.js +12 -12
- package/dist/hooks/usePrefetch.d.ts.map +1 -1
- package/dist/hooks/usePrefetch.js +6 -2
- package/dist/hooks/useSearch.js +15 -15
- package/dist/hooks/useSessionCookieRefresh.d.ts +18 -1
- package/dist/hooks/useSessionCookieRefresh.d.ts.map +1 -1
- package/dist/hooks/useSessionCookieRefresh.js +17 -4
- package/dist/hooks/useSessionHint.d.ts +12 -0
- package/dist/hooks/useSessionHint.d.ts.map +1 -0
- package/dist/hooks/useSessionHint.js +15 -0
- package/dist/hooks/useTranslationPreload.js +6 -6
- package/dist/i18n.d.ts +13 -0
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +2 -27
- package/dist/lib/actions/entity.actions.d.ts.map +1 -1
- package/dist/lib/actions/entity.actions.js +3 -2
- package/dist/lib/api/auth/dual-auth.d.ts +4 -1
- package/dist/lib/api/auth/dual-auth.d.ts.map +1 -1
- package/dist/lib/api/auth/dual-auth.js +5 -16
- package/dist/lib/api/entities.js +33 -33
- package/dist/lib/api/keys.d.ts +27 -27
- package/dist/lib/api/keys.js +27 -27
- package/dist/lib/auth/callback-url.d.ts +11 -0
- package/dist/lib/auth/callback-url.d.ts.map +1 -0
- package/dist/lib/auth/callback-url.js +14 -0
- package/dist/lib/auth/otp-config.d.ts +55 -0
- package/dist/lib/auth/otp-config.d.ts.map +1 -0
- package/dist/lib/auth/otp-config.js +48 -0
- package/dist/lib/auth/registration-helpers.d.ts.map +1 -1
- package/dist/lib/auth/registration-helpers.js +3 -1
- package/dist/lib/auth/session-hint.d.ts +31 -0
- package/dist/lib/auth/session-hint.d.ts.map +1 -0
- package/dist/lib/auth/session-hint.js +37 -0
- package/dist/lib/auth.d.ts.map +1 -1
- package/dist/lib/auth.js +6 -4
- package/dist/lib/blocks/loader.d.ts +3 -11
- package/dist/lib/blocks/loader.d.ts.map +1 -1
- package/dist/lib/blocks/loader.js +1 -9
- package/dist/lib/blocks/loader.server.d.ts +18 -0
- package/dist/lib/blocks/loader.server.d.ts.map +1 -0
- package/dist/lib/blocks/loader.server.js +11 -0
- package/dist/lib/blocks/sanitize-html.d.ts +31 -0
- package/dist/lib/blocks/sanitize-html.d.ts.map +1 -0
- package/dist/lib/blocks/sanitize-html.js +60 -0
- package/dist/lib/config/config-sync.d.ts +1 -0
- package/dist/lib/config/config-sync.d.ts.map +1 -1
- package/dist/lib/config/config-sync.js +4 -1
- package/dist/lib/config/types.d.ts +48 -0
- package/dist/lib/config/types.d.ts.map +1 -1
- package/dist/lib/email/types.d.ts +6 -0
- package/dist/lib/email/types.d.ts.map +1 -1
- package/dist/lib/entities/serialization.d.ts.map +1 -1
- package/dist/lib/entities/serialization.js +3 -6
- package/dist/lib/icons.d.ts +12 -0
- package/dist/lib/icons.d.ts.map +1 -0
- package/dist/lib/icons.js +30 -0
- package/dist/lib/locale.d.ts +25 -1
- package/dist/lib/locale.d.ts.map +1 -1
- package/dist/lib/locale.js +49 -35
- package/dist/lib/mcp/engine.js +1 -1
- package/dist/lib/mcp/errors.js +17 -17
- package/dist/lib/mcp/schema-builder.js +16 -16
- package/dist/lib/mcp/tool-generator.js +18 -18
- package/dist/lib/search-highlighting.d.ts +7 -0
- package/dist/lib/search-highlighting.d.ts.map +1 -1
- package/dist/lib/search-highlighting.js +6 -2
- package/dist/lib/selectors/core-selectors.d.ts +2 -0
- package/dist/lib/selectors/core-selectors.d.ts.map +1 -1
- package/dist/lib/selectors/domains/auth.selectors.d.ts +1 -0
- package/dist/lib/selectors/domains/auth.selectors.d.ts.map +1 -1
- package/dist/lib/selectors/domains/auth.selectors.js +1 -0
- package/dist/lib/selectors/domains/entities.selectors.d.ts +2 -0
- package/dist/lib/selectors/domains/entities.selectors.d.ts.map +1 -1
- package/dist/lib/selectors/domains/entities.selectors.js +2 -0
- package/dist/lib/selectors/selectors.d.ts +4 -0
- package/dist/lib/selectors/selectors.d.ts.map +1 -1
- package/dist/lib/services/block.service.js +1 -1
- package/dist/lib/teams/active-team-cookie.d.ts +24 -0
- package/dist/lib/teams/active-team-cookie.d.ts.map +1 -0
- package/dist/lib/teams/active-team-cookie.js +17 -0
- package/dist/lib/teams/dashboard-team.d.ts +20 -0
- package/dist/lib/teams/dashboard-team.d.ts.map +1 -0
- package/dist/lib/teams/dashboard-team.js +38 -0
- package/dist/lib/teams/schema.d.ts.map +1 -1
- package/dist/lib/teams/schema.js +1 -1
- package/dist/lib/template-resolver.d.ts.map +1 -1
- package/dist/lib/template-resolver.js +0 -1
- package/dist/lib/theme/get-default-theme-mode.d.ts +7 -4
- package/dist/lib/theme/get-default-theme-mode.d.ts.map +1 -1
- package/dist/lib/theme/get-default-theme-mode.js +2 -44
- package/dist/messages/de/auth.json +4 -2
- package/dist/messages/de/common.json +83 -3
- package/dist/messages/de/email.json +1 -1
- package/dist/messages/de/index.d.ts +87 -0
- package/dist/messages/de/index.d.ts.map +1 -1
- package/dist/messages/de/settings.json +5 -0
- package/dist/messages/en/auth.json +4 -2
- package/dist/messages/en/common.json +83 -3
- package/dist/messages/en/email.json +1 -1
- package/dist/messages/en/index.d.ts +86 -0
- package/dist/messages/en/index.d.ts.map +1 -1
- package/dist/messages/en/settings.json +4 -0
- package/dist/messages/es/auth.json +4 -2
- package/dist/messages/es/common.json +83 -3
- package/dist/messages/es/email.json +1 -1
- package/dist/messages/es/index.d.ts +86 -0
- package/dist/messages/es/index.d.ts.map +1 -1
- package/dist/messages/es/settings.json +4 -0
- package/dist/messages/fr/auth.json +4 -2
- package/dist/messages/fr/common.json +83 -3
- package/dist/messages/fr/email.json +1 -1
- package/dist/messages/fr/index.d.ts +87 -0
- package/dist/messages/fr/index.d.ts.map +1 -1
- package/dist/messages/fr/settings.json +5 -0
- package/dist/messages/it/auth.json +4 -2
- package/dist/messages/it/common.json +83 -3
- package/dist/messages/it/email.json +1 -1
- package/dist/messages/it/index.d.ts +87 -0
- package/dist/messages/it/index.d.ts.map +1 -1
- package/dist/messages/it/settings.json +5 -0
- package/dist/messages/pt/auth.json +4 -2
- package/dist/messages/pt/common.json +83 -3
- package/dist/messages/pt/email.json +1 -1
- package/dist/messages/pt/index.d.ts +87 -0
- package/dist/messages/pt/index.d.ts.map +1 -1
- package/dist/messages/pt/settings.json +5 -0
- package/dist/nextspark-registries.d.ts +54 -0
- package/dist/providers/DashboardProviders.d.ts +13 -10
- package/dist/providers/DashboardProviders.d.ts.map +1 -1
- package/dist/providers/DashboardProviders.js +7 -1
- package/dist/templates/app/(auth)/forgot-password/page.tsx +2 -2
- package/dist/templates/app/(auth)/reset-password/page.tsx +6 -6
- package/dist/templates/app/403/page.tsx +6 -6
- package/dist/templates/app/api/v1/teams/switch/route.ts +24 -5
- package/dist/templates/app/dashboard/(main)/[entity]/layout.tsx +9 -7
- package/dist/templates/app/dashboard/(main)/layout.tsx +4 -3
- package/dist/templates/app/dashboard/settings/api-keys/page.tsx +36 -34
- package/dist/templates/app/dashboard/settings/profile/page.tsx +7 -6
- package/dist/templates/app/dashboard/settings/security/page.tsx +5 -4
- package/dist/templates/app/layout.ppr.tsx +8 -8
- package/dist/templates/app/layout.tsx +12 -17
- package/dist/templates/blocks/cta-section/component.tsx +5 -2
- package/dist/templates/blocks/cta-section/config.ts +3 -2
- package/dist/templates/blocks/cta-section/fields.ts +2 -2
- package/dist/templates/blocks/cta-section/schema.ts +2 -2
- package/dist/templates/blocks/features-grid/component.tsx +10 -2
- package/dist/templates/blocks/features-grid/config.ts +3 -2
- package/dist/templates/blocks/features-grid/fields.ts +2 -2
- package/dist/templates/blocks/features-grid/schema.ts +2 -2
- package/dist/templates/blocks/hero/component.tsx +6 -3
- package/dist/templates/blocks/hero/config.ts +3 -2
- package/dist/templates/blocks/hero/fields.ts +2 -2
- package/dist/templates/blocks/hero/schema.ts +2 -2
- package/dist/templates/blocks/testimonials/component.tsx +6 -3
- package/dist/templates/blocks/testimonials/config.ts +3 -2
- package/dist/templates/blocks/testimonials/fields.ts +2 -2
- package/dist/templates/blocks/testimonials/schema.ts +2 -2
- package/dist/templates/blocks/text-content/component.tsx +7 -3
- package/dist/templates/blocks/text-content/config.ts +3 -2
- package/dist/templates/blocks/text-content/fields.ts +2 -2
- package/dist/templates/blocks/text-content/schema.ts +2 -2
- package/dist/templates/contents/themes/starter/blocks/cta-section/component.tsx +102 -0
- package/dist/templates/contents/themes/starter/blocks/cta-section/config.ts +11 -0
- package/dist/templates/contents/themes/starter/blocks/cta-section/fields.ts +89 -0
- package/dist/templates/contents/themes/starter/blocks/cta-section/index.ts +6 -0
- package/dist/templates/contents/themes/starter/blocks/cta-section/schema.ts +32 -0
- package/dist/templates/contents/themes/starter/blocks/cta-section/thumbnail.png +0 -0
- package/dist/templates/contents/themes/starter/blocks/features-grid/component.tsx +119 -0
- package/dist/templates/contents/themes/starter/blocks/features-grid/config.ts +11 -0
- package/dist/templates/contents/themes/starter/blocks/features-grid/fields.ts +97 -0
- package/dist/templates/contents/themes/starter/blocks/features-grid/index.ts +6 -0
- package/dist/templates/contents/themes/starter/blocks/features-grid/schema.ts +40 -0
- package/dist/templates/contents/themes/starter/blocks/features-grid/thumbnail.png +0 -0
- package/dist/templates/contents/themes/starter/blocks/hero/component.tsx +105 -0
- package/dist/templates/contents/themes/starter/blocks/hero/config.ts +11 -0
- package/dist/templates/contents/themes/starter/blocks/hero/fields.ts +60 -0
- package/dist/templates/contents/themes/starter/blocks/hero/index.ts +6 -0
- package/dist/templates/contents/themes/starter/blocks/hero/schema.ts +33 -0
- package/dist/templates/contents/themes/starter/blocks/hero/thumbnail.png +0 -0
- package/dist/templates/contents/themes/starter/blocks/testimonials/component.tsx +116 -0
- package/dist/templates/contents/themes/starter/blocks/testimonials/config.ts +11 -0
- package/dist/templates/contents/themes/starter/blocks/testimonials/fields.ts +105 -0
- package/dist/templates/contents/themes/starter/blocks/testimonials/index.ts +6 -0
- package/dist/templates/contents/themes/starter/blocks/testimonials/schema.ts +41 -0
- package/dist/templates/contents/themes/starter/blocks/testimonials/thumbnail.png +0 -0
- package/dist/templates/contents/themes/starter/blocks/text-content/component.tsx +100 -0
- package/dist/templates/contents/themes/starter/blocks/text-content/config.ts +11 -0
- package/dist/templates/contents/themes/starter/blocks/text-content/fields.ts +88 -0
- package/dist/templates/contents/themes/starter/blocks/text-content/index.ts +6 -0
- package/dist/templates/contents/themes/starter/blocks/text-content/schema.ts +30 -0
- package/dist/templates/contents/themes/starter/blocks/text-content/thumbnail.png +0 -0
- package/dist/templates/contents/themes/starter/config/app.config.ts +8 -0
- package/dist/templates/contents/themes/starter/entities/tasks/tasks.config.ts +7 -0
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/devtools/access.cy.ts +9 -1
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/api/entities/tasks/TaskAPIController.js +2 -2
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/uat/entities/tasks/tasks-crud.cy.ts +45 -38
- package/dist/templates/contents/themes/starter/tests/cypress/fixtures/entities.json +16 -0
- package/dist/templates/contents/themes/starter/tests/cypress/src/components/DevKeyringPOM.ts +3 -1
- package/dist/templates/contents/themes/starter/tests/cypress/src/core/BlockEditorBasePOM.ts +3 -3
- package/dist/templates/contents/themes/starter/tests/cypress/src/entities/PagesPOM.ts +137 -0
- package/dist/templates/contents/themes/starter/tests/cypress/src/entities/index.ts +2 -0
- package/dist/templates/contents/themes/starter/tests/cypress/src/index.ts +1 -0
- package/dist/templates/contents/themes/starter/tests/cypress/src/session-helpers.ts +42 -11
- package/dist/templates/contents/themes/starter/tests/cypress/support/commands.ts +29 -18
- package/dist/templates/features/blog/blocks/post-content/component.tsx +5 -1
- package/dist/templates/features/blog/blocks/post-content/schema.ts +1 -1
- package/dist/templates/features/pages/blocks/hero/component.tsx +3 -0
- package/dist/templates/features/pages/blocks/hero/schema.ts +1 -1
- package/dist/templates/proxy.ts +138 -53
- package/dist/types/blocks.d.ts.map +1 -1
- package/dist/types/blocks.js +1 -1
- package/dist/types/task.types.d.ts +1 -1
- package/dist/types/task.types.js +7 -7
- package/dist/utils/dev/TranslationDebugger.js +2 -2
- package/package.json +14 -5
- package/scripts/build/registry/__tests__/block-registry.test.mjs +73 -0
- package/scripts/build/registry/__tests__/icons-discovery.test.mjs +130 -0
- package/scripts/build/registry/__tests__/identifier.test.mjs +65 -0
- package/scripts/build/registry/__tests__/page-generator.test.mjs +430 -0
- package/scripts/build/registry/__tests__/scheduled-actions-registry.test.mjs +41 -0
- package/scripts/build/registry/__tests__/template-registry.test.mjs +89 -0
- package/scripts/build/registry/discovery/icons.mjs +275 -0
- package/scripts/build/registry/discovery/index.mjs +1 -0
- package/scripts/build/registry/generators/block-registry.mjs +203 -55
- package/scripts/build/registry/generators/feature-registry.mjs +9 -2
- package/scripts/build/registry/generators/icon-registry.mjs +56 -0
- package/scripts/build/registry/generators/identifier.mjs +28 -0
- package/scripts/build/registry/generators/index.mjs +1 -0
- package/scripts/build/registry/generators/plugin-registry.mjs +4 -3
- package/scripts/build/registry/generators/scheduled-actions-registry.mjs +4 -2
- package/scripts/build/registry/generators/template-registry.mjs +49 -41
- package/scripts/build/registry/generators/theme-registry.mjs +6 -7
- package/scripts/build/registry/post-build/page-generator.mjs +380 -59
- package/scripts/build/registry.mjs +9 -1
- package/templates/app/(auth)/forgot-password/page.tsx +2 -2
- package/templates/app/(auth)/reset-password/page.tsx +6 -6
- package/templates/app/403/page.tsx +6 -6
- package/templates/app/api/v1/teams/switch/route.ts +24 -5
- package/templates/app/dashboard/(main)/[entity]/layout.tsx +9 -7
- package/templates/app/dashboard/(main)/layout.tsx +4 -3
- package/templates/app/dashboard/settings/api-keys/page.tsx +36 -34
- package/templates/app/dashboard/settings/profile/page.tsx +7 -6
- package/templates/app/dashboard/settings/security/page.tsx +5 -4
- package/templates/app/layout.ppr.tsx +8 -8
- package/templates/app/layout.tsx +12 -17
- package/templates/blocks/cta-section/component.tsx +5 -2
- package/templates/blocks/cta-section/config.ts +3 -2
- package/templates/blocks/cta-section/fields.ts +2 -2
- package/templates/blocks/cta-section/schema.ts +2 -2
- package/templates/blocks/features-grid/component.tsx +10 -2
- package/templates/blocks/features-grid/config.ts +3 -2
- package/templates/blocks/features-grid/fields.ts +2 -2
- package/templates/blocks/features-grid/schema.ts +2 -2
- package/templates/blocks/hero/component.tsx +6 -3
- package/templates/blocks/hero/config.ts +3 -2
- package/templates/blocks/hero/fields.ts +2 -2
- package/templates/blocks/hero/schema.ts +2 -2
- package/templates/blocks/testimonials/component.tsx +6 -3
- package/templates/blocks/testimonials/config.ts +3 -2
- package/templates/blocks/testimonials/fields.ts +2 -2
- package/templates/blocks/testimonials/schema.ts +2 -2
- package/templates/blocks/text-content/component.tsx +7 -3
- package/templates/blocks/text-content/config.ts +3 -2
- package/templates/blocks/text-content/fields.ts +2 -2
- package/templates/blocks/text-content/schema.ts +2 -2
- package/templates/contents/themes/starter/blocks/cta-section/component.tsx +102 -0
- package/templates/contents/themes/starter/blocks/cta-section/config.ts +11 -0
- package/templates/contents/themes/starter/blocks/cta-section/fields.ts +89 -0
- package/templates/contents/themes/starter/blocks/cta-section/index.ts +6 -0
- package/templates/contents/themes/starter/blocks/cta-section/schema.ts +32 -0
- package/templates/contents/themes/starter/blocks/cta-section/thumbnail.png +0 -0
- package/templates/contents/themes/starter/blocks/features-grid/component.tsx +119 -0
- package/templates/contents/themes/starter/blocks/features-grid/config.ts +11 -0
- package/templates/contents/themes/starter/blocks/features-grid/fields.ts +97 -0
- package/templates/contents/themes/starter/blocks/features-grid/index.ts +6 -0
- package/templates/contents/themes/starter/blocks/features-grid/schema.ts +40 -0
- package/templates/contents/themes/starter/blocks/features-grid/thumbnail.png +0 -0
- package/templates/contents/themes/starter/blocks/hero/component.tsx +105 -0
- package/templates/contents/themes/starter/blocks/hero/config.ts +11 -0
- package/templates/contents/themes/starter/blocks/hero/fields.ts +60 -0
- package/templates/contents/themes/starter/blocks/hero/index.ts +6 -0
- package/templates/contents/themes/starter/blocks/hero/schema.ts +33 -0
- package/templates/contents/themes/starter/blocks/hero/thumbnail.png +0 -0
- package/templates/contents/themes/starter/blocks/testimonials/component.tsx +116 -0
- package/templates/contents/themes/starter/blocks/testimonials/config.ts +11 -0
- package/templates/contents/themes/starter/blocks/testimonials/fields.ts +105 -0
- package/templates/contents/themes/starter/blocks/testimonials/index.ts +6 -0
- package/templates/contents/themes/starter/blocks/testimonials/schema.ts +41 -0
- package/templates/contents/themes/starter/blocks/testimonials/thumbnail.png +0 -0
- package/templates/contents/themes/starter/blocks/text-content/component.tsx +100 -0
- package/templates/contents/themes/starter/blocks/text-content/config.ts +11 -0
- package/templates/contents/themes/starter/blocks/text-content/fields.ts +88 -0
- package/templates/contents/themes/starter/blocks/text-content/index.ts +6 -0
- package/templates/contents/themes/starter/blocks/text-content/schema.ts +30 -0
- package/templates/contents/themes/starter/blocks/text-content/thumbnail.png +0 -0
- package/templates/contents/themes/starter/config/app.config.ts +8 -0
- package/templates/contents/themes/starter/entities/tasks/tasks.config.ts +7 -0
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/devtools/access.cy.ts +9 -1
- package/templates/contents/themes/starter/tests/cypress/e2e/api/entities/tasks/TaskAPIController.js +2 -2
- package/templates/contents/themes/starter/tests/cypress/e2e/uat/entities/tasks/tasks-crud.cy.ts +45 -38
- package/templates/contents/themes/starter/tests/cypress/fixtures/entities.json +16 -0
- package/templates/contents/themes/starter/tests/cypress/src/components/DevKeyringPOM.ts +3 -1
- package/templates/contents/themes/starter/tests/cypress/src/core/BlockEditorBasePOM.ts +3 -3
- package/templates/contents/themes/starter/tests/cypress/src/entities/PagesPOM.ts +137 -0
- package/templates/contents/themes/starter/tests/cypress/src/entities/index.ts +2 -0
- package/templates/contents/themes/starter/tests/cypress/src/index.ts +1 -0
- package/templates/contents/themes/starter/tests/cypress/src/session-helpers.ts +42 -11
- package/templates/contents/themes/starter/tests/cypress/support/commands.ts +29 -18
- package/templates/features/blog/blocks/post-content/component.tsx +5 -1
- package/templates/features/blog/blocks/post-content/schema.ts +1 -1
- package/templates/features/pages/blocks/hero/component.tsx +3 -0
- package/templates/features/pages/blocks/hero/schema.ts +1 -1
- package/templates/proxy.ts +138 -53
- package/tests/jest/__mocks__/@nextsparkjs/registries/block-registry.client.ts +9 -0
- package/tests/jest/__mocks__/@nextsparkjs/registries/block-registry.lazy.ts +5 -0
- package/tests/jest/__mocks__/@nextsparkjs/registries/icon-registry.ts +42 -0
- package/tests/jest/__mocks__/next-intl-server.js +85 -5
- package/tests/jest/__mocks__/next-server.js +32 -0
|
@@ -52,7 +52,7 @@ function AddressInput({
|
|
|
52
52
|
/* @__PURE__ */ jsx(
|
|
53
53
|
Input,
|
|
54
54
|
{
|
|
55
|
-
placeholder: "
|
|
55
|
+
placeholder: "Full address...",
|
|
56
56
|
value: value.fullAddress || "",
|
|
57
57
|
onChange: (e) => handleFullAddressChange(e.target.value),
|
|
58
58
|
disabled,
|
|
@@ -64,7 +64,7 @@ function AddressInput({
|
|
|
64
64
|
/* @__PURE__ */ jsx(
|
|
65
65
|
Input,
|
|
66
66
|
{
|
|
67
|
-
placeholder: "
|
|
67
|
+
placeholder: "Street",
|
|
68
68
|
value: value.street,
|
|
69
69
|
onChange: (e) => updateField("street", e.target.value),
|
|
70
70
|
disabled
|
|
@@ -73,7 +73,7 @@ function AddressInput({
|
|
|
73
73
|
/* @__PURE__ */ jsx(
|
|
74
74
|
Input,
|
|
75
75
|
{
|
|
76
|
-
placeholder: "
|
|
76
|
+
placeholder: "City",
|
|
77
77
|
value: value.city,
|
|
78
78
|
onChange: (e) => updateField("city", e.target.value),
|
|
79
79
|
disabled
|
|
@@ -82,7 +82,7 @@ function AddressInput({
|
|
|
82
82
|
/* @__PURE__ */ jsx(
|
|
83
83
|
Input,
|
|
84
84
|
{
|
|
85
|
-
placeholder: "
|
|
85
|
+
placeholder: "State/Province",
|
|
86
86
|
value: value.state,
|
|
87
87
|
onChange: (e) => updateField("state", e.target.value),
|
|
88
88
|
disabled
|
|
@@ -91,7 +91,7 @@ function AddressInput({
|
|
|
91
91
|
/* @__PURE__ */ jsx(
|
|
92
92
|
Input,
|
|
93
93
|
{
|
|
94
|
-
placeholder: "
|
|
94
|
+
placeholder: "Zip Code",
|
|
95
95
|
value: value.zipCode,
|
|
96
96
|
onChange: (e) => updateField("zipCode", e.target.value),
|
|
97
97
|
disabled
|
|
@@ -101,7 +101,7 @@ function AddressInput({
|
|
|
101
101
|
/* @__PURE__ */ jsx(
|
|
102
102
|
Input,
|
|
103
103
|
{
|
|
104
|
-
placeholder: "
|
|
104
|
+
placeholder: "Country",
|
|
105
105
|
value: value.country,
|
|
106
106
|
onChange: (e) => updateField("country", e.target.value),
|
|
107
107
|
disabled
|
|
@@ -111,14 +111,14 @@ function AddressInput({
|
|
|
111
111
|
}
|
|
112
112
|
return /* @__PURE__ */ jsx(Card, { className, children: /* @__PURE__ */ jsxs(CardContent, { className: "p-4 space-y-4", children: [
|
|
113
113
|
showFullAddress && /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
114
|
-
/* @__PURE__ */ jsx(Label, { htmlFor: "full-address", children: "
|
|
114
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: "full-address", children: "Full Address" }),
|
|
115
115
|
/* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
116
116
|
/* @__PURE__ */ jsx(MapPin, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" }),
|
|
117
117
|
/* @__PURE__ */ jsx(
|
|
118
118
|
Input,
|
|
119
119
|
{
|
|
120
120
|
id: "full-address",
|
|
121
|
-
placeholder: "
|
|
121
|
+
placeholder: "Enter the full address...",
|
|
122
122
|
value: value.fullAddress || "",
|
|
123
123
|
onChange: (e) => handleFullAddressChange(e.target.value),
|
|
124
124
|
disabled,
|
|
@@ -129,12 +129,12 @@ function AddressInput({
|
|
|
129
129
|
] }),
|
|
130
130
|
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [
|
|
131
131
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2 md:col-span-2", children: [
|
|
132
|
-
/* @__PURE__ */ jsx(Label, { htmlFor: "street", children: "
|
|
132
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: "street", children: "Street and Number" }),
|
|
133
133
|
/* @__PURE__ */ jsx(
|
|
134
134
|
Input,
|
|
135
135
|
{
|
|
136
136
|
id: "street",
|
|
137
|
-
placeholder: "
|
|
137
|
+
placeholder: "E.g.: 123 Main St",
|
|
138
138
|
value: value.street,
|
|
139
139
|
onChange: (e) => updateField("street", e.target.value),
|
|
140
140
|
disabled
|
|
@@ -142,12 +142,12 @@ function AddressInput({
|
|
|
142
142
|
)
|
|
143
143
|
] }),
|
|
144
144
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
145
|
-
/* @__PURE__ */ jsx(Label, { htmlFor: "city", children: "
|
|
145
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: "city", children: "City" }),
|
|
146
146
|
/* @__PURE__ */ jsx(
|
|
147
147
|
Input,
|
|
148
148
|
{
|
|
149
149
|
id: "city",
|
|
150
|
-
placeholder: "
|
|
150
|
+
placeholder: "E.g.: New York",
|
|
151
151
|
value: value.city,
|
|
152
152
|
onChange: (e) => updateField("city", e.target.value),
|
|
153
153
|
disabled
|
|
@@ -155,12 +155,12 @@ function AddressInput({
|
|
|
155
155
|
)
|
|
156
156
|
] }),
|
|
157
157
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
158
|
-
/* @__PURE__ */ jsx(Label, { htmlFor: "state", children: "
|
|
158
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: "state", children: "State/Province" }),
|
|
159
159
|
/* @__PURE__ */ jsx(
|
|
160
160
|
Input,
|
|
161
161
|
{
|
|
162
162
|
id: "state",
|
|
163
|
-
placeholder: "
|
|
163
|
+
placeholder: "E.g.: NY",
|
|
164
164
|
value: value.state,
|
|
165
165
|
onChange: (e) => updateField("state", e.target.value),
|
|
166
166
|
disabled
|
|
@@ -168,12 +168,12 @@ function AddressInput({
|
|
|
168
168
|
)
|
|
169
169
|
] }),
|
|
170
170
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
171
|
-
/* @__PURE__ */ jsx(Label, { htmlFor: "zipCode", children: "
|
|
171
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: "zipCode", children: "Zip Code" }),
|
|
172
172
|
/* @__PURE__ */ jsx(
|
|
173
173
|
Input,
|
|
174
174
|
{
|
|
175
175
|
id: "zipCode",
|
|
176
|
-
placeholder: "
|
|
176
|
+
placeholder: "E.g.: 10001",
|
|
177
177
|
value: value.zipCode,
|
|
178
178
|
onChange: (e) => updateField("zipCode", e.target.value),
|
|
179
179
|
disabled
|
|
@@ -181,12 +181,12 @@ function AddressInput({
|
|
|
181
181
|
)
|
|
182
182
|
] }),
|
|
183
183
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
184
|
-
/* @__PURE__ */ jsx(Label, { htmlFor: "country", children: "
|
|
184
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: "country", children: "Country" }),
|
|
185
185
|
/* @__PURE__ */ jsx(
|
|
186
186
|
Input,
|
|
187
187
|
{
|
|
188
188
|
id: "country",
|
|
189
|
-
placeholder: "
|
|
189
|
+
placeholder: "E.g.: United States",
|
|
190
190
|
value: value.country,
|
|
191
191
|
onChange: (e) => updateField("country", e.target.value),
|
|
192
192
|
disabled
|
|
@@ -38,16 +38,16 @@ function AudioUpload({
|
|
|
38
38
|
return new Promise((resolve) => {
|
|
39
39
|
var _a;
|
|
40
40
|
if (maxSize && file.size > maxSize * 1024 * 1024) {
|
|
41
|
-
resolve(`
|
|
41
|
+
resolve(`Audio file is too large. Maximum ${maxSize}MB.`);
|
|
42
42
|
return;
|
|
43
43
|
}
|
|
44
44
|
if (!file.type.startsWith("audio/")) {
|
|
45
|
-
resolve("
|
|
45
|
+
resolve("The file must be an audio file.");
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
48
48
|
const fileExtension = (_a = file.name.split(".").pop()) == null ? void 0 : _a.toLowerCase();
|
|
49
49
|
if (fileExtension && !acceptedFormats.includes(fileExtension)) {
|
|
50
|
-
resolve(`
|
|
50
|
+
resolve(`Unsupported format. Accepted formats: ${acceptedFormats.join(", ")}`);
|
|
51
51
|
return;
|
|
52
52
|
}
|
|
53
53
|
resolve(null);
|
|
@@ -72,7 +72,7 @@ function AudioUpload({
|
|
|
72
72
|
const errors = [];
|
|
73
73
|
for (const file of Array.from(files)) {
|
|
74
74
|
if (value.length + newAudios.length >= maxAudios) {
|
|
75
|
-
errors.push(`
|
|
75
|
+
errors.push(`Maximum ${maxAudios} audio files allowed`);
|
|
76
76
|
break;
|
|
77
77
|
}
|
|
78
78
|
const error = await validateAudio(file);
|
|
@@ -181,16 +181,16 @@ function AudioUpload({
|
|
|
181
181
|
children: [
|
|
182
182
|
/* @__PURE__ */ jsx(Music, { className: "mx-auto h-8 w-8 text-muted-foreground" }),
|
|
183
183
|
/* @__PURE__ */ jsxs("p", { className: "mt-2 text-sm text-muted-foreground", children: [
|
|
184
|
-
"
|
|
184
|
+
"Drag audio files here or",
|
|
185
185
|
" ",
|
|
186
|
-
/* @__PURE__ */ jsx("span", { className: "font-medium text-primary", children: "
|
|
186
|
+
/* @__PURE__ */ jsx("span", { className: "font-medium text-primary", children: "click to select" })
|
|
187
187
|
] }),
|
|
188
188
|
/* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground mt-1", children: [
|
|
189
|
-
maxAudios > 1 ? `
|
|
190
|
-
maxSize && `,
|
|
189
|
+
maxAudios > 1 ? `Up to ${maxAudios} audio files` : "One audio file",
|
|
190
|
+
maxSize && `, maximum ${maxSize}MB each`
|
|
191
191
|
] }),
|
|
192
192
|
/* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground", children: [
|
|
193
|
-
"
|
|
193
|
+
"Formats: ",
|
|
194
194
|
acceptedFormats.join(", ")
|
|
195
195
|
] }),
|
|
196
196
|
/* @__PURE__ */ jsx(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../../src/components/ui/combobox.tsx"],"names":[],"mappings":"AAmBA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;IACtD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,KAAK,EACL,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../../src/components/ui/combobox.tsx"],"names":[],"mappings":"AAmBA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;IACtD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,KAAK,EACL,QAAQ,EACR,WAAgC,EAChC,iBAA+B,EAC/B,YAAkC,EAClC,QAAgB,EAChB,SAAiB,EACjB,SAAS,EACT,EAAE,EACF,UAA8B,GAC/B,EAAE,aAAa,2CAiGf"}
|
|
@@ -20,14 +20,14 @@ function Combobox({
|
|
|
20
20
|
options,
|
|
21
21
|
value,
|
|
22
22
|
onChange,
|
|
23
|
-
placeholder = "
|
|
24
|
-
searchPlaceholder = "
|
|
25
|
-
emptyMessage = "No
|
|
23
|
+
placeholder = "Select option...",
|
|
24
|
+
searchPlaceholder = "Search...",
|
|
25
|
+
emptyMessage = "No options found.",
|
|
26
26
|
disabled = false,
|
|
27
27
|
clearable = false,
|
|
28
28
|
className,
|
|
29
29
|
id,
|
|
30
|
-
clearLabel = "
|
|
30
|
+
clearLabel = "Clear selection"
|
|
31
31
|
}) {
|
|
32
32
|
const [open, setOpen] = React.useState(false);
|
|
33
33
|
const selectedOption = options.find((option) => option.value === value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"country-select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/country-select.tsx"],"names":[],"mappings":"AAoHA,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,4EAA4E;IAC5E,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"country-select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/country-select.tsx"],"names":[],"mappings":"AAoHA,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,4EAA4E;IAC5E,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,WAAiC,EACjC,QAAgB,EAChB,SAAS,EACT,SAAgB,EAChB,EAAE,GACH,EAAE,kBAAkB,2CAkBpB"}
|
|
@@ -113,7 +113,7 @@ const countries = [
|
|
|
113
113
|
function CountrySelect({
|
|
114
114
|
value,
|
|
115
115
|
onChange,
|
|
116
|
-
placeholder = "
|
|
116
|
+
placeholder = "Select country...",
|
|
117
117
|
disabled = false,
|
|
118
118
|
className,
|
|
119
119
|
clearable = true,
|
|
@@ -128,8 +128,8 @@ function CountrySelect({
|
|
|
128
128
|
value,
|
|
129
129
|
onChange: (value2) => onChange(value2),
|
|
130
130
|
placeholder,
|
|
131
|
-
searchPlaceholder: "
|
|
132
|
-
emptyMessage: "No
|
|
131
|
+
searchPlaceholder: "Search country...",
|
|
132
|
+
emptyMessage: "No countries found.",
|
|
133
133
|
disabled,
|
|
134
134
|
clearable,
|
|
135
135
|
id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency-select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/currency-select.tsx"],"names":[],"mappings":"AA6CA,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,4EAA4E;IAC5E,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"currency-select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/currency-select.tsx"],"names":[],"mappings":"AA6CA,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,4EAA4E;IAC5E,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,WAAkC,EAClC,QAAgB,EAChB,SAAS,EACT,SAAgB,EAChB,EAAE,GACH,EAAE,mBAAmB,2CAkBrB"}
|
|
@@ -42,7 +42,7 @@ const currencies = [
|
|
|
42
42
|
function CurrencySelect({
|
|
43
43
|
value,
|
|
44
44
|
onChange,
|
|
45
|
-
placeholder = "
|
|
45
|
+
placeholder = "Select currency...",
|
|
46
46
|
disabled = false,
|
|
47
47
|
className,
|
|
48
48
|
clearable = true,
|
|
@@ -57,8 +57,8 @@ function CurrencySelect({
|
|
|
57
57
|
value,
|
|
58
58
|
onChange: (value2) => onChange(value2),
|
|
59
59
|
placeholder,
|
|
60
|
-
searchPlaceholder: "
|
|
61
|
-
emptyMessage: "No
|
|
60
|
+
searchPlaceholder: "Search currency...",
|
|
61
|
+
emptyMessage: "No currencies found.",
|
|
62
62
|
disabled,
|
|
63
63
|
clearable,
|
|
64
64
|
id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-icon.d.ts","sourceRoot":"","sources":["../../../src/components/ui/dynamic-icon.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dynamic-icon.d.ts","sourceRoot":"","sources":["../../../src/components/ui/dynamic-icon.tsx"],"names":[],"mappings":"AAMA,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAuB,EAAE,EAAE,gBAAgB,2CAIzF"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import {
|
|
3
|
+
import { LayoutGrid } from "lucide-react";
|
|
4
4
|
import { cn } from "../../lib/utils/index.js";
|
|
5
|
+
import { resolveIcon } from "../../lib/icons.js";
|
|
5
6
|
function DynamicIcon({ name, className, fallback = "LayoutGrid" }) {
|
|
6
|
-
const IconComponent =
|
|
7
|
+
const IconComponent = resolveIcon(name, resolveIcon(fallback, LayoutGrid));
|
|
7
8
|
return /* @__PURE__ */ jsx(IconComponent, { className: cn("h-4 w-4", className) });
|
|
8
9
|
}
|
|
9
10
|
export {
|
|
@@ -29,7 +29,7 @@ function FileUpload({
|
|
|
29
29
|
const validateFile = (file) => {
|
|
30
30
|
var _a;
|
|
31
31
|
if (maxSize && file.size > maxSize * 1024 * 1024) {
|
|
32
|
-
return `
|
|
32
|
+
return `File is too large. Maximum ${maxSize}MB.`;
|
|
33
33
|
}
|
|
34
34
|
if (acceptedTypes.length > 0 && !acceptedTypes.includes("*")) {
|
|
35
35
|
const fileExtension = "." + ((_a = file.name.split(".").pop()) == null ? void 0 : _a.toLowerCase());
|
|
@@ -38,7 +38,7 @@ function FileUpload({
|
|
|
38
38
|
(type) => type === mimeType || type === fileExtension || type.endsWith("/*") && mimeType.startsWith(type.replace("/*", ""))
|
|
39
39
|
);
|
|
40
40
|
if (!isValid) {
|
|
41
|
-
return `
|
|
41
|
+
return `File type not allowed. Accepted types: ${acceptedTypes.join(", ")}`;
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
return null;
|
|
@@ -49,7 +49,7 @@ function FileUpload({
|
|
|
49
49
|
const errors = [];
|
|
50
50
|
Array.from(files).forEach((file) => {
|
|
51
51
|
if (value.length + newFiles.length >= maxFiles) {
|
|
52
|
-
errors.push(`
|
|
52
|
+
errors.push(`Maximum ${maxFiles} files allowed`);
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
55
|
const error = validateFile(file);
|
|
@@ -125,12 +125,12 @@ function FileUpload({
|
|
|
125
125
|
children: [
|
|
126
126
|
/* @__PURE__ */ jsx(Upload, { className: "mx-auto h-8 w-8 text-muted-foreground" }),
|
|
127
127
|
/* @__PURE__ */ jsxs("p", { className: "mt-2 text-sm text-muted-foreground", children: [
|
|
128
|
-
dragDrop ? "
|
|
129
|
-
/* @__PURE__ */ jsx("span", { className: "font-medium text-primary", children: "
|
|
128
|
+
dragDrop ? "Drag files here or " : "",
|
|
129
|
+
/* @__PURE__ */ jsx("span", { className: "font-medium text-primary", children: "click to select" })
|
|
130
130
|
] }),
|
|
131
131
|
/* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground mt-1", children: [
|
|
132
|
-
maxFiles > 1 ? `
|
|
133
|
-
maxSize && `,
|
|
132
|
+
maxFiles > 1 ? `Up to ${maxFiles} files` : "One file",
|
|
133
|
+
maxSize && `, maximum ${maxSize}MB each`
|
|
134
134
|
] }),
|
|
135
135
|
/* @__PURE__ */ jsx(
|
|
136
136
|
"input",
|
|
@@ -30,11 +30,11 @@ function ImageUpload({
|
|
|
30
30
|
const validateImage = (file) => {
|
|
31
31
|
return new Promise((resolve) => {
|
|
32
32
|
if (maxSize && file.size > maxSize * 1024 * 1024) {
|
|
33
|
-
resolve(`
|
|
33
|
+
resolve(`Image is too large. Maximum ${maxSize}MB.`);
|
|
34
34
|
return;
|
|
35
35
|
}
|
|
36
36
|
if (!file.type.startsWith("image/")) {
|
|
37
|
-
resolve("
|
|
37
|
+
resolve("The file must be an image.");
|
|
38
38
|
return;
|
|
39
39
|
}
|
|
40
40
|
const img = document.createElement("img");
|
|
@@ -42,7 +42,7 @@ function ImageUpload({
|
|
|
42
42
|
resolve(null);
|
|
43
43
|
};
|
|
44
44
|
img.onerror = () => {
|
|
45
|
-
resolve("
|
|
45
|
+
resolve("Could not load the image.");
|
|
46
46
|
};
|
|
47
47
|
img.src = URL.createObjectURL(file);
|
|
48
48
|
});
|
|
@@ -53,7 +53,7 @@ function ImageUpload({
|
|
|
53
53
|
const errors = [];
|
|
54
54
|
for (const file of Array.from(files)) {
|
|
55
55
|
if (value.length + newImages.length >= maxImages) {
|
|
56
|
-
errors.push(`
|
|
56
|
+
errors.push(`Maximum ${maxImages} images allowed`);
|
|
57
57
|
break;
|
|
58
58
|
}
|
|
59
59
|
const error = await validateImage(file);
|
|
@@ -141,13 +141,13 @@ function ImageUpload({
|
|
|
141
141
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center h-full", children: [
|
|
142
142
|
/* @__PURE__ */ jsx(Image, { className: "h-8 w-8 text-muted-foreground" }),
|
|
143
143
|
/* @__PURE__ */ jsxs("p", { className: "mt-2 text-sm text-muted-foreground", children: [
|
|
144
|
-
"
|
|
144
|
+
"Drag images here or",
|
|
145
145
|
" ",
|
|
146
|
-
/* @__PURE__ */ jsx("span", { className: "font-medium text-primary", children: "
|
|
146
|
+
/* @__PURE__ */ jsx("span", { className: "font-medium text-primary", children: "click to select" })
|
|
147
147
|
] }),
|
|
148
148
|
/* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground mt-1", children: [
|
|
149
|
-
maxImages > 1 ? `
|
|
150
|
-
maxSize && `,
|
|
149
|
+
maxImages > 1 ? `Up to ${maxImages} images` : "One image",
|
|
150
|
+
maxSize && `, maximum ${maxSize}MB each`
|
|
151
151
|
] })
|
|
152
152
|
] }),
|
|
153
153
|
/* @__PURE__ */ jsx(
|
|
@@ -9,10 +9,11 @@ interface MultiSelectProps {
|
|
|
9
9
|
value: (string | number)[];
|
|
10
10
|
onChange: (value: (string | number)[]) => void;
|
|
11
11
|
placeholder?: string;
|
|
12
|
+
searchPlaceholder?: string;
|
|
12
13
|
maxSelected?: number;
|
|
13
14
|
disabled?: boolean;
|
|
14
15
|
className?: string;
|
|
15
16
|
}
|
|
16
|
-
export declare function MultiSelect({ options, value, onChange, placeholder, maxSelected, disabled, className, }: MultiSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare function MultiSelect({ options, value, onChange, placeholder, searchPlaceholder, maxSelected, disabled, className, }: MultiSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
17
18
|
export {};
|
|
18
19
|
//# sourceMappingURL=multi-select.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/multi-select.tsx"],"names":[],"mappings":"AAoBA,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,UAAU,gBAAgB;IACxB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,IAAI,CAAA;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,KAAU,EACV,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"multi-select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/multi-select.tsx"],"names":[],"mappings":"AAoBA,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,UAAU,gBAAgB;IACxB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,IAAI,CAAA;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,KAAU,EACV,QAAQ,EACR,WAAiC,EACjC,iBAAuC,EACvC,WAAW,EACX,QAAgB,EAChB,SAAS,GACV,EAAE,gBAAgB,2CAuGlB"}
|
|
@@ -21,7 +21,8 @@ function MultiSelect({
|
|
|
21
21
|
options,
|
|
22
22
|
value = [],
|
|
23
23
|
onChange,
|
|
24
|
-
placeholder = "
|
|
24
|
+
placeholder = "Select options...",
|
|
25
|
+
searchPlaceholder = "Search options...",
|
|
25
26
|
maxSelected,
|
|
26
27
|
disabled = false,
|
|
27
28
|
className
|
|
@@ -87,8 +88,8 @@ function MultiSelect({
|
|
|
87
88
|
}
|
|
88
89
|
) }),
|
|
89
90
|
/* @__PURE__ */ jsx(PopoverContent, { className: "p-0", align: "start", style: { width: "var(--radix-popover-trigger-width)" }, children: /* @__PURE__ */ jsxs(Command, { children: [
|
|
90
|
-
/* @__PURE__ */ jsx(CommandInput, { placeholder:
|
|
91
|
-
/* @__PURE__ */ jsx(CommandEmpty, { children: "No
|
|
91
|
+
/* @__PURE__ */ jsx(CommandInput, { placeholder: searchPlaceholder }),
|
|
92
|
+
/* @__PURE__ */ jsx(CommandEmpty, { children: "No options found." }),
|
|
92
93
|
/* @__PURE__ */ jsx(CommandGroup, { className: "max-h-64 overflow-auto", children: availableOptions.map((option) => /* @__PURE__ */ jsx(
|
|
93
94
|
CommandItem,
|
|
94
95
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phone-input.d.ts","sourceRoot":"","sources":["../../../src/components/ui/phone-input.tsx"],"names":[],"mappings":"AAOA,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAgBD,wBAAgB,UAAU,CAAC,EACzB,KAAU,EACV,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"phone-input.d.ts","sourceRoot":"","sources":["../../../src/components/ui/phone-input.tsx"],"names":[],"mappings":"AAOA,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAgBD,wBAAgB,UAAU,CAAC,EACzB,KAAU,EACV,QAAQ,EACR,WAA4B,EAC5B,QAAgB,EAChB,SAAS,EACT,eAAsB,EACtB,cAAqB,GACtB,EAAE,eAAe,2CAqEjB"}
|
|
@@ -7,8 +7,8 @@ import { cn } from "../../lib/utils/index.js";
|
|
|
7
7
|
const countryCodes = [
|
|
8
8
|
{ code: "+54", country: "AR", name: "Argentina" },
|
|
9
9
|
{ code: "+1", country: "US", name: "United States" },
|
|
10
|
-
{ code: "+34", country: "ES", name: "
|
|
11
|
-
{ code: "+52", country: "MX", name: "
|
|
10
|
+
{ code: "+34", country: "ES", name: "Spain" },
|
|
11
|
+
{ code: "+52", country: "MX", name: "Mexico" },
|
|
12
12
|
{ code: "+44", country: "GB", name: "United Kingdom" },
|
|
13
13
|
{ code: "+33", country: "FR", name: "France" },
|
|
14
14
|
{ code: "+49", country: "DE", name: "Germany" },
|
|
@@ -19,7 +19,7 @@ const countryCodes = [
|
|
|
19
19
|
function PhoneInput({
|
|
20
20
|
value = "",
|
|
21
21
|
onChange,
|
|
22
|
-
placeholder = "
|
|
22
|
+
placeholder = "Phone number",
|
|
23
23
|
disabled = false,
|
|
24
24
|
className,
|
|
25
25
|
showCountryCode = true,
|
|
@@ -108,7 +108,7 @@ function RelationDisplay({
|
|
|
108
108
|
return /* @__PURE__ */ jsx("span", { children: "-" });
|
|
109
109
|
}
|
|
110
110
|
if (loading && Object.keys(titles).length === 0) {
|
|
111
|
-
return /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "
|
|
111
|
+
return /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "Loading..." });
|
|
112
112
|
}
|
|
113
113
|
const displayValues = ids.map((id) => titles[id] || id);
|
|
114
114
|
if (multiple) {
|
|
@@ -31,6 +31,7 @@ export interface SimpleRelationSelectProps {
|
|
|
31
31
|
filter?: Record<string, string>;
|
|
32
32
|
/** HTML id for the trigger button (enables label[for] association) */
|
|
33
33
|
id?: string;
|
|
34
|
+
searchPlaceholder?: string;
|
|
34
35
|
}
|
|
35
|
-
export declare function SimpleRelationSelect({ value, onChange, entityType, titleField, multiple, placeholder, disabled, parentId, propField, usePropertyMode, propertyOptions, userFiltered, teamId, limit, filter, id, }: SimpleRelationSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
export declare function SimpleRelationSelect({ value, onChange, entityType, titleField, multiple, placeholder, searchPlaceholder, disabled, parentId, propField, usePropertyMode, propertyOptions, userFiltered, teamId, limit, filter, id, }: SimpleRelationSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
36
37
|
//# sourceMappingURL=simple-relation-select.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-relation-select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/simple-relation-select.tsx"],"names":[],"mappings":"AAuBA,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,CAAA;IACnD,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAEzD,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8FAA8F;IAC9F,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,sEAAsE;IACtE,EAAE,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"simple-relation-select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/simple-relation-select.tsx"],"names":[],"mappings":"AAuBA,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,CAAA;IACnD,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAEzD,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8FAA8F;IAC9F,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,sEAAsE;IACtE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACV,QAAgB,EAChB,WAAyB,EACzB,iBAA+B,EAC/B,QAAgB,EAChB,QAAQ,EACR,SAAS,EACT,eAAuB,EACvB,eAAoB,EACpB,YAAoB,EACpB,MAAM,EACN,KAAU,EACV,MAAM,EACN,EAAE,GACH,EAAE,yBAAyB,2CAylB3B"}
|
|
@@ -25,7 +25,8 @@ function SimpleRelationSelect({
|
|
|
25
25
|
entityType,
|
|
26
26
|
titleField,
|
|
27
27
|
multiple = false,
|
|
28
|
-
placeholder = "
|
|
28
|
+
placeholder = "Select...",
|
|
29
|
+
searchPlaceholder = "Search...",
|
|
29
30
|
disabled = false,
|
|
30
31
|
parentId,
|
|
31
32
|
propField,
|
|
@@ -372,7 +373,7 @@ function SimpleRelationSelect({
|
|
|
372
373
|
if (selectedPropertyValues.length > 0) {
|
|
373
374
|
return selectedPropertyValues.map((opt) => opt.label).join(", ");
|
|
374
375
|
}
|
|
375
|
-
return `${selectedValues.length}
|
|
376
|
+
return `${selectedValues.length} selected`;
|
|
376
377
|
}
|
|
377
378
|
const selectedPropertyItem = selectedPropertyValues.find((item) => item.value === selectedValues[0]);
|
|
378
379
|
return selectedPropertyItem ? selectedPropertyItem.label : selectedValues[0];
|
|
@@ -381,7 +382,7 @@ function SimpleRelationSelect({
|
|
|
381
382
|
if (selectedOptions.length > 0) {
|
|
382
383
|
return selectedOptions.map((opt) => opt.title).join(", ");
|
|
383
384
|
}
|
|
384
|
-
return `${selectedValues.length}
|
|
385
|
+
return `${selectedValues.length} selected`;
|
|
385
386
|
}
|
|
386
387
|
const selectedOption = selectedOptions.find((opt) => opt.id === selectedValues[0]);
|
|
387
388
|
return selectedOption ? selectedOption.title : selectedValues[0];
|
|
@@ -444,9 +445,9 @@ function SimpleRelationSelect({
|
|
|
444
445
|
}
|
|
445
446
|
) }),
|
|
446
447
|
/* @__PURE__ */ jsx(PopoverContent, { className: "w-full p-0", children: /* @__PURE__ */ jsxs(Command, { children: [
|
|
447
|
-
/* @__PURE__ */ jsx(CommandInput, { placeholder:
|
|
448
|
+
/* @__PURE__ */ jsx(CommandInput, { placeholder: searchPlaceholder }),
|
|
448
449
|
/* @__PURE__ */ jsxs(CommandList, { children: [
|
|
449
|
-
/* @__PURE__ */ jsx(CommandEmpty, { children: loading ? "
|
|
450
|
+
/* @__PURE__ */ jsx(CommandEmpty, { children: loading ? "Loading..." : "No options found." }),
|
|
450
451
|
/* @__PURE__ */ jsx(CommandGroup, { children: usePropertyMode ? (
|
|
451
452
|
// Render property options - combine static and dynamic options
|
|
452
453
|
(() => {
|
|
@@ -475,7 +476,7 @@ function SimpleRelationSelect({
|
|
|
475
476
|
children: /* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-2 w-full", children: [
|
|
476
477
|
/* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
|
|
477
478
|
/* @__PURE__ */ jsx("div", { className: "font-medium", children: option.label }),
|
|
478
|
-
!option.isStatic && /* @__PURE__ */ jsx("div", { className: "text-sm text-muted-foreground", children: "
|
|
479
|
+
!option.isStatic && /* @__PURE__ */ jsx("div", { className: "text-sm text-muted-foreground", children: "Dynamic" })
|
|
479
480
|
] }),
|
|
480
481
|
selectedValues.includes(option.value) && /* @__PURE__ */ jsx("div", { className: "text-primary", children: "\u2713" })
|
|
481
482
|
] })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags-input.d.ts","sourceRoot":"","sources":["../../../src/components/ui/tags-input.tsx"],"names":[],"mappings":"AAQA,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACnC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAU,EACV,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"tags-input.d.ts","sourceRoot":"","sources":["../../../src/components/ui/tags-input.tsx"],"names":[],"mappings":"AAQA,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACnC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAU,EACV,QAAQ,EACR,WAA2B,EAC3B,OAAO,EACP,QAAgB,EAChB,SAAS,EACT,eAAuB,EACvB,SAAe,GAChB,EAAE,cAAc,2CA0GhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timezone-select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/timezone-select.tsx"],"names":[],"mappings":"AAwCA,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,4EAA4E;IAC5E,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"timezone-select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/timezone-select.tsx"],"names":[],"mappings":"AAwCA,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,4EAA4E;IAC5E,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,WAAmC,EACnC,QAAgB,EAChB,SAAS,EACT,SAAgB,EAChB,EAAE,GACH,EAAE,mBAAmB,2CAkBrB"}
|
|
@@ -37,7 +37,7 @@ const timezones = [
|
|
|
37
37
|
function TimezoneSelect({
|
|
38
38
|
value,
|
|
39
39
|
onChange,
|
|
40
|
-
placeholder = "
|
|
40
|
+
placeholder = "Select time zone...",
|
|
41
41
|
disabled = false,
|
|
42
42
|
className,
|
|
43
43
|
clearable = true,
|
|
@@ -52,8 +52,8 @@ function TimezoneSelect({
|
|
|
52
52
|
value,
|
|
53
53
|
onChange: (value2) => onChange(value2),
|
|
54
54
|
placeholder,
|
|
55
|
-
searchPlaceholder: "
|
|
56
|
-
emptyMessage: "No
|
|
55
|
+
searchPlaceholder: "Search time zone...",
|
|
56
|
+
emptyMessage: "No time zones found.",
|
|
57
57
|
disabled,
|
|
58
58
|
clearable,
|
|
59
59
|
id,
|
|
@@ -54,15 +54,15 @@ function UserDisplay({
|
|
|
54
54
|
});
|
|
55
55
|
loadedRef.current = { userId: value, teamId: effectiveTeamId };
|
|
56
56
|
} else {
|
|
57
|
-
setError("
|
|
57
|
+
setError("User not found");
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
} else {
|
|
61
|
-
setError("Error
|
|
61
|
+
setError("Error loading user");
|
|
62
62
|
}
|
|
63
63
|
} catch (err) {
|
|
64
64
|
console.error("[UserDisplay] Error fetching user:", err);
|
|
65
|
-
setError("Error
|
|
65
|
+
setError("Error loading user");
|
|
66
66
|
} finally {
|
|
67
67
|
setLoading(false);
|
|
68
68
|
}
|
|
@@ -73,7 +73,7 @@ function UserDisplay({
|
|
|
73
73
|
return /* @__PURE__ */ jsx("span", { className: cn("text-muted-foreground", className), children: "-" });
|
|
74
74
|
}
|
|
75
75
|
if (loading) {
|
|
76
|
-
return /* @__PURE__ */ jsx("span", { className: cn("text-muted-foreground", className), children: "
|
|
76
|
+
return /* @__PURE__ */ jsx("span", { className: cn("text-muted-foreground", className), children: "Loading..." });
|
|
77
77
|
}
|
|
78
78
|
if (error || !userData) {
|
|
79
79
|
return /* @__PURE__ */ jsx("span", { className: cn("text-muted-foreground", className), children: value });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/user-select.tsx"],"names":[],"mappings":"AAaA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAGD,KAAK,aAAa,GAAG,YAAY,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;AAElF,UAAU,eAAe;IACvB,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IACrD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAU,EACV,QAAQ,EACR,QAAgB,EAChB,QAAQ,EACR,QAAgB,EAChB,SAAS,EACT,
|
|
1
|
+
{"version":3,"file":"user-select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/user-select.tsx"],"names":[],"mappings":"AAaA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAGD,KAAK,aAAa,GAAG,YAAY,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;AAElF,UAAU,eAAe;IACvB,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IACrD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAU,EACV,QAAQ,EACR,QAAgB,EAChB,QAAQ,EACR,QAAgB,EAChB,SAAS,EACT,WAA+B,EAC/B,iBAAqC,EACrC,QAAQ,EACR,QAAQ,EACR,WAAmB,EACnB,UAAe,EACf,MAAM,GACP,EAAE,eAAe,2CAmXjB"}
|