@digiform/wizard 0.3.6 → 0.5.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.
Files changed (40) hide show
  1. package/{ui/src/component-registry → core/src/registry}/renderComponent.js +1 -1
  2. package/{ui/src/lib → core/src/utils}/logger.js +2 -1
  3. package/features/form-runtime/ComponentAdapterComplete/ComponentAdapterComplete.d.ts +2 -3
  4. package/features/form-runtime/components/renderers/InteractiveFieldRenderer/InteractiveFieldRenderer.d.ts +2 -4
  5. package/package.json +1 -1
  6. package/renderer/RHCRenderer.d.ts +2 -0
  7. package/renderer/rhc-field-type-map.d.ts +5 -0
  8. package/renderer/rhc-selection.config.d.ts +0 -0
  9. package/styles.css +1 -1
  10. package/wizard/src/features/api-integration/components/EnhancedActionExecutor/EnhancedActionExecutor.js +1 -2
  11. package/wizard/src/features/form-runtime/ComponentAdapterComplete/ComponentAdapterComplete.js +33 -47
  12. package/wizard/src/features/form-runtime/FormWizard/FormWizard.js +35 -35
  13. package/wizard/src/features/form-runtime/components/FormField.js +24 -30
  14. package/wizard/src/features/form-runtime/components/FormFooter.js +18 -19
  15. package/wizard/src/features/form-runtime/components/FormHeader.js +3 -3
  16. package/wizard/src/features/form-runtime/components/FormStep/FormStep.js +1 -2
  17. package/wizard/src/features/form-runtime/components/renderers/DisplayModeRenderer/DisplayModeRenderer.js +7 -16
  18. package/wizard/src/features/form-runtime/components/renderers/InteractiveFieldRenderer/InteractiveFieldRenderer.js +21 -34
  19. package/wizard/src/features/form-runtime/utils/formDataBuilder.js +4 -5
  20. package/wizard/src/features/validation-system/validation/ActionValidation.js +7 -8
  21. package/wizard/src/renderer/RHCRenderer.js +160 -0
  22. package/wizard/src/renderer/rhc-field-type-map.js +25 -0
  23. package/renderer/wizardRenderer.d.ts +0 -2
  24. package/ui/src/components/checkbox/checkbox.js +0 -20
  25. package/ui/src/components/checkbox/checkbox.module.css.js +0 -10
  26. package/ui/src/components/input/input.js +0 -20
  27. package/ui/src/components/input/input.module.css.js +0 -8
  28. package/ui/src/components/radio-group/radio-group.js +0 -30
  29. package/ui/src/components/radio-group/radio-group.module.css.js +0 -14
  30. package/ui/src/components/select/select.js +0 -115
  31. package/ui/src/components/select/select.module.css.js +0 -32
  32. package/ui/src/components/textarea/textarea.js +0 -19
  33. package/ui/src/components/textarea/textarea.module.css.js +0 -8
  34. package/ui/src/design-system/components/FormFieldWrapper.js +0 -16
  35. package/wizard/src/renderer/wizardRenderer.js +0 -123
  36. /package/{ui/src/lib → core/src}/providers/FormEditingContext.js +0 -0
  37. /package/{ui/src/theme/ThemeProvider.js → core/src/providers/ThemeContext.js} +0 -0
  38. /package/{ui/src/lib → core/src}/types/guards.js +0 -0
  39. /package/{ui/src/lib → core/src}/utils/componentUtils.js +0 -0
  40. /package/{ui/src/lib → core/src}/utils/templateDialogResolver.js +0 -0
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  let r = null;
3
3
  const n = (e) => {
4
- r = e;
4
+ r !== e && (r = e);
5
5
  }, o = (e) => r ? r(e) : (console.error(
6
6
  "[renderComponent] No renderer registered. Ensure @formbuilder/builder has been initialised before rendering form components."
7
7
  ), null);
@@ -99,8 +99,9 @@ const m = new f();
99
99
  process.env.NODE_ENV === "development" && (m.setLevel(
100
100
  0
101
101
  /* DEBUG */
102
- ), console.log("🔧 Logger initialized in development mode with DEBUG level"));
102
+ ), console.log("Logger initialized in development mode with DEBUG level"));
103
103
  export {
104
104
  l as LogLevel,
105
+ f as Logger,
105
106
  m as logger
106
107
  };
