form-builder-pro 1.2.3 → 1.2.4

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.mjs CHANGED
@@ -8795,7 +8795,9 @@ var FormBuilder = class {
8795
8795
  type: f.type,
8796
8796
  label: f.label,
8797
8797
  layout: f.layout,
8798
- width: f.width
8798
+ width: f.width,
8799
+ css: f.css
8800
+ // Include css so style changes (textAlign, backgroundColor, etc.) trigger re-render
8799
8801
  // Exclude frequently changing text (placeholder, etc.) to prevent re-renders on typing
8800
8802
  }))
8801
8803
  })),
@@ -8913,13 +8915,13 @@ var FormBuilder = class {
8913
8915
  main.appendChild(previewContainer2);
8914
8916
  }
8915
8917
  } else {
8916
- const toolboxWrapper = createElement("div", { className: "form-builder-toolbox-wrapper w-full md:w-80 bg-white dark:bg-gray-900 border-r md:border-r border-b md:border-b-0 border-gray-200 dark:border-gray-800" });
8918
+ const toolboxWrapper = createElement("div", { className: "form-builder-toolbox-wrapper w-full md:w-[14rem] bg-white dark:bg-gray-900 border-r md:border-r border-b md:border-b-0 border-gray-200 dark:border-gray-800" });
8917
8919
  toolboxWrapper.appendChild(this.renderToolbox());
8918
8920
  main.appendChild(toolboxWrapper);
8919
8921
  const canvasWrapper2 = createElement("div", { className: "form-builder-canvas flex-1 overflow-y-auto" });
8920
8922
  canvasWrapper2.appendChild(this.renderCanvas(state));
8921
8923
  main.appendChild(canvasWrapper2);
8922
- const configWrapper = createElement("div", { className: "form-builder-config-wrapper w-full md:w-80 bg-white dark:bg-gray-900 border-l md:border-l border-t md:border-t-0 border-gray-200 dark:border-gray-800 overflow-hidden" });
8924
+ const configWrapper = createElement("div", { className: "form-builder-config-wrapper w-full md:w-[17rem] bg-white dark:bg-gray-900 border-l md:border-l border-t md:border-t-0 border-gray-200 dark:border-gray-800 overflow-hidden" });
8923
8925
  configWrapper.appendChild(this.renderConfigPanel(state, focusState));
8924
8926
  main.appendChild(configWrapper);
8925
8927
  }
@@ -8958,12 +8960,12 @@ var FormBuilder = class {
8958
8960
  }
8959
8961
  }
