@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.
- package/{ui/src/component-registry → core/src/registry}/renderComponent.js +1 -1
- package/{ui/src/lib → core/src/utils}/logger.js +2 -1
- package/features/form-runtime/ComponentAdapterComplete/ComponentAdapterComplete.d.ts +2 -3
- package/features/form-runtime/components/renderers/InteractiveFieldRenderer/InteractiveFieldRenderer.d.ts +2 -4
- package/package.json +1 -1
- package/renderer/RHCRenderer.d.ts +2 -0
- package/renderer/rhc-field-type-map.d.ts +5 -0
- package/renderer/rhc-selection.config.d.ts +0 -0
- package/styles.css +1 -1
- package/wizard/src/features/api-integration/components/EnhancedActionExecutor/EnhancedActionExecutor.js +1 -2
- package/wizard/src/features/form-runtime/ComponentAdapterComplete/ComponentAdapterComplete.js +33 -47
- package/wizard/src/features/form-runtime/FormWizard/FormWizard.js +35 -35
- package/wizard/src/features/form-runtime/components/FormField.js +24 -30
- package/wizard/src/features/form-runtime/components/FormFooter.js +18 -19
- package/wizard/src/features/form-runtime/components/FormHeader.js +3 -3
- package/wizard/src/features/form-runtime/components/FormStep/FormStep.js +1 -2
- package/wizard/src/features/form-runtime/components/renderers/DisplayModeRenderer/DisplayModeRenderer.js +7 -16
- package/wizard/src/features/form-runtime/components/renderers/InteractiveFieldRenderer/InteractiveFieldRenderer.js +21 -34
- package/wizard/src/features/form-runtime/utils/formDataBuilder.js +4 -5
- package/wizard/src/features/validation-system/validation/ActionValidation.js +7 -8
- package/wizard/src/renderer/RHCRenderer.js +160 -0
- package/wizard/src/renderer/rhc-field-type-map.js +25 -0
- package/renderer/wizardRenderer.d.ts +0 -2
- package/ui/src/components/checkbox/checkbox.js +0 -20
- package/ui/src/components/checkbox/checkbox.module.css.js +0 -10
- package/ui/src/components/input/input.js +0 -20
- package/ui/src/components/input/input.module.css.js +0 -8
- package/ui/src/components/radio-group/radio-group.js +0 -30
- package/ui/src/components/radio-group/radio-group.module.css.js +0 -14
- package/ui/src/components/select/select.js +0 -115
- package/ui/src/components/select/select.module.css.js +0 -32
- package/ui/src/components/textarea/textarea.js +0 -19
- package/ui/src/components/textarea/textarea.module.css.js +0 -8
- package/ui/src/design-system/components/FormFieldWrapper.js +0 -16
- package/wizard/src/renderer/wizardRenderer.js +0 -123
- /package/{ui/src/lib → core/src}/providers/FormEditingContext.js +0 -0
- /package/{ui/src/theme/ThemeProvider.js → core/src/providers/ThemeContext.js} +0 -0
- /package/{ui/src/lib → core/src}/types/guards.js +0 -0
- /package/{ui/src/lib → core/src}/utils/componentUtils.js +0 -0
- /package/{ui/src/lib → core/src}/utils/templateDialogResolver.js +0 -0
|
@@ -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("
|
|
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:
|
|
7
|
+
onChange: (value: ComponentValue) => void;
|
|
10
8
|
onBlur: () => void;
|
|
11
9
|
}
|
|
12
10
|
export declare const InteractiveFieldRenderer: React.FC<InteractiveFieldRendererProps>;
|
package/package.json
CHANGED
|
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
|
-
|
|
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";
|
package/wizard/src/features/form-runtime/ComponentAdapterComplete/ComponentAdapterComplete.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
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
|
-
},
|
|
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"),
|
|
36
|
-
id:
|
|
37
|
-
field:
|
|
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:
|
|
37
|
+
targetStepId: t.targetStepId || "",
|
|
40
38
|
// Default empty as form wizard doesn't have this concept
|
|
41
|
-
targetComponentId:
|
|
39
|
+
targetComponentId: t.field || t.targetComponentId,
|
|
42
40
|
// Map field to targetComponentId
|
|
43
|
-
operator:
|
|
44
|
-
value:
|
|
45
|
-
logicalOperator:
|
|
46
|
-
})),
|
|
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
|
-
},
|
|
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
|
|
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:
|
|
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:
|
|
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 ?
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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__ */
|
|
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
|
-
|
|
106
|
-
|
|
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 {
|
|
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
|
|
6
|
-
import { formWizardQueryClient as
|
|
7
|
-
import { QueryClientProvider as
|
|
8
|
-
import { memo as
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import {
|
|
13
|
-
import
|
|
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
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
|
|
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 =
|
|
26
|
+
queryClient: c = v
|
|
28
27
|
}) => {
|
|
29
|
-
|
|
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
|
|
34
|
+
const m = a;
|
|
35
35
|
return {
|
|
36
|
-
...
|
|
37
|
-
schema:
|
|
36
|
+
...m,
|
|
37
|
+
schema: m.schema || n.getStepSchema(m)
|
|
38
38
|
};
|
|
39
39
|
})
|
|
40
|
-
}), [e, n]), h =
|
|
40
|
+
}), [e, n]), h = W({
|
|
41
41
|
config: f,
|
|
42
42
|
initialData: o,
|
|
43
43
|
onSubmit: l
|
|
44
44
|
});
|
|
45
|
-
return /* @__PURE__ */ r(
|
|
46
|
-
/* @__PURE__ */ r(i, { componentName: "ActionManager", children: /* @__PURE__ */ r(
|
|
47
|
-
/* @__PURE__ */ d(
|
|
48
|
-
/* @__PURE__ */ r(
|
|
49
|
-
/* @__PURE__ */ r(
|
|
50
|
-
/* @__PURE__ */ r(i, { componentName: "FormStep", children: /* @__PURE__ */ r(
|
|
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
|
|
57
|
-
const o =
|
|
58
|
-
return /* @__PURE__ */ r(
|
|
56
|
+
const j = (e) => {
|
|
57
|
+
const o = F();
|
|
58
|
+
return /* @__PURE__ */ r(C, { config: o, children: /* @__PURE__ */ r(p, { ...e }) });
|
|
59
59
|
};
|
|
60
|
-
|
|
60
|
+
j.displayName = "FormWizard";
|
|
61
61
|
export {
|
|
62
|
-
|
|
62
|
+
j as default
|
|
63
63
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as n, jsxs as
|
|
3
|
-
import { ComponentAlerts as
|
|
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
|
|
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 [
|
|
23
|
+
const [C, ai, g] = Q(), c = O(), { isVisible: T } = B({
|
|
24
24
|
visibilityConditions: i.visibilityConditions,
|
|
25
|
-
formData:
|
|
26
|
-
}), { forceShowValidation:
|
|
25
|
+
formData: C.context.data
|
|
26
|
+
}), { forceShowValidation: D, resetValidationState: A } = G({
|
|
27
27
|
componentId: i.id
|
|
28
|
-
}), y = z(i), { originalValueFromMachine:
|
|
28
|
+
}), y = z(i), { originalValueFromMachine: $, initializeField: b, getEnhancedIsDirty: S } = U({
|
|
29
29
|
componentId: i.id,
|
|
30
30
|
hasIsDirtyTriggers: y
|
|
31
|
-
}), { handleChange:
|
|
31
|
+
}), { handleChange: R, handleBlur: L } = H({
|
|
32
32
|
componentId: i.id,
|
|
33
33
|
hasIsDirtyTriggers: y,
|
|
34
|
-
originalValueFromMachine:
|
|
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
|
-
),
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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:
|
|
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
|
-
|
|
325
|
+
D
|
|
326
326
|
), o = J(
|
|
327
327
|
y,
|
|
328
328
|
l,
|
|
329
329
|
f.alerts.length
|
|
330
330
|
);
|
|
331
|
-
return d &&
|
|
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(
|
|
340
|
-
] }) : /* @__PURE__ */
|
|
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
|
-
}),
|
|
359
|
+
}), R(a)(v);
|
|
361
360
|
},
|
|
362
|
-
onBlur:
|
|
361
|
+
onBlur: L(a)
|
|
363
362
|
}
|
|
364
363
|
),
|
|
365
|
-
o && f.alerts.length > 0 && /* @__PURE__ */ n(
|
|
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
|
}
|