@@ -1,5 +1,4 @@
1
- import { FormErrors, ComponentConfig as FormWizardComponentConfig } from '../../../../../core/src/index.ts';
2
- import { ComponentValue } from '../../../../../ui/src/index.ts';
1
+ import { FormErrors, ComponentConfig as FormWizardComponentConfig, ComponentValue } from '../../../../../core/src/index.ts';
3
2
  /**
4
3
  * This adapter bridges the gap between the form wizard component config and the flow component config
5
4
  * It converts the simpler form wizard component config to the format expected by the component registry
@@ -15,5 +14,5 @@ export declare const adaptComponentForRegistry: (component: FormWizardComponentC
15
14
  error?: string;
16
15
  }>;
17
16
  };
18
- }) => React.ReactNode;
17
+ }, invalid?: boolean, errorMessage?: string) => React.ReactNode;
19
18
  export default adaptComponentForRegistry;
@@ -1,12 +1,10 @@
1
- import { ComponentConfig, FormFieldApi } from '../../../../../../../core/src/index.ts';
2
- import { ComponentValue as RegistryComponentValue } from '../../../../../../../ui/src/index.ts';
1
+ import { ComponentConfig, ComponentValue, FormFieldApi } from '../../../../../../../core/src/index.ts';
3
2
  interface InteractiveFieldRendererProps {
4
3
  component: ComponentConfig;
5
4
  field: FormFieldApi;
6
5
  readOnly: boolean;
7
- needsFormFieldWrapper: boolean;
8
6
  isSubmitAttempted: boolean;
9
- onChange: (value: RegistryComponentValue) => void;
7
+ onChange: (value: ComponentValue) => void;
10
8
  onBlur: () => void;
11
9
  }
12
10
  export declare const InteractiveFieldRenderer: React.FC<InteractiveFieldRendererProps>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digiform/wizard",
3
- "version": "0.3.6",
3
+ "version": "0.5.0",
4
4
  "description": "React component for rendering configurable multi-step forms from a JSON config",
5
5
  "author": "VladAfanasev",
6
6
  "license": "MIT",
@@ -0,0 +1,2 @@
1
+ import { RenderComponentFn } from '../../../core/src/index.ts';
2
+ export declare const rhcRenderer: RenderComponentFn;
@@ -0,0 +1,5 @@
1
+ import { default as React } from 'react';
2
+ export declare const wizardFieldTypeMap: Record<string, {
3
+ component: React.ComponentType<any>;
4
+ included: string[];
5
+ }>;
File without changes
package/styles.css CHANGED
@@ -1 +1 @@
1
- :root{font-family:var(--fb-font-family-sans);--fb-primary: #7c3aed;--fb-primary-600: #7c3aed;--fb-primary-hover: #6d28d9;--fb-primary-active: #5b21b6;--fb-primary-dark: #4c1d95;--fb-primary-border: #c4b5fd;--fb-primary-foreground: #ffffff;--fb-primary-subtle: #ede9fe;--fb-primary-subtle-50: rgba(237, 233, 254, .5);--fb-background: #ffffff;--fb-surface: #fafaf9;--fb-surface-accent: #f5f3ff;--fb-surface-emphasis: #ede9fe;--fb-surface-subtle: #f5f3ff;--fb-border: #ddd6fe;--fb-border-focus: #7c3aed;--fb-border-width: 1px;--fb-text: #0f0a1e;--fb-text-muted: #6b6480;--fb-text-on-primary: #ffffff;--fb-error: #dc2626;--fb-error-hover: #b91c1c;--fb-error-dark: #7f1d1d;--fb-error-muted: #fca5a5;--fb-error-subtle: #fecaca;--fb-error-border: #fca5a5;--fb-error-translucent: rgba(220, 38, 38, .3);--fb-error-surface: #fef2f2;--fb-success: #16a34a;--fb-success-hover: #15803d;--fb-success-bright: #22c55e;--fb-success-subtle: #bbf7d0;--fb-success-dark: #166534;--fb-success-surface: #f0fdf4;--fb-warning: #d97706;--fb-warning-surface: #fffbeb;--fb-info: #7c3aed;--fb-info-surface: #ede9fe;--fb-canvas-background: #f3f3f3;--fb-neutral-50: #f9fafb;--fb-neutral-100: #ede9fe;--fb-neutral-200: #ddd6fe;--fb-neutral-300: #a78bfa;--fb-neutral-500: #7c6b99;--fb-neutral-900: #1e1030;--fb-accent: #f5f3ff;--fb-accent-rgb: 245, 243, 255;--fb-amber-100: #fef3c7;--fb-amber-300: #fcd34d;--fb-amber-800: #92400e;--fb-violet-100: #ede9fe;--fb-violet-300: #c4b5fd;--fb-violet-700: #6d28d9;--fb-violet-800: #5b21b6;--fb-cyan-100: #cffafe;--fb-cyan-300: #67e8f9;--fb-cyan-800: #155e75;--fb-lime-100: #ecfccb;--fb-lime-300: #bef264;--fb-lime-800: #3f6212;--fb-pink-100: #fce7f3;--fb-pink-300: #f9a8d4;--fb-pink-800: #9d174d;--fb-warning-border: #fef08a;--fb-font-family-mono: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;--fb-font-family-sans: "DM Sans", system-ui, sans-serif;--fb-font-size-2xs: .625rem;--fb-font-size-xs: .75rem;--fb-font-size-sm: .875rem;--fb-font-size-md: 1rem;--fb-font-size-lg: 1.125rem;--fb-font-size-xl: 1.25rem;--fb-font-size-2xl: 1.5rem;--fb-font-weight-normal: 400;--fb-font-weight-medium: 500;--fb-font-weight-semibold: 600;--fb-font-weight-bold: 700;--fb-line-height-tight: 1.25;--fb-line-height-normal: 1.5;--fb-line-height-relaxed: 1.75;--fb-space-50: .25rem;--fb-space-100: .5rem;--fb-space-150: .75rem;--fb-space-200: 1rem;--fb-space-250: 1.25rem;--fb-space-300: 1.5rem;--fb-space-350: 1.75rem;--fb-space-400: 2rem;--fb-space-450: 2.25rem;--fb-space-500: 2.5rem;--fb-space-550: 2.75rem;--fb-space-600: 3rem;--fb-space-650: 3.25rem;--fb-space-700: 3.5rem;--fb-space-xs: var(--fb-space-50);--fb-space-sm: var(--fb-space-100);--fb-space-md: var(--fb-space-200);--fb-space-lg: var(--fb-space-300);--fb-space-xl: var(--fb-space-400);--fb-space-2xl: var(--fb-space-600);--fb-space-3xl: var(--fb-space-700);--fb-space-md-neg: calc(-1 * var(--fb-space-200));--fb-space-1: .0625rem;--fb-space-2: .125rem;--fb-space-3: .1875rem;--fb-space-6: .375rem;--fb-space-10: .625rem;--fb-space-12: var(--fb-space-150);--fb-space-14: .875rem;--fb-space-20: var(--fb-space-250);--fb-size-touch-target: var(--fb-space-500);--fb-padding-card: var(--fb-space-250);--fb-padding-card-sm: var(--fb-space-200);--fb-gap-section: var(--fb-space-200);--fb-gap-cards: var(--fb-space-150);--fb-gap-inline: var(--fb-space-sm);--fb-container-max-width: 64rem;--fb-popover-width: 18rem;--fb-radius-sm: .25rem;--fb-radius-md: .375rem;--fb-radius-lg: .5rem;--fb-radius-xl: .75rem;--fb-radius-full: 100vmax;--fb-shadow-sm: 0 1px 2px 0 rgb(124 58 237 / .08);--fb-shadow-md: 0 4px 6px -1px rgb(124 58 237 / .12), 0 2px 4px -2px rgb(124 58 237 / .08);--fb-shadow-lg: 0 10px 15px -3px rgb(124 58 237 / .15), 0 4px 6px -4px rgb(124 58 237 / .1);--fb-z-base: 0;--fb-z-raised: 1;--fb-z-dropdown: 1000;--fb-z-sticky: 1100;--fb-z-overlay: 1200;--fb-z-modal: 1300;--fb-z-toast: 1400}button,input,optgroup,select,textarea{font-family:inherit}.fb-alert_5UcaT{position:relative;inline-size:100%;border-radius:var(--fb-radius-md);border:var(--fb-border-width) solid var(--fb-border);padding:var(--fb-space-md)}.fb-alert_5UcaT>svg{position:absolute;left:var(--fb-space-md);top:var(--fb-space-md);color:var(--fb-text)}.fb-alert_5UcaT>svg~*{padding-inline-start:1.75rem}.fb-alert_5UcaT>svg+div{transform:translateY(-3px)}.fb-variant-default_yhEpY{background-color:var(--fb-background);color:var(--fb-text)}.fb-variant-destructive_rafp5{border-color:var(--fb-error);color:var(--fb-error)}.fb-variant-destructive_rafp5>svg{color:var(--fb-error)}.fb-alertTitle_-KE5o{margin-block-end:var(--fb-space-sm);font-weight:500;line-height:1;letter-spacing:-.025em}.fb-alertDescription_cg7Ke{font-size:var(--fb-font-size-sm)}.fb-alertDescription_cg7Ke p{line-height:1.625}.fb-button_MJLDl{display:inline-flex;align-items:center;justify-content:center;gap:var(--fb-space-sm);white-space:nowrap;border-radius:var(--fb-radius-md);font-size:var(--fb-font-size-md);font-weight:var(--fb-font-weight-semibold);transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease;cursor:pointer;outline:none;border:1px solid transparent}.fb-button_MJLDl:focus-visible{outline:2px solid var(--fb-border-focus);outline-offset:2px}.fb-button_MJLDl:disabled{pointer-events:none;opacity:.5}.fb-button_MJLDl span{font-size:inherit;font-weight:inherit;line-height:inherit}.fb-button_MJLDl svg{pointer-events:none;inline-size:1rem;block-size:1rem;flex-shrink:0}.fb-variant-default_KLx8b{background-color:var(--fb-primary);color:var(--fb-primary-foreground);border-color:var(--fb-primary);box-shadow:var(--fb-shadow-sm)}.fb-variant-default_KLx8b:hover:not(:disabled){background-color:var(--fb-primary-hover);border-color:var(--fb-primary-hover);box-shadow:var(--fb-shadow-md)}.fb-variant-default_KLx8b:active:not(:disabled){background-color:var(--fb-primary-active);border-color:var(--fb-primary-active);box-shadow:none}.fb-variant-destructive_vQKZ2{background-color:var(--fb-error);color:var(--fb-text-on-primary);border-color:var(--fb-error);box-shadow:var(--fb-shadow-sm)}.fb-variant-destructive_vQKZ2:hover:not(:disabled){background-color:var(--fb-error-hover);border-color:var(--fb-error-hover);box-shadow:var(--fb-shadow-md)}.fb-variant-destructive_vQKZ2:active:not(:disabled){background-color:var(--fb-error-dark);box-shadow:none}.fb-variant-outline_1Mb0E{background-color:var(--fb-background);color:var(--fb-text);border-color:var(--fb-border)}.fb-variant-outline_1Mb0E:hover:not(:disabled){background-color:var(--fb-surface-accent);border-color:var(--fb-primary-border);color:var(--fb-primary)}.fb-variant-outline_1Mb0E:active:not(:disabled){background-color:var(--fb-surface-emphasis);border-color:var(--fb-primary);color:var(--fb-primary)}.fb-variant-secondary_-bohS{background-color:var(--fb-neutral-100);color:var(--fb-text);border-color:var(--fb-neutral-200)}.fb-variant-secondary_-bohS:hover:not(:disabled){background-color:var(--fb-neutral-200);border-color:var(--fb-primary-border);color:var(--fb-primary)}.fb-variant-ghost_qml-f{background-color:transparent;color:var(--fb-text);border-color:transparent}.fb-variant-ghost_qml-f:hover:not(:disabled){background-color:var(--fb-surface-accent);color:var(--fb-primary)}.fb-variant-ghost_qml-f:active:not(:disabled){background-color:var(--fb-surface-emphasis);color:var(--fb-primary)}.fb-variant-link_aNj3r{background-color:transparent;color:var(--fb-primary);text-underline-offset:.25rem;border-color:transparent}.fb-variant-link_aNj3r:hover:not(:disabled){text-decoration:underline;color:var(--fb-primary-hover)}.fb-size-default_9qKVU{block-size:var(--fb-size-touch-target);padding-inline:var(--fb-space-md);padding-block:var(--fb-space-sm)}.fb-size-sm_MvjvS{block-size:2.25rem;padding-inline:var(--fb-space-12);border-radius:var(--fb-radius-md);font-size:var(--fb-font-size-xs)}.fb-size-lg_v6n8j{block-size:2.75rem;padding-inline:var(--fb-space-20);border-radius:var(--fb-radius-md);font-size:var(--fb-font-size-md);font-weight:var(--fb-font-weight-semibold)}.fb-size-icon_MYsET{block-size:var(--fb-size-touch-target);inline-size:var(--fb-size-touch-target);padding:0}.fb-checkbox_wsic0{block-size:1rem;inline-size:1rem;flex-shrink:0;border-radius:var(--fb-radius-sm);border:var(--fb-border-width) solid var(--fb-primary);cursor:pointer}.fb-checkbox_wsic0:focus-visible{outline:none;box-shadow:0 0 0 2px var(--fb-border)}.fb-checkbox_wsic0:disabled{cursor:not-allowed;opacity:.5}.fb-checkbox_wsic0[data-state=checked]{background-color:var(--fb-primary);color:var(--fb-text-on-primary)}.fb-checkboxIndicator_31Q4N{display:flex;align-items:center;justify-content:center;color:currentColor}.fb-checkboxIndicator_31Q4N svg{block-size:1rem;inline-size:1rem}.fb-input_RJ7IM{display:flex;block-size:var(--fb-size-touch-target);inline-size:100%;border-radius:var(--fb-radius-md);border:var(--fb-border-width) solid var(--fb-border);background-color:var(--fb-background);padding-inline:var(--fb-space-12);padding-block:var(--fb-space-sm);font-size:var(--fb-font-size-sm);color:var(--fb-text)}.fb-input_RJ7IM::placeholder{color:var(--fb-text-muted)}.fb-input_RJ7IM::file-selector-button{border:0;background-color:transparent;font-size:var(--fb-font-size-sm);font-weight:500;color:var(--fb-text)}.fb-input_RJ7IM:focus-visible{outline:none;box-shadow:0 0 0 2px var(--fb-border)}.fb-input_RJ7IM:disabled{cursor:not-allowed;opacity:.5}@media(min-width:768px){.fb-input_RJ7IM{font-size:var(--fb-font-size-sm)}}.fb-radioGroup_PqpPn{display:grid;gap:var(--fb-space-sm)}.fb-radioGroupItem_r91M1{aspect-ratio:1;block-size:1rem;inline-size:1rem;border-radius:var(--fb-radius-full);border:var(--fb-border-width) solid var(--fb-primary);color:var(--fb-primary);background-color:transparent;outline:none;transition:opacity .15s ease}.fb-radioGroupItem_r91M1:focus-visible{outline:2px solid var(--fb-border-focus);outline-offset:2px}.fb-radioGroupItem_r91M1:disabled{cursor:not-allowed;opacity:.5}.fb-radioIndicator_PFyGX{display:flex;align-items:center;justify-content:center}.fb-radioIndicatorIcon_vSsbY{block-size:.625rem;inline-size:.625rem;fill:currentColor;color:currentColor}.fb-selectTrigger_dj84x{display:flex;align-items:center;justify-content:space-between;block-size:2.5rem;inline-size:100%;border-radius:var(--fb-radius-md);border:var(--fb-border-width) solid var(--fb-border);background-color:var(--fb-background);padding-inline:var(--fb-space-6);padding-block:var(--fb-space-sm);font-size:var(--fb-font-size-sm)}.fb-selectTrigger_dj84x::placeholder{color:var(--fb-text-muted)}.fb-selectTrigger_dj84x:focus{outline:none;box-shadow:0 0 0 2px var(--fb-border-focus)}.fb-selectTrigger_dj84x:disabled{cursor:not-allowed;opacity:.5}.fb-selectTrigger_dj84x>span{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.fb-selectTriggerIcon_V8dav{block-size:1rem;inline-size:1rem;opacity:.5}.fb-selectScrollUpButton_c6WZR,.fb-selectScrollDownButton_kmWY4{display:flex;cursor:default;align-items:center;justify-content:center;padding-block:var(--fb-space-2)}.fb-selectScrollIcon_IZbZG{block-size:1rem;inline-size:1rem}.fb-selectContent_uJ-ZX{position:relative;z-index:50;max-block-size:24rem;min-inline-size:8rem;overflow:hidden;border-radius:var(--fb-radius-md);border:var(--fb-border-width) solid var(--fb-border);background-color:var(--fb-background);color:var(--fb-text);box-shadow:var(--fb-shadow-md)}.fb-selectContent_uJ-ZX[data-state=open]{animation:fb-selectContentIn_n9zpE .15s ease-out}.fb-selectContent_uJ-ZX[data-state=closed]{animation:fb-selectContentOut_rxdBe .15s ease-in}.fb-selectContent_uJ-ZX.fb-popper_uKkq9[data-side=bottom]{transform:translateY(.25rem)}.fb-selectContent_uJ-ZX.fb-popper_uKkq9[data-side=left]{transform:translate(-.25rem)}.fb-selectContent_uJ-ZX.fb-popper_uKkq9[data-side=right]{transform:translate(.25rem)}.fb-selectContent_uJ-ZX.fb-popper_uKkq9[data-side=top]{transform:translateY(-.25rem)}.fb-selectViewport_wcTaR{padding:var(--fb-space-2)}.fb-selectViewport_wcTaR.fb-popper_uKkq9{block-size:var(--radix-select-trigger-height);inline-size:100%;min-inline-size:var(--radix-select-trigger-width)}.fb-selectLabel_hb7ig{padding-block:var(--fb-space-3);padding-inline-start:var(--fb-space-md);padding-inline-end:var(--fb-space-sm);font-size:var(--fb-font-size-sm);font-weight:var(--fb-font-weight-semibold)}.fb-selectItem_f23oZ{position:relative;display:flex;inline-size:100%;cursor:default;-webkit-user-select:none;user-select:none;align-items:center;border-radius:var(--fb-radius-sm);padding-block:var(--fb-space-3);padding-inline-start:var(--fb-space-md);padding-inline-end:var(--fb-space-sm);font-size:var(--fb-font-size-sm);outline:none}.fb-selectItem_f23oZ:focus{background-color:var(--fb-accent);color:var(--fb-text)}.fb-selectItem_f23oZ[data-disabled]{pointer-events:none;opacity:.5}.fb-selectItemIndicator_PD-WQ{position:absolute;left:var(--fb-space-sm);display:flex;block-size:.875rem;inline-size:.875rem;align-items:center;justify-content:center}.fb-selectItemIndicatorIcon_kgB1I{block-size:1rem;inline-size:1rem}.fb-selectSeparator_DS7X2{margin-inline:calc(-1 * var(--fb-space-2));margin-block:var(--fb-space-2);block-size:1px;background-color:var(--fb-surface-accent)}@keyframes fb-selectContentIn_n9zpE{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fb-selectContentOut_rxdBe{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.fb-textarea_p4K5i{display:flex;min-block-size:5rem;inline-size:100%;border-radius:var(--fb-radius-md);border:var(--fb-border-width) solid var(--fb-border);background-color:var(--fb-background);padding-inline:var(--fb-space-12);padding-block:var(--fb-space-sm);font-size:var(--fb-font-size-sm);color:var(--fb-text)}.fb-textarea_p4K5i::placeholder{color:var(--fb-text-muted)}.fb-textarea_p4K5i:focus-visible{outline:none;box-shadow:0 0 0 2px var(--fb-border)}.fb-textarea_p4K5i:disabled{cursor:not-allowed;opacity:.5}.fb-wrapper_nDU5Q{display:flex;flex-direction:column;gap:var(--fb-space-sm)}.fb-progress_jf4Xd{appearance:none;background-color:var(--fb-primary-subtle);border:none;border-radius:8px;height:16px;overflow:hidden;width:100%}.fb-progress_jf4Xd::-webkit-progress-bar{background-color:transparent}.fb-progress_jf4Xd::-webkit-progress-value{background-color:var(--fb-primary);transition:all .4s cubic-bezier(.4,0,.2,1)}.fb-progress_jf4Xd::-moz-progress-bar{background-color:var(--fb-primary);transition:all .4s cubic-bezier(.4,0,.2,1)}label.fb-progressLabel_3nfSJ{font-size:var(--fb-font-size-sm);font-weight:var(--fb-font-weight-normal);line-height:var(--fb-line-height-normal)}.fb-completionMessage_OyQ9C{display:flex;align-items:center;gap:var(--fb-space-2);font-size:var(--fb-font-size-sm);color:var(--fb-success);animation:fb-fadeIn_iAZjj .3s ease-out}.fb-errorMessage_B8dGO{display:flex;align-items:center;justify-content:space-between;font-size:var(--fb-font-size-sm);color:var(--fb-error)}.fb-errorContent_2TAc5{display:flex;align-items:center;gap:var(--fb-space-2)}.fb-retryButton_0HfjY{display:flex;align-items:center;gap:var(--fb-space-1);font-weight:var(--fb-font-weight-medium);color:var(--fb-error);text-decoration:underline;text-underline-offset:2px;background:none;border:none;cursor:pointer}.fb-retryButton_0HfjY:hover{color:var(--fb-error-hover)}@keyframes fb-fadeIn_iAZjj{0%{opacity:0}to{opacity:1}}.fb-boxContainer_oXGAN{background-color:var(--fb-background);border-radius:var(--fb-radius-md);padding:var(--fb-space-md)}.fb-GridLayoutContainer_BZvnG{align-items:center;background-color:var(--grid-container-background-color);display:flex;flex-direction:column;justify-content:center;max-width:100vw;min-width:var(--fb-container-max-width)}.fb-GridLayoutContainerWithoutPadding_4kQ4C{padding-block:0}.fb-GridLayoutContainerFullWidth_pYcHf{min-width:100%;max-width:100%}.fb-GridLayout_A2c7k{container-type:inline-size;display:grid;gap:var(--grid-row-gap, var(--fb-space-12)) var(--grid-column-gap, var(--fb-space-md));grid-template-columns:repeat(var(--grid-column-max-columns, 12),1fr);grid-template-rows:auto;margin-left:auto;margin-right:auto;max-width:var(--fb-container-max-width);min-width:var(--fb-container-max-width);width:100%}.fb-GridLayoutFullWidth_NMi3Y{max-width:100%;min-width:100%}.fb-gridLayoutColumn_5TCzp{align-self:start;grid-column:var(--grid-column-start) / var(--grid-column-end);grid-row:var(--grid-row-start, auto) / var(--grid-row-end, auto)}.fb-stretch_n7mLP{align-self:stretch}.fb-formLayoutWrapper_w9jQ-{width:100%;font-family:inherit}.fb-titleSection_qd9UP{display:flex;flex-direction:column;align-items:flex-start;width:100%}.fb-leftColumn_zIdZO,.fb-rightColumn_P0J6U{display:flex;flex-direction:column;height:fit-content;min-height:0;position:sticky;top:0}.fb-footerSection_eW4js{display:flex;flex-direction:column;align-items:flex-start;width:100%;margin-top:var(--fb-space-md)}.fb-contentPadding_LMiyE{padding:var(--fb-space-12)}.fb-contentBorder_yYFFn{border:var(--fb-border-width) solid var(--fb-neutral-200);border-radius:var(--fb-radius-md);background-color:var(--fb-surface-accent)}@container (max-width: 768px){.fb-leftColumn_zIdZO,.fb-rightColumn_P0J6U{grid-column:1 / 13!important;margin-bottom:var(--fb-space-12)}.fb-mainContent_9ZW4m{grid-column:1 / 13!important}}@media print{.fb-formLayoutWrapper_w9jQ-{background:var(--fb-background)!important}.fb-contentBorder_yYFFn{border:var(--fb-border-width) solid var(--fb-border)!important;box-shadow:none!important}}.fb-errorState_khSRW{padding:var(--fb-space-md);border:var(--fb-border-width) solid var(--fb-error-translucent);background-color:var(--fb-error-surface);color:var(--fb-error);border-radius:var(--fb-radius-md)}.fb-errorHeading_dGdN2{font-weight:500;margin-block-end:var(--fb-space-sm)}.fb-loadingState_Pdhds{padding:var(--fb-space-md);text-align:center;color:var(--fb-text-muted)}.fb-loadingPulse_QIw08{animation:fb-pulse_7Ml6n 2s ease-in-out infinite}@keyframes fb-pulse_7Ml6n{0%,to{opacity:1}50%{opacity:.5}}.fb-formLayout_JzC8E{margin-block:var(--fb-space-xl)}.fb-stepContent_EU1uV{display:flex;flex-direction:column;gap:var(--fb-space-lg)}.fb-loaderWrapper_00phH{margin-block-end:var(--fb-space-md)}.fb-footer_r0kdp{margin-block-start:var(--fb-space-lg)}.fb-container_p6qC4{margin-block-end:var(--fb-space-sm);padding-block-end:var(--fb-space-md);border-block-end:var(--fb-border-width) solid var(--fb-border)}.fb-disabled_EuvTp{opacity:.5}.fb-prevButtonDisabled_Wj2Qp{opacity:.5;cursor:default}.fb-additionalContent_0tppE{margin-block-start:var(--fb-space-md)}.fb-section_5kbZU{margin-block-end:var(--fb-space-lg)}.fb-sectionHeader_aVzgk{display:flex;justify-content:space-between;align-items:center;margin-block-end:var(--fb-space-md)}.fb-cancelButton_PyIZH{font-size:var(--fb-font-size-sm);color:var(--fb-text-muted);display:flex;align-items:center;gap:var(--fb-space-2);background:none;border:none;cursor:pointer}.fb-editButton_dbSFX{font-size:var(--fb-font-size-sm);color:var(--fb-info);display:flex;align-items:center;gap:var(--fb-space-2);background:none;border:none;cursor:pointer}.fb-sectionContent_wTlW-{display:flex;flex-direction:column;gap:var(--fb-space-md)}.fb-saveButtonsWrapper_VGuwW{display:flex;padding-block-start:var(--fb-space-md)}.fb-iconSm_yLpHW{width:1rem;height:1rem}.fb-alertList_d0DxG{display:flex;flex-direction:column;gap:var(--fb-space-sm)}.fb-errorFallback_CNx1M{padding:var(--fb-space-sm);border:var(--fb-border-width) solid var(--fb-error-translucent);background-color:var(--fb-error-surface);color:var(--fb-error);border-radius:var(--fb-radius-md)}.fb-errorDetail_Nvh9V{font-size:var(--fb-font-size-xs);margin-block-start:var(--fb-space-2)}.fb-displayWrapper_VYcQC{display:flex;flex-direction:column;gap:var(--fb-space-md)}.fb-emptyValue_baQFk{color:var(--fb-text-muted);font-style:italic}.fb-valueText_JCRsN{color:var(--fb-text)}.fb-fieldWrapper_rnKUQ{display:flex;flex-direction:column;gap:var(--fb-space-2)}.fb-card_Ry9d9{border-radius:var(--fb-radius-lg);border:var(--fb-border-width) solid var(--fb-border);background-color:var(--fb-background);color:var(--fb-text);box-shadow:var(--fb-shadow-md);overflow:hidden}.fb-cardCompact_wGBoD{border-radius:var(--fb-radius-md);box-shadow:var(--fb-shadow-sm)}.fb-cardHeader_exSCY{display:flex;flex-direction:column;gap:var(--fb-space-6);padding:var(--fb-padding-card)}.fb-cardHeaderStructured_UBow4{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--fb-space-200);padding:var(--fb-space-200) var(--fb-space-250);border-bottom:1px solid var(--fb-border);background:var(--fb-surface)}.fb-cardHeaderStructuredCompact_jH94z{padding:var(--fb-space-150) var(--fb-space-200)}.fb-cardHeaderLeft_PnQMU{flex:1;min-width:0}.fb-cardTitleRow_XU5Go{display:flex;align-items:center;gap:var(--fb-space-100);flex-wrap:wrap}.fb-cardTitleText_imcqj{font-size:var(--fb-font-size-sm);font-weight:var(--fb-font-weight-semibold);color:var(--fb-text);line-height:var(--fb-line-height-tight)}.fb-cardDescriptionText_oCoiA{font-size:var(--fb-font-size-xs);color:var(--fb-text-muted);margin-top:var(--fb-space-50);line-height:var(--fb-line-height-normal)}.fb-cardMeta_Ch80f{display:flex;gap:var(--fb-space-200);margin-top:var(--fb-space-100);flex-wrap:wrap}.fb-cardMetaItem_ggGU8{font-size:11px;color:var(--fb-text-muted);display:flex;align-items:center;gap:4px}.fb-cardHeaderRight_rEXk0{display:flex;align-items:center;gap:var(--fb-space-100);flex-shrink:0}.fb-cardBody_lIAav{padding:var(--fb-space-200) var(--fb-space-250)}.fb-cardBodyFlush_tfGIm{padding:0}.fb-cardFooter_BAcjS{display:flex;align-items:center;justify-content:flex-end;gap:var(--fb-space-100);padding:var(--fb-space-150) var(--fb-space-250);border-top:1px solid var(--fb-border);background:var(--fb-surface-accent)}.fb-cardDivider_-i-Kq{height:1px;background:var(--fb-border);margin:0 var(--fb-space-250)}.fb-cardTitle_mLAib{font-size:var(--fb-font-size-md);font-weight:var(--fb-font-weight-semibold);line-height:1;letter-spacing:-.025em;color:var(--fb-text)}.fb-cardDescription_iLv2K{font-size:var(--fb-font-size-xs);color:var(--fb-text-muted)}.fb-cardContent_HJ92K{padding:var(--fb-padding-card);padding-block-start:0}.fb-stepListWrapper_RTLUk{display:flex;flex-direction:column;font-family:inherit;gap:var(--fb-space-12)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4{color:var(--fb-text-muted);display:flex;flex-direction:row;gap:var(--fb-space-6);padding-bottom:var(--fb-space-2)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-leftContainer_o-gBE{align-items:center;display:flex;flex-direction:column;gap:var(--fb-space-xs);padding-top:var(--fb-space-2)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-leftContainer_o-gBE .fb-circle_3oinV{align-items:center;background-color:transparent;border:var(--fb-border-width) solid var(--fb-border);border-radius:var(--fb-radius-full);color:var(--fb-background);display:flex;justify-content:center;min-block-size:calc(1.25rem - 2 * var(--fb-border-width));min-inline-size:calc(1.25rem - 2 * var(--fb-border-width))}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-leftContainer_o-gBE .fb-circle_3oinV .fb-currentDot_0e9gN{background-color:var(--fb-primary);border-radius:var(--fb-radius-full);height:14px;width:14px}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-leftContainer_o-gBE .fb-connector_bDvRA{background-color:var(--fb-text-muted);block-size:100%;inline-size:1.5px;min-block-size:36px}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-content_u43H4{align-items:start;border-radius:var(--fb-radius-md);color:var(--fb-text-muted);display:flex;flex-direction:row;inline-size:100%;margin-block-end:var(--fb-space-6);padding:var(--fb-space-2) var(--fb-space-6);text-wrap:balance}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-content_u43H4 .fb-stepNumber_c2YRs{color:var(--fb-text-muted);font-size:var(--fb-font-size-sm);font-weight:var(--fb-font-weight-semibold);line-height:var(--fb-line-height-tight)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-content_u43H4 .fb-stepTitle_w5Be8{font-size:var(--fb-font-size-sm);line-height:var(--fb-line-height-normal)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-content_u43H4 .fb-stepLink_sqt2-{color:var(--fb-primary);cursor:pointer;font-weight:var(--fb-font-weight-normal);line-height:var(--fb-line-height-normal);text-decoration:underline}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-content_u43H4 .fb-stepLink_sqt2-:hover{color:var(--fb-primary-hover);text-decoration:underline}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-content_u43H4 .fb-stepLink_sqt2-:focus{outline-offset:2px;outline-style:solid;outline-width:2px;text-decoration:underline}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-iconRightContainer_DCjrS{align-self:center;block-size:1.25rem;color:var(--fb-primary);display:flex;inline-size:1.25rem;margin-inline-start:auto}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4.fb-completed_F-mOG .fb-leftContainer_o-gBE .fb-circle_3oinV{background-color:var(--fb-primary);border-color:var(--fb-primary);border-style:solid;border-width:var(--fb-border-width)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4.fb-completed_F-mOG .fb-leftContainer_o-gBE .fb-connector_bDvRA{background-color:var(--fb-primary)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4.fb-completed_F-mOG .fb-content_u43H4,.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4.fb-completed_F-mOG .fb-content_u43H4 .fb-stepNumber_c2YRs{color:var(--fb-text)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4.fb-current_QAO1e .fb-leftContainer_o-gBE .fb-circle_3oinV{border-color:var(--fb-primary);border-style:solid;border-width:var(--fb-border-width)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4.fb-current_QAO1e .fb-content_u43H4{background-color:var(--fb-background);color:var(--fb-text)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4.fb-current_QAO1e .fb-content_u43H4 .fb-stepNumber_c2YRs{color:var(--fb-text)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4.fb-inactive_tYqvV .fb-content_u43H4{color:var(--fb-text-muted)}.fb-dialogOverlay_GSMVm{position:fixed;inset:0;z-index:50;background-color:#000c}.fb-dialogOverlay_GSMVm[data-state=open]{animation:fb-dialogOverlayFadeIn_l-QHK .15s ease-out}.fb-dialogOverlay_GSMVm[data-state=closed]{animation:fb-dialogOverlayFadeOut_DewLt .15s ease-in}.fb-dialogContent_neUay{position:fixed;left:50%;top:50%;z-index:50;display:grid;width:100%;max-width:32rem;translate:-50% -50%;gap:var(--fb-space-sm);border:var(--fb-border-width) solid var(--fb-border);background-color:var(--fb-background);padding:var(--fb-space-12);box-shadow:var(--fb-shadow-lg);transition-duration:.2s}@media(min-width:640px){.fb-dialogContent_neUay{border-radius:var(--fb-radius-lg)}}.fb-dialogContent_neUay[data-state=open]{animation:fb-dialogContentSlideIn_oQPJG .2s ease-out}.fb-dialogContent_neUay[data-state=closed]{animation:fb-dialogContentSlideOut_nNdgq .2s ease-in}.fb-dialogClose_QbWkj{position:absolute;right:var(--fb-space-sm);top:var(--fb-space-sm);border-radius:var(--fb-radius-sm);opacity:.7;transition:opacity .15s}.fb-dialogClose_QbWkj:hover{opacity:1}.fb-dialogClose_QbWkj:focus{outline:none;box-shadow:0 0 0 2px var(--fb-border-focus);opacity:1}.fb-dialogClose_QbWkj:disabled{pointer-events:none}.fb-dialogClose_QbWkj[data-state=open]{background-color:var(--fb-accent);color:var(--fb-text-muted)}.fb-dialogCloseIcon_kK8c6{block-size:1rem;inline-size:1rem}.fb-dialogCloseIcon_kK8c6+span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fb-dialogHeader_df1-u{display:flex;flex-direction:column;gap:var(--fb-space-3);text-align:center}@media(min-width:640px){.fb-dialogHeader_df1-u{text-align:start}}.fb-dialogFooter_1vdJe{display:flex;flex-direction:column-reverse;gap:var(--fb-space-sm)}@media(min-width:640px){.fb-dialogFooter_1vdJe{flex-direction:row;justify-content:flex-end;gap:var(--fb-space-sm)}}.fb-dialogTitle_FS7k8{font-size:var(--fb-font-size-lg);font-weight:var(--fb-font-weight-semibold);line-height:1;letter-spacing:-.025em}.fb-dialogDescription_uEgTa{font-size:var(--fb-font-size-sm);color:var(--fb-text-muted)}@keyframes fb-dialogOverlayFadeIn_l-QHK{0%{opacity:0}to{opacity:1}}@keyframes fb-dialogOverlayFadeOut_DewLt{0%{opacity:1}to{opacity:0}}@keyframes fb-dialogContentSlideIn_oQPJG{0%{opacity:0;transform:translate(-50%,-48%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes fb-dialogContentSlideOut_nNdgq{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-48%) scale(.95)}}.fb-sheetOverlay_2nFRz{position:fixed;inset:0;z-index:50;background-color:#000c}.fb-sheetOverlay_2nFRz[data-state=open]{animation:fb-sheetOverlayFadeIn_AS-42 .15s ease-out}.fb-sheetOverlay_2nFRz[data-state=closed]{animation:fb-sheetOverlayFadeOut_Y-hE4 .15s ease-in}.fb-sheetContent_p2PyE{position:fixed;z-index:50;gap:var(--fb-space-sm);background-color:var(--fb-background);padding:var(--fb-space-12);box-shadow:var(--fb-shadow-lg);transition:transform .5s ease-in-out,opacity .5s ease-in-out}.fb-side-top_vnDBA{inset-inline:0;top:0;border-block-end:var(--fb-border-width) solid var(--fb-border)}.fb-side-top_vnDBA[data-state=open]{animation:fb-slideInFromTop_ujZFr .5s ease-in-out}.fb-side-top_vnDBA[data-state=closed]{animation:fb-slideOutToTop_sjz0S .3s ease-in-out}.fb-side-bottom_8Qo-6{inset-inline:0;bottom:0;border-block-start:var(--fb-border-width) solid var(--fb-border)}.fb-side-bottom_8Qo-6[data-state=open]{animation:fb-slideInFromBottom_5kG78 .5s ease-in-out}.fb-side-bottom_8Qo-6[data-state=closed]{animation:fb-slideOutToBottom_03WBw .3s ease-in-out}.fb-side-left_iSyK6{inset-block:0;left:0;block-size:100%;inline-size:75%;border-inline-end:var(--fb-border-width) solid var(--fb-border)}@media(min-width:640px){.fb-side-left_iSyK6{max-inline-size:24rem}}.fb-side-left_iSyK6[data-state=open]{animation:fb-slideInFromLeft_iFt5a .5s ease-in-out}.fb-side-left_iSyK6[data-state=closed]{animation:fb-slideOutToLeft_kRHa5 .3s ease-in-out}.fb-side-right_q-l6-{inset-block:0;right:0;block-size:100%;inline-size:75%;border-inline-start:var(--fb-border-width) solid var(--fb-border)}@media(min-width:640px){.fb-side-right_q-l6-{max-inline-size:24rem}}.fb-side-right_q-l6-[data-state=open]{animation:fb-slideInFromRight_elDbR .5s ease-in-out}.fb-side-right_q-l6-[data-state=closed]{animation:fb-slideOutToRight_HPV1P .3s ease-in-out}.fb-sheetClose_sq3cW{position:absolute;right:var(--fb-space-sm);top:var(--fb-space-sm);border-radius:var(--fb-radius-sm);opacity:.7;transition:opacity .15s}.fb-sheetClose_sq3cW:hover{opacity:1}.fb-sheetClose_sq3cW:focus{outline:none;box-shadow:0 0 0 2px var(--fb-border-focus);opacity:1}.fb-sheetClose_sq3cW:disabled{pointer-events:none}.fb-sheetClose_sq3cW[data-state=open]{background-color:var(--fb-surface)}.fb-sheetCloseIcon_2Z7S1{block-size:1rem;inline-size:1rem}.fb-sheetCloseIcon_2Z7S1+span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fb-sheetHeader_w9TtP{display:flex;flex-direction:column;gap:var(--fb-space-sm);text-align:center}@media(min-width:640px){.fb-sheetHeader_w9TtP{text-align:start}}.fb-sheetFooter_XN1p0{display:flex;flex-direction:column-reverse;gap:var(--fb-space-sm)}@media(min-width:640px){.fb-sheetFooter_XN1p0{flex-direction:row;justify-content:flex-end;gap:var(--fb-space-sm)}}.fb-sheetTitle_F6nNH{font-size:var(--fb-font-size-lg);font-weight:var(--fb-font-weight-semibold);color:var(--fb-text)}.fb-sheetDescription_AzWJb{font-size:var(--fb-font-size-sm);color:var(--fb-text-muted)}@keyframes fb-sheetOverlayFadeIn_AS-42{0%{opacity:0}to{opacity:1}}@keyframes fb-sheetOverlayFadeOut_Y-hE4{0%{opacity:1}to{opacity:0}}@keyframes fb-slideInFromTop_ujZFr{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes fb-slideOutToTop_sjz0S{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes fb-slideInFromBottom_5kG78{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fb-slideOutToBottom_03WBw{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes fb-slideInFromLeft_iFt5a{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes fb-slideOutToLeft_kRHa5{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes fb-slideInFromRight_elDbR{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fb-slideOutToRight_HPV1P{0%{transform:translate(0)}to{transform:translate(100%)}}.fb-dialogContent_MQjVY{max-inline-size:28rem}.fb-iconRow_zoQXV{display:flex;align-items:center;gap:var(--fb-space-12)}.fb-iconCircle_UvpAZ{border-radius:var(--fb-radius-full);background-color:var(--fb-surface);padding:var(--fb-space-sm)}.fb-descriptionSpaced_AmH9W{margin-block-start:var(--fb-space-2)}.fb-buttonRow_lfgxL{display:flex;justify-content:flex-end;gap:var(--fb-space-sm);padding-block-start:var(--fb-space-md)}.fb-minWidthButton_maffF{min-inline-size:6rem}.fb-iconWarning_OcS7O{width:1.25rem;height:1.25rem;color:var(--fb-warning)}.fb-iconInfo_xQhjd{width:1.25rem;height:1.25rem;color:var(--fb-info)}.fb-vcContainer_oHl8H{cursor:text;display:flex;gap:16px;pointer-events:none;position:relative}.fb-vcInput_Nb8NL{inset:0;pointer-events:none;position:absolute}.fb-vcInput_Nb8NL input{background:transparent;block-size:100%;border-color:transparent;caret-color:transparent;color:transparent;font-family:inherit;font-size:18px;font-weight:400;inline-size:100%;letter-spacing:80px;line-height:28px;outline:transparent solid 2px;pointer-events:all;text-align:left;-webkit-user-select:none;user-select:none}.fb-vcInput_Nb8NL input::selection{background-color:transparent}.fb-vcGroup_5z3tY{align-items:center;display:flex;gap:16px;inline-size:100%}.fb-vcDash_R8D18{align-items:center;block-size:48px;display:flex;font-family:inherit;font-size:18px;font-style:normal;font-weight:400;justify-content:center;line-height:1.4}.fb-vcSlot_AZfrj{align-items:center;background:#fff;block-size:48px;border:var(--fb-border-width) solid var(--fb-border);border-radius:8px;color:var(--fb-text);display:flex;flex-basis:12px;flex-grow:1;font-family:inherit;font-size:16px;font-style:normal;font-weight:400;justify-content:center;line-height:1.4;outline:transparent solid 2px}.fb-vcSlotActive_1Zqta{border-color:var(--fb-border-focus);outline-color:var(--fb-border-focus)}.fb-vcCaret_pQ-uD{align-items:center;animation-duration:1.2s;animation-iteration-count:infinite;animation-name:fb-caret-blink_jfhv0;animation-timing-function:ease-out;display:flex;pointer-events:none}.fb-vcCaret_pQ-uD>div{background-color:var(--fb-text);height:18px;width:1px}@keyframes fb-caret-blink_jfhv0{0%,70%,to{opacity:1}20%,50%{opacity:0}}.fb-dialogContent_hdJb3{max-inline-size:28rem}.fb-headerRow_dowgv{display:flex;align-items:center;gap:var(--fb-space-sm)}.fb-iconSuccess_787to{color:var(--fb-success)}.fb-iconMail_yICFX{color:var(--fb-info)}.fb-successButtonRow_LilmE{display:flex;justify-content:center;padding-block-start:var(--fb-space-md)}.fb-minWidthButton_Y-HfD{min-inline-size:8rem}.fb-formContent_DRlgi{display:flex;flex-direction:column;gap:var(--fb-space-md)}.fb-codeSection_vJqzI{display:flex;flex-direction:column;gap:var(--fb-space-sm)}.fb-codeLabel_PvgkB{font-size:var(--fb-font-size-sm);font-weight:500}.fb-codeCenter_j2TST{display:flex;justify-content:center}.fb-resendText_fsAeq,.fb-blockedText_ZGaBs{text-align:center;font-size:var(--fb-font-size-sm);color:var(--fb-text-muted)}.fb-resendLink_dRMub{padding:0;block-size:auto;color:var(--fb-info)}.fb-resendLinkDefault_sVy7D{padding:0;block-size:auto}.fb-footerButtonRow_dFkH0{display:flex;justify-content:flex-end;gap:var(--fb-space-sm);padding-block-start:var(--fb-space-md)}.fb-iconSm_JkMbO{width:1rem;height:1rem}.fb-iconMd_y--1E{width:1.25rem;height:1.25rem}.fb-buttonRow_IpMPI{display:flex;flex-wrap:wrap;gap:var(--fb-space-sm);justify-content:flex-end}.fb-minWidthButton_Ggq-E{min-inline-size:4rem}.fb-toastContainer_iL55M{position:fixed;inset-block-start:var(--fb-space-md);inset-inline-end:var(--fb-space-md);z-index:50;max-inline-size:24rem}.fb-toastCard_EslQ-{background-color:var(--fb-background);border:var(--fb-border-width) solid var(--fb-border);border-radius:var(--fb-radius-lg);box-shadow:var(--fb-shadow-lg);padding:var(--fb-space-md);display:flex;flex-direction:column;gap:var(--fb-space-12)}.fb-toastTitle_W3izr{font-weight:var(--fb-font-weight-semibold)}.fb-toastContent_h6A9y{font-size:var(--fb-font-size-sm);color:var(--fb-text-muted);margin-block-start:var(--fb-space-2)}.fb-sheetContent_Ccs86{inline-size:400px}@media(min-width:640px){.fb-sheetContent_Ccs86{inline-size:540px}}.fb-sheetBody_XqkvA{flex:1;padding-block-end:var(--fb-space-md);display:flex;flex-direction:column;gap:var(--fb-space-md);margin-block-start:var(--fb-space-md)}.fb-sheetText_yRGd-{font-size:var(--fb-font-size-sm)}.fb-size-small_YcmVE{max-inline-size:24rem}.fb-size-medium_auCiA{max-inline-size:28rem}.fb-size-large_8EHM7{max-inline-size:42rem}.fb-modalButtonRow_c7V4P{display:flex;justify-content:flex-end;gap:var(--fb-space-sm);padding-block-start:var(--fb-space-md)}
1
+ :root{font-family:var(--fb-font-family-sans);--fb-primary: #7c3aed;--fb-primary-600: #7c3aed;--fb-primary-hover: #6d28d9;--fb-primary-active: #5b21b6;--fb-primary-dark: #4c1d95;--fb-primary-border: #c4b5fd;--fb-primary-foreground: #ffffff;--fb-primary-subtle: #ede9fe;--fb-primary-subtle-50: rgba(237, 233, 254, .5);--fb-background: #ffffff;--fb-surface: #fafaf9;--fb-surface-accent: #f5f3ff;--fb-surface-emphasis: #ede9fe;--fb-surface-subtle: #f5f3ff;--fb-border: #ddd6fe;--fb-border-focus: #7c3aed;--fb-border-width: 1px;--fb-text: #0f0a1e;--fb-text-muted: #6b6480;--fb-text-on-primary: #ffffff;--fb-error: #dc2626;--fb-error-hover: #b91c1c;--fb-error-dark: #7f1d1d;--fb-error-muted: #fca5a5;--fb-error-subtle: #fecaca;--fb-error-border: #fca5a5;--fb-error-translucent: rgba(220, 38, 38, .3);--fb-error-surface: #fef2f2;--fb-success: #16a34a;--fb-success-hover: #15803d;--fb-success-bright: #22c55e;--fb-success-subtle: #bbf7d0;--fb-success-dark: #166534;--fb-success-surface: #f0fdf4;--fb-warning: #d97706;--fb-warning-surface: #fffbeb;--fb-info: #7c3aed;--fb-info-surface: #ede9fe;--fb-canvas-background: #f3f3f3;--fb-neutral-50: #f9fafb;--fb-neutral-100: #ede9fe;--fb-neutral-200: #ddd6fe;--fb-neutral-300: #a78bfa;--fb-neutral-500: #7c6b99;--fb-neutral-900: #1e1030;--fb-accent: #f5f3ff;--fb-accent-rgb: 245, 243, 255;--fb-amber-100: #fef3c7;--fb-amber-300: #fcd34d;--fb-amber-800: #92400e;--fb-violet-100: #ede9fe;--fb-violet-300: #c4b5fd;--fb-violet-700: #6d28d9;--fb-violet-800: #5b21b6;--fb-cyan-100: #cffafe;--fb-cyan-300: #67e8f9;--fb-cyan-800: #155e75;--fb-lime-100: #ecfccb;--fb-lime-300: #bef264;--fb-lime-800: #3f6212;--fb-pink-100: #fce7f3;--fb-pink-300: #f9a8d4;--fb-pink-800: #9d174d;--fb-warning-border: #fef08a;--fb-font-family-mono: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;--fb-font-family-sans: "DM Sans", system-ui, sans-serif;--fb-font-size-2xs: .625rem;--fb-font-size-xs: .75rem;--fb-font-size-sm: .875rem;--fb-font-size-md: 1rem;--fb-font-size-lg: 1.125rem;--fb-font-size-xl: 1.25rem;--fb-font-size-2xl: 1.5rem;--fb-font-weight-normal: 400;--fb-font-weight-medium: 500;--fb-font-weight-semibold: 600;--fb-font-weight-bold: 700;--fb-line-height-tight: 1.25;--fb-line-height-normal: 1.5;--fb-line-height-relaxed: 1.75;--fb-space-50: .25rem;--fb-space-100: .5rem;--fb-space-150: .75rem;--fb-space-200: 1rem;--fb-space-250: 1.25rem;--fb-space-300: 1.5rem;--fb-space-350: 1.75rem;--fb-space-400: 2rem;--fb-space-450: 2.25rem;--fb-space-500: 2.5rem;--fb-space-550: 2.75rem;--fb-space-600: 3rem;--fb-space-650: 3.25rem;--fb-space-700: 3.5rem;--fb-space-xs: var(--fb-space-50);--fb-space-sm: var(--fb-space-100);--fb-space-md: var(--fb-space-200);--fb-space-lg: var(--fb-space-300);--fb-space-xl: var(--fb-space-400);--fb-space-2xl: var(--fb-space-600);--fb-space-3xl: var(--fb-space-700);--fb-space-md-neg: calc(-1 * var(--fb-space-200));--fb-space-1: .0625rem;--fb-space-2: .125rem;--fb-space-3: .1875rem;--fb-space-6: .375rem;--fb-space-10: .625rem;--fb-space-12: var(--fb-space-150);--fb-space-14: .875rem;--fb-space-20: var(--fb-space-250);--fb-size-touch-target: var(--fb-space-500);--fb-padding-card: var(--fb-space-250);--fb-padding-card-sm: var(--fb-space-200);--fb-gap-section: var(--fb-space-200);--fb-gap-cards: var(--fb-space-150);--fb-gap-inline: var(--fb-space-sm);--fb-container-max-width: 64rem;--fb-popover-width: 18rem;--fb-radius-sm: .25rem;--fb-radius-md: .375rem;--fb-radius-lg: .5rem;--fb-radius-xl: .75rem;--fb-radius-full: 100vmax;--fb-shadow-sm: 0 1px 2px 0 rgb(124 58 237 / .08);--fb-shadow-md: 0 4px 6px -1px rgb(124 58 237 / .12), 0 2px 4px -2px rgb(124 58 237 / .08);--fb-shadow-lg: 0 10px 15px -3px rgb(124 58 237 / .15), 0 4px 6px -4px rgb(124 58 237 / .1);--fb-z-base: 0;--fb-z-raised: 1;--fb-z-dropdown: 1000;--fb-z-sticky: 1100;--fb-z-overlay: 1200;--fb-z-modal: 1300;--fb-z-toast: 1400}button,input,optgroup,select,textarea{font-family:inherit}.fb-wrapper_nDU5Q{display:flex;flex-direction:column;gap:var(--fb-space-sm)}.fb-progress_jf4Xd{appearance:none;background-color:var(--fb-primary-subtle);border:none;border-radius:8px;height:16px;overflow:hidden;width:100%}.fb-progress_jf4Xd::-webkit-progress-bar{background-color:transparent}.fb-progress_jf4Xd::-webkit-progress-value{background-color:var(--fb-primary);transition:all .4s cubic-bezier(.4,0,.2,1)}.fb-progress_jf4Xd::-moz-progress-bar{background-color:var(--fb-primary);transition:all .4s cubic-bezier(.4,0,.2,1)}label.fb-progressLabel_3nfSJ{font-size:var(--fb-font-size-sm);font-weight:var(--fb-font-weight-normal);line-height:var(--fb-line-height-normal)}.fb-completionMessage_OyQ9C{display:flex;align-items:center;gap:var(--fb-space-2);font-size:var(--fb-font-size-sm);color:var(--fb-success);animation:fb-fadeIn_iAZjj .3s ease-out}.fb-errorMessage_B8dGO{display:flex;align-items:center;justify-content:space-between;font-size:var(--fb-font-size-sm);color:var(--fb-error)}.fb-errorContent_2TAc5{display:flex;align-items:center;gap:var(--fb-space-2)}.fb-retryButton_0HfjY{display:flex;align-items:center;gap:var(--fb-space-1);font-weight:var(--fb-font-weight-medium);color:var(--fb-error);text-decoration:underline;text-underline-offset:2px;background:none;border:none;cursor:pointer}.fb-retryButton_0HfjY:hover{color:var(--fb-error-hover)}@keyframes fb-fadeIn_iAZjj{0%{opacity:0}to{opacity:1}}.fb-boxContainer_oXGAN{background-color:var(--fb-background);border-radius:var(--fb-radius-md);padding:var(--fb-space-md)}.fb-GridLayoutContainer_BZvnG{align-items:center;background-color:var(--grid-container-background-color);display:flex;flex-direction:column;justify-content:center;max-width:100vw;min-width:var(--fb-container-max-width)}.fb-GridLayoutContainerWithoutPadding_4kQ4C{padding-block:0}.fb-GridLayoutContainerFullWidth_pYcHf{min-width:100%;max-width:100%}.fb-GridLayout_A2c7k{container-type:inline-size;display:grid;gap:var(--grid-row-gap, var(--fb-space-12)) var(--grid-column-gap, var(--fb-space-md));grid-template-columns:repeat(var(--grid-column-max-columns, 12),1fr);grid-template-rows:auto;margin-left:auto;margin-right:auto;max-width:var(--fb-container-max-width);min-width:var(--fb-container-max-width);width:100%}.fb-GridLayoutFullWidth_NMi3Y{max-width:100%;min-width:100%}.fb-gridLayoutColumn_5TCzp{align-self:start;grid-column:var(--grid-column-start) / var(--grid-column-end);grid-row:var(--grid-row-start, auto) / var(--grid-row-end, auto)}.fb-stretch_n7mLP{align-self:stretch}.fb-formLayoutWrapper_w9jQ-{width:100%;font-family:inherit}.fb-titleSection_qd9UP{display:flex;flex-direction:column;align-items:flex-start;width:100%}.fb-leftColumn_zIdZO,.fb-rightColumn_P0J6U{display:flex;flex-direction:column;height:fit-content;min-height:0;position:sticky;top:0}.fb-footerSection_eW4js{display:flex;flex-direction:column;align-items:flex-start;width:100%;margin-top:var(--fb-space-md)}.fb-contentPadding_LMiyE{padding:var(--fb-space-12)}.fb-contentBorder_yYFFn{border:var(--fb-border-width) solid var(--fb-neutral-200);border-radius:var(--fb-radius-md);background-color:var(--fb-surface-accent)}@container (max-width: 768px){.fb-leftColumn_zIdZO,.fb-rightColumn_P0J6U{grid-column:1 / 13!important;margin-bottom:var(--fb-space-12)}.fb-mainContent_9ZW4m{grid-column:1 / 13!important}}@media print{.fb-formLayoutWrapper_w9jQ-{background:var(--fb-background)!important}.fb-contentBorder_yYFFn{border:var(--fb-border-width) solid var(--fb-border)!important;box-shadow:none!important}}.fb-errorState_khSRW{padding:var(--fb-space-md);border:var(--fb-border-width) solid var(--fb-error-translucent);background-color:var(--fb-error-surface);color:var(--fb-error);border-radius:var(--fb-radius-md)}.fb-errorHeading_dGdN2{font-weight:500;margin-block-end:var(--fb-space-sm)}.fb-loadingState_Pdhds{padding:var(--fb-space-md);text-align:center;color:var(--fb-text-muted)}.fb-loadingPulse_QIw08{animation:fb-pulse_7Ml6n 2s ease-in-out infinite}@keyframes fb-pulse_7Ml6n{0%,to{opacity:1}50%{opacity:.5}}.fb-formLayout_JzC8E{margin-block:var(--fb-space-xl)}.fb-stepContent_EU1uV{display:flex;flex-direction:column;gap:var(--fb-space-lg)}.fb-loaderWrapper_00phH{margin-block-end:var(--fb-space-md)}.fb-footer_r0kdp{margin-block-start:var(--fb-space-lg)}.fb-container_p6qC4{margin-block-end:var(--fb-space-sm);padding-block-end:var(--fb-space-md);border-block-end:var(--fb-border-width) solid var(--fb-border)}.fb-disabled_EuvTp{opacity:.5}.fb-prevButtonDisabled_Wj2Qp{opacity:.5;cursor:default}.fb-additionalContent_0tppE{margin-block-start:var(--fb-space-md)}.fb-section_5kbZU{margin-block-end:var(--fb-space-lg)}.fb-sectionHeader_aVzgk{display:flex;justify-content:space-between;align-items:center;margin-block-end:var(--fb-space-md)}.fb-cancelButton_PyIZH{font-size:var(--fb-font-size-sm);color:var(--fb-text-muted);display:flex;align-items:center;gap:var(--fb-space-2);background:none;border:none;cursor:pointer}.fb-editButton_dbSFX{font-size:var(--fb-font-size-sm);color:var(--fb-info);display:flex;align-items:center;gap:var(--fb-space-2);background:none;border:none;cursor:pointer}.fb-sectionContent_wTlW-{display:flex;flex-direction:column;gap:var(--fb-space-md)}.fb-saveButtonsWrapper_VGuwW{display:flex;padding-block-start:var(--fb-space-md)}.fb-iconSm_yLpHW{width:1rem;height:1rem}.fb-alertList_d0DxG{display:flex;flex-direction:column;gap:var(--fb-space-sm)}.fb-errorFallback_CNx1M{padding:var(--fb-space-sm);border:var(--fb-border-width) solid var(--fb-error-translucent);background-color:var(--fb-error-surface);color:var(--fb-error);border-radius:var(--fb-radius-md)}.fb-errorDetail_Nvh9V{font-size:var(--fb-font-size-xs);margin-block-start:var(--fb-space-2)}.fb-displayWrapper_VYcQC{display:flex;flex-direction:column;gap:var(--fb-space-md)}.fb-emptyValue_baQFk{color:var(--fb-text-muted);font-style:italic}.fb-valueText_JCRsN{color:var(--fb-text)}.fb-fieldWrapper_rnKUQ{display:flex;flex-direction:column;gap:var(--fb-space-2)}.fb-alert_5UcaT{position:relative;inline-size:100%;border-radius:var(--fb-radius-md);border:var(--fb-border-width) solid var(--fb-border);padding:var(--fb-space-md)}.fb-alert_5UcaT>svg{position:absolute;left:var(--fb-space-md);top:var(--fb-space-md);color:var(--fb-text)}.fb-alert_5UcaT>svg~*{padding-inline-start:1.75rem}.fb-alert_5UcaT>svg+div{transform:translateY(-3px)}.fb-variant-default_yhEpY{background-color:var(--fb-background);color:var(--fb-text)}.fb-variant-destructive_rafp5{border-color:var(--fb-error);color:var(--fb-error)}.fb-variant-destructive_rafp5>svg{color:var(--fb-error)}.fb-alertTitle_-KE5o{margin-block-end:var(--fb-space-sm);font-weight:500;line-height:1;letter-spacing:-.025em}.fb-alertDescription_cg7Ke{font-size:var(--fb-font-size-sm)}.fb-alertDescription_cg7Ke p{line-height:1.625}.fb-button_MJLDl{display:inline-flex;align-items:center;justify-content:center;gap:var(--fb-space-sm);white-space:nowrap;border-radius:var(--fb-radius-md);font-size:var(--fb-font-size-md);font-weight:var(--fb-font-weight-semibold);transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease;cursor:pointer;outline:none;border:1px solid transparent}.fb-button_MJLDl:focus-visible{outline:2px solid var(--fb-border-focus);outline-offset:2px}.fb-button_MJLDl:disabled{pointer-events:none;opacity:.5}.fb-button_MJLDl span{font-size:inherit;font-weight:inherit;line-height:inherit}.fb-button_MJLDl svg{pointer-events:none;inline-size:1rem;block-size:1rem;flex-shrink:0}.fb-variant-default_KLx8b{background-color:var(--fb-primary);color:var(--fb-primary-foreground);border-color:var(--fb-primary);box-shadow:var(--fb-shadow-sm)}.fb-variant-default_KLx8b:hover:not(:disabled){background-color:var(--fb-primary-hover);border-color:var(--fb-primary-hover);box-shadow:var(--fb-shadow-md)}.fb-variant-default_KLx8b:active:not(:disabled){background-color:var(--fb-primary-active);border-color:var(--fb-primary-active);box-shadow:none}.fb-variant-destructive_vQKZ2{background-color:var(--fb-error);color:var(--fb-text-on-primary);border-color:var(--fb-error);box-shadow:var(--fb-shadow-sm)}.fb-variant-destructive_vQKZ2:hover:not(:disabled){background-color:var(--fb-error-hover);border-color:var(--fb-error-hover);box-shadow:var(--fb-shadow-md)}.fb-variant-destructive_vQKZ2:active:not(:disabled){background-color:var(--fb-error-dark);box-shadow:none}.fb-variant-outline_1Mb0E{background-color:var(--fb-background);color:var(--fb-text);border-color:var(--fb-border)}.fb-variant-outline_1Mb0E:hover:not(:disabled){background-color:var(--fb-surface-accent);border-color:var(--fb-primary-border);color:var(--fb-primary)}.fb-variant-outline_1Mb0E:active:not(:disabled){background-color:var(--fb-surface-emphasis);border-color:var(--fb-primary);color:var(--fb-primary)}.fb-variant-secondary_-bohS{background-color:var(--fb-neutral-100);color:var(--fb-text);border-color:var(--fb-neutral-200)}.fb-variant-secondary_-bohS:hover:not(:disabled){background-color:var(--fb-neutral-200);border-color:var(--fb-primary-border);color:var(--fb-primary)}.fb-variant-ghost_qml-f{background-color:transparent;color:var(--fb-text);border-color:transparent}.fb-variant-ghost_qml-f:hover:not(:disabled){background-color:var(--fb-surface-accent);color:var(--fb-primary)}.fb-variant-ghost_qml-f:active:not(:disabled){background-color:var(--fb-surface-emphasis);color:var(--fb-primary)}.fb-variant-link_aNj3r{background-color:transparent;color:var(--fb-primary);text-underline-offset:.25rem;border-color:transparent}.fb-variant-link_aNj3r:hover:not(:disabled){text-decoration:underline;color:var(--fb-primary-hover)}.fb-size-default_9qKVU{block-size:var(--fb-size-touch-target);padding-inline:var(--fb-space-md);padding-block:var(--fb-space-sm)}.fb-size-sm_MvjvS{block-size:2.25rem;padding-inline:var(--fb-space-12);border-radius:var(--fb-radius-md);font-size:var(--fb-font-size-xs)}.fb-size-lg_v6n8j{block-size:2.75rem;padding-inline:var(--fb-space-20);border-radius:var(--fb-radius-md);font-size:var(--fb-font-size-md);font-weight:var(--fb-font-weight-semibold)}.fb-size-icon_MYsET{block-size:var(--fb-size-touch-target);inline-size:var(--fb-size-touch-target);padding:0}.fb-card_Ry9d9{border-radius:var(--fb-radius-lg);border:var(--fb-border-width) solid var(--fb-border);background-color:var(--fb-background);color:var(--fb-text);box-shadow:var(--fb-shadow-md);overflow:hidden}.fb-cardCompact_wGBoD{border-radius:var(--fb-radius-md);box-shadow:var(--fb-shadow-sm)}.fb-cardHeader_exSCY{display:flex;flex-direction:column;gap:var(--fb-space-6);padding:var(--fb-padding-card)}.fb-cardHeaderStructured_UBow4{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--fb-space-200);padding:var(--fb-space-200) var(--fb-space-250);border-bottom:1px solid var(--fb-border);background:var(--fb-surface)}.fb-cardHeaderStructuredCompact_jH94z{padding:var(--fb-space-150) var(--fb-space-200)}.fb-cardHeaderLeft_PnQMU{flex:1;min-width:0}.fb-cardTitleRow_XU5Go{display:flex;align-items:center;gap:var(--fb-space-100);flex-wrap:wrap}.fb-cardTitleText_imcqj{font-size:var(--fb-font-size-sm);font-weight:var(--fb-font-weight-semibold);color:var(--fb-text);line-height:var(--fb-line-height-tight)}.fb-cardDescriptionText_oCoiA{font-size:var(--fb-font-size-xs);color:var(--fb-text-muted);margin-top:var(--fb-space-50);line-height:var(--fb-line-height-normal)}.fb-cardMeta_Ch80f{display:flex;gap:var(--fb-space-200);margin-top:var(--fb-space-100);flex-wrap:wrap}.fb-cardMetaItem_ggGU8{font-size:11px;color:var(--fb-text-muted);display:flex;align-items:center;gap:4px}.fb-cardHeaderRight_rEXk0{display:flex;align-items:center;gap:var(--fb-space-100);flex-shrink:0}.fb-cardBody_lIAav{padding:var(--fb-space-200) var(--fb-space-250)}.fb-cardBodyFlush_tfGIm{padding:0}.fb-cardFooter_BAcjS{display:flex;align-items:center;justify-content:flex-end;gap:var(--fb-space-100);padding:var(--fb-space-150) var(--fb-space-250);border-top:1px solid var(--fb-border);background:var(--fb-surface-accent)}.fb-cardDivider_-i-Kq{height:1px;background:var(--fb-border);margin:0 var(--fb-space-250)}.fb-cardTitle_mLAib{font-size:var(--fb-font-size-md);font-weight:var(--fb-font-weight-semibold);line-height:1;letter-spacing:-.025em;color:var(--fb-text)}.fb-cardDescription_iLv2K{font-size:var(--fb-font-size-xs);color:var(--fb-text-muted)}.fb-cardContent_HJ92K{padding:var(--fb-padding-card);padding-block-start:0}.fb-stepListWrapper_RTLUk{display:flex;flex-direction:column;font-family:inherit;gap:var(--fb-space-12)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4{color:var(--fb-text-muted);display:flex;flex-direction:row;gap:var(--fb-space-6);padding-bottom:var(--fb-space-2)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-leftContainer_o-gBE{align-items:center;display:flex;flex-direction:column;gap:var(--fb-space-xs);padding-top:var(--fb-space-2)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-leftContainer_o-gBE .fb-circle_3oinV{align-items:center;background-color:transparent;border:var(--fb-border-width) solid var(--fb-border);border-radius:var(--fb-radius-full);color:var(--fb-background);display:flex;justify-content:center;min-block-size:calc(1.25rem - 2 * var(--fb-border-width));min-inline-size:calc(1.25rem - 2 * var(--fb-border-width))}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-leftContainer_o-gBE .fb-circle_3oinV .fb-currentDot_0e9gN{background-color:var(--fb-primary);border-radius:var(--fb-radius-full);height:14px;width:14px}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-leftContainer_o-gBE .fb-connector_bDvRA{background-color:var(--fb-text-muted);block-size:100%;inline-size:1.5px;min-block-size:36px}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-content_u43H4{align-items:start;border-radius:var(--fb-radius-md);color:var(--fb-text-muted);display:flex;flex-direction:row;inline-size:100%;margin-block-end:var(--fb-space-6);padding:var(--fb-space-2) var(--fb-space-6);text-wrap:balance}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-content_u43H4 .fb-stepNumber_c2YRs{color:var(--fb-text-muted);font-size:var(--fb-font-size-sm);font-weight:var(--fb-font-weight-semibold);line-height:var(--fb-line-height-tight)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-content_u43H4 .fb-stepTitle_w5Be8{font-size:var(--fb-font-size-sm);line-height:var(--fb-line-height-normal)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-content_u43H4 .fb-stepLink_sqt2-{color:var(--fb-primary);cursor:pointer;font-weight:var(--fb-font-weight-normal);line-height:var(--fb-line-height-normal);text-decoration:underline}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-content_u43H4 .fb-stepLink_sqt2-:hover{color:var(--fb-primary-hover);text-decoration:underline}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-content_u43H4 .fb-stepLink_sqt2-:focus{outline-offset:2px;outline-style:solid;outline-width:2px;text-decoration:underline}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4 .fb-iconRightContainer_DCjrS{align-self:center;block-size:1.25rem;color:var(--fb-primary);display:flex;inline-size:1.25rem;margin-inline-start:auto}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4.fb-completed_F-mOG .fb-leftContainer_o-gBE .fb-circle_3oinV{background-color:var(--fb-primary);border-color:var(--fb-primary);border-style:solid;border-width:var(--fb-border-width)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4.fb-completed_F-mOG .fb-leftContainer_o-gBE .fb-connector_bDvRA{background-color:var(--fb-primary)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4.fb-completed_F-mOG .fb-content_u43H4,.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4.fb-completed_F-mOG .fb-content_u43H4 .fb-stepNumber_c2YRs{color:var(--fb-text)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4.fb-current_QAO1e .fb-leftContainer_o-gBE .fb-circle_3oinV{border-color:var(--fb-primary);border-style:solid;border-width:var(--fb-border-width)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4.fb-current_QAO1e .fb-content_u43H4{background-color:var(--fb-background);color:var(--fb-text)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4.fb-current_QAO1e .fb-content_u43H4 .fb-stepNumber_c2YRs{color:var(--fb-text)}.fb-stepList_b7ucJ .fb-stepListItem_G8Nh4.fb-inactive_tYqvV .fb-content_u43H4{color:var(--fb-text-muted)}.fb-dialogOverlay_GSMVm{position:fixed;inset:0;z-index:50;background-color:#000c}.fb-dialogOverlay_GSMVm[data-state=open]{animation:fb-dialogOverlayFadeIn_l-QHK .15s ease-out}.fb-dialogOverlay_GSMVm[data-state=closed]{animation:fb-dialogOverlayFadeOut_DewLt .15s ease-in}.fb-dialogContent_neUay{position:fixed;left:50%;top:50%;z-index:50;display:grid;width:100%;max-width:32rem;translate:-50% -50%;gap:var(--fb-space-sm);border:var(--fb-border-width) solid var(--fb-border);background-color:var(--fb-background);padding:var(--fb-space-12);box-shadow:var(--fb-shadow-lg);transition-duration:.2s}@media(min-width:640px){.fb-dialogContent_neUay{border-radius:var(--fb-radius-lg)}}.fb-dialogContent_neUay[data-state=open]{animation:fb-dialogContentSlideIn_oQPJG .2s ease-out}.fb-dialogContent_neUay[data-state=closed]{animation:fb-dialogContentSlideOut_nNdgq .2s ease-in}.fb-dialogClose_QbWkj{position:absolute;right:var(--fb-space-sm);top:var(--fb-space-sm);border-radius:var(--fb-radius-sm);opacity:.7;transition:opacity .15s}.fb-dialogClose_QbWkj:hover{opacity:1}.fb-dialogClose_QbWkj:focus{outline:none;box-shadow:0 0 0 2px var(--fb-border-focus);opacity:1}.fb-dialogClose_QbWkj:disabled{pointer-events:none}.fb-dialogClose_QbWkj[data-state=open]{background-color:var(--fb-accent);color:var(--fb-text-muted)}.fb-dialogCloseIcon_kK8c6{block-size:1rem;inline-size:1rem}.fb-dialogCloseIcon_kK8c6+span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fb-dialogHeader_df1-u{display:flex;flex-direction:column;gap:var(--fb-space-3);text-align:center}@media(min-width:640px){.fb-dialogHeader_df1-u{text-align:start}}.fb-dialogFooter_1vdJe{display:flex;flex-direction:column-reverse;gap:var(--fb-space-sm)}@media(min-width:640px){.fb-dialogFooter_1vdJe{flex-direction:row;justify-content:flex-end;gap:var(--fb-space-sm)}}.fb-dialogTitle_FS7k8{font-size:var(--fb-font-size-lg);font-weight:var(--fb-font-weight-semibold);line-height:1;letter-spacing:-.025em}.fb-dialogDescription_uEgTa{font-size:var(--fb-font-size-sm);color:var(--fb-text-muted)}@keyframes fb-dialogOverlayFadeIn_l-QHK{0%{opacity:0}to{opacity:1}}@keyframes fb-dialogOverlayFadeOut_DewLt{0%{opacity:1}to{opacity:0}}@keyframes fb-dialogContentSlideIn_oQPJG{0%{opacity:0;transform:translate(-50%,-48%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes fb-dialogContentSlideOut_nNdgq{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-48%) scale(.95)}}.fb-sheetOverlay_2nFRz{position:fixed;inset:0;z-index:50;background-color:#000c}.fb-sheetOverlay_2nFRz[data-state=open]{animation:fb-sheetOverlayFadeIn_AS-42 .15s ease-out}.fb-sheetOverlay_2nFRz[data-state=closed]{animation:fb-sheetOverlayFadeOut_Y-hE4 .15s ease-in}.fb-sheetContent_p2PyE{position:fixed;z-index:50;gap:var(--fb-space-sm);background-color:var(--fb-background);padding:var(--fb-space-12);box-shadow:var(--fb-shadow-lg);transition:transform .5s ease-in-out,opacity .5s ease-in-out}.fb-side-top_vnDBA{inset-inline:0;top:0;border-block-end:var(--fb-border-width) solid var(--fb-border)}.fb-side-top_vnDBA[data-state=open]{animation:fb-slideInFromTop_ujZFr .5s ease-in-out}.fb-side-top_vnDBA[data-state=closed]{animation:fb-slideOutToTop_sjz0S .3s ease-in-out}.fb-side-bottom_8Qo-6{inset-inline:0;bottom:0;border-block-start:var(--fb-border-width) solid var(--fb-border)}.fb-side-bottom_8Qo-6[data-state=open]{animation:fb-slideInFromBottom_5kG78 .5s ease-in-out}.fb-side-bottom_8Qo-6[data-state=closed]{animation:fb-slideOutToBottom_03WBw .3s ease-in-out}.fb-side-left_iSyK6{inset-block:0;left:0;block-size:100%;inline-size:75%;border-inline-end:var(--fb-border-width) solid var(--fb-border)}@media(min-width:640px){.fb-side-left_iSyK6{max-inline-size:24rem}}.fb-side-left_iSyK6[data-state=open]{animation:fb-slideInFromLeft_iFt5a .5s ease-in-out}.fb-side-left_iSyK6[data-state=closed]{animation:fb-slideOutToLeft_kRHa5 .3s ease-in-out}.fb-side-right_q-l6-{inset-block:0;right:0;block-size:100%;inline-size:75%;border-inline-start:var(--fb-border-width) solid var(--fb-border)}@media(min-width:640px){.fb-side-right_q-l6-{max-inline-size:24rem}}.fb-side-right_q-l6-[data-state=open]{animation:fb-slideInFromRight_elDbR .5s ease-in-out}.fb-side-right_q-l6-[data-state=closed]{animation:fb-slideOutToRight_HPV1P .3s ease-in-out}.fb-sheetClose_sq3cW{position:absolute;right:var(--fb-space-sm);top:var(--fb-space-sm);border-radius:var(--fb-radius-sm);opacity:.7;transition:opacity .15s}.fb-sheetClose_sq3cW:hover{opacity:1}.fb-sheetClose_sq3cW:focus{outline:none;box-shadow:0 0 0 2px var(--fb-border-focus);opacity:1}.fb-sheetClose_sq3cW:disabled{pointer-events:none}.fb-sheetClose_sq3cW[data-state=open]{background-color:var(--fb-surface)}.fb-sheetCloseIcon_2Z7S1{block-size:1rem;inline-size:1rem}.fb-sheetCloseIcon_2Z7S1+span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fb-sheetHeader_w9TtP{display:flex;flex-direction:column;gap:var(--fb-space-sm);text-align:center}@media(min-width:640px){.fb-sheetHeader_w9TtP{text-align:start}}.fb-sheetFooter_XN1p0{display:flex;flex-direction:column-reverse;gap:var(--fb-space-sm)}@media(min-width:640px){.fb-sheetFooter_XN1p0{flex-direction:row;justify-content:flex-end;gap:var(--fb-space-sm)}}.fb-sheetTitle_F6nNH{font-size:var(--fb-font-size-lg);font-weight:var(--fb-font-weight-semibold);color:var(--fb-text)}.fb-sheetDescription_AzWJb{font-size:var(--fb-font-size-sm);color:var(--fb-text-muted)}@keyframes fb-sheetOverlayFadeIn_AS-42{0%{opacity:0}to{opacity:1}}@keyframes fb-sheetOverlayFadeOut_Y-hE4{0%{opacity:1}to{opacity:0}}@keyframes fb-slideInFromTop_ujZFr{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes fb-slideOutToTop_sjz0S{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes fb-slideInFromBottom_5kG78{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fb-slideOutToBottom_03WBw{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes fb-slideInFromLeft_iFt5a{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes fb-slideOutToLeft_kRHa5{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes fb-slideInFromRight_elDbR{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fb-slideOutToRight_HPV1P{0%{transform:translate(0)}to{transform:translate(100%)}}.fb-dialogContent_MQjVY{max-inline-size:28rem}.fb-iconRow_zoQXV{display:flex;align-items:center;gap:var(--fb-space-12)}.fb-iconCircle_UvpAZ{border-radius:var(--fb-radius-full);background-color:var(--fb-surface);padding:var(--fb-space-sm)}.fb-descriptionSpaced_AmH9W{margin-block-start:var(--fb-space-2)}.fb-buttonRow_lfgxL{display:flex;justify-content:flex-end;gap:var(--fb-space-sm);padding-block-start:var(--fb-space-md)}.fb-minWidthButton_maffF{min-inline-size:6rem}.fb-iconWarning_OcS7O{width:1.25rem;height:1.25rem;color:var(--fb-warning)}.fb-iconInfo_xQhjd{width:1.25rem;height:1.25rem;color:var(--fb-info)}.fb-vcContainer_oHl8H{cursor:text;display:flex;gap:16px;pointer-events:none;position:relative}.fb-vcInput_Nb8NL{inset:0;pointer-events:none;position:absolute}.fb-vcInput_Nb8NL input{background:transparent;block-size:100%;border-color:transparent;caret-color:transparent;color:transparent;font-family:inherit;font-size:18px;font-weight:400;inline-size:100%;letter-spacing:80px;line-height:28px;outline:transparent solid 2px;pointer-events:all;text-align:left;-webkit-user-select:none;user-select:none}.fb-vcInput_Nb8NL input::selection{background-color:transparent}.fb-vcGroup_5z3tY{align-items:center;display:flex;gap:16px;inline-size:100%}.fb-vcDash_R8D18{align-items:center;block-size:48px;display:flex;font-family:inherit;font-size:18px;font-style:normal;font-weight:400;justify-content:center;line-height:1.4}.fb-vcSlot_AZfrj{align-items:center;background:#fff;block-size:48px;border:var(--fb-border-width) solid var(--fb-border);border-radius:8px;color:var(--fb-text);display:flex;flex-basis:12px;flex-grow:1;font-family:inherit;font-size:16px;font-style:normal;font-weight:400;justify-content:center;line-height:1.4;outline:transparent solid 2px}.fb-vcSlotActive_1Zqta{border-color:var(--fb-border-focus);outline-color:var(--fb-border-focus)}.fb-vcCaret_pQ-uD{align-items:center;animation-duration:1.2s;animation-iteration-count:infinite;animation-name:fb-caret-blink_jfhv0;animation-timing-function:ease-out;display:flex;pointer-events:none}.fb-vcCaret_pQ-uD>div{background-color:var(--fb-text);height:18px;width:1px}@keyframes fb-caret-blink_jfhv0{0%,70%,to{opacity:1}20%,50%{opacity:0}}.fb-dialogContent_hdJb3{max-inline-size:28rem}.fb-headerRow_dowgv{display:flex;align-items:center;gap:var(--fb-space-sm)}.fb-iconSuccess_787to{color:var(--fb-success)}.fb-iconMail_yICFX{color:var(--fb-info)}.fb-successButtonRow_LilmE{display:flex;justify-content:center;padding-block-start:var(--fb-space-md)}.fb-minWidthButton_Y-HfD{min-inline-size:8rem}.fb-formContent_DRlgi{display:flex;flex-direction:column;gap:var(--fb-space-md)}.fb-codeSection_vJqzI{display:flex;flex-direction:column;gap:var(--fb-space-sm)}.fb-codeLabel_PvgkB{font-size:var(--fb-font-size-sm);font-weight:500}.fb-codeCenter_j2TST{display:flex;justify-content:center}.fb-resendText_fsAeq,.fb-blockedText_ZGaBs{text-align:center;font-size:var(--fb-font-size-sm);color:var(--fb-text-muted)}.fb-resendLink_dRMub{padding:0;block-size:auto;color:var(--fb-info)}.fb-resendLinkDefault_sVy7D{padding:0;block-size:auto}.fb-footerButtonRow_dFkH0{display:flex;justify-content:flex-end;gap:var(--fb-space-sm);padding-block-start:var(--fb-space-md)}.fb-iconSm_JkMbO{width:1rem;height:1rem}.fb-iconMd_y--1E{width:1.25rem;height:1.25rem}.fb-buttonRow_IpMPI{display:flex;flex-wrap:wrap;gap:var(--fb-space-sm);justify-content:flex-end}.fb-minWidthButton_Ggq-E{min-inline-size:4rem}.fb-toastContainer_iL55M{position:fixed;inset-block-start:var(--fb-space-md);inset-inline-end:var(--fb-space-md);z-index:50;max-inline-size:24rem}.fb-toastCard_EslQ-{background-color:var(--fb-background);border:var(--fb-border-width) solid var(--fb-border);border-radius:var(--fb-radius-lg);box-shadow:var(--fb-shadow-lg);padding:var(--fb-space-md);display:flex;flex-direction:column;gap:var(--fb-space-12)}.fb-toastTitle_W3izr{font-weight:var(--fb-font-weight-semibold)}.fb-toastContent_h6A9y{font-size:var(--fb-font-size-sm);color:var(--fb-text-muted);margin-block-start:var(--fb-space-2)}.fb-sheetContent_Ccs86{inline-size:400px}@media(min-width:640px){.fb-sheetContent_Ccs86{inline-size:540px}}.fb-sheetBody_XqkvA{flex:1;padding-block-end:var(--fb-space-md);display:flex;flex-direction:column;gap:var(--fb-space-md);margin-block-start:var(--fb-space-md)}.fb-sheetText_yRGd-{font-size:var(--fb-font-size-sm)}.fb-size-small_YcmVE{max-inline-size:24rem}.fb-size-medium_auCiA{max-inline-size:28rem}.fb-size-large_8EHM7{max-inline-size:42rem}.fb-modalButtonRow_c7V4P{display:flex;justify-content:flex-end;gap:var(--fb-space-sm);padding-block-start:var(--fb-space-md)}
@@ -1,7 +1,6 @@
1
1
  "use client";
2
2
  import { jsxs as k, Fragment as D, jsx as B } from "react/jsx-runtime";
3
- /* empty css */
4
- import { logger as O } from "../../../../../../ui/src/lib/logger.js";
3
+ import { logger as O } from "../../../../../../core/src/utils/logger.js";
5
4
  import { useApiAction as z } from "../../../form-runtime/hooks/useApiActions.js";
