@digiform/wizard 0.3.6 → 0.4.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 (36) 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 +1 -2
  4. package/features/form-runtime/components/renderers/InteractiveFieldRenderer/InteractiveFieldRenderer.d.ts +2 -3
  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 +4 -5
  12. package/wizard/src/features/form-runtime/FormWizard/FormWizard.js +35 -35
  13. package/wizard/src/features/form-runtime/components/FormFooter.js +18 -19
  14. package/wizard/src/features/form-runtime/components/FormHeader.js +3 -3
  15. package/wizard/src/features/form-runtime/components/FormStep/FormStep.js +1 -2
  16. package/wizard/src/features/form-runtime/utils/formDataBuilder.js +4 -5
  17. package/wizard/src/features/validation-system/validation/ActionValidation.js +7 -8
  18. package/wizard/src/renderer/RHCRenderer.js +117 -0
  19. package/wizard/src/renderer/rhc-field-type-map.js +23 -0
  20. package/renderer/wizardRenderer.d.ts +0 -2
  21. package/ui/src/components/checkbox/checkbox.js +0 -20
  22. package/ui/src/components/checkbox/checkbox.module.css.js +0 -10
  23. package/ui/src/components/input/input.js +0 -20
  24. package/ui/src/components/input/input.module.css.js +0 -8
  25. package/ui/src/components/radio-group/radio-group.js +0 -30
  26. package/ui/src/components/radio-group/radio-group.module.css.js +0 -14
  27. package/ui/src/components/select/select.js +0 -115
  28. package/ui/src/components/select/select.module.css.js +0 -32
  29. package/ui/src/components/textarea/textarea.js +0 -19
  30. package/ui/src/components/textarea/textarea.module.css.js +0 -8
  31. package/wizard/src/renderer/wizardRenderer.js +0 -123
  32. /package/{ui/src/lib → core/src}/providers/FormEditingContext.js +0 -0
  33. /package/{ui/src/theme/ThemeProvider.js → core/src/providers/ThemeContext.js} +0 -0
  34. /package/{ui/src/lib → core/src}/types/guards.js +0 -0
  35. /package/{ui/src/lib → core/src}/utils/componentUtils.js +0 -0
  36. /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
@@ -1,12 +1,11 @@
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
6
  needsFormFieldWrapper: boolean;
8
7
  isSubmitAttempted: boolean;
9
- onChange: (value: RegistryComponentValue) => void;
8
+ onChange: (value: ComponentValue) => void;
10
9
  onBlur: () => void;
11
10
  }
12
11
  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.4.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";
@@ -2,8 +2,7 @@
2
2
  import { jsx as l, jsxs as m } from "react/jsx-runtime";
3
3
  import c from "./ComponentAdapterComplete.module.css.js";
