@prolibu-suite/cobalt-form 2.0.0 → 3.0.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.
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-C1670_IO.js';
2
- import { c as collectQuizFields, a as computeScore, r as resolveTheme, t as themeToStyles, b as toPagedSchema, e as evaluateExpression } from './index-CzvtCEKX.js';
2
+ import { c as collectQuizFields, a as computeScore, r as resolveTheme, t as themeToStyles, b as toPagedSchema, e as evaluateExpression } from './index-pWatDiNE.js';
3
3
 
4
4
  const coFormWizardCss = () => `:host{display:block;font-family:var(--co-font-family-primary, sans-serif)}.co-form-wizard{max-width:720px;margin:0 auto;padding:var(--co-spacing-2xl, 24px);display:flex;flex-direction:column;gap:var(--co-spacing-lg, 16px)}.co-form-wizard[data-has-bg]{padding:var(--co-spacing-3xl, 32px) var(--co-spacing-2xl, 24px);background-repeat:no-repeat}.co-form-wizard__title-block{background:var(--co-form-header-bg, var(--co-semantic-surface-page, #fff));border:1px solid var(--co-semantic-border-default, rgba(17, 24, 39, 0.08));border-radius:var(--co-border-radius-lg, 16px);padding:var(--co-spacing-2xl, 24px) var(--co-spacing-3xl, 28px);box-shadow:0 1px 2px rgba(0, 0, 0, 0.04);min-height:var(--co-form-header-height, auto)}.co-form-wizard[data-hide-header] .co-form-wizard__title-block{display:none}.co-form-wizard[data-density="compact"] .co-form-wizard{gap:var(--co-spacing-sm, 8px)}.co-form-wizard[data-density="compact"] .co-form-wizard__title-block{padding:var(--co-spacing-lg, 16px) var(--co-spacing-xl, 20px)}.co-form-wizard[data-density="compact"] .co-form-wizard__page-head,.co-form-wizard[data-density="compact"] .co-form-wizard__nav{padding-top:var(--co-spacing-sm, 8px);padding-bottom:var(--co-spacing-sm, 8px)}.co-form-wizard__title{margin:0;font-size:24px;font-weight:700;letter-spacing:-0.02em;line-height:1.2;color:var(--co-semantic-text-default, #111827)}.co-form-wizard__title-desc{margin:6px 0 0;font-size:var(--co-font-size-14, 14px);color:var(--co-semantic-text-secondary, #6b7280)}.co-form-wizard__stepper{display:flex;align-items:center;gap:var(--co-spacing-sm, 8px);list-style:none;padding:0;margin:0;flex-wrap:wrap}.co-form-wizard__step{display:flex;align-items:center;color:var(--co-semantic-text-secondary, #6b7280);font-size:var(--co-font-size-12, 12px)}.co-form-wizard__step-btn{display:inline-flex;align-items:center;gap:var(--co-spacing-xs, 4px);padding:4px 6px;border:0;background:transparent;border-radius:var(--co-border-radius-xxs, 4px);font:inherit;color:inherit;cursor:pointer}.co-form-wizard__step-btn:hover{background:var(--co-semantic-surface-hover, #f3f4f6);color:var(--co-semantic-text-default, #111827)}.co-form-wizard__step-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--co-border-radius-full, 9999px);background:var(--co-semantic-surface-hover, #f3f4f6);font-weight:600}.co-form-wizard__step.is-active .co-form-wizard__step-num{background:var(--co-color-primary-azul, #2563eb);color:white}.co-form-wizard__step.is-done .co-form-wizard__step-num{background:var(--co-color-primary-verde, #02a270);color:white}.co-form-wizard__step.is-active{color:var(--co-semantic-text-default, #111827);font-weight:600}.co-form-wizard__page-card{background:var(--co-semantic-surface-page, #fff);border:1px solid var(--co-semantic-border-default, rgba(17, 24, 39, 0.08));border-radius:var(--co-border-radius-lg, 16px);box-shadow:0 1px 2px rgba(0, 0, 0, 0.04);overflow:hidden;display:flex;flex-direction:column}.co-form-wizard__page-head{padding:var(--co-spacing-xl, 20px) var(--co-spacing-2xl, 24px);border-bottom:1px solid var(--co-semantic-border-default, rgba(17, 24, 39, 0.08));background:var(--co-semantic-surface-hover, #f9fafb)}.co-form-wizard__page-pill{display:inline-flex;font-size:10px;font-weight:700;letter-spacing:0.08em;color:var(--co-color-primary-azul, #2563eb);background:color-mix(in srgb, var(--co-color-primary-azul) 10%, transparent);padding:3px 8px;border-radius:var(--co-border-radius-full, 9999px);margin-bottom:6px}.co-form-wizard__page-title{margin:0;font-size:var(--co-font-size-18, 18px);font-weight:600;line-height:1.3;letter-spacing:-0.01em;color:var(--co-semantic-text-default, #111827)}.co-form-wizard__page-desc{margin:4px 0 0;font-size:var(--co-font-size-13, 13px);color:var(--co-semantic-text-secondary, #6b7280)}.co-form-wizard__page-card>co-form{display:block;padding:var(--co-spacing-xl, 20px) var(--co-spacing-2xl, 24px)}.co-form-wizard__nav{display:flex;justify-content:space-between;gap:var(--co-spacing-sm, 8px);padding:var(--co-spacing-md, 12px) var(--co-spacing-2xl, 24px);border-top:1px solid var(--co-semantic-border-default, rgba(17, 24, 39, 0.08));background:var(--co-semantic-surface-hover, #f9fafb)}.co-form-wizard__nav co-button:only-child{margin-left:auto}.co-form-wizard__empty{padding:var(--co-spacing-lg, 16px);text-align:center;color:var(--co-semantic-text-secondary, #6b7280)}.co-form-wizard__score{text-align:center;padding:var(--co-spacing-2xl, 24px);background:var(--co-semantic-surface-page, #fff);border:1px solid var(--co-semantic-border-default, rgba(17, 24, 39, 0.08));border-radius:var(--co-border-radius-lg, 16px);box-shadow:0 1px 2px rgba(0, 0, 0, 0.04)}.co-form-wizard__score-title{margin:0;font-size:var(--co-font-size-18, 18px)}.co-form-wizard__score-num{font-size:48px;font-weight:600;color:var(--co-color-primary-azul, #2563eb);margin:var(--co-spacing-md, 12px) 0}.co-form-wizard__score-pct{font-size:var(--co-font-size-16, 16px);color:var(--co-semantic-text-secondary, #6b7280);margin-left:var(--co-spacing-sm, 8px)}.co-form-wizard__score-pass{display:inline-block;padding:var(--co-spacing-xs, 4px) var(--co-spacing-md, 12px);border-radius:var(--co-border-radius-full, 9999px);font-weight:600;margin-bottom:var(--co-spacing-md, 12px)}.co-form-wizard__score-pass.is-pass{background:var(--co-color-status-success, #0a7724);color:white}.co-form-wizard__score-pass.is-fail{background:var(--co-color-status-error, #aa2e1b);color:white}.co-form-wizard__score-feedback{text-align:left;list-style:disc;padding-left:var(--co-spacing-2xl, 24px);color:var(--co-semantic-text-default, #111827)}.co-form-wizard[data-has-bg] .co-form-wizard__title-block,.co-form-wizard[data-has-bg] .co-form-wizard__page-card,.co-form-wizard[data-has-bg] .co-form-wizard__score{border:0;box-shadow:0 4px 24px rgba(0, 0, 0, 0.08)}.co-form-wizard[data-theme="dark"]{--co-semantic-surface-page:#1a1f2b;--co-semantic-surface-secondary:#1a1f2b;--co-semantic-surface-primary:#ffffff;--co-semantic-surface-muted:#2a3142;--co-semantic-surface-hover:rgba(255, 255, 255, 0.06);--co-semantic-surface-disabled:rgba(255, 255, 255, 0.04);--co-semantic-on-primary:#1a1f2b;--co-semantic-on-secondary:#f9fafb;--co-semantic-text-default:#f9fafb;--co-semantic-text-secondary:#9ca3af;--co-semantic-text-muted:#6b7280;--co-semantic-text-disabled:#4b5563;--co-semantic-border-default:rgba(255, 255, 255, 0.12);--co-semantic-border-subtle:rgba(255, 255, 255, 0.14);--co-semantic-border-strong:rgba(255, 255, 255, 0.25);--co-semantic-border-focus:rgba(255, 255, 255, 0.25);--co-semantic-border-focus-ring:rgba(255, 255, 255, 0.1);color:#f9fafb}.co-form-wizard[data-theme="dark"] .co-form-wizard__page-card,.co-form-wizard[data-theme="dark"] .co-form-wizard__score{background:var(--co-semantic-surface-page);border-color:var(--co-semantic-border-default);color:#f9fafb}.co-form-wizard[data-theme="dark"] .co-form-wizard__title-block{background:var(--co-form-header-bg, var(--co-semantic-surface-page));border-color:var(--co-semantic-border-default);color:#f9fafb}.co-form-wizard[data-theme="dark"] .co-form-wizard__title,.co-form-wizard[data-theme="dark"] .co-form-wizard__page-title{color:#f9fafb}.co-form-wizard[data-theme="dark"] .co-form-wizard__title-desc,.co-form-wizard[data-theme="dark"] .co-form-wizard__page-desc{color:#9ca3af}.co-form-wizard[data-theme="dark"] .co-form-wizard__page-head,.co-form-wizard[data-theme="dark"] .co-form-wizard__nav{background:rgba(255, 255, 255, 0.03);border-color:var(--co-semantic-border-default)}.co-form-wizard[data-theme="dark"] .co-form-wizard__step-num{background:rgba(255, 255, 255, 0.1);color:#f9fafb}.co-form-wizard[data-theme="dark"][data-has-bg] .co-form-wizard__title-block,.co-form-wizard[data-theme="dark"][data-has-bg] .co-form-wizard__page-card,.co-form-wizard[data-theme="dark"][data-has-bg] .co-form-wizard__score{box-shadow:0 4px 24px rgba(0, 0, 0, 0.4)}.co-form-wizard[data-appearance="flat"] .co-form-wizard__title-block,.co-form-wizard[data-appearance="flat"] .co-form-wizard__page-card{background:transparent !important;border:0 !important;box-shadow:none !important;padding:0 !important}.co-form-wizard[data-appearance="flat"] .co-form-wizard__page-head{background:transparent !important;border-bottom:0 !important;padding:0 0 var(--co-spacing-md, 12px) 0 !important}.co-form-wizard[data-appearance="flat"] .co-form-wizard__nav{background:transparent !important;border-top:0 !important;padding:var(--co-spacing-md, 12px) 0 0 !important}.co-form-wizard[data-appearance="flat"] .co-form-wizard__page-card>co-form{padding:0 !important}.co-form-wizard[data-appearance="flat"][data-theme="dark"] .co-form-wizard__title-block,.co-form-wizard[data-appearance="flat"][data-theme="dark"] .co-form-wizard__page-card{color:#f9fafb}`;