6
5
  import { ActionValidator as q, ActionValidationError as R } from "../../../validation-system/validation/ActionValidation.js";
7
6
  import { memo as L, useState as N, useRef as I, useMemo as h, useEffect as m, useCallback as w } from "react";
@@ -1,9 +1,7 @@
1
1
  "use client";
2
- import { jsx as l, jsxs as m } from "react/jsx-runtime";
3
- import c from "./ComponentAdapterComplete.module.css.js";
4
- import { FormFieldWrapper as x } from "../../../../../ui/src/design-system/components/FormFieldWrapper.js";
5
- /* empty css */
6
- import { renderComponent as C } from "../../../../../ui/src/component-registry/renderComponent.js";
2
+ import { jsxs as n, jsx as c } from "react/jsx-runtime";
3
+ import s from "./ComponentAdapterComplete.module.css.js";
4
+ import { renderComponent as u } from "../../../../../core/src/registry/renderComponent.js";
7
5
  const a = {
8
6
  text: "text",
9
7
  date: "date",
@@ -30,38 +28,32 @@ const a = {
30
28
  reset: "reset",
31
29
  "code-input": "code-input",
32
30
  "progress-loader": "progress-loader"
33
- }, F = (e) => a[e] ? a[e] : (console.warn(
31
+ }, g = (e) => a[e] ? a[e] : (console.warn(
34
32
  `⚠️ [ComponentAdapter] Component type "${e}" not found in TYPE_MAP, falling back to "text". Available types: ${Object.keys(a).join(", ")}`
35
- ), "text"), O = (e) => e.map((r) => ({
36
- id: r.id,
37
- field: r.field || r.targetComponentId || "",
33
+ ), "text"), y = (e) => e.map((t) => ({
34
+ id: t.id,
35
+ field: t.field || t.targetComponentId || "",
38
36
  // Ensure field is always set
39
- targetStepId: r.targetStepId || "",
37
+ targetStepId: t.targetStepId || "",
40
38
  // Default empty as form wizard doesn't have this concept
41
- targetComponentId: r.field || r.targetComponentId,
39
+ targetComponentId: t.field || t.targetComponentId,
42
40
  // Map field to targetComponentId
43
- operator: w(r.operator),
44
- value: r.value,
45
- logicalOperator: r.logicalOperator
46
- })), v = {
41
+ operator: h(t.operator),
42
+ value: t.value,
43
+ logicalOperator: t.logicalOperator
44
+ })), f = {
47
45
  equals: "equals",
48
46
  notEquals: "notEquals",
49
47
  contains: "contains",
50
48
  empty: "empty",
51
49
  notEmpty: "notEmpty"
52
- }, w = (e) => v[e] || "equals", I = [
53
- "heading",
54
- "paragraph",
55
- "alert",
56
- "button",
57
- "progress-loader"
58
- ], _ = (e, r, u, g, o, f, y) => {
50
+ }, h = (e) => f[e] || "equals", A = (e, t, p, d, o, C, b, i, l) => {
59
51
  try {
60
- const t = F(e.type), h = {
52
+ const r = g(e.type), m = {
61
53
  // Base component properties
62
54
  ...e,
63
55
  // Override the type with the mapped version
64
- type: t,
56
+ type: r,
65
57
  // Spread all properties from component.properties to the top level for backward compatibility
66
58
  ...e.properties,
67
59
  // Add onBlur if provided
@@ -70,38 +62,32 @@ const a = {
70
62
  properties: {
71
63
  ...e.properties,
72
64
  // Also set readOnly in the nested properties object
73
- readOnly: g ?? e.properties?.readOnly ?? !1,
65
+ readOnly: d ?? e.properties?.readOnly ?? !1,
74
66
  // Add onBlur to nested properties if provided
75
67
  ...o && { onBlur: o }
76
68
  },
77
69
  // Convert conditions if they exist
78
- conditions: e.conditions ? O(e.conditions) : void 0
79
- }, s = C({
80
- component: h,
81
- value: r,
82
- onChange: u,
83
- isFormView: !0
84
- }), E = !I.includes(t), n = e.id, i = f?.[n], p = y?.context?.fieldStates?.[n]?.error, d = e.properties?.errorMessage || i || p, b = e.properties?.invalid === !0 || !!i || !!p;
85
- return E ? /* @__PURE__ */ l(
86
- x,
87
- {
88
- invalid: b,
89
- errorMessage: typeof d == "string" ? d : void 0,
90
- className: "form-field-wrapper",
91
- input: s
92
- }
93
- ) : s;
94
- } catch (t) {
95
- return console.error("Error rendering component with registry:", t), /* @__PURE__ */ m("div", { className: c.errorFallback, children: [
96
- /* @__PURE__ */ m("p", { children: [
70
+ conditions: e.conditions ? y(e.conditions) : void 0
71
+ };
72
+ return u({
73
+ component: m,
74
+ value: t,
75
+ onChange: p,
76
+ isFormView: !0,
77
+ invalid: i,
78
+ errorMessage: l
79
+ });
80
+ } catch (r) {
81
+ return console.error("Error rendering component with registry:", r), /* @__PURE__ */ n("div", { className: s.errorFallback, children: [
82
+ /* @__PURE__ */ n("p", { children: [
97
83
  "Failed to render component: ",
98
84
  e.type
99
85
  ] }),
100
- /* @__PURE__ */ l("p", { className: c.errorDetail, children: t instanceof Error ? t.message : String(t) })
86
+ /* @__PURE__ */ c("p", { className: s.errorDetail, children: r instanceof Error ? r.message : String(r) })
101
87
  ] });
102
88
  }
103
89
  };
104
90
  export {
105
- _ as adaptComponentForRegistry,
106
- _ as default
91
+ A as adaptComponentForRegistry,
92
+ A as default
107
93
  };
@@ -1,63 +1,63 @@
1
1
  "use client";
2
2
  import { jsx as r, jsxs as d } from "react/jsx-runtime";
3
- import { wizardDefaultRenderer as u } from "../../../renderer/wizardRenderer.js";
3
+ import { rhcRenderer as u } from "../../../renderer/RHCRenderer.js";
4
+ import { registerRenderComponent as g } from "../../../../../core/src/registry/renderComponent.js";
5
+ import { FormEditingProvider as y } from "../../../../../core/src/providers/FormEditingContext.js";
6
+ import { ThemeProvider as C, useThemeConfig as F } from "../../../../../core/src/providers/ThemeContext.js";
4
7
  /* empty css */
5
- import { FormLayout as m } from "../../../../../ui/src/components/FormLayout/FormLayout.js";
6
- import { formWizardQueryClient as g } from "../../../../../ui/src/lib/queryClient.js";
7
- import { QueryClientProvider as y } from "@tanstack/react-query";
8
- import { memo as C, useMemo as s } from "react";
9
- import F from "./FormWizard.module.css.js";
10
- import v from "../components/FormStep/FormStep.js";
11
- import S from "../components/StepProgressIndicator/StepProgressIndicator.js";
12
- import { ThemeProvider as M, useThemeConfig as z } from "../../../../../ui/src/theme/ThemeProvider.js";
13
- import { useFormMachineProvider as P, FormMachineContext as N } from "../../state-management/machines/useFormMachine.js";
14
- import W from "../../../../../ui/src/lib/error-boundaries/FormWizardErrorBoundary.js";
15
- import { FormEditingProvider as E } from "../../../../../ui/src/lib/providers/FormEditingContext.js";
8
+ import { FormLayout as t } from "../../../../../ui/src/components/FormLayout/FormLayout.js";
9
+ import { formWizardQueryClient as v } from "../../../../../ui/src/lib/queryClient.js";
10
+ import { QueryClientProvider as S } from "@tanstack/react-query";
11
+ import { memo as M, useMemo as s } from "react";
12
+ import P from "./FormWizard.module.css.js";
13
+ import z from "../components/FormStep/FormStep.js";
14
+ import N from "../components/StepProgressIndicator/StepProgressIndicator.js";
15
+ import { useFormMachineProvider as W, FormMachineContext as E } from "../../state-management/machines/useFormMachine.js";
16
+ import x from "../../../../../ui/src/lib/error-boundaries/FormWizardErrorBoundary.js";
16
17
  import i from "../../../../../ui/src/lib/error-boundaries/ComponentErrorBoundary.js";
17
- import { ActionManager as x } from "../../trigger-action-system/components/ActionManager.js";
18
- import { registerRenderComponent as L } from "../../../../../ui/src/component-registry/renderComponent.js";
19
- import { ValidationEngine as w } from "../../validation-system/validation/ValidationEngine.js";
20
- import { Heading as I } from "@rijkshuisstijl-community/components-react";
21
- L(u);
22
- const p = C(
18
+ import { ActionManager as L } from "../../trigger-action-system/components/ActionManager.js";
19
+ import { ValidationEngine as I } from "../../validation-system/validation/ValidationEngine.js";
20
+ import { Heading as T } from "@rijkshuisstijl-community/components-react";
21
+ const p = M(
23
22
  ({
24
23
  config: e,
25
24
  initialData: o = {},
26
25
  onSubmit: l,
27
- queryClient: c = g
26
+ queryClient: c = v
28
27
  }) => {
29
- const n = s(() => new w({
28
+ g(u);
29
+ const n = s(() => new I({
30
30
  messageStyle: e.validationMessageStyle || "withLabel"
31
31
  }), [e.validationMessageStyle]), f = s(() => ({
32
32
  ...e,
33
33
  steps: e.steps.map((a) => {
34
- const t = a;
34
+ const m = a;
35
35
  return {
36
- ...t,
37
- schema: t.schema || n.getStepSchema(t)
36
+ ...m,
37
+ schema: m.schema || n.getStepSchema(m)
38
38
  };
39
39
  })
40
- }), [e, n]), h = P({
40
+ }), [e, n]), h = W({
41
41
  config: f,
42
42
  initialData: o,
43
43
  onSubmit: l
44
44
  });
45
- return /* @__PURE__ */ r(y, { client: c, children: /* @__PURE__ */ r(W, { formId: e.id, children: /* @__PURE__ */ r(E, { children: /* @__PURE__ */ d(N.Provider, { value: h, children: [
46
- /* @__PURE__ */ r(i, { componentName: "ActionManager", children: /* @__PURE__ */ r(x, {}) }),
47
- /* @__PURE__ */ d(m, { className: F.formLayout, children: [
48
- /* @__PURE__ */ r(m.Title, { children: /* @__PURE__ */ r(I, { level: 1, children: e.title }) }),
49
- /* @__PURE__ */ r(m.LeftColumn, { children: /* @__PURE__ */ r(i, { componentName: "StepProgressIndicator", children: /* @__PURE__ */ r(S, {}) }) }),
50
- /* @__PURE__ */ r(i, { componentName: "FormStep", children: /* @__PURE__ */ r(v, {}) })
45
+ return /* @__PURE__ */ r(S, { client: c, children: /* @__PURE__ */ r(x, { formId: e.id, children: /* @__PURE__ */ r(y, { children: /* @__PURE__ */ d(E.Provider, { value: h, children: [
46
+ /* @__PURE__ */ r(i, { componentName: "ActionManager", children: /* @__PURE__ */ r(L, {}) }),
47
+ /* @__PURE__ */ d(t, { className: P.formLayout, children: [
48
+ /* @__PURE__ */ r(t.Title, { children: /* @__PURE__ */ r(T, { level: 1, children: e.title }) }),
49
+ /* @__PURE__ */ r(t.LeftColumn, { children: /* @__PURE__ */ r(i, { componentName: "StepProgressIndicator", children: /* @__PURE__ */ r(N, {}) }) }),
50
+ /* @__PURE__ */ r(i, { componentName: "FormStep", children: /* @__PURE__ */ r(z, {}) })
51
51
  ] })
52
52
  ] }) }) }) });
53
53
  }
54
54
  );
55
55
  p.displayName = "FormWizardCore";
56
- const T = (e) => {
57
- const o = z();
58
- return /* @__PURE__ */ r(M, { config: o, children: /* @__PURE__ */ r(p, { ...e }) });
56
+ const j = (e) => {
57
+ const o = F();
58
+ return /* @__PURE__ */ r(C, { config: o, children: /* @__PURE__ */ r(p, { ...e }) });
59
59
  };
60
- T.displayName = "FormWizard";
60
+ j.displayName = "FormWizard";
61
61
  export {
62
- T as default
62
+ j as default
63
63
  };
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { jsx as n, jsxs as p } from "react/jsx-runtime";
3
- import { ComponentAlerts as F } from "../../trigger-action-system/components/ComponentAlert/ComponentAlert.js";
2
+ import { jsx as n, jsxs as I } from "react/jsx-runtime";
3
+ import { ComponentAlerts as p } from "../../trigger-action-system/components/ComponentAlert/ComponentAlert.js";
4
4
  /* empty css */
5
5
  import { memo as M, useMemo as N } from "react";
6
6
  import { adaptComponentForRegistry as x } from "../ComponentAdapterComplete/ComponentAdapterComplete.js";
@@ -12,7 +12,7 @@ import { useFormFieldState as U } from "../hooks/useFormFieldState.js";
12
12
  import { useValidationEvents as G } from "../hooks/useValidationEvents.js";
13
13
  import { checkHasIsDirtyTriggers as z, shouldBeFormField as P, checkFieldHasValue as j, getValidationDisplayState as q, shouldShowComponentAlerts as J, shouldShowDisplayMode as W } from "../utils/fieldHelpers.js";
14
14
  import { logger as e } from "../utils/logger.js";
15
- import { updateValidationCache as C } from "../utils/validationUX.js";
15
+ import { updateValidationCache as F } from "../utils/validationUX.js";
16
16
  import { ProgressLoaderRuntime as X } from "./ProgressLoaderRuntime.js";
17
17
  import { DisplayModeRenderer as Z } from "./renderers/DisplayModeRenderer/DisplayModeRenderer.js";
18
18
  import { InteractiveFieldRenderer as K } from "./renderers/InteractiveFieldRenderer/InteractiveFieldRenderer.js";
@@ -20,20 +20,20 @@ import { useFormMachine as Q } from "../../state-management/machines/useFormMach
20
20
  import Y from "../../../../../ui/src/lib/error-boundaries/ComponentErrorBoundary.js";
21
21
  const ii = M(
22
22
  ({ component: i, readOnly: V = !1 }) => {
23
- const [D, ai, g] = Q(), c = O(), { isVisible: T } = B({
23
+ const [C, ai, g] = Q(), c = O(), { isVisible: T } = B({
24
24
  visibilityConditions: i.visibilityConditions,
25
- formData: D.context.data
26
- }), { forceShowValidation: A, resetValidationState: $ } = G({
25
+ formData: C.context.data
26
+ }), { forceShowValidation: D, resetValidationState: A } = G({
27
27
  componentId: i.id
28
- }), y = z(i), { originalValueFromMachine: b, initializeField: R, getEnhancedIsDirty: S } = U({
28
+ }), y = z(i), { originalValueFromMachine: $, initializeField: b, getEnhancedIsDirty: S } = U({
29
29
  componentId: i.id,
30
30
  hasIsDirtyTriggers: y
31
- }), { handleChange: L, handleBlur: k } = H({
31
+ }), { handleChange: R, handleBlur: L } = H({
32
32
  componentId: i.id,
33
33
  hasIsDirtyTriggers: y,
34
- originalValueFromMachine: b,
34
+ originalValueFromMachine: $,
35
35
  getEnhancedIsDirty: S,
36
- resetValidationState: $
36
+ resetValidationState: A
37
37
  }), f = _({
38
38
  componentId: i.id
39
39
  }), m = N(() => {
@@ -67,7 +67,7 @@ const ii = M(
67
67
  else {
68
68
  e.validation(
69
69
  `No validation rules for ${i.id} [${l}], returning VALID (undefined)`
70
- ), C(i.id, !0);
70
+ ), F(i.id, !0);
71
71
  return;
72
72
  }
73
73
  let s = t;
@@ -101,7 +101,7 @@ const ii = M(
101
101
  }
102
102
  );
103
103
  const u = (d.errors || []).length === 0;
104
- C(i.id, u);
104
+ F(i.id, u);
105
105
  let o;
106
106
  return u ? o = void 0 : (d.errors || []).length === 1 ? o = (d.errors || [])[0] : o = d.errors || [], e.validation(
107
107
  `VALIDATION END [${l}] for ${i.id}:`,
@@ -149,14 +149,14 @@ const ii = M(
149
149
  }
150
150
  };
151
151
  }, [i.validation, g.validationEngine, i]);
152
- R(), e.lifecycle(`Component MOUNTED for ${i.id}:`, {
152
+ b(), e.lifecycle(`Component MOUNTED for ${i.id}:`, {
153
153
  componentId: i.id,
154
154
  componentType: i.type,
155
155
  hasValidation: !!i.validation,
156
156
  validationRules: i.validation,
157
157
  validationEngineExists: !!g.validationEngine
158
158
  });
159
- const w = P(i);
159
+ const k = P(i);
160
160
  if (i.validation && g.validationEngine)
161
161
  try {
162
162
  const a = g.validationEngine.validateField(
@@ -184,7 +184,7 @@ const ii = M(
184
184
  a
185
185
  );
186
186
  }
187
- const I = !!(i.validation || i.required !== void 0);
187
+ const w = !!(i.validation || i.required !== void 0);
188
188
  return /* @__PURE__ */ n(
189
189
  "div",
190
190
  {
@@ -197,7 +197,7 @@ const ii = M(
197
197
  Y,
198
198
  {
199
199
  componentName: `FormField-${i.type}-${i.id}`,
200
- children: w ? /* @__PURE__ */ n(
200
+ children: k ? /* @__PURE__ */ n(
201
201
  c.Field,
202
202
  {
203
203
  name: i.id,
@@ -322,13 +322,13 @@ const ii = M(
322
322
  ), { isSubmitAttempted: u } = q(
323
323
  a.state.meta,
324
324
  c.state,
325
- A
325
+ D
326
326
  ), o = J(
327
327
  y,
328
328
  l,
329
329
  f.alerts.length
330
330
  );
331
- return d && I ? /* @__PURE__ */ p("div", { children: [
331
+ return d && w ? /* @__PURE__ */ I("div", { children: [
332
332
  /* @__PURE__ */ n(
333
333
  Z,
334
334
  {
@@ -336,15 +336,14 @@ const ii = M(
336
336
  fieldValue: t
337
337
  }
338
338
  ),
339
- o && f.alerts.length > 0 && /* @__PURE__ */ n(F, { alerts: f.alerts })
340
- ] }) : /* @__PURE__ */ p("div", { children: [
339
+ o && f.alerts.length > 0 && /* @__PURE__ */ n(p, { alerts: f.alerts })
340
+ ] }) : /* @__PURE__ */ I("div", { children: [
341
341
  /* @__PURE__ */ n(
342
342
  K,
343
343
  {
344
344
  component: i,
345
345
  field: a,
346
346
  readOnly: V,
347
- needsFormFieldWrapper: I,
348
347
  isSubmitAttempted: u,
349
348
  onChange: (r) => {
350
349
  e.change(`onChange triggered for ${i.id}:`, {
@@ -357,12 +356,12 @@ const ii = M(
357
356
  originalValue: r,
358
357
  sharedValue: v,
359
358
  sharedValueType: typeof v
360
- }), L(a)(v);
359
+ }), R(a)(v);
361
360
  },
362
- onBlur: k(a)
361
+ onBlur: L(a)
363
362
  }
364
363
  ),
365
- o && f.alerts.length > 0 && /* @__PURE__ */ n(F, { alerts: f.alerts })
364
+ o && f.alerts.length > 0 && /* @__PURE__ */ n(p, { alerts: f.alerts })
366
365
  ] });
367
366
  }
368
367
  }
@@ -385,12 +384,7 @@ const ii = M(
385
384
  // no onChange handler
386
385
  V,
387
386
  () => {
388
- },
389
- // no onBlur handler
390
- void 0,
391
- // no errors
392
- void 0
393
- // no state
387
+ }
394
388
  )
395
389
  )
396
390
  }