@open-mercato/core 0.6.4-develop.3929.1.fcf7afece2 → 0.6.4-develop.3944.1.4100aa7fbe

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.
Files changed (72) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/modules/customers/backend/customers/deals/create/page.js +3 -61
  3. package/dist/modules/customers/backend/customers/deals/create/page.js.map +2 -2
  4. package/dist/modules/customers/components/detail/DealForm.js +2 -0
  5. package/dist/modules/customers/components/detail/DealForm.js.map +2 -2
  6. package/dist/modules/customers/components/detail/create/CreateDealForm.js +233 -0
  7. package/dist/modules/customers/components/detail/create/CreateDealForm.js.map +7 -0
  8. package/dist/modules/customers/components/detail/create/DealAssociationsField.js +209 -0
  9. package/dist/modules/customers/components/detail/create/DealAssociationsField.js.map +7 -0
  10. package/dist/modules/customers/components/detail/create/DealAssociationsSection.js +67 -0
  11. package/dist/modules/customers/components/detail/create/DealAssociationsSection.js.map +7 -0
  12. package/dist/modules/customers/components/detail/create/DealCreateSidebar.js +73 -0
  13. package/dist/modules/customers/components/detail/create/DealCreateSidebar.js.map +7 -0
  14. package/dist/modules/customers/components/detail/create/DealCurrencyField.js +92 -0
  15. package/dist/modules/customers/components/detail/create/DealCurrencyField.js.map +7 -0
  16. package/dist/modules/customers/components/detail/create/DealCustomAttributes.js +81 -0
  17. package/dist/modules/customers/components/detail/create/DealCustomAttributes.js.map +7 -0
  18. package/dist/modules/customers/components/detail/create/DealDetailsFields.js +171 -0
  19. package/dist/modules/customers/components/detail/create/DealDetailsFields.js.map +7 -0
  20. package/dist/modules/customers/components/detail/create/DealFormField.js +24 -0
  21. package/dist/modules/customers/components/detail/create/DealFormField.js.map +7 -0
  22. package/dist/modules/customers/components/detail/create/DealSectionCard.js +29 -0
  23. package/dist/modules/customers/components/detail/create/DealSectionCard.js.map +7 -0
  24. package/dist/modules/customers/components/detail/create/DealTipsCard.js +19 -0
  25. package/dist/modules/customers/components/detail/create/DealTipsCard.js.map +7 -0
  26. package/dist/modules/customers/components/detail/create/PipelineSelect.js +41 -0
  27. package/dist/modules/customers/components/detail/create/PipelineSelect.js.map +7 -0
  28. package/dist/modules/customers/components/detail/create/PipelineStageSelect.js +49 -0
  29. package/dist/modules/customers/components/detail/create/PipelineStageSelect.js.map +7 -0
  30. package/dist/modules/customers/components/detail/create/SuffixInput.js +21 -0
  31. package/dist/modules/customers/components/detail/create/SuffixInput.js.map +7 -0
  32. package/dist/modules/customers/components/detail/create/dealCustomFieldControl.js +270 -0
  33. package/dist/modules/customers/components/detail/create/dealCustomFieldControl.js.map +7 -0
  34. package/dist/modules/customers/components/detail/create/dealFormTypes.js +17 -0
  35. package/dist/modules/customers/components/detail/create/dealFormTypes.js.map +7 -0
  36. package/dist/modules/customers/components/detail/create/dealNumericInput.js +16 -0
  37. package/dist/modules/customers/components/detail/create/dealNumericInput.js.map +7 -0
  38. package/dist/modules/customers/components/detail/create/useDealCustomFields.js +93 -0
  39. package/dist/modules/customers/components/detail/create/useDealCustomFields.js.map +7 -0
  40. package/dist/modules/customers/components/detail/create/useDealPipelines.js +59 -0
  41. package/dist/modules/customers/components/detail/create/useDealPipelines.js.map +7 -0
  42. package/dist/modules/customers/components/formConfig.js +4 -2
  43. package/dist/modules/customers/components/formConfig.js.map +2 -2
  44. package/dist/modules/dictionaries/components/DictionaryEntrySelect.js +5 -2
  45. package/dist/modules/dictionaries/components/DictionaryEntrySelect.js.map +2 -2
  46. package/package.json +7 -7
  47. package/src/modules/customers/backend/customers/deals/create/page.tsx +3 -64
  48. package/src/modules/customers/components/detail/DealForm.tsx +2 -0
  49. package/src/modules/customers/components/detail/create/CreateDealForm.tsx +254 -0
  50. package/src/modules/customers/components/detail/create/DealAssociationsField.tsx +253 -0
  51. package/src/modules/customers/components/detail/create/DealAssociationsSection.tsx +72 -0
  52. package/src/modules/customers/components/detail/create/DealCreateSidebar.tsx +79 -0
  53. package/src/modules/customers/components/detail/create/DealCurrencyField.tsx +108 -0
  54. package/src/modules/customers/components/detail/create/DealCustomAttributes.tsx +118 -0
  55. package/src/modules/customers/components/detail/create/DealDetailsFields.tsx +171 -0
  56. package/src/modules/customers/components/detail/create/DealFormField.tsx +39 -0
  57. package/src/modules/customers/components/detail/create/DealSectionCard.tsx +40 -0
  58. package/src/modules/customers/components/detail/create/DealTipsCard.tsx +26 -0
  59. package/src/modules/customers/components/detail/create/PipelineSelect.tsx +55 -0
  60. package/src/modules/customers/components/detail/create/PipelineStageSelect.tsx +70 -0
  61. package/src/modules/customers/components/detail/create/SuffixInput.tsx +20 -0
  62. package/src/modules/customers/components/detail/create/dealCustomFieldControl.tsx +310 -0
  63. package/src/modules/customers/components/detail/create/dealFormTypes.ts +29 -0
  64. package/src/modules/customers/components/detail/create/dealNumericInput.ts +20 -0
  65. package/src/modules/customers/components/detail/create/useDealCustomFields.ts +118 -0
  66. package/src/modules/customers/components/detail/create/useDealPipelines.ts +80 -0
  67. package/src/modules/customers/components/formConfig.tsx +3 -0
  68. package/src/modules/customers/i18n/de.json +26 -0
  69. package/src/modules/customers/i18n/en.json +26 -0
  70. package/src/modules/customers/i18n/es.json +26 -0
  71. package/src/modules/customers/i18n/pl.json +26 -0
  72. package/src/modules/dictionaries/components/DictionaryEntrySelect.tsx +12 -1