5
5
 
@@ -1,3 +1,3 @@
1
1
  export { CoForm as co_form } from './index.js';
2
2
  import './index-C1670_IO.js';
3
- import './index-CzvtCEKX.js';
3
+ import './index-pWatDiNE.js';
@@ -7666,17 +7666,27 @@ function evaluateExpression(expr, ctx) {
7666
7666
  }
7667
7667
 
7668
7668
  // src/normalizeValues.ts
7669
- function normalizeForValidation(data, properties) {
7669
+ function normalizeForValidation(data, properties, resolveRef) {
7670
7670
  const out = { ...data };
7671
7671
  for (const [name, def] of Object.entries(properties)) {
7672
- if (!def?.originalAttrs?.ref) continue;
7673
7672
  const v = out[name];
7674
- if (Array.isArray(v)) {
7675
- out[name] = v.map(
7676
- (item) => item && typeof item === "object" && item._id ? item._id : item
7677
- );
7678
- } else if (v && typeof v === "object" && v._id) {
7679
- out[name] = v._id;
7673
+ if (v == null) continue;
7674
+ if (def?.originalAttrs?.ref) {
7675
+ if (Array.isArray(v)) {
7676
+ out[name] = v.map(
7677
+ (item) => item && typeof item === "object" && item._id ? item._id : item
7678
+ );
7679
+ } else if (typeof v === "object" && v._id) {
7680
+ out[name] = v._id;
7681
+ }
7682
+ continue;
7683
+ }
7684
+ let sub = def?.properties;
7685
+ if (!sub && typeof def?.$ref === "string" && typeof resolveRef === "function") {
7686
+ sub = resolveRef(def.$ref)?.properties;
7687
+ }
7688
+ if (sub && typeof sub === "object" && typeof v === "object" && !Array.isArray(v)) {
7689
+ out[name] = normalizeForValidation(v, sub, resolveRef);
7680
7690
  }
7681
7691
  }
7682
7692
  return out;
@@ -7937,13 +7947,16 @@ var FormController = class {
7937
7947
  this.runValidation();
7938
7948
  this.scheduleNotify();
7939
7949
  }
7950
+ /** `$ref` resolver bound to the schema instance (FormSchemaWeb provides it). */
7951
+ resolveRef() {
7952
+ const getSchema = this.schemaInstance.getSchema;
7953
+ return typeof getSchema === "function" ? (ref) => getSchema.call(this.schemaInstance, ref) : void 0;
7954
+ }
7940
7955
  /** Build field descriptors, threading `$ref` resolution for nested objects. */
7941
7956
  describe() {
7942
- const getSchema = this.schemaInstance.getSchema;
7943
- const resolveRef = typeof getSchema === "function" ? (ref) => getSchema.call(this.schemaInstance, ref) : void 0;
7944
7957
  return describeFields(
7945
7958
  this.schemaInstance.formSchema.properties,
7946
- resolveRef,
7959
+ this.resolveRef(),
7947
7960
  "",
7948
7961
  this.schemaInstance.formSchema.required
7949
7962
  );
@@ -7991,7 +8004,7 @@ var FormController = class {
7991
8004
  }
7992
8005
  runValidation() {
7993
8006
  const properties = this.schemaInstance.formSchema.properties || {};
7994
- const normalized = normalizeForValidation(this.state.values, properties);
8007
+ const normalized = normalizeForValidation(this.state.values, properties, this.resolveRef());
7995
8008
  this.schemaInstance.validate(normalized);
7996
8009
  const list = this.schemaInstance.validator?.errors || [];
7997
8010
  const errors = list.length === 0 ? {} : groupErrorsByField(list);
package/dist/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-C1670_IO.js';
2
- import { n as normalizeForValidation, r as resolveTheme, t as themeToStyles, d as createForm, f as describeFields, g as createInlineValidator } from './index-CzvtCEKX.js';
2
+ import { n as normalizeForValidation, r as resolveTheme, t as themeToStyles, d as createForm, f as describeFields, g as createInlineValidator } from './index-pWatDiNE.js';
3
3
 
4
4
  const coFormCss = () => `:host{display:block;font-family:var(--co-font-family-primary, sans-serif)}.co-form-layout{display:grid;gap:var(--co-spacing-lg, 16px)}.co-form-layout--gap-sm{gap:var(--co-spacing-sm, 8px)}.co-form-layout--gap-md{gap:var(--co-spacing-md, 12px)}.co-form-layout--gap-lg{gap:var(--co-spacing-lg, 16px)}.co-form-layout--grid{grid-template-columns:repeat(2, minmax(0, 1fr))}.co-form-layout--stack{grid-template-columns:1fr}@media (max-width: 640px){.co-form-layout--grid{grid-template-columns:1fr !important}}.co-form-layout>[data-full="true"],.co-form-layout .co-form-section,.co-form-layout .co-form-repeater{grid-column:1 / -1}.co-form-footer--start{justify-content:flex-start}.co-form-footer--end{justify-content:flex-end}.co-form-footer--center{justify-content:center}.co-form-footer--between{justify-content:space-between}.co-form-footer--stretch{justify-content:stretch}.co-form-footer--stretch>*{flex:1}.co-form-footer{margin-top:var(--co-spacing-lg, 16px);display:flex;justify-content:flex-end;gap:var(--co-spacing-sm, 8px)}:host{display:block;background-repeat:no-repeat}form[data-has-bg]{max-width:720px;margin:var(--co-spacing-3xl, 32px) auto;padding:var(--co-spacing-2xl, 24px);background:var(--co-semantic-surface-page, #fff);border-radius:var(--co-border-radius-sm, 12px);box-shadow:var(--co-shadow-lg, 0 4px 24px var(--co-color-opacity-negro-8))}form[data-theme="dark"][data-has-bg]{background:var(--co-semantic-surface-page);color:var(--co-semantic-text-default);box-shadow:0 4px 24px var(--co-color-opacity-negro-50)}form[data-theme="dark"]{--co-semantic-surface-page:#1a1f2b;--co-semantic-surface-secondary:#1a1f2b;--co-semantic-surface-primary:#ffffff;--co-semantic-surface-muted:#2a3142;--co-semantic-surface-hover:rgba(255, 255, 255, 0.06);--co-semantic-surface-disabled:rgba(255, 255, 255, 0.04);--co-semantic-on-primary:#1a1f2b;--co-semantic-on-secondary:#f9fafb;--co-semantic-text-default:#f9fafb;--co-semantic-text-secondary:#9ca3af;--co-semantic-text-muted:#6b7280;--co-semantic-text-disabled:#4b5563;--co-semantic-border-default:rgba(255, 255, 255, 0.12);--co-semantic-border-subtle:rgba(255, 255, 255, 0.14);--co-semantic-border-strong:rgba(255, 255, 255, 0.25);--co-semantic-border-focus:rgba(255, 255, 255, 0.25);--co-semantic-border-focus-ring:rgba(255, 255, 255, 0.1);color:var(--co-semantic-text-default)}form[data-density="compact"] .co-form-layout{gap:var(--co-spacing-sm, 8px)}form[data-density="compact"] .co-form-footer{margin-top:var(--co-spacing-sm, 8px)}form[data-appearance="flat"] .co-form-section{border-top:0;padding-top:0}form[data-appearance="flat"][data-has-bg]{background:transparent;box-shadow:none;padding:0}form[data-hide-header] .co-form-layout>slot[name="header"]{display:none}:host{--co-form-header-bg-applied:var(--co-form-header-bg, transparent)}.co-form-section{grid-column:1 / -1;border-top:1px solid var(--co-semantic-border-default, #e5e7eb);padding-top:var(--co-spacing-md, 12px);margin-top:var(--co-spacing-sm, 8px)}.co-form-section__title{margin:0 0 var(--co-spacing-xxs, 2px);font-size:var(--co-font-size-16, 16px);font-weight:600;color:var(--co-semantic-text-default, #111)}.co-form-section__desc{margin:0;font-size:var(--co-font-size-12, 12px);color:var(--co-semantic-text-secondary, #6b7280)}.co-form-repeater{grid-column:1 / -1;display:flex;flex-direction:column;gap:var(--co-spacing-sm, 8px)}.co-form-repeater__label{font-size:var(--co-font-size-14, 14px);font-weight:500;color:var(--co-semantic-text-default, #111)}.co-form-repeater__row{display:flex;align-items:flex-start;gap:var(--co-spacing-sm, 8px);padding:var(--co-spacing-sm, 8px);border:1px solid var(--co-semantic-border-default, #e5e7eb);border-radius:var(--co-border-radius-xs, 8px);background:var(--co-semantic-surface-primary, #fff)}.co-form-repeater__fields{flex:1;display:grid;grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));gap:var(--co-spacing-sm, 8px)}.co-form-textarea-wrap{display:flex;flex-direction:column;gap:var(--co-spacing-xxs, 2px)}.co-form-textarea-wrap__label{font-size:var(--co-font-size-14, 14px);font-weight:500;color:var(--co-semantic-text-default, #111)}.co-form-textarea{width:100%;min-height:100px;padding:var(--co-spacing-sm, 8px) var(--co-spacing-md, 12px);font-family:var(--co-font-family-primary, sans-serif);font-size:var(--co-font-size-14, 14px);color:var(--co-semantic-text-default, #111);background:var(--co-semantic-surface-secondary, #f7f6f0);border:1px solid var(--co-semantic-border-default, #e5e7eb);border-radius:var(--co-border-radius-xxs, 4px);resize:vertical;outline:none;transition:border-color 120ms;box-sizing:border-box}.co-form-textarea:focus{border-color:var(--co-color-primary-azul, #2563eb)}.co-form-textarea--error{border-color:var(--co-color-status-error, #AA2E1B)}.co-form-textarea:disabled{opacity:0.5;cursor:not-allowed}.co-form-textarea-wrap__helper{margin:0;font-size:var(--co-font-size-12, 12px);color:var(--co-semantic-text-secondary, #6b7280)}.co-form-textarea-wrap__helper[data-status="error"]{color:var(--co-color-status-error, #AA2E1B)}co-number-field{max-width:240px}.co-form-ordering{grid-column:1 / -1;display:flex;flex-direction:column;gap:var(--co-spacing-xs, 4px)}.co-form-ordering__label{font-size:var(--co-font-size-14, 14px);font-weight:500;color:var(--co-semantic-text-default, #111);margin-bottom:var(--co-spacing-xs, 4px)}.co-form-ordering__helper{margin:0 0 var(--co-spacing-xs, 4px);font-size:var(--co-font-size-12, 12px);color:var(--co-semantic-text-secondary, #6b7280)}.co-form-ordering__list{display:flex;flex-direction:column;gap:var(--co-spacing-xs, 4px)}.co-form-ordering__item{display:flex;align-items:center;gap:var(--co-spacing-sm, 8px);padding:var(--co-spacing-sm, 8px) var(--co-spacing-md, 12px);border:1px solid var(--co-semantic-border-default, #e5e7eb);border-radius:var(--co-border-radius-xxs, 4px);background:var(--co-semantic-surface-secondary, #f7f6f0);transition:border-color 120ms, box-shadow 120ms, opacity 120ms;cursor:grab;user-select:none}.co-form-ordering__item:hover{border-color:var(--co-color-primary-azul, #2563eb)}.co-form-ordering__item.is-dragging{opacity:0.4;cursor:grabbing}.co-form-ordering__item.is-drop-target{border-color:var(--co-color-primary-azul, #2563eb);box-shadow:0 -2px 0 0 var(--co-color-primary-azul, #2563eb)}.co-form-ordering__grip{display:flex;align-items:center;color:var(--co-semantic-text-muted, #9ca3af);flex-shrink:0;cursor:grab}.co-form-ordering__num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--co-border-radius-full, 9999px);background:color-mix(in srgb, var(--co-color-primary-azul, #2563eb) 10%, transparent);color:var(--co-color-primary-azul, #2563eb);font-size:12px;font-weight:700;flex-shrink:0}.co-form-ordering__text{flex:1;font-size:var(--co-font-size-14, 14px);color:var(--co-semantic-text-default, #111)}.co-form-ordering__actions{display:flex;flex-direction:column;gap:1px;flex-shrink:0}.co-form-ordering__move-btn{display:flex;align-items:center;justify-content:center;width:22px;height:16px;padding:0;border:none;background:transparent;color:var(--co-semantic-text-muted, #9ca3af);cursor:pointer;border-radius:var(--co-border-radius-xxs, 4px)}.co-form-ordering__move-btn:hover:not(:disabled){background:var(--co-semantic-surface-hover, #f3f4f6);color:var(--co-semantic-text-default, #111)}.co-form-ordering__move-btn:disabled{opacity:0.3;cursor:not-allowed}.co-form-matching{grid-column:1 / -1;display:flex;flex-direction:column;gap:var(--co-spacing-xs, 4px)}.co-form-matching__label{font-size:var(--co-font-size-14, 14px);font-weight:500;color:var(--co-semantic-text-default, #111);margin-bottom:var(--co-spacing-xs, 4px)}.co-form-matching__helper{margin:0 0 var(--co-spacing-xs, 4px);font-size:var(--co-font-size-12, 12px);color:var(--co-semantic-text-secondary, #6b7280)}.co-form-matching__list{display:flex;flex-direction:column;gap:var(--co-spacing-sm, 8px)}.co-form-matching__row{display:grid;grid-template-columns:1fr 20px 1fr;gap:var(--co-spacing-sm, 8px);align-items:center}.co-form-matching__term{font-size:var(--co-font-size-14, 14px);font-weight:500;color:var(--co-semantic-text-default, #111);padding:var(--co-spacing-sm, 8px) var(--co-spacing-md, 12px);border:1px solid var(--co-semantic-border-default, #e5e7eb);border-radius:var(--co-border-radius-xxs, 4px);background:var(--co-semantic-surface-secondary, #f7f6f0)}.co-form-matching__row co-icon{color:var(--co-semantic-text-muted, #9ca3af);justify-self:center}.co-form-matching__select{min-width:0}.co-form-image-choice{grid-column:1 / -1;display:flex;flex-direction:column;gap:var(--co-spacing-xs, 4px)}.co-form-image-choice__label{font-size:var(--co-font-size-14, 14px);font-weight:500;color:var(--co-semantic-text-default, #111);margin-bottom:var(--co-spacing-xs, 4px)}.co-form-image-choice__helper{margin:0 0 var(--co-spacing-xs, 4px);font-size:var(--co-font-size-12, 12px);color:var(--co-semantic-text-secondary, #6b7280)}.co-form-image-choice__helper[data-status="error"]{color:var(--co-color-status-error, #AA2E1B)}.co-form-image-choice__grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));gap:var(--co-spacing-sm, 8px)}.co-form-image-choice__card{display:flex;flex-direction:column;border:2px solid var(--co-semantic-border-default, #e5e7eb);border-radius:var(--co-border-radius-xs, 8px);overflow:hidden;cursor:pointer;transition:border-color 120ms, box-shadow 120ms;background:var(--co-semantic-surface-secondary, #f7f6f0)}.co-form-image-choice__card:hover:not(.is-disabled){border-color:var(--co-color-primary-azul, #2563eb)}.co-form-image-choice__card.is-selected{border-color:var(--co-color-primary-azul, #2563eb);box-shadow:0 0 0 2px color-mix(in srgb, var(--co-color-primary-azul, #2563eb) 20%, transparent)}.co-form-image-choice__card.is-disabled{opacity:0.5;cursor:not-allowed}.co-form-image-choice__img-wrap{width:100%;height:100px;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--co-semantic-text-muted, #9ca3af)}.co-form-image-choice__img{width:100%;height:100%;object-fit:cover}.co-form-image-choice__footer{display:flex;align-items:center;gap:var(--co-spacing-xs, 4px);padding:var(--co-spacing-xs, 4px) var(--co-spacing-sm, 8px);border-top:1px solid var(--co-semantic-border-default, #e5e7eb);min-height:32px}.co-form-image-choice__check{flex-shrink:0;display:flex;color:var(--co-semantic-text-muted, #9ca3af)}.co-form-image-choice__card.is-selected .co-form-image-choice__check{color:var(--co-color-primary-azul, #2563eb)}.co-form-image-choice__text{font-size:var(--co-font-size-13, 13px);color:var(--co-semantic-text-default, #111);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}`;
5
5
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prolibu-suite/cobalt-form",
3
- "version": "2.0.0",
3
+ "version": "3.0.0",
4
4
  "description": "Cobalt Form — schema-driven <co-form> Web Component. CDN entry point.",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -37,7 +37,7 @@
37
37
  "author": "Prolibu <contact@prolibu.com>",
38
38
  "license": "MIT",
39
39
  "peerDependencies": {
40
- "@prolibu-suite/cobalt-core": "0.3.0"
40
+ "@prolibu-suite/cobalt-core": "0.4.0"
41
41
  },
42
42
  "dependencies": {
43
43
  "@prolibu-suite/cobalt-form-core": "0.3.0"