8960
8962
  renderToolbar(state) {
8961
- const toolbar = createElement("div", { className: "flex items-center justify-between p-4 border-b bg-white dark:bg-gray-900 border-gray-200 dark:border-gray-800" });
8963
+ const toolbar = createElement("div", { className: "flex items-center justify-between p-2 pl-[95px] border-b bg-white dark:bg-gray-900 border-gray-200 dark:border-gray-800" });
8962
8964
  const left = createElement("div", { className: "flex items-center " });
8963
8965
  left.appendChild(createElement("h1", { className: "text-xl font-semibold mb-2 text-primary hidden mr-4", text: "" }));
8964
8966
  if (state.existingForms && state.existingForms.length > 0) {
8965
8967
  const formSelect = createElement("select", {
8966
- className: "px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-transparent text-sm mr-2",
8968
+ className: "px-3 py-2 border border-gray-200 dark:border-gray-700 rounded-md bg-transparent text-sm mr-2",
8967
8969
  onchange: (e) => {
8968
8970
  const formId = e.target.value;
8969
8971
  if (formId) {
@@ -9028,7 +9030,7 @@ var FormBuilder = class {
9028
9030
  }, [getIcon("Cog", 20)]);
9029
9031
  right.appendChild(settingsBtn);
9030
9032
  const clearBtn = createElement("button", {
9031
- className: "flex items-center px-3 py-2 text-sm font-medium text-red-600 bg-red-500 text-white rounded-md transition-colors",
9033
+ className: "flex items-center px-3 py-2 text-sm font-medium text-red-600 bg-[#f7a1a14d] text-red-500 rounded-md transition-colors",
9032
9034
  onclick: () => {
9033
9035
  if (confirm("Are you sure?")) {
9034
9036
  formStore.getState().setSchema({ id: "new", title: "New Form", formName: "newForm", sections: [] });
@@ -9036,7 +9038,7 @@ var FormBuilder = class {
9036
9038
  }
9037
9039
  }, [getIcon("Trash2", 16), createElement("span", { className: "", title: "Clear" })]);
9038
9040
  const previewBtn = createElement("button", {
9039
- className: `flex items-center justify-center px-3 py-2 text-sm font-medium rounded-md transition-colors ${state.isPreviewMode ? "bg-[#019FA2] text-white hover:bg-[#018a8d]" : "bg-[#3b497e] text-white hover:bg-[#2d3a62]"}`,
9041
+ className: `flex items-center justify-center px-3 py-2 text-sm font-medium rounded-md transition-colors ${state.isPreviewMode ? "text-[#635bff] bg-[#e7e7ff] " : "text-[#635bff] bg-[#e7e7ff]"}`,
9040
9042
  onclick: (e) => {
9041
9043
  e.preventDefault();
9042
9044
  e.stopPropagation();
@@ -9045,7 +9047,7 @@ var FormBuilder = class {
9045
9047
  title: state.isPreviewMode ? "Exit Preview" : "Preview Form"
9046
9048
  }, [getIcon(state.isPreviewMode ? "X" : "Eye", 16)]);
9047
9049
  const saveBtn = createElement("button", {
9048
- className: "flex items-center px-3 py-2 text-sm font-medium text-white bg-[#019FA2] rounded-md shadow-sm transition-colors",
9050
+ className: "flex items-center px-3 py-2 text-sm font-medium text-[#635bff] bg-[#e7e7ff] rounded-md shadow-sm transition-colors",
9049
9051
  onclick: () => {
9050
9052
  const schema = formStore.getState().schema;
9051
9053
  console.log("[Form Builder] Schema being sent to app:", JSON.stringify(schema, null, 2));
@@ -9053,7 +9055,7 @@ var FormBuilder = class {
9053
9055
  this.options.onSave(schema);
9054
9056
  }
9055
9057
  }
9056
- }, [getIcon("Save", 16), createElement("span", { className: "", text: "" })]);
9058
+ }, [createElement("span", { className: "", text: "Save" })]);
9057
9059
  right.appendChild(clearBtn);
9058
9060
  right.appendChild(previewBtn);
9059
9061
  right.appendChild(saveBtn);
@@ -9061,24 +9063,29 @@ var FormBuilder = class {
9061
9063
  return toolbar;
9062
9064
  }
9063
9065
  renderToolbox() {
9064
- const toolbox = createElement("div", { className: "bg-[#847dff1a] dark:bg-gray-900 flex flex-col h-full" });
9065
- const tabs = createElement("div", { className: "flex border-b border-gray-200 dark:border-gray-800 p-1" });
9066
- const createTab = (id, label) => {
9066
+ const toolbox = createElement("div", { className: " dark:bg-gray-900 flex flex-col h-full" });
9067
+ const tabs = createElement("div", { className: "flex border-b border-gray-200 dark:border-gray-800 " });
9068
+ const createTab = (id, label, icon, tooltip) => {
9067
9069
  const isActive = this.activeTab === id;
9068
- return createElement("button", {
9069
- className: `flex-1 py-3 text-sm font-medium transition-colors ${isActive ? "text-white bg-[#635bff] rounded " : "text-gray-500 hover:text-gray-700 dark:text-gray-400"}`,
9070
- text: label,
9070
+ const btn = createElement("button", {
9071
+ className: `flex-1 flex items-center justify-center py-3 text-base font-bold transition-colors ${isActive ? "text-[#635bff] bg-[#e7e7ff] " : "text-gray-500 hover:text-gray-700 dark:text-gray-400"}`,
9072
+ title: tooltip || label,
9073
+ "aria-label": tooltip || label,
9071
9074
  onclick: () => {
9072
9075
  this.activeTab = id;
9073
9076
  this.render();
9074
9077
  }
9075
- });
9078
+ }, [
9079
+ getIcon(icon || "ListBullet", 16),
9080
+ createElement("span", { className: "hidden sm:inline-block", text: label })
9081
+ ]);
9082
+ return btn;
9076
9083
  };
9077
- tabs.appendChild(createTab("fields", "Fields"));
9078
- tabs.appendChild(createTab("templates", "Templates"));
9079
- tabs.appendChild(createTab("import", "Import"));
9084
+ tabs.appendChild(createTab("fields", "", "ListBullet", "Field types"));
9085
+ tabs.appendChild(createTab("templates", "", "DocumentText", "Saved templates"));
9086
+ tabs.appendChild(createTab("import", "", "Upload", "Import sections"));
9080
9087
  toolbox.appendChild(tabs);
9081
- const content = createElement("div", { className: "flex-1 overflow-y-auto p-4 bg-white" });
9088
+ const content = createElement("div", { className: "flex-1 overflow-y-auto p-4 bg-[#e7e7ff]" });
9082
9089
  if (this.activeTab === "fields") {
9083
9090
  const list = createElement("div", { className: "grid grid-cols-2 gap-3", id: "toolbox-list" });
9084
9091
  FIELD_TYPES.forEach((field) => {
@@ -9160,7 +9167,7 @@ var FormBuilder = class {
9160
9167
  }
9161
9168
  renderCanvas(state) {
9162
9169
  const canvas = createElement("div", {
9163
- className: "flex-1 dark:bg-gray-950 p-4 md:p-8 overflow-y-auto",
9170
+ className: "flex-1 dark:bg-gray-950 p-4 md:p-4 overflow-y-auto",
9164
9171
  onclick: (e) => {
9165
9172
  if (e.target === canvas || e.target === canvas.firstElementChild) {
9166
9173
  formStore.getState().selectField(null);
@@ -9181,7 +9188,7 @@ var FormBuilder = class {
9181
9188
  const sectionList = new SectionList(state.schema, state.selectedFieldId);
9182
9189
  inner.appendChild(sectionList.getElement());
9183
9190
  const addSectionBtn = createElement("button", {
9184
- className: "w-full mt-6 py-3 dark:border-gray-700 rounded-lg text-gray-500 bg-[#635bff] max-w-[180px] shadow-[0_17px_20px_-8px_rgba(77,91,236,0.231372549)] text-white transition-colors flex items-center justify-center font-medium",
9191
+ className: "w-full mt-6 py-3 dark:border-gray-700 rounded-md text-sm text-gray-500 bg-[#635bff] max-w-[180px] text-white transition-colors flex items-center justify-center font-medium",
9185
9192
  onclick: () => formStore.getState().addSection()
9186
9193
  }, [getIcon("Plus", 20), createElement("span", { className: "ml-2", text: "Add Section" })]);
9187
9194
  inner.appendChild(addSectionBtn);
@@ -9191,7 +9198,7 @@ var FormBuilder = class {
9191
9198
  // Helper method to create a modern checkbox field with better UX
9192
9199
  createCheckboxField(label, checked, onChange, id) {
9193
9200
  const uniqueId = id || `checkbox-${Math.random().toString(36).substr(2, 9)}`;
9194
- const container = createElement("div", { className: "flex items-center gap-3 py-2.5 px-3 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-800/50 transition-colors cursor-pointer" });
9201
+ const container = createElement("div", { className: "flex items-center gap-3 py-1 px-1 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-800/50 transition-colors cursor-pointer" });
9195
9202
  const checkbox = createElement("input", {
9196
9203
  type: "checkbox",
9197
9204
  id: uniqueId,
@@ -9228,11 +9235,11 @@ var FormBuilder = class {
9228
9235
  onclick: () => formStore.getState().selectField(null)
9229
9236
  }, [getIcon("X", 20)]));
9230
9237
  panel.appendChild(header);
9231
- const body = createElement("div", { className: "flex-1 overflow-y-auto p-4 space-y-6", id: "config-panel-body" });
9238
+ const body = createElement("div", { className: "flex-1 overflow-y-auto p-4 px-2 space-y-3", id: "config-panel-body" });
9232
9239
  const labelGroup = createElement("div");
9233
- labelGroup.appendChild(createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", text: "Label" }));
9240
+ labelGroup.appendChild(createElement("label", { className: "block text-sm font-normal text-gray-700 dark:text-gray-300 mb-1", text: "Label" }));
9234
9241
  labelGroup.appendChild(createElement("input", {
9235
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-transparent",
9242
+ className: "w-full px-3 py-2 border border-gray-200 dark:border-gray-700 rounded-md bg-transparent",
9236
9243
  value: selectedField.label,
9237
9244
  "data-focus-id": `field-label-${selectedField.id}`,
9238
9245
  oninput: (e) => {
@@ -9241,9 +9248,9 @@ var FormBuilder = class {
9241
9248
  }));
9242
9249
  body.appendChild(labelGroup);
9243
9250
  const placeholderGroup = createElement("div");
9244
- placeholderGroup.appendChild(createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", text: "Placeholder" }));
9251
+ placeholderGroup.appendChild(createElement("label", { className: "block text-sm font-normal text-gray-700 dark:text-gray-300 mb-1", text: "Placeholder" }));
9245
9252
  placeholderGroup.appendChild(createElement("input", {
9246
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-transparent",
9253
+ className: "w-full px-3 py-2 border border-gray-200 dark:border-gray-700 rounded-md bg-transparent",
9247
9254
  value: selectedField.placeholder || "",
9248
9255
  "data-focus-id": `field-placeholder-${selectedField.id}`,
9249
9256
  oninput: (e) => {
@@ -9272,7 +9279,7 @@ var FormBuilder = class {
9272
9279
  const isActive = currentSpan === span;
9273
9280
  const spanBtn = createElement("button", {
9274
9281
  type: "button",
9275
- className: `span-preset-btn px-2 py-1.5 text-xs rounded transition-colors cursor-pointer ${isActive ? "bg-blue-600 text-white" : "bg-gray-100 dark:bg-gray-800 text-gray-600 dark:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-700"}`,
9282
+ className: `span-preset-btn px-2 py-1.5 text-xs rounded transition-colors cursor-pointer ${isActive ? "bg-[#e7e7ff] text-[#635bff] font-semibold" : "bg-white border-2 border-[#e7e7ff] dark:bg-gray-800 text-gray-600 dark:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-700"}`,
9276
9283
  text: `${span}`,
9277
9284
  title: `${span} column${span > 1 ? "s" : ""} (${Math.round(span / 12 * 100)}%)`
9278
9285
  });
@@ -9368,9 +9375,9 @@ var FormBuilder = class {
9368
9375
  };
9369
9376
  if (activeMasterTypes.length > 0) {
9370
9377
  const groupNameGroup = createElement("div", { className: "mb-4" });
9371
- groupNameGroup.appendChild(createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", text: "Master List" }));
9378
+ groupNameGroup.appendChild(createElement("label", { className: "block text-sm font-normal text-gray-700 dark:text-gray-300 mb-1", text: "Master List" }));
9372
9379
  const groupNameSelect = createElement("select", {
9373
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-transparent",
9380
+ className: "w-full px-3 py-2 border border-gray-200 dark:border-gray-700 rounded-md bg-transparent",
9374
9381
  onchange: (e) => {
9375
9382
  const selectedEnumName = e.target.value;
9376
9383
  if (selectedEnumName) {
@@ -9456,9 +9463,9 @@ var FormBuilder = class {
9456
9463
  const optionSourceHeader = createElement("h3", { className: "text-xs font-semibold text-gray-500 uppercase tracking-wider mb-3 mt-6", text: "Option Source" });
9457
9464
  body.appendChild(optionSourceHeader);
9458
9465
  const optionSourceGroup = createElement("div", { className: "mb-4" });
9459
- optionSourceGroup.appendChild(createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", text: "Source Type" }));
9466
+ optionSourceGroup.appendChild(createElement("label", { className: "block text-sm font-normal text-gray-700 dark:text-gray-300 mb-1", text: "Source Type" }));
9460
9467
  const optionSourceSelect = createElement("select", {
9461
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-transparent",
9468
+ className: "w-full px-3 py-2 border border-gray-200 dark:border-gray-700 rounded-md bg-transparent",
9462
9469
  value: selectedField.optionSource || "STATIC",
9463
9470
  onchange: (e) => {
9464
9471
  const source = e.target.value;
@@ -9483,9 +9490,9 @@ var FormBuilder = class {
9483
9490
  body.appendChild(optionSourceGroup);
9484
9491
  if (selectedField.type === "select" && selectedField.optionSource === "LOOKUP") {
9485
9492
  const lookupSourceTypeGroup = createElement("div", { className: "mb-4" });
9486
- lookupSourceTypeGroup.appendChild(createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", text: "Lookup Source Type" }));
9493
+ lookupSourceTypeGroup.appendChild(createElement("label", { className: "block text-sm font-normal text-gray-700 dark:text-gray-300 mb-1", text: "Lookup Source Type" }));
9487
9494
  const lookupSourceTypeSelect = createElement("select", {
9488
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-transparent",
9495
+ className: "w-full px-3 py-2 border border-gray-200 dark:border-gray-700 rounded-md bg-transparent",
9489
9496
  value: selectedField.lookupSourceType || "MODULE",
9490
9497
  onchange: (e) => {
9491
9498
  const lookupSourceType = e.target.value;
@@ -9504,9 +9511,9 @@ var FormBuilder = class {
9504
9511
  if (selectedField.lookupSourceType === "MODULE") {
9505
9512
  const moduleList = this.options.moduleList || [];
9506
9513
  const lookupSourceGroup = createElement("div", { className: "mb-4" });
9507
- lookupSourceGroup.appendChild(createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", text: "Lookup Source" }));
9514
+ lookupSourceGroup.appendChild(createElement("label", { className: "block text-sm font-normal text-gray-700 dark:text-gray-300 mb-1", text: "Lookup Source" }));
9508
9515
  const lookupSourceSelect = createElement("select", {
9509
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-transparent",
9516
+ className: "w-full px-3 py-2 border border-gray-200 dark:border-gray-700 rounded-md bg-transparent",
9510
9517
  value: selectedField.lookupSource || "",
9511
9518
  onchange: (e) => {
9512
9519
  const lookupSource = e.target.value;
@@ -9541,9 +9548,9 @@ var FormBuilder = class {
9541
9548
  const masterTypes = formStore.getState().masterTypes;
9542
9549
  const activeMasterTypes = masterTypes.filter((mt) => mt.active === true);
9543
9550
  const lookupSourceGroup = createElement("div", { className: "mb-4" });
9544
- lookupSourceGroup.appendChild(createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", text: "Lookup Source" }));
9551
+ lookupSourceGroup.appendChild(createElement("label", { className: "block text-sm font-normal text-gray-700 dark:text-gray-300 mb-1", text: "Lookup Source" }));
9545
9552
  const lookupSourceSelect = createElement("select", {
9546
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-transparent",
9553
+ className: "w-full px-3 py-2 border border-gray-200 dark:border-gray-700 rounded-md bg-transparent",
9547
9554
  value: selectedField.lookupSource || "",
9548
9555
  onchange: (e) => {
9549
9556
  const lookupSource = e.target.value;
@@ -9577,9 +9584,9 @@ var FormBuilder = class {
9577
9584
  body.appendChild(lookupSourceGroup);
9578
9585
  }
9579
9586
  const lookupValueFieldGroup = createElement("div", { className: "mb-4" });
9580
- lookupValueFieldGroup.appendChild(createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", text: "Lookup Value Field" }));
9587
+ lookupValueFieldGroup.appendChild(createElement("label", { className: "block text-sm font-normal text-gray-700 dark:text-gray-300 mb-1", text: "Lookup Value Field" }));
9581
9588
  const lookupValueFieldSelect = createElement("select", {
9582
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-transparent",
9589
+ className: "w-full px-3 py-2 border border-gray-200 dark:border-gray-700 rounded-md bg-transparent",
9583
9590
  value: selectedField.lookupValueField || "",
9584
9591
  disabled: !selectedField.lookupSource,
9585
9592
  onchange: (e) => {
@@ -9602,9 +9609,9 @@ var FormBuilder = class {
9602
9609
  lookupValueFieldGroup.appendChild(lookupValueFieldSelect);
9603
9610
  body.appendChild(lookupValueFieldGroup);
9604
9611
  const lookupLabelFieldGroup = createElement("div", { className: "mb-4" });
9605
- lookupLabelFieldGroup.appendChild(createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", text: "Lookup Label Field" }));
9612
+ lookupLabelFieldGroup.appendChild(createElement("label", { className: "block text-sm font-normal text-gray-700 dark:text-gray-300 mb-1", text: "Lookup Label Field" }));
9606
9613
  const lookupLabelFieldSelect = createElement("select", {
9607
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-transparent",
9614
+ className: "w-full px-3 py-2 border border-gray-200 dark:border-gray-700 rounded-md bg-transparent",
9608
9615
  value: selectedField.lookupLabelField || "",
9609
9616
  disabled: !selectedField.lookupSource,
9610
9617
  onchange: (e) => {
@@ -9768,10 +9775,10 @@ var FormBuilder = class {
9768
9775
  const validationElements = [];
9769
9776
  if (["text", "textarea", "email", "password"].includes(selectedField.type)) {
9770
9777
  const minLenGroup = createElement("div", { className: "mb-3" });
9771
- minLenGroup.appendChild(createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", text: "Min Length" }));
9778
+ minLenGroup.appendChild(createElement("label", { className: "block text-sm font-normal text-gray-700 dark:text-gray-300 mb-1", text: "Min Length" }));
9772
9779
  minLenGroup.appendChild(createElement("input", {
9773
9780
  type: "number",
9774
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-transparent",
9781
+ className: "w-full px-3 py-2 border border-gray-200 dark:border-gray-700 rounded-md bg-transparent",
9775
9782
  value: getRuleValue("minLength") || "",
9776
9783
  placeholder: "e.g. 3",
9777
9784
  onchange: (e) => {
@@ -9781,10 +9788,10 @@ var FormBuilder = class {
9781
9788
  }));
9782
9789
  validationElements.push(minLenGroup);
9783
9790
  const maxLenGroup = createElement("div", { className: "mb-3" });
9784
- maxLenGroup.appendChild(createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", text: "Max Length" }));
9791
+ maxLenGroup.appendChild(createElement("label", { className: "block text-sm font-normal text-gray-700 dark:text-gray-300 mb-1", text: "Max Length" }));
9785
9792
  maxLenGroup.appendChild(createElement("input", {
9786
9793
  type: "number",
9787
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-transparent",
9794
+ className: "w-full px-3 py-2 border border-gray-200 dark:border-gray-700 rounded-md bg-transparent",
9788
9795
  value: getRuleValue("maxLength") || "",
9789
9796
  placeholder: "e.g. 100",
9790
9797
  onchange: (e) => {
@@ -9794,7 +9801,7 @@ var FormBuilder = class {
9794
9801
  }));
9795
9802
  validationElements.push(maxLenGroup);
9796
9803
  const regexGroup = createElement("div", { className: "mb-3" });
9797
- regexGroup.appendChild(createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", text: "Regex Pattern" }));
9804
+ regexGroup.appendChild(createElement("label", { className: "block text-sm font-normal text-gray-700 dark:text-gray-300 mb-1", text: "Regex Pattern" }));
9798
9805
  const updateExamples = (examplesList2, regex, preset) => {
9799
9806
  examplesList2.innerHTML = "";
9800
9807
  let testCases = [];
@@ -9860,7 +9867,7 @@ var FormBuilder = class {
9860
9867
  const presetGroup = createElement("div", { className: "mb-2" });
9861
9868
  presetGroup.appendChild(createElement("label", { className: "block text-xs font-medium text-gray-600 dark:text-gray-400 mb-1", text: "Regex Presets (Optional)" }));
9862
9869
  const presetSelect = createElement("select", {
9863
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-transparent text-sm",
9870
+ className: "w-full px-3 py-2 border border-gray-200 dark:border-gray-700 rounded-md bg-transparent text-sm",
9864
9871
  value: selectedPresetId,
9865
9872
  onchange: (e) => {
9866
9873
  const presetId = e.target.value;
@@ -9900,7 +9907,7 @@ var FormBuilder = class {
9900
9907
  }
9901
9908
  regexInput = createElement("input", {
9902
9909
  type: "text",
9903
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-transparent",
9910
+ className: "w-full px-3 py-2 border border-gray-200 dark:border-gray-700 rounded-md bg-transparent",
9904
9911
  value: currentRegex,
9905
9912
  placeholder: selectedField.type === "email" ? "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$" : "e.g. ^[A-Z]+$",
9906
9913
  "data-focus-id": `field-regex-${selectedField.id}`,
@@ -9953,10 +9960,10 @@ var FormBuilder = class {
9953
9960
  }
9954
9961
  if (selectedField.type === "checkbox") {
9955
9962
  const minSelectedGroup = createElement("div", { className: "mb-3" });
9956
- minSelectedGroup.appendChild(createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", text: "Min Selected" }));
9963
+ minSelectedGroup.appendChild(createElement("label", { className: "block text-sm font-normal text-gray-700 dark:text-gray-300 mb-1", text: "Min Selected" }));
9957
9964
  minSelectedGroup.appendChild(createElement("input", {
9958
9965
  type: "number",
9959
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-transparent",
9966
+ className: "w-full px-3 py-2 border border-gray-200 dark:border-gray-700 rounded-md bg-transparent",
9960
9967
  value: getRuleValue("minSelected"),
9961
9968
  placeholder: "e.g. 1",
9962
9969
  min: "0",
@@ -9967,10 +9974,10 @@ var FormBuilder = class {
9967
9974
  }));
9968
9975
  validationElements.push(minSelectedGroup);
9969
9976
  const maxSelectedGroup = createElement("div", { className: "mb-3" });
9970
- maxSelectedGroup.appendChild(createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", text: "Max Selected" }));
9977
+ maxSelectedGroup.appendChild(createElement("label", { className: "block text-sm font-normal text-gray-700 dark:text-gray-300 mb-1", text: "Max Selected" }));
9971
9978
  maxSelectedGroup.appendChild(createElement("input", {
9972
9979
  type: "number",
9973
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-transparent",
9980
+ className: "w-full px-3 py-2 border border-gray-200 dark:border-gray-700 rounded-md bg-transparent",
9974
9981
  value: getRuleValue("maxSelected"),
9975
9982
  placeholder: "e.g. 2",
9976
9983
  min: "1",
@@ -9983,10 +9990,10 @@ var FormBuilder = class {
9983
9990
  }
9984
9991
  if (selectedField.type === "date") {
9985
9992
  const minDateGroup = createElement("div", { className: "mb-3" });
9986
- minDateGroup.appendChild(createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", text: "Minimum Date" }));
9993
+ minDateGroup.appendChild(createElement("label", { className: "block text-sm font-normal text-gray-700 dark:text-gray-300 mb-1", text: "Minimum Date" }));
9987
9994
  minDateGroup.appendChild(createElement("input", {
9988
9995
  type: "date",
9989
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-transparent",
9996
+ className: "w-full px-3 py-2 border border-gray-200 dark:border-gray-700 rounded-md bg-transparent",
9990
9997
  value: validationObj.minDate || "",
9991
9998
  onchange: (e) => {
9992
9999
  const val = e.target.value;
@@ -9995,10 +10002,10 @@ var FormBuilder = class {
9995
10002
  }));
9996
10003
  validationElements.push(minDateGroup);
9997
10004
  const maxDateGroup = createElement("div", { className: "mb-3" });
9998
- maxDateGroup.appendChild(createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", text: "Maximum Date" }));
10005
+ maxDateGroup.appendChild(createElement("label", { className: "block text-sm font-normal text-gray-700 dark:text-gray-300 mb-1", text: "Maximum Date" }));
9999
10006
  maxDateGroup.appendChild(createElement("input", {
10000
10007
  type: "date",
10001
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-transparent",
10008
+ className: "w-full px-3 py-2 border border-gray-200 dark:border-gray-700 rounded-md bg-transparent",
10002
10009
  value: validationObj.maxDate || "",
10003
10010
  onchange: (e) => {
10004
10011
  const val = e.target.value;
@@ -10037,9 +10044,9 @@ var FormBuilder = class {
10037
10044
  state2.updateField(selectedField.id, updatePayload);
10038
10045
  };
10039
10046
  const paddingGroup = createElement("div", { className: "mb-3" });
10040
- paddingGroup.appendChild(createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", text: "Padding" }));
10047
+ paddingGroup.appendChild(createElement("label", { className: "block text-sm font-normal text-gray-700 dark:text-gray-300 mb-1", text: "Padding" }));
10041
10048
  const paddingSelect = createElement("select", {
10042
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-white dark:bg-gray-800 text-sm",
10049
+ className: "w-full px-3 py-2 border border-gray-200 dark:border-gray-700 rounded-md bg-white dark:bg-gray-800 text-sm",
10043
10050
  onchange: (e) => {
10044
10051
  updateStyleProp("padding", e.target.value);
10045
10052
  }
@@ -10058,7 +10065,7 @@ var FormBuilder = class {
10058
10065
  paddingGroup.appendChild(paddingSelect);
10059
10066
  body.appendChild(paddingGroup);
10060
10067
  const bgColorGroup = createElement("div", { className: "mb-3" });
10061
- bgColorGroup.appendChild(createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", text: "Background Color" }));
10068
+ bgColorGroup.appendChild(createElement("label", { className: "block text-sm font-normal text-gray-700 dark:text-gray-300 mb-1", text: "Background Color" }));
10062
10069
  const bgColorRow = createElement("div", { className: "flex items-center gap-2" });
10063
10070
  const bgColorInput = createElement("input", {
10064
10071
  type: "color",
@@ -10083,7 +10090,7 @@ var FormBuilder = class {
10083
10090
  bgColorGroup.appendChild(bgColorRow);
10084
10091
  body.appendChild(bgColorGroup);
10085
10092
  const alignGroup = createElement("div", { className: "mb-3" });
10086
- alignGroup.appendChild(createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", text: "Text Alignment" }));
10093
+ alignGroup.appendChild(createElement("label", { className: "block text-sm font-normal text-gray-700 dark:text-gray-300 mb-1", text: "Text Alignment" }));
10087
10094
  const alignButtonsRow = createElement("div", { className: "flex gap-1" });
10088
10095
  const alignments = [
10089
10096
  { value: "left", icon: "AlignLeft" },
@@ -10107,10 +10114,10 @@ var FormBuilder = class {
10107
10114
  alignGroup.appendChild(alignButtonsRow);
10108
10115
  body.appendChild(alignGroup);
10109
10116
  const cssClassGroup = createElement("div", { className: "mb-3" });
10110
- cssClassGroup.appendChild(createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", text: "Custom CSS Class" }));
10117
+ cssClassGroup.appendChild(createElement("label", { className: "block text-sm font-normal text-gray-700 dark:text-gray-300 mb-1", text: "Custom CSS Class" }));
10111
10118
  cssClassGroup.appendChild(createElement("input", {
10112
10119
  type: "text",
10113
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-transparent text-sm",
10120
+ className: "w-full px-3 py-2 border border-gray-200 dark:border-gray-700 rounded-md bg-transparent text-sm",
10114
10121
  value: selectedField.css?.class || "",
10115
10122
  placeholder: "e.g. my-custom-class",
10116
10123
  "data-focus-id": `field-css-class-${selectedField.id}`,
@@ -10162,7 +10169,7 @@ var FormBuilder = class {
10162
10169
  initialCssStyleValue = preservedValue;
10163
10170
  }
10164
10171
  const cssStyleTextarea = createElement("textarea", {
10165
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-transparent text-xs font-mono",
10172
+ className: "w-full px-3 py-2 border border-gray-200 dark:border-gray-700 rounded-md bg-transparent text-xs font-mono",
10166
10173
  rows: 3,
10167
10174
  placeholder: '{"padding": "8px", "backgroundColor": "#f0f0f0"}',
10168
10175
  "data-focus-id": cssStyleId,