@@ -665,8 +665,34 @@
665
665
  "customers.deal_analyzer.sheet.dock": "Anclar al lado",
666
666
  "customers.deal_analyzer.sheet.title": "Analizador de negocios",
667
667
  "customers.deal_analyzer.sheet.welcomeTitle": "Analizador de negocios",
668
+ "customers.deals.create.associations.companiesPlaceholder": "Buscar empresas por nombre o dominio…",
669
+ "customers.deals.create.associations.peoplePlaceholder": "Buscar personas por nombre o correo…",
670
+ "customers.deals.create.back": "Volver a oportunidades",
671
+ "customers.deals.create.cancel": "Cancelar",
668
672
  "customers.deals.create.error": "No se pudo crear la oportunidad.",
673
+ "customers.deals.create.fields.datePlaceholder": "Elegir una fecha",
674
+ "customers.deals.create.fields.expectedCloseAt": "Fecha de cierre prevista",
675
+ "customers.deals.create.fields.probability": "Probabilidad",
676
+ "customers.deals.create.fields.stageOf": "· etapa {position} de {total}",
677
+ "customers.deals.create.fields.title": "Título de la oportunidad",
678
+ "customers.deals.create.fields.valueAmount": "Valor de la oportunidad",
679
+ "customers.deals.create.hints.pipelineStage": "Las etapas dependen del pipeline seleccionado",
680
+ "customers.deals.create.hints.probability": "0 – 100 %, usada para el valor ponderado del pipeline",
681
+ "customers.deals.create.hints.title": "Nombre corto y descriptivo que se muestra en las tarjetas del pipeline",
682
+ "customers.deals.create.hints.valueAmount": "Ingresos potenciales de esta oportunidad",
683
+ "customers.deals.create.sections.associations.subtitle": "Vincula personas y empresas a esta oportunidad",
684
+ "customers.deals.create.sections.associations.title": "Asociaciones",
685
+ "customers.deals.create.sections.custom.empty": "Aún no hay campos personalizados definidos para oportunidades.",
686
+ "customers.deals.create.sections.custom.loading": "Cargando campos personalizados…",
687
+ "customers.deals.create.sections.custom.manage": "Gestionar campos",
688
+ "customers.deals.create.sections.custom.subtitle": "{count} campos definidos para este tenant",
689
+ "customers.deals.create.sections.custom.title": "Atributos personalizados",
690
+ "customers.deals.create.sections.details.subtitle": "Información principal de la oportunidad",
669
691
  "customers.deals.create.submit": "Crear oportunidad",