4
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";
5
+ import { renderComponent as C } from "../../../../../core/src/registry/renderComponent.js";
7
6
  const a = {
8
7
  text: "text",
9
8
  date: "date",
@@ -55,7 +54,7 @@ const a = {
55
54
  "alert",
56
55
  "button",
57
56
  "progress-loader"
58
- ], _ = (e, r, u, g, o, f, y) => {
57
+ ], T = (e, r, u, g, o, f, y) => {
59
58
  try {
60
59
  const t = F(e.type), h = {
61
60
  // Base component properties
@@ -102,6 +101,6 @@ const a = {
102
101
  }
103
102
  };
104
103
  export {
105
- _ as adaptComponentForRegistry,
106
- _ as default
104
+ T as adaptComponentForRegistry,
105
+ T as default
107
106
  };
@@ -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,29 +1,28 @@
1
1
  "use client";
2
2
  import { jsx as h, jsxs as F } from "react/jsx-runtime";
3
3
  import { clsx as b } from "clsx";
4
- /* empty css */
5
- import { useFormContext as S } from "../hooks/useFormContext.js";
6
- import { useFormEditing as g } from "../../../../../ui/src/lib/providers/FormEditingContext.js";
4
+ import { useFormEditing as S } from "../../../../../core/src/providers/FormEditingContext.js";
5
+ import { useFormContext as g } from "../hooks/useFormContext.js";
7
6
  import { useFormMachine as N } from "../../state-management/machines/useFormMachine.js";
8
7
  import { Button as A } from "@rijkshuisstijl-community/components-react";
9
8
  const I = ({
10
9
  navigation: r,
11
10
  children: a,
12
- isDisplayOnly: e = !1,
11
+ isDisplayOnly: t = !1,
13
12
  onNext: c,
14
- isLastStep: p = !1,
13
+ isLastStep: u = !1,
15
14
  isDisabled: n = !1,
16
15
  labels: i,
17
16
  ...o
18
17
  }) => {
19
18
  const l = () => {
20
- e || n || c?.();
21
- }, m = r?.next?.label || (p ? i?.finish ?? "Voltooien" : i?.next ?? "Volgende");
19
+ t || n || c?.();
20
+ }, m = r?.next?.label || (u ? i?.finish ?? "Voltooien" : i?.next ?? "Volgende");
22
21
  return /* @__PURE__ */ F(
23
22
  "div",
24
23
  {
25
24
  className: b(
26
- (n || e) && "opacity-50",
25
+ (n || t) && "opacity-50",
27
26
  o.className
28
27
  ),
29
28
  ...o,
@@ -34,45 +33,45 @@ const I = ({
34
33
  {
35
34
  appearance: "primary-action-button",
36
35
  onClick: l,
37
- disabled: n || e,
36
+ disabled: n || t,
38
37
  children: m
39
38
  }
40
39
  )
41
40
  ]
42
41
  }
43
42
  );
44
- }, k = ({ children: r, labels: a, ...e }) => {
45
- const { isEditing: c } = g(), [p, n, i] = N(), { currentStep: o, isLastStep: l, nextStep: m } = i, { navigation: u } = o, s = S(), x = () => {
43
+ }, _ = ({ children: r, labels: a, ...t }) => {
44
+ const { isEditing: c } = S(), [u, n, i] = N(), { currentStep: o, isLastStep: l, nextStep: m } = i, { navigation: p } = o, s = g(), x = () => {
46
45
  const d = Object.keys(s.state.fieldMeta).filter((f) => {
47
- const t = s.state.fieldMeta[f];
48
- return !t.isValid && t.errors?.length > 0;
46
+ const e = s.state.fieldMeta[f];
47
+ return !e.isValid && e.errors?.length > 0;
49
48
  });
50
49
  d.length > 0 && n({ type: "TRIGGER_STEP_VALIDATION", fieldIds: d });
51
50
  };
52
51
  return /* @__PURE__ */ h(
53
52
  I,
54
53
  {
55
- navigation: u,
54
+ navigation: p,
56
55
  onNext: async () => {
57
56
  if (!s.state.canSubmit) {
58
57
  x();
59
58
  return;
60
59
  }
61
- const f = (o.actions ?? []).some((t) => t.trigger === "onStepFinish");
60
+ const f = (o.actions ?? []).some((e) => e.trigger === "onStepFinish");
62
61
  try {
63
62
  f ? await s.handleSubmit() : m();
64
- } catch (t) {
65
- console.error("Form submission failed:", t);
63
+ } catch (e) {
64
+ console.error("Form submission failed:", e);
66
65
  }
67
66
  },
68
67
  isLastStep: l,
69
68
  isDisabled: c,
70
69
  labels: a,
71
- ...e,
70
+ ...t,
72
71
  children: /* @__PURE__ */ h(s.Subscribe, { children: r })
73
72
  }
74
73
  );
75
74
  };
76
75
  export {
77
- k as default
76
+ _ as default
78
77
  };
@@ -2,10 +2,10 @@
2
2
  import { jsx as u } from "react/jsx-runtime";
3
3
  /* empty css */
4
4
  import { FormHeaderBase as c } from "../../../../../ui/src/components/form-header-base/form-header-base.js";
5
- import { useFormMachine as l } from "../../state-management/machines/useFormMachine.js";
6
- import { useFormEditing as d } from "../../../../../ui/src/lib/providers/FormEditingContext.js";
5
+ import { useFormEditing as l } from "../../../../../core/src/providers/FormEditingContext.js";
6
+ import { useFormMachine as d } from "../../state-management/machines/useFormMachine.js";
7
7
  const N = (t) => {
8
- const { isEditing: o } = d(), [, , i] = l(), { steps: n, currentStep: e, currentStepIndex: s, previousStep: a, goToStep: m } = i, p = (r) => {
8
+ const { isEditing: o } = l(), [, , i] = d(), { steps: n, currentStep: e, currentStepIndex: s, previousStep: a, goToStep: m } = i, p = (r) => {
9
9
  r === "previous" ? a() : m(r);
10
10
  };
11
11
  return /* @__PURE__ */ u(
@@ -1,8 +1,7 @@
1
1
  "use client";
2
2
  import { jsxs as f, jsx as r, Fragment as _ } from "react/jsx-runtime";
3
3
  import g from "./FormStep.module.css.js";
4
- /* empty css */
5
- import { logger as w } from "../../../../../../ui/src/lib/logger.js";
4
+ import { logger as w } from "../../../../../../core/src/utils/logger.js";
6
5
  import { useForm as I } from "@tanstack/react-form";
7
6
  import { useRef as p } from "react";
8
7
  import { LoaderProvider as M, useLoaderContext as C } from "../../context/LoaderContext.js";
@@ -1,10 +1,9 @@
1
1
  "use client";
2
- /* empty css */
3
- import { isFormField as r, getDefaultValue as s } from "../../../../../ui/src/lib/utils/componentUtils.js";
4
- const u = (i) => (i.sections ?? []).flatMap((e) => e.components).filter((e) => r(e.type)).reduce(
5
- (e, t) => (e[t.id] = s(t.type), e),
2
+ import { isFormField as i, getDefaultValue as r } from "../../../../../core/src/utils/componentUtils.js";
3
+ const n = (s) => (s.sections ?? []).flatMap((e) => e.components).filter((e) => i(e.type)).reduce(
4
+ (e, t) => (e[t.id] = r(t.type), e),
6
5
  {}
7
6
  );
8
7
  export {
9
- u as buildDefaultValues
8
+ n as buildDefaultValues
10
9
  };
@@ -1,8 +1,7 @@
1
1
  "use client";
2
- /* empty css */
3
- import { isTemplateDialogConfig as p } from "../../../../../ui/src/lib/types/guards.js";
4
- import { resolveTemplateDialog as d } from "../../../../../ui/src/lib/utils/templateDialogResolver.js";
5
- class m extends Error {
2
+ import { resolveTemplateDialog as p } from "../../../../../core/src/utils/templateDialogResolver.js";
3
+ import { isTemplateDialogConfig as d } from "../../../../../core/src/types/guards.js";
4
+ class v extends Error {
6
5
  constructor(t, e, i, r) {
7
6
  super(i), this.actionId = t, this.actionType = e, this.details = r, this.name = "ActionValidationError";
8
7
  }
@@ -72,7 +71,7 @@ class n {
72
71
  */
73
72
  static validateDialogConfig(t) {
74
73
  const e = [];
75
- if (p(t))
74
+ if (d(t))
76
75
  return n.validateTemplateDialogConfig(t);
77
76
  const i = t;
78
77
  if (i.title || e.push("Dialog title is required"), i.content || e.push("Dialog content is required"), i.type ? ["modal", "toast", "sidebar"].includes(i.type) || e.push("Invalid dialog type") : e.push("Dialog type is required"), !i.buttons || i.buttons.length === 0)
@@ -100,7 +99,7 @@ class n {
100
99
  if ((!t.template.typeId || t.template.typeId.trim() === "") && e.push("Template typeId is required"), (!t.template.config || typeof t.template.config != "object") && e.push("Template config is required and must be an object"), e.length > 0)
101
100
  return e;
102
101
  try {
103
- const i = d(t);
102
+ const i = p(t);
104
103
  return n.validateResolvedDialogConfig(i);
105
104
  } catch (i) {
106
105
  e.push(
@@ -207,7 +206,7 @@ class n {
207
206
  try {
208
207
  const s = o.config;
209
208
  let a;
210
- if (p(s) ? a = d(s) : a = s, a.buttons) {
209
+ if (d(s) ? a = p(s) : a = s, a.buttons) {
211
210
  for (const u of a.buttons)
212
211
  if (u.action.type === "navigate" && u.action.targetStep) {
213
212
  const l = u.action.targetStep;
@@ -229,6 +228,6 @@ class n {
229
228
  }
230
229
  }
231
230
  export {
232
- m as ActionValidationError,
231
+ v as ActionValidationError,
233
232
  n as ActionValidator
234
233
  };
@@ -0,0 +1,117 @@
1
+ "use client";
2
+ import { jsx as r, jsxs as u } from "react/jsx-runtime";
3
+ import { SelectOption as y, Radio as f } from "@rijkshuisstijl-community/components-react";
4
+ import { wizardFieldTypeMap as g } from "./rhc-field-type-map.js";
5
+ const b = g, x = ({
6
+ component: i,
7
+ value: o,
8
+ onChange: d,
9
+ isFormView: s
10
+ }) => {
11
+ const p = b[i.type];
12
+ if (!p)
13
+ return console.warn(`[RHCRenderer] No RHC component registered for type: ${i.type}`), null;
14
+ const e = i.properties ?? {}, n = {};
15
+ for (const t of p.included)
16
+ t in e && (n[t] = e[t]);
17
+ const a = p.component;
18
+ switch (i.type) {
19
+ case "text":
20
+ case "email":
21
+ case "tel":
22
+ case "number":
23
+ case "date":
24
+ return /* @__PURE__ */ r(
25
+ a,
26
+ {
27
+ type: i.type,
28
+ value: typeof o == "string" ? o : "",
29
+ ...n,
30
+ readOnly: !!n.readOnly || !s,
31
+ onChange: s ? (t) => d(t.target.value) : void 0
32
+ }
33
+ );
34
+ case "textarea":
35
+ return /* @__PURE__ */ r(
36
+ a,
37
+ {
38
+ value: typeof o == "string" ? o : "",
39
+ ...n,
40
+ readOnly: !!n.readOnly || !s,
41
+ onChange: s ? (t) => d(t.target.value) : void 0
42
+ }
43
+ );
44
+ case "checkbox":
45
+ return /* @__PURE__ */ r(
46
+ a,
47
+ {
48
+ checked: !!o,
49
+ ...n,
50
+ onChange: s ? (t) => d(t.target.checked) : void 0
51
+ }
52
+ );
53
+ case "radioGroup": {
54
+ const t = Array.isArray(e.options) ? e.options : [];
55
+ return /* @__PURE__ */ r(a, { ...n, children: t.map((l) => (
56
+ // RHC Radio is a void <input type="radio"> — it cannot have children.
57
+ // Wrap in a <label> so the label text is associated with the input.
58
+ /* @__PURE__ */ u("label", { children: [
59
+ /* @__PURE__ */ r(
60
+ f,
61
+ {
62
+ value: l.value,
63
+ checked: o === l.value,
64
+ onChange: s ? () => d(l.value) : void 0
65
+ }
66
+ ),
67
+ l.label
68
+ ] }, l.value)
69
+ )) });
70
+ }
71
+ case "dropdown": {
72
+ const t = Array.isArray(e.options) ? e.options : [], l = typeof e.label == "string" ? e.label : "";
73
+ return /* @__PURE__ */ r(
74
+ a,
75
+ {
76
+ label: l,
77
+ value: typeof o == "string" ? o : "",
78
+ ...n,
79
+ onChange: s ? (c) => d(c.target.value) : void 0,
80
+ children: t.map((c) => /* @__PURE__ */ r(y, { value: c.value, children: c.label }, c.value))
81
+ }
82
+ );
83
+ }
84
+ case "button":
85
+ return /* @__PURE__ */ r(
86
+ a,
87
+ {
88
+ type: "button",
89
+ ...n,
90
+ onClick: s ? () => d(null) : void 0,
91
+ children: typeof e.label == "string" ? e.label : "Submit"
92
+ }
93
+ );
94
+ case "heading": {
95
+ const t = typeof e.level == "number" ? e.level : 2, l = Math.min(6, Math.max(1, t)), c = typeof e.text == "string" ? e.text : "";
96
+ return /* @__PURE__ */ r(a, { level: l, children: c });
97
+ }
98
+ case "paragraph":
99
+ return /* @__PURE__ */ r(a, { children: typeof e.text == "string" ? e.text : "" });
100
+ case "alert":
101
+ return /* @__PURE__ */ r(a, { role: "alert", children: typeof e.message == "string" ? e.message : "" });
102
+ case "progress-loader":
103
+ return /* @__PURE__ */ r(
104
+ a,
105
+ {
106
+ mode: typeof e.mode == "string" ? e.mode : "indeterminate",
107
+ status: "loading",
108
+ label: typeof e.label == "string" ? e.label : void 0
109
+ }
110
+ );
111
+ default:
112
+ return /* @__PURE__ */ r(a, { ...n });
113
+ }
114
+ };
115
+ export {
116
+ x as rhcRenderer
117
+ };
@@ -0,0 +1,23 @@
1
+ "use client";
2
+ import { Alert as d, Paragraph as l, Heading as n, Button as o, FormFieldSelect as a, RadioGroup as c, Checkbox as r, Textarea as t, TextInput as e } from "@rijkshuisstijl-community/components-react";
3
+ /* empty css */
4
+ import { ProgressLoaderBar as i } from "../../../ui/src/components/ProgressLoaderBar/ProgressLoaderBar.js";
5
+ const s = {
6
+ text: { component: e, included: ["value", "placeholder", "disabled", "readOnly"] },
7
+ email: { component: e, included: ["value", "placeholder", "disabled", "readOnly"] },
8
+ tel: { component: e, included: ["value", "placeholder", "disabled", "readOnly"] },
9
+ number: { component: e, included: ["value", "placeholder", "disabled", "readOnly"] },
10
+ date: { component: e, included: ["value", "placeholder", "disabled", "readOnly"] },
11
+ textarea: { component: t, included: ["value", "placeholder", "disabled", "readOnly"] },
12
+ checkbox: { component: r, included: ["disabled"] },
13
+ radioGroup: { component: c, included: [] },
14
+ dropdown: { component: a, included: ["disabled"] },
15
+ button: { component: o, included: ["disabled"] },
16
+ heading: { component: n, included: ["level"] },
17
+ paragraph: { component: l, included: [] },
18
+ alert: { component: d, included: [] },
19
+ "progress-loader": { component: i, included: ["mode", "label"] }
20
+ };
21
+ export {
22
+ s as wizardFieldTypeMap
23
+ };
@@ -1,2 +0,0 @@
1
- import { RenderComponentFn } from '../../../ui/src/index.ts';
2
- export declare const wizardDefaultRenderer: RenderComponentFn;
@@ -1,20 +0,0 @@
1
- "use client";
2
- import { jsx as o } from "react/jsx-runtime";
3
- import * as e from "@radix-ui/react-checkbox";
4
- import { Check as i } from "lucide-react";
5
- import * as s from "react";
6
- import { clsx as t } from "clsx";
7
- import c from "./checkbox.module.css.js";
8
- const l = s.forwardRef(({ className: r, ...m }, a) => /* @__PURE__ */ o(
9
- e.Root,
10
- {
11
- ref: a,
12
- className: t(c.checkbox, r),
13
- ...m,
14
- children: /* @__PURE__ */ o(e.Indicator, { className: c.checkboxIndicator, children: /* @__PURE__ */ o(i, { className: c.checkboxIcon }) })
15
- }
16
- ));
17
- l.displayName = e.Root.displayName;
18
- export {
19
- l as Checkbox
20
- };
@@ -1,10 +0,0 @@
1
- "use client";
2
- const c = "fb-checkbox_wsic0", o = "fb-checkboxIndicator_31Q4N", e = {
3
- checkbox: c,
4
- checkboxIndicator: o
5
- };
6
- export {
7
- c as checkbox,
8
- o as checkboxIndicator,
9
- e as default
10
- };
@@ -1,20 +0,0 @@
1
- "use client";
2
- import { jsx as p } from "react/jsx-runtime";
3
- import * as s from "react";
4
- import { clsx as e } from "clsx";
5
- import i from "./input.module.css.js";
6
- const a = s.forwardRef(
7
- ({ className: t, type: r, ...o }, m) => /* @__PURE__ */ p(
8
- "input",
9
- {
10
- type: r,
11
- className: e(i.input, t),
12
- ref: m,
13
- ...o
14
- }
15
- )
16
- );
17
- a.displayName = "Input";
18
- export {
19
- a as Input
20
- };
@@ -1,8 +0,0 @@
1
- "use client";
2
- const t = "fb-input_RJ7IM", n = {
3
- input: t
4
- };
5
- export {
6
- n as default,
7
- t as input
8
- };
@@ -1,30 +0,0 @@
1
- "use client";
2
- import { jsx as r } from "react/jsx-runtime";
3
- import * as o from "@radix-ui/react-radio-group";
4
- import { Circle as d } from "lucide-react";
5
- import * as t from "react";
6
- import { clsx as s } from "clsx";
7
- import a from "./radio-group.module.css.js";
8
- const c = t.forwardRef(({ className: i, ...e }, m) => /* @__PURE__ */ r(
9
- o.Root,
10
- {
11
- className: s(a.radioGroup, i),
12
- ...e,
13
- ref: m
14
- }
15
- ));
16
- c.displayName = o.Root.displayName;
17
- const p = t.forwardRef(({ className: i, ...e }, m) => /* @__PURE__ */ r(
18
- o.Item,
19
- {
20
- ref: m,
21
- className: s(a.radioGroupItem, i),
22
- ...e,
23
- children: /* @__PURE__ */ r(o.Indicator, { className: a.radioIndicator, children: /* @__PURE__ */ r(d, { className: a.radioIndicatorIcon }) })
24
- }
25
- ));
26
- p.displayName = o.Item.displayName;
27
- export {
28
- c as RadioGroup,
29
- p as RadioGroupItem
30
- };
@@ -1,14 +0,0 @@
1
- "use client";
2
- const o = "fb-radioGroup_PqpPn", r = "fb-radioGroupItem_r91M1", a = "fb-radioIndicator_PFyGX", d = "fb-radioIndicatorIcon_vSsbY", i = {
3
- radioGroup: o,
4
- radioGroupItem: r,
5
- radioIndicator: a,
6
- radioIndicatorIcon: d
7
- };
8
- export {
9
- i as default,
10
- o as radioGroup,
11
- r as radioGroupItem,
12
- a as radioIndicator,
13
- d as radioIndicatorIcon
14
- };
@@ -1,115 +0,0 @@
1
- "use client";
2
- import { jsxs as i, jsx as l } from "react/jsx-runtime";
3
- import * as e from "@radix-ui/react-select";
4
- import { ChevronDown as m, Check as f, ChevronUp as S } from "lucide-react";
5
- import * as s from "react";
6
- import { clsx as c } from "clsx";
7
- import a from "./select.module.css.js";
8
- const D = e.Root, T = e.Value, h = s.forwardRef(({ className: o, children: r, ...t }, n) => /* @__PURE__ */ i(
9
- e.Trigger,
10
- {
11
- ref: n,
12
- className: c(a.selectTrigger, o),
13
- ...t,
14
- children: [
15
- r,
16
- /* @__PURE__ */ l(e.Icon, { asChild: !0, children: /* @__PURE__ */ l(m, { className: a.selectTriggerIcon }) })
17
- ]
18
- }
19
- ));
20
- h.displayName = e.Trigger.displayName;
21
- const p = s.forwardRef(({ className: o, ...r }, t) => /* @__PURE__ */ l(
22
- e.ScrollUpButton,
23
- {
24
- ref: t,
25
- className: c(a.selectScrollUpButton, o),
26
- ...r,
27
- children: /* @__PURE__ */ l(S, { className: a.selectScrollIcon })
28
- }
29
- ));
30
- p.displayName = e.ScrollUpButton.displayName;
31
- const d = s.forwardRef(({ className: o, ...r }, t) => /* @__PURE__ */ l(
32
- e.ScrollDownButton,
33
- {
34
- ref: t,
35
- className: c(a.selectScrollDownButton, o),
36
- ...r,
37
- children: /* @__PURE__ */ l(m, { className: a.selectScrollIcon })
38
- }
39
- ));
40
- d.displayName = e.ScrollDownButton.displayName;
41
- const I = s.forwardRef(({ className: o, children: r, position: t = "popper", ...n }, N) => /* @__PURE__ */ l(e.Portal, { children: /* @__PURE__ */ i(
42
- e.Content,
43
- {
44
- ref: N,
45
- className: c(
46
- a.selectContent,
47
- t === "popper" && a.popper,
48
- o
49
- ),
50
- position: t,
51
- avoidCollisions: !0,
52
- collisionPadding: 10,
53
- sideOffset: 5,
54
- alignOffset: 0,
55
- hideWhenDetached: !1,
56
- ...n,
57
- children: [
58
- /* @__PURE__ */ l(p, {}),
59
- /* @__PURE__ */ l(
60
- e.Viewport,
61
- {
62
- className: c(
63
- a.selectViewport,
64
- t === "popper" && a.popper
65
- ),
66
- children: r
67
- }
68
- ),
69
- /* @__PURE__ */ l(d, {})
70
- ]
71
- }
72
- ) }));
73
- I.displayName = e.Content.displayName;
74
- const y = s.forwardRef(({ className: o, ...r }, t) => /* @__PURE__ */ l(
75
- e.Label,
76
- {
77
- ref: t,
78
- className: c(a.selectLabel, o),
79
- ...r
80
- }
81
- ));
82
- y.displayName = e.Label.displayName;
83
- const w = s.forwardRef(({ className: o, children: r, ...t }, n) => /* @__PURE__ */ i(
84
- e.Item,
85
- {
86
- ref: n,
87
- className: c(a.selectItem, o),
88
- ...t,
89
- children: [
90
- /* @__PURE__ */ l("span", { className: a.selectItemIndicator, children: /* @__PURE__ */ l(e.ItemIndicator, { children: /* @__PURE__ */ l(f, { className: a.selectItemIndicatorIcon }) }) }),
91
- /* @__PURE__ */ l(e.ItemText, { children: r })
92
- ]
93
- }
94
- ));
95
- w.displayName = e.Item.displayName;
96
- const u = s.forwardRef(({ className: o, ...r }, t) => /* @__PURE__ */ l(
97
- e.Separator,
98
- {
99
- ref: t,
100
- className: c(a.selectSeparator, o),
101
- ...r
102
- }
103
- ));
104
- u.displayName = e.Separator.displayName;
105
- export {
106
- D as Select,
107
- I as SelectContent,
108
- w as SelectItem,
109
- y as SelectLabel,
110
- d as SelectScrollDownButton,
111
- p as SelectScrollUpButton,
112
- u as SelectSeparator,
113
- h as SelectTrigger,
114
- T as SelectValue
115
- };
@@ -1,32 +0,0 @@
1
- "use client";
2
- const e = "fb-selectTrigger_dj84x", t = "fb-selectTriggerIcon_V8dav", c = "fb-selectScrollUpButton_c6WZR", o = "fb-selectScrollDownButton_kmWY4", l = "fb-selectScrollIcon_IZbZG", s = "fb-selectContent_uJ-ZX", n = "fb-popper_uKkq9", r = "fb-selectViewport_wcTaR", I = "fb-selectLabel_hb7ig", a = "fb-selectItem_f23oZ", p = "fb-selectItemIndicator_PD-WQ", b = "fb-selectItemIndicatorIcon_kgB1I", i = "fb-selectSeparator_DS7X2", f = {
3
- selectTrigger: e,
4
- selectTriggerIcon: t,
5
- selectScrollUpButton: c,
6
- selectScrollDownButton: o,
7
- selectScrollIcon: l,
8
- selectContent: s,
9
- popper: n,
10
- selectViewport: r,
11
- selectLabel: I,
12
- selectItem: a,
13
- selectItemIndicator: p,
14
- selectItemIndicatorIcon: b,
15
- selectSeparator: i
16
- };
17
- export {
18
- f as default,
19
- n as popper,
20
- s as selectContent,
21
- a as selectItem,
22
- p as selectItemIndicator,
23
- b as selectItemIndicatorIcon,
24
- I as selectLabel,
25
- o as selectScrollDownButton,
26
- l as selectScrollIcon,
27
- c as selectScrollUpButton,
28
- i as selectSeparator,
29
- e as selectTrigger,
30
- t as selectTriggerIcon,
31
- r as selectViewport
32
- };
@@ -1,19 +0,0 @@
1
- "use client";
2
- import { jsx as a } from "react/jsx-runtime";
3
- import * as o from "react";
4
- import { clsx as m } from "clsx";
5
- import s from "./textarea.module.css.js";
6
- const x = o.forwardRef(
7
- ({ className: e, ...r }, t) => /* @__PURE__ */ a(
8
- "textarea",
9
- {
10
- className: m(s.textarea, e),
11
- ref: t,
12
- ...r
13
- }
14
- )
15
- );
16
- x.displayName = "Textarea";
17
- export {
18
- x as Textarea
19
- };
@@ -1,8 +0,0 @@
1
- "use client";
2
- const t = "fb-textarea_p4K5i", e = {
3
- textarea: t
4
- };
5
- export {
6
- e as default,
7
- t as textarea
8
- };
@@ -1,123 +0,0 @@
1
- "use client";
2
- import { jsx as r, jsxs as p } from "react/jsx-runtime";
3
- /* empty css */
4
- import { Alert as c, AlertDescription as u } from "../../../ui/src/components/alert/alert.js";
5
- import { Button as h } from "../../../ui/src/components/button/button.js";
6
- import { Checkbox as y } from "../../../ui/src/components/checkbox/checkbox.js";
7
- import { Input as b } from "../../../ui/src/components/input/input.js";
8
- import { RadioGroup as f, RadioGroupItem as m } from "../../../ui/src/components/radio-group/radio-group.js";
9
- import { Select as g, SelectTrigger as v, SelectValue as x, SelectContent as B, SelectItem as A } from "../../../ui/src/components/select/select.js";
10
- import { Textarea as S } from "../../../ui/src/components/textarea/textarea.js";
11
- import { ProgressLoaderBar as k } from "../../../ui/src/components/ProgressLoaderBar/ProgressLoaderBar.js";
12
- const M = ({
13
- component: n,
14
- value: o,
15
- onChange: d,
16
- isFormView: l
17
- }) => {
18
- const e = n.properties ?? {};
19
- switch (n.type) {
20
- case "text":
21
- case "email":
22
- case "tel":
23
- case "number":
24
- case "date":
25
- return /* @__PURE__ */ r(
26
- b,
27
- {
28
- type: n.type,
29
- value: typeof o == "string" ? o : "",
30
- disabled: !!e.disabled,
31
- readOnly: !!e.readOnly || !l,
32
- placeholder: typeof e.placeholder == "string" ? e.placeholder : void 0,
33
- onChange: l ? (a) => d(a.target.value) : void 0
34
- }
35
- );
36
- case "textarea":
37
- return /* @__PURE__ */ r(
38
- S,
39
- {
40
- value: typeof o == "string" ? o : "",
41
- disabled: !!e.disabled,
42
- readOnly: !!e.readOnly || !l,
43
- placeholder: typeof e.placeholder == "string" ? e.placeholder : void 0,
44
- onChange: l ? (a) => d(a.target.value) : void 0
45
- }
46
- );
47
- case "checkbox":
48
- return /* @__PURE__ */ r(
49
- y,
50
- {
51
- checked: !!o,
52
- disabled: !!e.disabled,
53
- onCheckedChange: l ? (a) => d(a === !0) : void 0
54
- }
55
- );
56
- case "radioGroup": {
57
- const a = Array.isArray(e.options) ? e.options : [];
58
- return /* @__PURE__ */ r(
59
- f,
60
- {
61
- value: typeof o == "string" ? o : "",
62
- onValueChange: l ? (t) => d(t) : void 0,
63
- disabled: !!e.disabled,
64
- children: a.map((t) => /* @__PURE__ */ r(m, { value: t.value, children: t.label }, t.value))
65
- }
66
- );
67
- }
68
- case "dropdown": {
69
- const a = Array.isArray(e.options) ? e.options : [];
70
- return /* @__PURE__ */ p(
71
- g,
72
- {
73
- value: typeof o == "string" ? o : "",
74
- onValueChange: l ? (t) => d(t) : void 0,
75
- disabled: !!e.disabled,
76
- children: [
77
- /* @__PURE__ */ r(v, { children: /* @__PURE__ */ r(
78
- x,
79
- {
80
- placeholder: typeof e.placeholder == "string" ? e.placeholder : ""
81
- }
82
- ) }),
83
- /* @__PURE__ */ r(B, { children: a.map((t) => /* @__PURE__ */ r(A, { value: t.value, children: t.label }, t.value)) })
84
- ]
85
- }
86
- );
87
- }
88
- case "button":
89
- return /* @__PURE__ */ r(
90
- h,
91
- {
92
- type: "button",
93
- disabled: !!e.disabled,
94
- onClick: l ? () => d(null) : void 0,
95
- children: typeof e.label == "string" ? e.label : "Submit"
96
- }
97
- );
98
- case "heading": {
99
- const a = typeof e.level == "number" ? e.level : void 0, t = a !== void 0 ? Math.min(6, Math.max(1, a)) : 2, i = typeof e.text == "string" ? e.text : "", s = `h${t}`;
100
- return /* @__PURE__ */ r(s, { children: i });
101
- }
102
- case "paragraph":
103
- return /* @__PURE__ */ r("p", { children: typeof e.text == "string" ? e.text : "" });
104
- case "alert":
105
- return /* @__PURE__ */ r(c, { variant: "default", children: /* @__PURE__ */ r(u, { children: typeof e.message == "string" ? e.message : "" }) });
106
- case "progress-loader":
107
- return /* @__PURE__ */ r(
108
- k,
109
- {
110
- mode: typeof e.mode == "string" ? e.mode : "indeterminate",
111
- status: "loading",
112
- label: typeof e.label == "string" ? e.label : void 0
113
- }
114
- );
115
- default:
116
- return console.warn(
117
- `[wizardRenderer] Unsupported component type: ${n.type}`
118
- ), null;
119
- }
120
- };
121
- export {
122
- M as wizardDefaultRenderer
123
- };
File without changes