@nice2dev/ui-forms 1.1.5 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-C3Bzm7mY.cjs");exports.NiceArrayField=e.NiceArrayField;exports.NiceEntityEditor=e.NiceEntityEditor;exports.NiceFormBuilderAI=e.NiceFormBuilderAI;exports.NiceI18nEditor=e.NiceI18nEditor;exports.NiceManifestEditor=e.NiceManifestEditor;exports.NiceModuleEditor=e.NiceModuleEditor;exports.NiceSchemaForm=e.NiceSchemaForm;exports.defineManifestSection=e.defineManifestSection;exports.formBuilderSchemaToNiceFormItems=e.formBuilderSchemaToNiceFormItems;exports.formFieldsToFormItems=e.formFieldsToFormItems;exports.formSchemaToJsonSchema=e.formSchemaToJsonSchema;exports.jsonSchemaToFormItems=e.jsonSchemaToFormItems;exports.schemaToFormItems=e.schemaToFormItems;exports.validateAgainstJsonSchema=e.validateAgainstJsonSchema;exports.validateFormSchema=e.validateFormSchema;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-B8LQvpDi.cjs");exports.NiceArrayField=e.NiceArrayField;exports.NiceEntityEditor=e.NiceEntityEditor;exports.NiceFormBuilderAI=e.NiceFormBuilderAI;exports.NiceI18nEditor=e.NiceI18nEditor;exports.NiceManifestEditor=e.NiceManifestEditor;exports.NiceModuleEditor=e.NiceModuleEditor;exports.NiceSchemaForm=e.NiceSchemaForm;exports.defineManifestSection=e.defineManifestSection;exports.formBuilderSchemaToNiceFormItems=e.formBuilderSchemaToNiceFormItems;exports.formFieldsToFormItems=e.formFieldsToFormItems;exports.formSchemaToJsonSchema=e.formSchemaToJsonSchema;exports.jsonSchemaToFormItems=e.jsonSchemaToFormItems;exports.schemaToFormItems=e.schemaToFormItems;exports.validateAgainstJsonSchema=e.validateAgainstJsonSchema;exports.validateFormSchema=e.validateFormSchema;
package/dist/index.d.ts CHANGED
@@ -203,10 +203,12 @@ export declare interface JsonSchemaToFormItemsOptions {
203
203
  export declare const NiceArrayField: ForwardRefExoticComponent<NiceArrayFieldProps & RefAttributes<HTMLDivElement>>;
204
204
 
205
205
  export declare interface NiceArrayFieldProps {
206
- /** The array being edited (controlled). */
207
- value: Array<Record<string, unknown>>;
206
+ /** The array being edited (controlled). Omit it to let the field keep its own. */
207
+ value?: Array<Record<string, unknown>>;
208
+ /** Initial rows when uncontrolled. */
209
+ defaultValue?: Array<Record<string, unknown>>;
208
210
  /** Change callback with the full updated array. */
209
- onChange: (rows: Array<Record<string, unknown>>) => void;
211
+ onChange?: (rows: Array<Record<string, unknown>>) => void;
210
212
  /** JSON Schema of a single item (object schema with `properties`). */
211
213
  itemSchema: JsonSchema;
212
214
  /** Label shown in the add/edit dialog title. */
@@ -225,10 +227,12 @@ export declare type NiceEntity = Record<string, unknown>;
225
227
  export declare const NiceEntityEditor: ForwardRefExoticComponent<NiceEntityEditorProps & RefAttributes<HTMLDivElement>>;
226
228
 
227
229
  export declare interface NiceEntityEditorProps extends NiceStandardProps {
228
- /** Entities being edited (controlled). */
229
- value: NiceEntity[];
230
+ /** Entities being edited (controlled). Omit it to let the editor keep its own. */
231
+ value?: NiceEntity[];
232
+ /** Initial entities when uncontrolled. */
233
+ defaultValue?: NiceEntity[];
230
234
  /** Change callback with the full updated array. */
231
- onChange: (entities: NiceEntity[]) => void;
235
+ onChange?: (entities: NiceEntity[]) => void;
232
236
  /** JSON Schema for entity metadata (name, table, flags …). Defaults to the OmniVerk shape. */
233
237
  entityMetaSchema?: JsonSchema;
234
238
  /** JSON Schema for a single field. Defaults to the OmniVerk ModuleEntityField shape. */
@@ -289,10 +293,12 @@ declare interface NiceFormBuilderAIRef {
289
293
  export declare const NiceI18nEditor: ForwardRefExoticComponent<NiceI18nEditorProps & RefAttributes<HTMLDivElement>>;
290
294
 
291
295
  export declare interface NiceI18nEditorProps extends NiceBaseProps {
292
- /** `{ [locale]: { [key]: value } }` (controlled). */
293
- value: NiceI18nValue;
296
+ /** `{ [locale]: { [key]: value } }` (controlled). Omit it to let the editor keep its own. */
297
+ value?: NiceI18nValue;
298
+ /** Initial translations when uncontrolled. */
299
+ defaultValue?: NiceI18nValue;
294
300
  /** Change callback with the full updated map. */
295
- onChange: (value: NiceI18nValue) => void;
301
+ onChange?: (value: NiceI18nValue) => void;
296
302
  /** Locale columns to show. Defaults to the locales present in `value`. */
297
303
  locales?: string[];
298
304
  /** Allow adding/removing locales. Default `true`. */
@@ -312,12 +318,14 @@ export declare type NiceI18nValue = Record<string, Record<string, string>>;
312
318
  export declare const NiceManifestEditor: ForwardRefExoticComponent<NiceManifestEditorProps & RefAttributes<HTMLDivElement>>;
313
319
 
314
320
  export declare interface NiceManifestEditorProps extends NiceStandardProps {
315
- /** The manifest object being edited (controlled). */
316
- value: Record<string, unknown>;
321
+ /** The manifest object being edited (controlled). Omit it to let the editor keep its own. */
322
+ value?: Record<string, unknown>;
323
+ /** Initial manifest when uncontrolled. */
324
+ defaultValue?: Record<string, unknown>;
317
325
  /** Section descriptors — each renders a NiceSchemaForm over the manifest. */
318
326
  sections: NiceManifestSection[];
319
327
  /** Change callback with the full updated manifest. */
320
- onChange: (manifest: Record<string, unknown>) => void;
328
+ onChange?: (manifest: Record<string, unknown>) => void;
321
329
  /** Offer a Form ⇄ JSON toggle in each section. Default `true`. */
322
330
  jsonView?: boolean;
323
331
  /** When provided, adds a "Scripts" tab hosting a NiceScriptRunner. */
@@ -463,10 +471,12 @@ export declare interface NiceSchemaFormProps extends NiceStandardProps {
463
471
  fields?: FormFieldDefinition[];
464
472
  /** Per-field UI overrides merged onto generated items (label, type, colSpan, render, …). */
465
473
  uiSchema?: Record<string, Partial<NiceFormItem>>;
466
- /** The value being edited (controlled). */
467
- value: Record<string, unknown>;
474
+ /** The value being edited (controlled). Omit it to let the form keep its own. */
475
+ value?: Record<string, unknown>;
476
+ /** Initial value when uncontrolled. */
477
+ defaultValue?: Record<string, unknown>;
468
478
  /** Change callback with the full updated value. */
469
- onChange: (value: Record<string, unknown>) => void;
479
+ onChange?: (value: Record<string, unknown>) => void;
470
480
  /** Called whenever validation runs, with the current errors. */
471
481
  onValidate?: (errors: NiceSchemaFormError[]) => void;
472
482
  /** Offer a Form ⇄ JSON view toggle. Default `false`. */
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { N as s, a as o, b as i, c as m, d as r, e as c, f as t, g as d, h as n, i as h, j as F, k as N, s as f, v as l, l as S } from "./index-B-DHWIrh.js";
1
+ import { N as s, a as o, b as i, c as m, d as r, e as c, f as t, g as d, h as n, i as h, j as F, k as N, s as f, v as l, l as S } from "./index-DaptCzDp.js";
2
2
  export {
3
3
  s as NiceArrayField,
4
4
  o as NiceEntityEditor,
package/dist/ui-forms.css CHANGED
@@ -1 +1 @@
1
- .nice-form-builder-ai{--ai-primary: var(--nice-info, #6366f1);--ai-primary-light: var(--nice-accent, #818cf8);--ai-bg: var(--nice-bg-secondary, #f8fafc);--ai-border: var(--nice-border, #e2e8f0);--ai-text: var(--nice-text, #334155);--ai-text-muted: var(--nice-text-secondary, #64748b);--ai-success: var(--nice-success, #22c55e);--ai-panel-bg: var(--nice-bg, #FFFFFF);display:flex;flex-direction:column;border-radius:var(--nice-radius-lg, 8px);overflow:hidden;border:1px solid var(--ai-border);background:var(--ai-panel-bg)}[data-theme=dark] .nice-form-builder-ai,.nice-form-builder-ai.dark{--ai-primary: var(--nice-accent, #818cf8);--ai-primary-light: var(--nice-accent, #a5b4fc);--ai-bg: var(--nice-text, #1e293b);--ai-border: var(--nice-text, #334155);--ai-text: var(--nice-border, #e2e8f0);--ai-text-muted: var(--nice-text-muted, #94a3b8);--ai-success: var(--nice-success-light, #4ade80);--ai-panel-bg: var(--nice-text, #0f172a)}.nice-form-builder-ai__toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--nice-space-2-5, 10px) var(--nice-space-4, 16px);background:linear-gradient(135deg,var(--nice-info, #6366f1) 0%,var(--nice-accent, #8b5cf6) 100%);gap:var(--nice-space-3, 12px)}.nice-form-builder-ai__toolbar-left{display:flex;align-items:center;gap:var(--nice-space-3, 12px)}.nice-form-builder-ai__badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--nice-space-0-75, 3px) var(--nice-space-2-5, 10px);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--ai-primary);background:#fff;border-radius:var(--nice-radius-sm, 4px)}.nice-form-builder-ai__loading{font-size:12px;color:#fff;opacity:.9;animation:pulse-opacity 1.5s ease-in-out infinite}@keyframes pulse-opacity{0%,to{opacity:.5}50%{opacity:1}}.nice-form-builder-ai__toolbar-right{display:flex;align-items:center;gap:var(--nice-space-2, 8px)}.nice-form-builder-ai__btn{display:inline-flex;align-items:center;gap:var(--nice-space-1-5, 6px);padding:var(--nice-space-2, 8px) var(--nice-space-4, 16px);font-size:13px;font-weight:500;color:#fff;background:var(--nice-overlay-light-20, rgba(255, 255, 255, .2));border:1px solid var(--nice-overlay-light-30, rgba(255, 255, 255, .3));border-radius:var(--nice-radius-md, 6px);cursor:pointer;transition:all .15s ease}.nice-form-builder-ai__btn:hover:not(:disabled){background:var(--nice-overlay-light-30, rgba(255, 255, 255, .3))}.nice-form-builder-ai__btn:disabled{opacity:.5;cursor:not-allowed}.nice-form-builder-ai__btn--secondary{background:transparent;border-color:var(--nice-overlay-light-40, rgba(255, 255, 255, .4))}.nice-form-builder-ai__templates-dropdown{position:relative}.nice-form-builder-ai__templates-menu{position:absolute;top:100%;right:0;min-width:280px;margin-top:var(--nice-space-1-5, 6px);background:var(--ai-panel-bg);border:1px solid var(--ai-border);border-radius:var(--nice-radius-lg, 8px);box-shadow:0 10px 30px var(--nice-overlay-15, rgba(0, 0, 0, .15));z-index:100;animation:dropIn .15s ease-out}@keyframes dropIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.nice-form-builder-ai__template-item{display:flex;flex-direction:column;gap:var(--nice-space-0-5, 2px);width:100%;padding:var(--nice-space-3, 12px) var(--nice-space-4, 16px);text-align:left;background:transparent;border:none;border-bottom:1px solid var(--ai-border);cursor:pointer;transition:background .1s ease}.nice-form-builder-ai__template-item:last-child{border-bottom:none;border-radius:0 0 var(--nice-radius-lg, 8px) var(--nice-radius-lg, 8px)}.nice-form-builder-ai__template-item:first-child{border-radius:var(--nice-radius-lg, 8px) var(--nice-radius-lg, 8px) 0 0}.nice-form-builder-ai__template-item:hover{background:var(--ai-bg)}.nice-form-builder-ai__template-name{font-size:14px;font-weight:500;color:var(--ai-text)}.nice-form-builder-ai__template-desc{font-size:12px;color:var(--ai-text-muted)}.nice-form-builder-ai__builder-wrapper{flex:1;min-height:400px}.nice-form-builder-ai__panel{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:1000}.nice-form-builder-ai__panel-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--nice-overlay-40, rgba(0, 0, 0, .4))}.nice-form-builder-ai__panel-content{position:relative;width:90%;max-width:600px;max-height:80vh;background:var(--ai-panel-bg);border-radius:var(--nice-radius-xl, 12px);box-shadow:0 25px 50px var(--nice-overlay-25, rgba(0, 0, 0, .25));display:flex;flex-direction:column;animation:modalIn .2s ease-out}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.nice-form-builder-ai__panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--nice-space-4, 16px) var(--nice-space-5, 20px);background:var(--ai-bg);border-bottom:1px solid var(--ai-border);border-radius:var(--nice-radius-xl, 12px) var(--nice-radius-xl, 12px) 0 0}.nice-form-builder-ai__panel-header h4{margin:0;font-size:16px;font-weight:600;color:var(--ai-text)}.nice-form-builder-ai__panel-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;font-size:16px;color:var(--ai-text-muted);background:transparent;border:none;border-radius:var(--nice-radius-md, 6px);cursor:pointer;transition:all .15s ease}.nice-form-builder-ai__panel-close:hover{color:var(--ai-text);background:var(--ai-border)}.nice-form-builder-ai__panel-body{flex:1;overflow-y:auto;padding:var(--nice-space-5, 20px)}.nice-form-builder-ai__panel-footer{display:flex;justify-content:flex-end;gap:var(--nice-space-2, 8px);padding:var(--nice-space-4, 16px) var(--nice-space-5, 20px);border-top:1px solid var(--ai-border)}.nice-form-builder-ai__prompt-section{display:flex;flex-direction:column;gap:var(--nice-space-3, 12px);margin-bottom:var(--nice-space-5, 20px)}.nice-form-builder-ai__label{font-size:14px;font-weight:500;color:var(--ai-text)}.nice-form-builder-ai__textarea{width:100%;padding:var(--nice-space-3, 12px);font-size:14px;font-family:inherit;line-height:1.5;color:var(--ai-text);background:var(--ai-bg);border:1px solid var(--ai-border);border-radius:var(--nice-radius-md, 6px);resize:vertical;outline:none;transition:border-color .15s ease}.nice-form-builder-ai__textarea:focus{border-color:var(--ai-primary)}.nice-form-builder-ai__textarea::placeholder{color:var(--ai-text-muted)}.nice-form-builder-ai__generate-btn{align-self:flex-end;padding:var(--nice-space-2-5, 10px) var(--nice-space-6, 24px);font-size:14px;font-weight:500;color:#fff;background:var(--ai-primary);border:none;border-radius:var(--nice-radius-md, 6px);cursor:pointer;transition:all .15s ease}.nice-form-builder-ai__generate-btn:hover:not(:disabled){background:var(--ai-primary-light)}.nice-form-builder-ai__generate-btn:disabled{opacity:.6;cursor:not-allowed}.nice-form-builder-ai__preview-section{border-top:1px solid var(--ai-border);padding-top:var(--nice-space-4, 16px)}.nice-form-builder-ai__preview-section h5{margin:0 0 var(--nice-space-3, 12px);font-size:13px;font-weight:600;color:var(--ai-text-muted);text-transform:uppercase;letter-spacing:.5px}.nice-form-builder-ai__fields-preview{display:flex;flex-direction:column;gap:var(--nice-space-2, 8px);max-height:250px;overflow-y:auto}.nice-form-builder-ai__field-preview{display:flex;align-items:center;gap:var(--nice-space-3, 12px);padding:var(--nice-space-2-5, 10px) var(--nice-space-3, 12px);background:var(--ai-bg);border:1px solid var(--ai-border);border-radius:var(--nice-radius-md, 6px)}.nice-form-builder-ai__field-icon{font-size:16px}.nice-form-builder-ai__field-info{flex:1;display:flex;flex-direction:column;gap:var(--nice-space-0-5, 2px)}.nice-form-builder-ai__field-label{font-size:14px;font-weight:500;color:var(--ai-text)}.nice-form-builder-ai__required{color:var(--nice-danger, #ef4444);margin-left:var(--nice-space-0-5, 2px)}.nice-form-builder-ai__field-type{font-size:12px;color:var(--ai-text-muted);text-transform:capitalize}.nice-form-builder-ai__field-options{font-size:11px;color:var(--ai-primary);padding:var(--nice-space-0-5, 2px) var(--nice-space-1-5, 6px);background:var(--nice-accent-tint-10, rgba(99, 102, 241, .1));border-radius:var(--nice-radius-sm, 3px)}.nice-form-builder-ai__apply-btn{padding:var(--nice-space-2-5, 10px) var(--nice-space-6, 24px);font-size:14px;font-weight:500;color:#fff;background:var(--ai-success);border:none;border-radius:var(--nice-radius-md, 6px);cursor:pointer;transition:all .15s ease}.nice-form-builder-ai__apply-btn:hover:not(:disabled){background:var(--nice-success-dark, #16a34a)}.nice-form-builder-ai__apply-btn:disabled{opacity:.6;cursor:not-allowed}.nice-form-builder-ai__cancel-btn{padding:var(--nice-space-2-5, 10px) var(--nice-space-6, 24px);font-size:14px;font-weight:500;color:var(--ai-text-muted);background:transparent;border:1px solid var(--ai-border);border-radius:var(--nice-radius-md, 6px);cursor:pointer;transition:all .15s ease}.nice-form-builder-ai__cancel-btn:hover{color:var(--ai-text);background:var(--ai-bg)}@media(max-width:640px){.nice-form-builder-ai__toolbar{flex-wrap:wrap}.nice-form-builder-ai__toolbar-right{width:100%;justify-content:center;margin-top:var(--nice-space-2, 8px)}.nice-form-builder-ai__panel-content{width:95%;max-height:90vh}.nice-form-builder-ai__templates-menu{right:auto;left:0}}.nice-entity-editor{position:relative;display:flex;flex-direction:column;gap:var(--nice-space-12, 12px);min-width:0;color:var(--text-primary, #111827)}.nice-entity-editor__tutorial{position:absolute;top:0;right:0;z-index:2}.nice-entity-editor__list-view,.nice-entity-editor__edit{min-width:0}.nice-entity-editor__edit{display:flex;flex-direction:column;gap:var(--nice-space-12, 12px)}.nice-entity-editor__edit-header{display:flex;align-items:center;gap:var(--nice-space-8, 8px);padding-bottom:var(--nice-space-8, 8px);border-bottom:1px solid var(--border-color, #e5e7eb)}.nice-entity-editor__breadcrumb-sep{color:var(--text-muted, #9ca3af);-webkit-user-select:none;user-select:none}.nice-entity-editor__edit-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;font-size:15px;color:var(--text-primary, #111827)}.nice-entity-editor__name{font-weight:600;color:var(--text-primary, #111827)}.nice-entity-editor__muted{color:var(--text-secondary, #6b7280)}.nice-entity-editor__flags{display:inline-flex;flex-wrap:wrap;gap:var(--nice-space-4, 4px)}.nice-entity-editor__er{padding:var(--nice-space-8, 8px) 0;min-width:0}.nice-entity-editor__section-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280);margin:var(--nice-space-4, 4px) 0}.nice-entity-editor__field-detail{display:flex;flex-direction:column;gap:var(--nice-space-12, 12px)}.nice-entity-editor__field-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--nice-space-12, 12px) var(--nice-space-20, 20px);align-items:start}.nice-entity-editor__field-row{display:flex;flex-direction:column;gap:var(--nice-space-4, 4px);min-width:0}.nice-entity-editor__field-row--check{justify-content:center;padding-top:var(--nice-space-18, 18px)}.nice-entity-editor__field-label{display:inline-flex;align-items:center;gap:var(--nice-space-6, 6px);font-size:13px;font-weight:600;color:var(--text-secondary, #6b7280)}.nice-entity-editor__help{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:var(--nice-radius-circle, 50%);font-size:11px;font-style:normal;color:var(--color-primary, #2563eb);cursor:help;opacity:.8}.nice-entity-editor__help:hover{opacity:1}.nice-entity-editor__field-detail-actions{display:flex;justify-content:flex-end;padding-top:var(--nice-space-4, 4px);border-top:1px solid var(--border-color, #e5e7eb)}@media(max-width:640px){.nice-entity-editor__edit-title{font-size:14px}.nice-entity-editor__field-form{grid-template-columns:1fr}}.nice-schema-form{display:flex;flex-direction:column;gap:var(--nice-space-8, 8px);position:relative}.nice-schema-form__tutorial{position:absolute;top:0;right:0;z-index:1}.nice-schema-form__toolbar{display:inline-flex;gap:var(--nice-space-2, 2px);border:1px solid var(--border-color, #e5e7eb);border-radius:var(--nice-radius-6, 6px);padding:var(--nice-space-2, 2px);align-self:flex-start;background:var(--bg-secondary, #f3f4f6)}.nice-schema-form__tab{border:0;background:transparent;color:var(--text-secondary, #6b7280);border-radius:var(--nice-radius-4, 4px);padding:var(--nice-space-3, 3px) var(--nice-space-14, 14px);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.nice-schema-form__tab:hover{color:var(--text-primary, #111827)}.nice-schema-form__tab--active{background:var(--bg-elevated, #ffffff);color:var(--text-primary, #111827);box-shadow:0 1px 2px var(--nice-shadow-color, rgba(0, 0, 0, .08))}.nice-schema-form__json-textarea,.nice-schema-form .nice-schema-form__json-textarea{width:100%;box-sizing:border-box;padding:var(--nice-space-8, 8px);border:1px solid var(--border-color, #d1d5db);border-radius:var(--nice-radius-4, 4px);background:var(--bg-primary, #ffffff);color:var(--text-primary, #111827);font-family:Fira Code,Consolas,Monaco,monospace;font-size:12px;line-height:1.5;resize:vertical}.nice-schema-form__json-textarea:focus{outline:none;border-color:var(--color-primary, #2563eb)}.nice-schema-form__json-error,.nice-schema-form__error{color:var(--color-danger, #dc2626);font-size:12px}.nice-schema-form__errors{margin:0;padding:var(--nice-space-8, 8px) var(--nice-space-8, 8px) var(--nice-space-8, 8px) var(--nice-space-24, 24px);border:1px solid var(--color-danger, #dc2626);border-radius:var(--nice-radius-4, 4px);background:color-mix(in srgb,var(--color-danger, #dc2626) 12%,transparent)}.nice-schema-form__json-field{width:100%}.nice-module-editor__pane{padding:var(--nice-space-12, 12px);overflow:auto;height:100%;box-sizing:border-box}.nice-module-editor__source{margin:0;font-family:Fira Code,Consolas,monospace;font-size:12px;white-space:pre-wrap;word-break:break-word;color:var(--text-primary, #111827)}.nice-module-editor__browser{display:flex;flex-direction:column;height:100%;gap:var(--nice-space-8, 8px);padding:var(--nice-space-8, 8px);box-sizing:border-box}.nice-module-editor__search{width:100%;box-sizing:border-box;padding:var(--nice-space-6, 6px) var(--nice-space-8, 8px);border:1px solid var(--border-color, #d1d5db);border-radius:var(--nice-radius-4, 4px);background:var(--bg-primary, #ffffff);color:var(--text-primary, #111827);font:inherit;font-size:13px}.nice-module-editor__modules{flex:1;overflow:auto;display:flex;flex-direction:column;gap:var(--nice-space-2, 2px)}.nice-module-editor__module{display:flex;flex-direction:column;align-items:flex-start;gap:var(--nice-space-1, 1px);text-align:left;border:0;background:transparent;cursor:pointer;padding:var(--nice-space-5, 5px) var(--nice-space-8, 8px);border-radius:var(--nice-radius-4, 4px);color:inherit;font:inherit}.nice-module-editor__module:hover{background:var(--hover-bg, #f3f4f6)}.nice-module-editor__module--active{background:color-mix(in srgb,var(--color-primary, #2563eb) 16%,transparent)}.nice-module-editor__module-name{font-size:13px;font-weight:600}.nice-module-editor__module-cat{font-size:11px;color:var(--text-muted, #9ca3af)}.nice-module-editor__browser-empty{color:var(--text-muted, #9ca3af);font-size:12px;font-style:italic;padding:var(--nice-space-8, 8px)}.nice-module-editor__toolbar{display:flex;align-items:center;gap:var(--nice-space-8, 8px);width:100%}.nice-module-editor__title{font-size:13px}.nice-module-editor__spacer{flex:1}.nice-module-editor__toolbar button{border:1px solid var(--border-color, #d1d5db);background:var(--bg-elevated, #ffffff);border-radius:var(--nice-radius-4, 4px);padding:var(--nice-space-4, 4px) var(--nice-space-12, 12px);font:inherit;font-size:12px;cursor:pointer;color:var(--text-primary, #111827)}.nice-module-editor__toolbar button:disabled{opacity:.5;cursor:default}.nice-module-editor__save{background:var(--color-primary, #2563eb)!important;color:var(--text-on-primary, #ffffff)!important;border-color:var(--color-primary, #2563eb)!important;font-weight:600}.nice-module-editor__placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted, #9ca3af);font-size:14px}.nice-module-views{display:flex;flex-direction:column;gap:var(--nice-space-8, 8px);height:100%}.nice-module-views__bar{display:flex;align-items:center;gap:var(--nice-space-8, 8px)}.nice-module-views__select{padding:var(--nice-space-5, 5px) var(--nice-space-8, 8px);border:1px solid var(--border-color, #d1d5db);border-radius:var(--nice-radius-4, 4px);background:var(--bg-primary, #ffffff);color:var(--text-primary, #111827);font:inherit;font-size:13px;min-width:180px}.nice-module-views__bar button{border:1px solid var(--border-color, #d1d5db);background:var(--bg-elevated, #ffffff);border-radius:var(--nice-radius-4, 4px);padding:var(--nice-space-4, 4px) var(--nice-space-12, 12px);font:inherit;font-size:12px;cursor:pointer;color:var(--text-primary, #111827)}.nice-module-views__empty{color:var(--text-muted, #9ca3af);font-size:13px;font-style:italic;padding:var(--nice-space-12, 12px)}.nice-i18n-editor{display:flex;flex-direction:column;gap:var(--nice-space-8, 8px);position:relative}.nice-i18n-editor__tutorial{position:absolute;top:0;right:0;z-index:1}.nice-i18n-editor__scroll{overflow:auto;border:1px solid var(--border-color, #e5e7eb);border-radius:var(--nice-radius-4, 4px)}.nice-i18n-editor__table{border-collapse:collapse;width:100%;font-size:13px}.nice-i18n-editor__table th,.nice-i18n-editor__table td{border-bottom:1px solid var(--border-color, #e5e7eb);border-right:1px solid var(--border-color, #e5e7eb);padding:0;text-align:left;vertical-align:middle}.nice-i18n-editor__key-head,.nice-i18n-editor__locale-head{position:sticky;top:0;background:var(--bg-secondary, #f3f4f6);color:var(--text-secondary, #6b7280);font-weight:600;padding:var(--nice-space-6, 6px) var(--nice-space-8, 8px);white-space:nowrap}.nice-i18n-editor__key-head{left:0;z-index:2}.nice-i18n-editor__locale-head{display:table-cell}.nice-i18n-editor__locale-head span{margin-right:var(--nice-space-6, 6px)}.nice-i18n-editor__locale-remove,.nice-i18n-editor__key-remove{border:0;background:transparent;color:var(--text-muted, #9ca3af);cursor:pointer;font-size:11px}.nice-i18n-editor__locale-remove:hover,.nice-i18n-editor__key-remove:hover{color:var(--color-danger, #dc2626)}.nice-i18n-editor__key-cell{position:sticky;left:0;z-index:1;background:var(--bg-elevated, #ffffff);display:flex;align-items:center;gap:var(--nice-space-4, 4px);padding:var(--nice-space-2, 2px) var(--nice-space-4, 4px);min-width:200px}.nice-i18n-editor__key-input,.nice-i18n-editor__cell-input{width:100%;box-sizing:border-box;border:1px solid transparent;background:transparent;padding:var(--nice-space-5, 5px) var(--nice-space-6, 6px);font:inherit;font-size:13px;color:var(--text-primary, #111827)}.nice-i18n-editor__key-input{font-family:Fira Code,Consolas,monospace}.nice-i18n-editor__cell-input{min-width:160px}.nice-i18n-editor__key-input:focus,.nice-i18n-editor__cell-input:focus{outline:none;border-color:var(--color-primary, #2563eb);background:var(--bg-primary, #ffffff)}.nice-i18n-editor__cell-input--missing{background:color-mix(in srgb,var(--color-warning, #d97706) 18%,transparent)}.nice-i18n-editor__empty{padding:var(--nice-space-12, 12px);color:var(--text-muted, #9ca3af);font-style:italic;text-align:center}.nice-i18n-editor__toolbar{display:flex;gap:var(--nice-space-12, 12px);flex-wrap:wrap}.nice-i18n-editor__add{display:inline-flex;gap:var(--nice-space-4, 4px)}.nice-i18n-editor__add-input{padding:var(--nice-space-5, 5px) var(--nice-space-8, 8px);border:1px solid var(--border-color, #d1d5db);border-radius:var(--nice-radius-4, 4px);background:var(--bg-primary, #ffffff);color:var(--text-primary, #111827);font:inherit;font-size:13px}.nice-i18n-editor__add button{border:1px solid var(--border-color, #d1d5db);background:var(--bg-elevated, #ffffff);border-radius:var(--nice-radius-4, 4px);padding:var(--nice-space-5, 5px) var(--nice-space-12, 12px);font:inherit;font-size:12px;font-weight:600;color:var(--color-primary, #2563eb);cursor:pointer}.nice-manifest-editor__pane{padding:var(--nice-space-3, 12px);overflow:auto;height:100%;box-sizing:border-box}
1
+ .nice-form-builder-ai{--ai-primary: var(--nice-info, #6366f1);--ai-primary-light: var(--nice-accent, #818cf8);--ai-bg: var(--nice-bg-secondary, #f8fafc);--ai-border: var(--nice-border, #e2e8f0);--ai-text: var(--nice-text, #334155);--ai-text-muted: var(--nice-text-secondary, #64748b);--ai-success: var(--nice-success, #22c55e);--ai-panel-bg: var(--nice-bg, #ffffff);display:flex;flex-direction:column;border-radius:var(--nice-radius-lg, 8px);overflow:hidden;border:1px solid var(--ai-border);background:var(--ai-panel-bg)}[data-theme=dark] .nice-form-builder-ai,.nice-form-builder-ai.dark{--ai-primary: var(--nice-accent, #818cf8);--ai-primary-light: var(--nice-accent, #a5b4fc);--ai-bg: var(--nice-text, #1e293b);--ai-border: var(--nice-text, #334155);--ai-text: var(--nice-border, #e2e8f0);--ai-text-muted: var(--nice-text-muted, #94a3b8);--ai-success: var(--nice-success-light, #4ade80);--ai-panel-bg: var(--nice-text, #0f172a)}.nice-form-builder-ai__toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--nice-space-2-5, 10px) var(--nice-space-4, 16px);background:linear-gradient(135deg,var(--nice-info, #6366f1) 0%,var(--nice-accent, #8b5cf6) 100%);gap:var(--nice-space-3, 12px)}.nice-form-builder-ai__toolbar-left{display:flex;align-items:center;gap:var(--nice-space-3, 12px)}.nice-form-builder-ai__badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--nice-space-0-75, 3px) var(--nice-space-2-5, 10px);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--ai-primary);background:#fff;border-radius:var(--nice-radius-sm, 4px)}.nice-form-builder-ai__loading{font-size:12px;color:#fff;opacity:.9;animation:pulse-opacity 1.5s ease-in-out infinite}@keyframes pulse-opacity{0%,to{opacity:.5}50%{opacity:1}}.nice-form-builder-ai__toolbar-right{display:flex;align-items:center;gap:var(--nice-space-2, 8px)}.nice-form-builder-ai__btn{display:inline-flex;align-items:center;gap:var(--nice-space-1-5, 6px);padding:var(--nice-space-2, 8px) var(--nice-space-4, 16px);font-size:13px;font-weight:500;color:#fff;background:var(--nice-overlay-light-20, rgba(255, 255, 255, .2));border:1px solid var(--nice-overlay-light-30, rgba(255, 255, 255, .3));border-radius:var(--nice-radius-md, 6px);cursor:pointer;transition:all .15s ease}.nice-form-builder-ai__btn:hover:not(:disabled){background:var(--nice-overlay-light-30, rgba(255, 255, 255, .3))}.nice-form-builder-ai__btn:disabled{opacity:.5;cursor:not-allowed}.nice-form-builder-ai__btn--secondary{background:transparent;border-color:var(--nice-overlay-light-40, rgba(255, 255, 255, .4))}.nice-form-builder-ai__templates-dropdown{position:relative}.nice-form-builder-ai__templates-menu{position:absolute;top:100%;right:0;min-width:280px;margin-top:var(--nice-space-1-5, 6px);background:var(--ai-panel-bg);border:1px solid var(--ai-border);border-radius:var(--nice-radius-lg, 8px);box-shadow:0 10px 30px var(--nice-overlay-15, rgba(0, 0, 0, .15));z-index:100;animation:dropIn .15s ease-out}@keyframes dropIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.nice-form-builder-ai__template-item{display:flex;flex-direction:column;gap:var(--nice-space-0-5, 2px);width:100%;padding:var(--nice-space-3, 12px) var(--nice-space-4, 16px);text-align:left;background:transparent;border:none;border-bottom:1px solid var(--ai-border);cursor:pointer;transition:background .1s ease}.nice-form-builder-ai__template-item:last-child{border-bottom:none;border-radius:0 0 var(--nice-radius-lg, 8px) var(--nice-radius-lg, 8px)}.nice-form-builder-ai__template-item:first-child{border-radius:var(--nice-radius-lg, 8px) var(--nice-radius-lg, 8px) 0 0}.nice-form-builder-ai__template-item:hover{background:var(--ai-bg)}.nice-form-builder-ai__template-name{font-size:14px;font-weight:500;color:var(--ai-text)}.nice-form-builder-ai__template-desc{font-size:12px;color:var(--ai-text-muted)}.nice-form-builder-ai__builder-wrapper{flex:1;min-height:400px}.nice-form-builder-ai__panel{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:1000}.nice-form-builder-ai__panel-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--nice-overlay-40, rgba(0, 0, 0, .4))}.nice-form-builder-ai__panel-content{position:relative;width:90%;max-width:600px;max-height:80vh;background:var(--ai-panel-bg);border-radius:var(--nice-radius-xl, 12px);box-shadow:0 25px 50px var(--nice-overlay-25, rgba(0, 0, 0, .25));display:flex;flex-direction:column;animation:modalIn .2s ease-out}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.nice-form-builder-ai__panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--nice-space-4, 16px) var(--nice-space-5, 20px);background:var(--ai-bg);border-bottom:1px solid var(--ai-border);border-radius:var(--nice-radius-xl, 12px) var(--nice-radius-xl, 12px) 0 0}.nice-form-builder-ai__panel-header h4{margin:0;font-size:16px;font-weight:600;color:var(--ai-text)}.nice-form-builder-ai__panel-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;font-size:16px;color:var(--ai-text-muted);background:transparent;border:none;border-radius:var(--nice-radius-md, 6px);cursor:pointer;transition:all .15s ease}.nice-form-builder-ai__panel-close:hover{color:var(--ai-text);background:var(--ai-border)}.nice-form-builder-ai__panel-body{flex:1;overflow-y:auto;padding:var(--nice-space-5, 20px)}.nice-form-builder-ai__panel-footer{display:flex;justify-content:flex-end;gap:var(--nice-space-2, 8px);padding:var(--nice-space-4, 16px) var(--nice-space-5, 20px);border-top:1px solid var(--ai-border)}.nice-form-builder-ai__prompt-section{display:flex;flex-direction:column;gap:var(--nice-space-3, 12px);margin-bottom:var(--nice-space-5, 20px)}.nice-form-builder-ai__label{font-size:14px;font-weight:500;color:var(--ai-text)}.nice-form-builder-ai__textarea{width:100%;padding:var(--nice-space-3, 12px);font-size:14px;font-family:inherit;line-height:1.5;color:var(--ai-text);background:var(--ai-bg);border:1px solid var(--ai-border);border-radius:var(--nice-radius-md, 6px);resize:vertical;outline:none;transition:border-color .15s ease}.nice-form-builder-ai__textarea:focus{border-color:var(--ai-primary)}.nice-form-builder-ai__textarea::placeholder{color:var(--ai-text-muted)}.nice-form-builder-ai__generate-btn{align-self:flex-end;padding:var(--nice-space-2-5, 10px) var(--nice-space-6, 24px);font-size:14px;font-weight:500;color:#fff;background:var(--ai-primary);border:none;border-radius:var(--nice-radius-md, 6px);cursor:pointer;transition:all .15s ease}.nice-form-builder-ai__generate-btn:hover:not(:disabled){background:var(--ai-primary-light)}.nice-form-builder-ai__generate-btn:disabled{opacity:.6;cursor:not-allowed}.nice-form-builder-ai__preview-section{border-top:1px solid var(--ai-border);padding-top:var(--nice-space-4, 16px)}.nice-form-builder-ai__preview-section h5{margin:0 0 var(--nice-space-3, 12px);font-size:13px;font-weight:600;color:var(--ai-text-muted);text-transform:uppercase;letter-spacing:.5px}.nice-form-builder-ai__fields-preview{display:flex;flex-direction:column;gap:var(--nice-space-2, 8px);max-height:250px;overflow-y:auto}.nice-form-builder-ai__field-preview{display:flex;align-items:center;gap:var(--nice-space-3, 12px);padding:var(--nice-space-2-5, 10px) var(--nice-space-3, 12px);background:var(--ai-bg);border:1px solid var(--ai-border);border-radius:var(--nice-radius-md, 6px)}.nice-form-builder-ai__field-icon{font-size:16px}.nice-form-builder-ai__field-info{flex:1;display:flex;flex-direction:column;gap:var(--nice-space-0-5, 2px)}.nice-form-builder-ai__field-label{font-size:14px;font-weight:500;color:var(--ai-text)}.nice-form-builder-ai__required{color:var(--nice-danger, #ef4444);margin-left:var(--nice-space-0-5, 2px)}.nice-form-builder-ai__field-type{font-size:12px;color:var(--ai-text-muted);text-transform:capitalize}.nice-form-builder-ai__field-options{font-size:11px;color:var(--ai-primary);padding:var(--nice-space-0-5, 2px) var(--nice-space-1-5, 6px);background:var(--nice-accent-tint-10, rgba(99, 102, 241, .1));border-radius:var(--nice-radius-sm, 3px)}.nice-form-builder-ai__apply-btn{padding:var(--nice-space-2-5, 10px) var(--nice-space-6, 24px);font-size:14px;font-weight:500;color:#fff;background:var(--ai-success);border:none;border-radius:var(--nice-radius-md, 6px);cursor:pointer;transition:all .15s ease}.nice-form-builder-ai__apply-btn:hover:not(:disabled){background:var(--nice-success-dark, #16a34a)}.nice-form-builder-ai__apply-btn:disabled{opacity:.6;cursor:not-allowed}.nice-form-builder-ai__cancel-btn{padding:var(--nice-space-2-5, 10px) var(--nice-space-6, 24px);font-size:14px;font-weight:500;color:var(--ai-text-muted);background:transparent;border:1px solid var(--ai-border);border-radius:var(--nice-radius-md, 6px);cursor:pointer;transition:all .15s ease}.nice-form-builder-ai__cancel-btn:hover{color:var(--ai-text);background:var(--ai-bg)}@media(max-width:640px){.nice-form-builder-ai__toolbar{flex-wrap:wrap}.nice-form-builder-ai__toolbar-right{width:100%;justify-content:center;margin-top:var(--nice-space-2, 8px)}.nice-form-builder-ai__panel-content{width:95%;max-height:90vh}.nice-form-builder-ai__templates-menu{right:auto;left:0}}.nice-entity-editor{position:relative;display:flex;flex-direction:column;gap:var(--nice-space-12, 12px);min-width:0;color:var(--nice-text-primary, #111827)}.nice-entity-editor__tutorial{position:absolute;top:0;right:0;z-index:2}.nice-entity-editor__list-view,.nice-entity-editor__edit{min-width:0}.nice-entity-editor__edit{display:flex;flex-direction:column;gap:var(--nice-space-12, 12px)}.nice-entity-editor__edit-header{display:flex;align-items:center;gap:var(--nice-space-8, 8px);padding-bottom:var(--nice-space-8, 8px);border-bottom:1px solid var(--nice-border-color, #e5e7eb)}.nice-entity-editor__breadcrumb-sep{color:var(--nice-text-muted, #9ca3af);-webkit-user-select:none;user-select:none}.nice-entity-editor__edit-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;font-size:15px;color:var(--nice-text-primary, #111827)}.nice-entity-editor__name{font-weight:600;color:var(--nice-text-primary, #111827)}.nice-entity-editor__muted{color:var(--nice-text-secondary, #6b7280)}.nice-entity-editor__flags{display:inline-flex;flex-wrap:wrap;gap:var(--nice-space-4, 4px)}.nice-entity-editor__er{padding:var(--nice-space-8, 8px) 0;min-width:0}.nice-entity-editor__section-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--nice-text-secondary, #6b7280);margin:var(--nice-space-4, 4px) 0}.nice-entity-editor__field-detail{display:flex;flex-direction:column;gap:var(--nice-space-12, 12px)}.nice-entity-editor__field-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--nice-space-12, 12px) var(--nice-space-20, 20px);align-items:start}.nice-entity-editor__field-row{display:flex;flex-direction:column;gap:var(--nice-space-4, 4px);min-width:0}.nice-entity-editor__field-row--check{justify-content:center;padding-top:var(--nice-space-18, 18px)}.nice-entity-editor__field-label{display:inline-flex;align-items:center;gap:var(--nice-space-6, 6px);font-size:13px;font-weight:600;color:var(--nice-text-secondary, #6b7280)}.nice-entity-editor__help{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:var(--nice-radius-circle, 50%);font-size:11px;font-style:normal;color:var(--nice-color-primary, #2563eb);cursor:help;opacity:.8}.nice-entity-editor__help:hover{opacity:1}.nice-entity-editor__field-detail-actions{display:flex;justify-content:flex-end;padding-top:var(--nice-space-4, 4px);border-top:1px solid var(--nice-border-color, #e5e7eb)}@media(max-width:640px){.nice-entity-editor__edit-title{font-size:14px}.nice-entity-editor__field-form{grid-template-columns:1fr}}.nice-schema-form{display:flex;flex-direction:column;gap:var(--nice-space-8, 8px);position:relative}.nice-schema-form__tutorial{position:absolute;top:0;right:0;z-index:1}.nice-schema-form__toolbar{display:inline-flex;gap:var(--nice-space-2, 2px);border:1px solid var(--nice-border-color, #e5e7eb);border-radius:var(--nice-radius-6, 6px);padding:var(--nice-space-2, 2px);align-self:flex-start;background:var(--nice-bg-secondary, #f3f4f6)}.nice-schema-form__tab{border:0;background:transparent;color:var(--nice-text-secondary, #6b7280);border-radius:var(--nice-radius-4, 4px);padding:var(--nice-space-3, 3px) var(--nice-space-14, 14px);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.nice-schema-form__tab:hover{color:var(--nice-text-primary, #111827)}.nice-schema-form__tab--active{background:var(--nice-bg-elevated, #ffffff);color:var(--nice-text-primary, #111827);box-shadow:0 1px 2px var(--nice-shadow-color, rgba(0, 0, 0, .08))}.nice-schema-form__json-textarea,.nice-schema-form .nice-schema-form__json-textarea{width:100%;box-sizing:border-box;padding:var(--nice-space-8, 8px);border:1px solid var(--nice-border-color, #d1d5db);border-radius:var(--nice-radius-4, 4px);background:var(--nice-bg-primary, #ffffff);color:var(--nice-text-primary, #111827);font-family:Fira Code,Consolas,Monaco,monospace;font-size:12px;line-height:1.5;resize:vertical}.nice-schema-form__json-textarea:focus{outline:none;border-color:var(--nice-color-primary, #2563eb)}.nice-schema-form__json-error,.nice-schema-form__error{color:var(--nice-color-danger, #dc2626);font-size:12px}.nice-schema-form__errors{margin:0;padding:var(--nice-space-8, 8px) var(--nice-space-8, 8px) var(--nice-space-8, 8px) var(--nice-space-24, 24px);border:1px solid var(--nice-color-danger, #dc2626);border-radius:var(--nice-radius-4, 4px);background:color-mix(in srgb,var(--nice-color-danger, #dc2626) 12%,transparent)}.nice-schema-form__json-field{width:100%}.nice-module-editor__pane{padding:var(--nice-space-12, 12px);overflow:auto;height:100%;box-sizing:border-box}.nice-module-editor__source{margin:0;font-family:Fira Code,Consolas,monospace;font-size:12px;white-space:pre-wrap;word-break:break-word;color:var(--nice-text-primary, #111827)}.nice-module-editor__browser{display:flex;flex-direction:column;height:100%;gap:var(--nice-space-8, 8px);padding:var(--nice-space-8, 8px);box-sizing:border-box}.nice-module-editor__search{width:100%;box-sizing:border-box;padding:var(--nice-space-6, 6px) var(--nice-space-8, 8px);border:1px solid var(--nice-border-color, #d1d5db);border-radius:var(--nice-radius-4, 4px);background:var(--nice-bg-primary, #ffffff);color:var(--nice-text-primary, #111827);font:inherit;font-size:13px}.nice-module-editor__modules{flex:1;overflow:auto;display:flex;flex-direction:column;gap:var(--nice-space-2, 2px)}.nice-module-editor__module{display:flex;flex-direction:column;align-items:flex-start;gap:var(--nice-space-1, 1px);text-align:left;border:0;background:transparent;cursor:pointer;padding:var(--nice-space-5, 5px) var(--nice-space-8, 8px);border-radius:var(--nice-radius-4, 4px);color:inherit;font:inherit}.nice-module-editor__module:hover{background:var(--nice-hover-bg, #f3f4f6)}.nice-module-editor__module--active{background:color-mix(in srgb,var(--nice-color-primary, #2563eb) 16%,transparent)}.nice-module-editor__module-name{font-size:13px;font-weight:600}.nice-module-editor__module-cat{font-size:11px;color:var(--nice-text-muted, #9ca3af)}.nice-module-editor__browser-empty{color:var(--nice-text-muted, #9ca3af);font-size:12px;font-style:italic;padding:var(--nice-space-8, 8px)}.nice-module-editor__toolbar{display:flex;align-items:center;gap:var(--nice-space-8, 8px);width:100%}.nice-module-editor__title{font-size:13px}.nice-module-editor__spacer{flex:1}.nice-module-editor__toolbar button{border:1px solid var(--nice-border-color, #d1d5db);background:var(--nice-bg-elevated, #ffffff);border-radius:var(--nice-radius-4, 4px);padding:var(--nice-space-4, 4px) var(--nice-space-12, 12px);font:inherit;font-size:12px;cursor:pointer;color:var(--nice-text-primary, #111827)}.nice-module-editor__toolbar button:disabled{opacity:.5;cursor:default}.nice-module-editor__save{background:var(--nice-color-primary, #2563eb)!important;color:var(--nice-text-on-primary, #ffffff)!important;border-color:var(--nice-color-primary, #2563eb)!important;font-weight:600}.nice-module-editor__placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--nice-text-muted, #9ca3af);font-size:14px}.nice-module-views{display:flex;flex-direction:column;gap:var(--nice-space-8, 8px);height:100%}.nice-module-views__bar{display:flex;align-items:center;gap:var(--nice-space-8, 8px)}.nice-module-views__select{padding:var(--nice-space-5, 5px) var(--nice-space-8, 8px);border:1px solid var(--nice-border-color, #d1d5db);border-radius:var(--nice-radius-4, 4px);background:var(--nice-bg-primary, #ffffff);color:var(--nice-text-primary, #111827);font:inherit;font-size:13px;min-width:180px}.nice-module-views__bar button{border:1px solid var(--nice-border-color, #d1d5db);background:var(--nice-bg-elevated, #ffffff);border-radius:var(--nice-radius-4, 4px);padding:var(--nice-space-4, 4px) var(--nice-space-12, 12px);font:inherit;font-size:12px;cursor:pointer;color:var(--nice-text-primary, #111827)}.nice-module-views__empty{color:var(--nice-text-muted, #9ca3af);font-size:13px;font-style:italic;padding:var(--nice-space-12, 12px)}.nice-i18n-editor{display:flex;flex-direction:column;gap:var(--nice-space-8, 8px);position:relative}.nice-i18n-editor__tutorial{position:absolute;top:0;right:0;z-index:1}.nice-i18n-editor__scroll{overflow:auto;border:1px solid var(--nice-border-color, #e5e7eb);border-radius:var(--nice-radius-4, 4px)}.nice-i18n-editor__table{border-collapse:collapse;width:100%;font-size:13px}.nice-i18n-editor__table th,.nice-i18n-editor__table td{border-bottom:1px solid var(--nice-border-color, #e5e7eb);border-right:1px solid var(--nice-border-color, #e5e7eb);padding:0;text-align:left;vertical-align:middle}.nice-i18n-editor__key-head,.nice-i18n-editor__locale-head{position:sticky;top:0;background:var(--nice-bg-secondary, #f3f4f6);color:var(--nice-text-secondary, #6b7280);font-weight:600;padding:var(--nice-space-6, 6px) var(--nice-space-8, 8px);white-space:nowrap}.nice-i18n-editor__key-head{left:0;z-index:2}.nice-i18n-editor__locale-head{display:table-cell}.nice-i18n-editor__locale-head span{margin-right:var(--nice-space-6, 6px)}.nice-i18n-editor__locale-remove,.nice-i18n-editor__key-remove{border:0;background:transparent;color:var(--nice-text-muted, #9ca3af);cursor:pointer;font-size:11px}.nice-i18n-editor__locale-remove:hover,.nice-i18n-editor__key-remove:hover{color:var(--nice-color-danger, #dc2626)}.nice-i18n-editor__key-cell{position:sticky;left:0;z-index:1;background:var(--nice-bg-elevated, #ffffff);display:flex;align-items:center;gap:var(--nice-space-4, 4px);padding:var(--nice-space-2, 2px) var(--nice-space-4, 4px);min-width:200px}.nice-i18n-editor__key-input,.nice-i18n-editor__cell-input{width:100%;box-sizing:border-box;border:1px solid transparent;background:transparent;padding:var(--nice-space-5, 5px) var(--nice-space-6, 6px);font:inherit;font-size:13px;color:var(--nice-text-primary, #111827)}.nice-i18n-editor__key-input{font-family:Fira Code,Consolas,monospace}.nice-i18n-editor__cell-input{min-width:160px}.nice-i18n-editor__key-input:focus,.nice-i18n-editor__cell-input:focus{outline:none;border-color:var(--nice-color-primary, #2563eb);background:var(--nice-bg-primary, #ffffff)}.nice-i18n-editor__cell-input--missing{background:color-mix(in srgb,var(--nice-color-warning, #d97706) 18%,transparent)}.nice-i18n-editor__empty{padding:var(--nice-space-12, 12px);color:var(--nice-text-muted, #9ca3af);font-style:italic;text-align:center}.nice-i18n-editor__toolbar{display:flex;gap:var(--nice-space-12, 12px);flex-wrap:wrap}.nice-i18n-editor__add{display:inline-flex;gap:var(--nice-space-4, 4px)}.nice-i18n-editor__add-input{padding:var(--nice-space-5, 5px) var(--nice-space-8, 8px);border:1px solid var(--nice-border-color, #d1d5db);border-radius:var(--nice-radius-4, 4px);background:var(--nice-bg-primary, #ffffff);color:var(--nice-text-primary, #111827);font:inherit;font-size:13px}.nice-i18n-editor__add button{border:1px solid var(--nice-border-color, #d1d5db);background:var(--nice-bg-elevated, #ffffff);border-radius:var(--nice-radius-4, 4px);padding:var(--nice-space-5, 5px) var(--nice-space-12, 12px);font:inherit;font-size:12px;font-weight:600;color:var(--nice-color-primary, #2563eb);cursor:pointer}.nice-manifest-editor__pane{padding:var(--nice-space-3, 12px);overflow:auto;height:100%;box-sizing:border-box}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nice2dev/ui-forms",
3
- "version": "1.1.5",
3
+ "version": "1.1.7",
4
4
  "description": "Nice2Dev UI Forms - Form builders & designers: NiceFormBuilder, NiceFormBuilderAI, NiceFormDesigner",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -15,7 +15,7 @@
15
15
  "import": "./dist/index.mjs",
16
16
  "require": "./dist/index.cjs"
17
17
  },
18
- "./style.css": "./dist/style.css"
18
+ "./style.css": "./dist/ui-forms.css"
19
19
  },
20
20
  "files": [
21
21
  "dist",
@@ -36,9 +36,9 @@
36
36
  "react-dom": ">=17.0.0"
37
37
  },
38
38
  "devDependencies": {
39
- "@nice2dev/i18n": "^1.1.5",
40
- "@nice2dev/ui": "^1.1.5",
41
- "@nice2dev/ui-core": "^1.1.5",
39
+ "@nice2dev/i18n": "^1.1.7",
40
+ "@nice2dev/ui": "^1.1.7",
41
+ "@nice2dev/ui-core": "^1.1.7",
42
42
  "@testing-library/react": "^16.3.3",
43
43
  "@types/react": "^19.2.18",
44
44
  "@types/react-dom": "^19.2.7",