692
+ "customers.deals.create.tips.item1": "Usa el formato nombre de la empresa + entregable corto en el título (p. ej. \"Copperleaf — Q3 Renewal\")",
693
+ "customers.deals.create.tips.item2": "Define la probabilidad según la etapa del pipeline: Calificación 10-25 %, Propuesta 30-50 %, Negociación 50-75 %, Contrato 75-90 %",
694
+ "customers.deals.create.tips.item3": "Vincula al principal responsable de la decisión como primera persona — recibe la copia (CC) por defecto en las actividades",
695
+ "customers.deals.create.tips.title": "Consejos para mejores oportunidades",
670
696
  "customers.deals.create.title": "Crear oportunidad",
671
697
  "customers.deals.detail.actions.apply": "Apply",
672
698
  "customers.deals.detail.actions.backToList": "Volver a los deals",
@@ -665,8 +665,34 @@
665
665
  "customers.deal_analyzer.sheet.dock": "Zadokuj z boku",
666
666
  "customers.deal_analyzer.sheet.title": "Analizator transakcji",
667
667
  "customers.deal_analyzer.sheet.welcomeTitle": "Analizator transakcji",
668
+ "customers.deals.create.associations.companiesPlaceholder": "Szukaj firm po nazwie lub domenie…",
669
+ "customers.deals.create.associations.peoplePlaceholder": "Szukaj osób po nazwie lub e-mailu…",
670
+ "customers.deals.create.back": "Powrót do szans sprzedaży",
671
+ "customers.deals.create.cancel": "Anuluj",
668
672
  "customers.deals.create.error": "Nie udało się utworzyć szansy.",
673
+ "customers.deals.create.fields.datePlaceholder": "Wybierz datę",
674
+ "customers.deals.create.fields.expectedCloseAt": "Przewidywana data zamknięcia",
675
+ "customers.deals.create.fields.probability": "Prawdopodobieństwo",
676
+ "customers.deals.create.fields.stageOf": "· etap {position} z {total}",
677
+ "customers.deals.create.fields.title": "Tytuł szansy",
678
+ "customers.deals.create.fields.valueAmount": "Wartość szansy",
679
+ "customers.deals.create.hints.pipelineStage": "Etapy zależą od wybranego lejka",
680
+ "customers.deals.create.hints.probability": "0 – 100%, używane do ważonej wartości lejka",
681
+ "customers.deals.create.hints.title": "Krótka, opisowa nazwa wyświetlana na kartach lejka",
682
+ "customers.deals.create.hints.valueAmount": "Potencjalny przychód z tej szansy",
683
+ "customers.deals.create.sections.associations.subtitle": "Powiąż osoby i firmy z tą szansą",
684
+ "customers.deals.create.sections.associations.title": "Powiązania",
685
+ "customers.deals.create.sections.custom.empty": "Nie zdefiniowano jeszcze pól niestandardowych dla szans sprzedaży.",
686
+ "customers.deals.create.sections.custom.loading": "Ładowanie pól niestandardowych…",
687
+ "customers.deals.create.sections.custom.manage": "Zarządzaj polami",
688
+ "customers.deals.create.sections.custom.subtitle": "{count} pól zdefiniowanych dla tego najemcy",
689
+ "customers.deals.create.sections.custom.title": "Atrybuty niestandardowe",
690
+ "customers.deals.create.sections.details.subtitle": "Podstawowe informacje o szansie",
669
691
  "customers.deals.create.submit": "Utwórz szansę",
692
+ "customers.deals.create.tips.item1": "Użyj w tytule formatu nazwa firmy + krótki rezultat (np. \"Copperleaf — Q3 Renewal\")",
693
+ "customers.deals.create.tips.item2": "Ustaw prawdopodobieństwo na podstawie etapu lejka: Kwalifikacja 10-25%, Oferta 30-50%, Negocjacje 50-75%, Umowa 75-90%",
694
+ "customers.deals.create.tips.item3": "Powiąż głównego decydenta jako pierwszą osobę — domyślnie otrzyma kopię (CC) e-maili przy aktywnościach",
695
+ "customers.deals.create.tips.title": "Wskazówki dla lepszych szans sprzedaży",
670
696
  "customers.deals.create.title": "Utwórz szansę",
671
697
  "customers.deals.detail.actions.apply": "Apply",
672
698
  "customers.deals.detail.actions.backToList": "Powrót do listy szans",
@@ -70,6 +70,7 @@ export type DictionarySelectLabels = {
70
70
  }
71
71
 
72
72
  export type DictionaryEntrySelectProps = {
73
+ id?: string
73
74
  value?: string
74
75
  onChange: (value: string | undefined) => void
75
76
  fetchOptions: () => Promise<DictionaryOption[]>
@@ -83,9 +84,17 @@ export type DictionaryEntrySelectProps = {
83
84
  disabled?: boolean
84
85
  showLabelInput?: boolean
85
86
  showManage?: boolean
87
+ /**
88
+ * When false, hides the read-only appearance preview (color swatch + icon + hex)
89
+ * rendered below the trigger for the currently-selected entry. Defaults to true to
90
+ * preserve existing behavior; set false where the host only wants a plain select
91
+ * (e.g. a create form that shouldn't surface dictionary styling).
92
+ */
93
+ showActiveAppearance?: boolean
86
94
  }
87
95
 
88
96
  export function DictionaryEntrySelect({
97
+ id,
89
98
  value,
90
99
  onChange,
91
100
  fetchOptions,
@@ -99,6 +108,7 @@ export function DictionaryEntrySelect({
99
108
  disabled: disabledProp = false,
100
109
  showLabelInput = true,
101
110
  showManage = true,
111
+ showActiveAppearance = true,
102
112
  }: DictionaryEntrySelectProps) {
103
113
  const pathname = usePathname()
104
114
  const searchParams = useSearchParams()
@@ -247,6 +257,7 @@ export function DictionaryEntrySelect({
247
257
  disabled={disabled}
248
258
  >
249
259
  <SelectTrigger
260
+ id={id}
250
261
  className={selectClassName}
251
262
  title={activeOption?.label ?? undefined}
252
263
  >
@@ -345,7 +356,7 @@ export function DictionaryEntrySelect({
345
356
  ) : null}
346
357
  </div>
347
358
  </div>
348
- {activeOption && (activeOption.icon || activeOption.color) ? (
359
+ {showActiveAppearance && activeOption && (activeOption.icon || activeOption.color) ? (
349
360
  <div className="flex items-center gap-2 text-xs text-muted-foreground">
350
361
  <span className="inline-flex items-center gap-2 rounded border border-dashed px-2 py-1">
351
362
  {activeOption.icon ? renderDictionaryIcon(activeOption.icon, 'h-4 w-4') : null}