@dufy_asesorias/widget-dufy-kit 1.0.1 → 1.0.2

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.es.js CHANGED
@@ -352,8 +352,24 @@ var c = ({ field: c, label: l, value: u, type: d = "text", options: f = [], plac
352
352
  true: "Sí",
353
353
  false: "No"
354
354
  }, displayAs: m = "toggle" }) => {
355
- let [h, g] = n(!1), [_, v] = n(null), [y, b] = n("");
356
- return /* @__PURE__ */ e.createElement("div", { className: `flex items-center justify-between p-3 bg-brand-bgWidget rounded-lg ${f}` }, /* @__PURE__ */ e.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ e.createElement("label", { className: "text-sm text-gray-600 block mb-1" }, r, u && m !== "toggle" && /* @__PURE__ */ e.createElement("span", { className: "text-brand-danger ml-1" }, "*")), h ? /* @__PURE__ */ e.createElement("div", null, m === "toggle" ? /* @__PURE__ */ e.createElement("label", {
355
+ let [h, g] = n(!1), [_, v] = n(null), [y, b] = n(""), x = () => {
356
+ d || (g(!0), v(m === "toggle" ? s ?? !1 : s), b(""));
357
+ }, S = async () => {
358
+ if (u && _ == null) {
359
+ b("Este campo es obligatorio");
360
+ return;
361
+ }
362
+ try {
363
+ l && await l(t, _), g(!1), b("");
364
+ } catch (e) {
365
+ b(e.message || "Error al guardar");
366
+ }
367
+ }, C = () => {
368
+ g(!1), v(null), b("");
369
+ }, w = (e) => {
370
+ v(e), b("");
371
+ };
372
+ return /* @__PURE__ */ e.createElement("div", { className: `flex items-center justify-between p-3 bg-gray-50 rounded-lg ${f}` }, /* @__PURE__ */ e.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ e.createElement("label", { className: "text-sm text-gray-600 block mb-1" }, r, u && m !== "toggle" && /* @__PURE__ */ e.createElement("span", { className: "text-red-500 ml-1" }, "*")), h ? /* @__PURE__ */ e.createElement("div", null, m === "toggle" ? /* @__PURE__ */ e.createElement("label", {
357
373
  htmlFor: `${t}_toggle`,
358
374
  className: "relative inline-flex items-center cursor-pointer"
359
375
  }, /* @__PURE__ */ e.createElement("input", {
@@ -361,45 +377,35 @@ var c = ({ field: c, label: l, value: u, type: d = "text", options: f = [], plac
361
377
  id: `${t}_toggle`,
362
378
  className: "sr-only peer",
363
379
  checked: _ === !0,
364
- onChange: () => v(!_),
380
+ onChange: () => w(!_),
365
381
  disabled: d
366
- }), /* @__PURE__ */ e.createElement("div", { className: "w-11 h-6 bg-gray-300 rounded-full peer peer-focus:ring-2 peer-focus:ring-brand-editLight peer-checked:bg-brand-primary peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-0.5 after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all" }), /* @__PURE__ */ e.createElement("span", { className: "ml-3 text-sm font-medium text-gray-700 select-none" }, _ ? p.true : p.false)) : /* @__PURE__ */ e.createElement("div", { className: "space-y-2" }, [!0, !1].map((n) => /* @__PURE__ */ e.createElement("label", {
367
- key: n.toString(),
368
- className: "flex items-center cursor-pointer"
369
- }, /* @__PURE__ */ e.createElement("input", {
382
+ }), /* @__PURE__ */ e.createElement("div", { className: "w-11 h-6 bg-gray-300 rounded-full peer peer-focus:ring-2 peer-focus:ring-blue-300 peer-checked:bg-indigo-600 peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-0.5 after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all" }), /* @__PURE__ */ e.createElement("span", { className: "ml-3 text-sm font-medium text-gray-700 select-none" }, _ ? p.true : p.false)) : /* @__PURE__ */ e.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ e.createElement("label", { className: "flex items-center cursor-pointer" }, /* @__PURE__ */ e.createElement("input", {
370
383
  type: "radio",
371
384
  name: `${t}_boolean`,
372
- checked: _ === n,
373
- onChange: () => v(n),
374
- className: "mr-3 h-4 w-4 text-brand-primary focus:ring-brand-primary border-gray-300",
385
+ checked: _ === !0,
386
+ onChange: () => w(!0),
387
+ className: "mr-3 h-4 w-4 text-indigo-600 focus:ring-indigo-500 border-gray-300",
375
388
  disabled: d
376
- }), /* @__PURE__ */ e.createElement("span", { className: "text-sm text-gray-700" }, n ? p.true : p.false)))), y && /* @__PURE__ */ e.createElement("p", { className: "text-brand-danger text-xs mt-2" }, y)) : /* @__PURE__ */ e.createElement("span", { className: `break-words ${!s && s !== 0 && m !== "toggle" ? "text-gray-400 italic" : "font-medium text-gray-800"}` }, s === !0 ? p.true : s === !1 || m === "toggle" ? p.false : "No especificado")), c && /* @__PURE__ */ e.createElement("div", { className: "ml-4 flex gap-2 flex-shrink-0" }, h ? /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement("button", {
377
- onClick: async () => {
378
- if (u && _ == null) {
379
- b("Este campo es obligatorio");
380
- return;
381
- }
382
- try {
383
- l && await l(t, _), g(!1), b("");
384
- } catch (e) {
385
- b(e.message || "Error al guardar");
386
- }
387
- },
389
+ }), /* @__PURE__ */ e.createElement("span", { className: "text-sm text-gray-700" }, p.true)), /* @__PURE__ */ e.createElement("label", { className: "flex items-center cursor-pointer" }, /* @__PURE__ */ e.createElement("input", {
390
+ type: "radio",
391
+ name: `${t}_boolean`,
392
+ checked: _ === !1,
393
+ onChange: () => w(!1),
394
+ className: "mr-3 h-4 w-4 text-indigo-600 focus:ring-indigo-500 border-gray-300",
395
+ disabled: d
396
+ }), /* @__PURE__ */ e.createElement("span", { className: "text-sm text-gray-700" }, p.false))), y && /* @__PURE__ */ e.createElement("p", { className: "text-red-500 text-xs mt-2" }, y)) : /* @__PURE__ */ e.createElement("span", { className: `break-words ${s == null && m !== "toggle" ? "text-gray-400 italic" : "font-medium text-gray-800"}` }, s === !0 ? p.true : s === !1 || m === "toggle" ? p.false : "No especificado")), c && /* @__PURE__ */ e.createElement("div", { className: "ml-4 flex gap-2 flex-shrink-0" }, h ? /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement("button", {
397
+ onClick: S,
388
398
  disabled: d,
389
- className: "p-1 text-brand-success hover:bg-brand-successLight rounded disabled:opacity-50",
399
+ className: "p-1 text-green-600 hover:bg-green-100 rounded disabled:opacity-50",
390
400
  title: "Guardar"
391
401
  }, /* @__PURE__ */ e.createElement(a, { size: 16 })), /* @__PURE__ */ e.createElement("button", {
392
- onClick: () => {
393
- g(!1), v(null), b("");
394
- },
395
- className: "p-1 text-brand-danger hover:bg-brand-dangerLight rounded",
402
+ onClick: C,
403
+ className: "p-1 text-red-600 hover:bg-red-100 rounded",
396
404
  title: "Cancelar"
397
405
  }, /* @__PURE__ */ e.createElement(o, { size: 16 }))) : /* @__PURE__ */ e.createElement("button", {
398
- onClick: () => {
399
- d || (g(!0), v(m === "toggle" ? s ?? !1 : s), b(""));
400
- },
406
+ onClick: x,
401
407
  disabled: d,
402
- className: "p-1 text-brand-edit hover:bg-brand-editLight rounded disabled:opacity-50",
408
+ className: "p-1 text-blue-600 hover:bg-blue-100 rounded disabled:opacity-50",
403
409
  title: "Editar"
404
410
  }, /* @__PURE__ */ e.createElement(i, { size: 16 }))));
405
411
  };
package/dist/index.umd.js CHANGED
@@ -1 +1 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("react"),require("lucide-react"),require("react-select")):typeof define==`function`&&define.amd?define([`exports`,`react`,`lucide-react`,`react-select`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.WidgetDufyKit={},e.React,e.LucideReact,e.Select))})(this,function(e,t,n,r){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var i=Object.create,a=Object.defineProperty,o=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,c=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,u=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=s(t),c=0,u=i.length,d;c<u;c++)d=i[c],!l.call(e,d)&&d!==n&&a(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(r=o(t,d))||r.enumerable});return e},d=(e,t,n)=>(n=e==null?{}:i(c(e)),u(t||!e||!e.__esModule?a(n,`default`,{value:e,enumerable:!0}):n,e));t=d(t,1),r=d(r,1),e.BooleanField=({field:e,label:r,value:i,isAdmin:a=!1,onSave:o,required:s=!1,disabled:c=!1,className:l=``,labels:u={true:`Sí`,false:`No`},displayAs:d=`toggle`})=>{let[f,p]=(0,t.useState)(!1),[m,h]=(0,t.useState)(null),[g,_]=(0,t.useState)(``);return t.default.createElement(`div`,{className:`flex items-center justify-between p-3 bg-brand-bgWidget rounded-lg ${l}`},t.default.createElement(`div`,{className:`flex-1 min-w-0`},t.default.createElement(`label`,{className:`text-sm text-gray-600 block mb-1`},r,s&&d!==`toggle`&&t.default.createElement(`span`,{className:`text-brand-danger ml-1`},`*`)),f?t.default.createElement(`div`,null,d===`toggle`?t.default.createElement(`label`,{htmlFor:`${e}_toggle`,className:`relative inline-flex items-center cursor-pointer`},t.default.createElement(`input`,{type:`checkbox`,id:`${e}_toggle`,className:`sr-only peer`,checked:m===!0,onChange:()=>h(!m),disabled:c}),t.default.createElement(`div`,{className:`w-11 h-6 bg-gray-300 rounded-full peer peer-focus:ring-2 peer-focus:ring-brand-editLight peer-checked:bg-brand-primary peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-0.5 after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all`}),t.default.createElement(`span`,{className:`ml-3 text-sm font-medium text-gray-700 select-none`},m?u.true:u.false)):t.default.createElement(`div`,{className:`space-y-2`},[!0,!1].map(n=>t.default.createElement(`label`,{key:n.toString(),className:`flex items-center cursor-pointer`},t.default.createElement(`input`,{type:`radio`,name:`${e}_boolean`,checked:m===n,onChange:()=>h(n),className:`mr-3 h-4 w-4 text-brand-primary focus:ring-brand-primary border-gray-300`,disabled:c}),t.default.createElement(`span`,{className:`text-sm text-gray-700`},n?u.true:u.false)))),g&&t.default.createElement(`p`,{className:`text-brand-danger text-xs mt-2`},g)):t.default.createElement(`span`,{className:`break-words ${!i&&i!==0&&d!==`toggle`?`text-gray-400 italic`:`font-medium text-gray-800`}`},i===!0?u.true:i===!1||d===`toggle`?u.false:`No especificado`)),a&&t.default.createElement(`div`,{className:`ml-4 flex gap-2 flex-shrink-0`},f?t.default.createElement(t.default.Fragment,null,t.default.createElement(`button`,{onClick:async()=>{if(s&&m==null){_(`Este campo es obligatorio`);return}try{o&&await o(e,m),p(!1),_(``)}catch(e){_(e.message||`Error al guardar`)}},disabled:c,className:`p-1 text-brand-success hover:bg-brand-successLight rounded disabled:opacity-50`,title:`Guardar`},t.default.createElement(n.Save,{size:16})),t.default.createElement(`button`,{onClick:()=>{p(!1),h(null),_(``)},className:`p-1 text-brand-danger hover:bg-brand-dangerLight rounded`,title:`Cancelar`},t.default.createElement(n.X,{size:16}))):t.default.createElement(`button`,{onClick:()=>{c||(p(!0),h(d===`toggle`?i??!1:i),_(``))},disabled:c,className:`p-1 text-brand-edit hover:bg-brand-editLight rounded disabled:opacity-50`,title:`Editar`},t.default.createElement(n.Edit3,{size:16}))))},e.EditableField=({field:e,label:i,value:a,type:o=`text`,options:s=[],placeholder:c=``,isAdmin:l=!1,onSave:u,onCancel:d,onInputChange:f,validation:p=null,disabled:m=!1,required:h=!1,min:g=null,max:_=null,rows:v=3,className:y=``,formatDisplay:b=null,isClearable:x=!0,isSearchable:S=!0,isLoading:C=!1,noOptionsMessage:w=()=>`No se encontraron resultados`,getOptionFromValue:T=null,debug:E=!1})=>{let[D,O]=(0,t.useState)(!1),[k,A]=(0,t.useState)(``),[j,M]=(0,t.useState)(``);(0,t.useEffect)(()=>{E&&console.log(`[EditableField ${e}] Props changed:`,{value:a,isEditing:D,editValue:k,type:o,options:s?.length||0})},[a,D,k,e,E,o,s]),(0,t.useEffect)(()=>{if(!D&&a!==void 0){let t=F(a,o);E&&console.log(`[EditableField ${e}] Syncing value:`,{value:a,formattedValue:t})}},[a,D,e,o,E]);let N=e=>e.map(e=>typeof e==`string`?{value:e,label:e}:e),P=e=>{if(!e||!s.length)return null;let t=N(s);return T?T(t,e):t.find(t=>t.value===e)||null},F=(e,t)=>{if(!e&&e!==0)return``;try{switch(t){case`date`:{let t=new Date(e);return isNaN(t.getTime())?``:`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}`}case`datetime`:if(typeof e==`string`&&e.match(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/))return e.slice(0,16);let t=new Date(e);return isNaN(t.getTime())?``:`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}T${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`;case`time`:return e.includes(`T`)?e.split(`T`)[1].slice(0,5):e;case`react-select`:return P(e);default:return e}}catch(e){return console.error(`Error formatting value:`,e),``}},I=()=>{if(m)return;let t=F(a,o);E&&console.log(`[EditableField ${e}] Starting edit:`,{originalValue:a,formattedValue:t,type:o}),O(!0),A(t),M(``)},L=async()=>{let t=k;if(E&&console.log(`[EditableField ${e}] Attempting save:`,{editValue:k,type:o}),o===`react-select`&&(t=k?k.value:null),(o===`date`||o===`datetime`)&&t){let e=o===`date`?`${t}T00:00:00`:t;t=new Date(e)}if(h&&(!t||t.toString().trim()===``)){M(`Este campo es obligatorio`);return}if(p){let e=p(t);if(e){M(e);return}}try{u&&(E&&console.log(`[EditableField ${e}] Calling onSave with:`,t),await u(e,t)),O(!1),M(``),E&&console.log(`[EditableField ${e}] Save completed successfully`)}catch(t){E&&console.error(`[EditableField ${e}] Save error:`,t),M(t.message||`Error al guardar`)}},R=()=>{O(!1),A(``),M(``),d&&d(e)},z=e=>{e.key===`Enter`&&o!==`textarea`?L():e.key===`Escape`&&R()},B=t=>{let n=t.target.value;if(E&&console.log(`[EditableField ${e}] Input change:`,{newValue:n,type:o}),A(n),f)try{f(e,n,t)}catch(t){E&&console.error(`[EditableField ${e}] onInputChange error:`,t)}},V=t=>{if(E&&console.log(`[EditableField ${e}] Select change:`,{option:t,type:o}),A(t),f)try{f(e,t,t?t.value:null)}catch(t){E&&console.error(`[EditableField ${e}] onInputChange error:`,t)}},H=(t,n)=>{if(E&&n.action===`input-change`&&console.log(`[EditableField ${e}] Select input change:`,{inputValue:t,actionMeta:n}),f&&n.action===`input-change`)try{f(e,t,{action:`search`,inputValue:t})}catch(t){E&&console.error(`[EditableField ${e}] onInputChange error:`,t)}};return t.default.createElement(`div`,{className:`flex items-start justify-between p-3 bg-gray-50 rounded-lg ${y}`},t.default.createElement(`div`,{className:`flex-1 min-w-0`},t.default.createElement(`label`,{className:`text-sm text-gray-600 block mb-1`},i,h&&t.default.createElement(`span`,{className:`text-red-500 ml-1`},`*`)),D?t.default.createElement(`div`,null,(()=>{let e={value:k||``,onChange:B,onKeyDown:z,className:`w-full p-2 border rounded-md focus:ring-2 focus:ring-blue-500 focus:border-blue-500 ${j?`border-red-500`:`border-gray-300`}`,placeholder:c,autoFocus:!0,disabled:m};switch(o){case`textarea`:return t.default.createElement(`textarea`,{...e,rows:v,onKeyDown:e=>{e.key===`Escape`&&R()}});case`number`:return t.default.createElement(`input`,{...e,type:`number`,min:g,max:_,step:`any`});case`date`:return t.default.createElement(`input`,{...e,type:`date`,min:g,max:_});case`datetime`:return t.default.createElement(`input`,{...e,type:`datetime-local`,min:g,max:_});case`time`:return t.default.createElement(`input`,{...e,type:`time`,min:g,max:_});case`react-select`:let i=N(s);return t.default.createElement(r.default,{value:k,onChange:V,onInputChange:H,options:i,placeholder:c,isClearable:x,isSearchable:S,isLoading:C,isDisabled:m,noOptionsMessage:w,classNamePrefix:`react-select`,className:j?`react-select-error`:``,autoFocus:!0,openMenuOnFocus:!1,styles:{control:(e,t)=>({...e,minHeight:`42px`,border:`1px solid ${j?`#ef4444`:t.isFocused?`#3b82f6`:`#d1d5db`}`,borderRadius:`6px`,boxShadow:t.isFocused?`0 0 0 2px ${j?`#fecaca`:`#dbeafe`}`:`none`,backgroundColor:`white`,fontSize:`14px`,"&:hover":{borderColor:j?`#ef4444`:`#9ca3af`}}),valueContainer:e=>({...e,padding:`8px 12px`}),placeholder:e=>({...e,color:`#9ca3af`,fontSize:`14px`}),singleValue:e=>({...e,color:`#374151`,fontSize:`14px`}),menu:e=>({...e,borderRadius:`6px`,border:`1px solid #e5e7eb`,boxShadow:`0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)`,zIndex:9999}),menuList:e=>({...e,borderRadius:`6px`,padding:`4px`}),option:(e,t)=>({...e,backgroundColor:t.isSelected?`#3b82f6`:t.isFocused?`#f3f4f6`:`transparent`,color:t.isSelected?`white`:`#374151`,padding:`12px 16px`,fontSize:`14px`,borderRadius:`4px`,margin:`2px 0`,cursor:`pointer`,"&:active":{backgroundColor:t.isSelected?`#2563eb`:`#e5e7eb`}}),indicatorSeparator:e=>({...e,backgroundColor:`#d1d5db`}),dropdownIndicator:(e,t)=>({...e,color:`#6b7280`,padding:`8px`,"&:hover":{color:`#374151`}}),clearIndicator:e=>({...e,color:`#6b7280`,padding:`8px`,"&:hover":{color:`#374151`}}),loadingIndicator:e=>({...e,color:`#3b82f6`}),noOptionsMessage:e=>({...e,color:`#6b7280`,fontSize:`14px`,padding:`8px 12px`})}});case`select`:return t.default.createElement(`div`,{className:`relative`},t.default.createElement(`select`,{...e,className:`${e.className} appearance-none pr-8`},t.default.createElement(`option`,{value:``},`Seleccionar...`),s.map((e,n)=>t.default.createElement(`option`,{key:n,value:typeof e==`object`?e.value:e},typeof e==`object`?e.label:e))),t.default.createElement(n.ChevronDown,{size:16,className:`absolute right-2 top-1/2 transform -translate-y-1/2 text-gray-400 pointer-events-none`}));case`email`:return t.default.createElement(`input`,{...e,type:`email`});case`tel`:return t.default.createElement(`input`,{...e,type:`tel`});default:return t.default.createElement(`input`,{...e,type:`text`})}})(),j&&t.default.createElement(`p`,{className:`text-red-500 text-xs mt-1`},j)):t.default.createElement(`span`,{className:`font-medium text-gray-800 break-words ${!a&&a!==0?`text-gray-400 italic`:``}`},(()=>{if(b)return b(a);if(!a&&a!==0)return`No especificado`;switch(o){case`date`:if(a){let e=new Date(a);if(!isNaN(e.getTime()))return e.toLocaleDateString(`es-ES`,{year:`numeric`,month:`long`,day:`numeric`})}return`No especificado`;case`datetime`:if(a){let e=new Date(a);if(!isNaN(e.getTime()))return e.toLocaleString(`es-CO`,{year:`numeric`,month:`long`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,hour12:!0,timeZone:`America/Bogota`})}return`No especificado`;case`time`:return a||`No especificado`;case`number`:return typeof a==`number`?a.toLocaleString(`es-ES`):a;case`select`:if(s.length>0&&typeof s[0]==`object`){let e=s.find(e=>e.value===a);return e?e.label:a}return a;case`react-select`:if(a&&s.length>0){let e=P(a);return e?e.label:a}return a;default:return a}})())),l&&t.default.createElement(`div`,{className:`ml-4 flex gap-2 flex-shrink-0`},D?t.default.createElement(t.default.Fragment,null,t.default.createElement(`button`,{onClick:L,disabled:m,className:`p-1 text-green-600 hover:bg-green-100 rounded disabled:opacity-50 disabled:cursor-not-allowed`,title:`Guardar`},t.default.createElement(n.Save,{size:16})),t.default.createElement(`button`,{onClick:R,className:`p-1 text-red-600 hover:bg-red-100 rounded`,title:`Cancelar`},t.default.createElement(n.X,{size:16}))):t.default.createElement(`button`,{onClick:I,disabled:m,className:`p-1 text-blue-600 hover:bg-blue-100 rounded disabled:opacity-50 disabled:cursor-not-allowed`,title:`Editar`},t.default.createElement(n.Edit3,{size:16}))))}});
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("react"),require("lucide-react"),require("react-select")):typeof define==`function`&&define.amd?define([`exports`,`react`,`lucide-react`,`react-select`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.WidgetDufyKit={},e.React,e.LucideReact,e.Select))})(this,function(e,t,n,r){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var i=Object.create,a=Object.defineProperty,o=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,c=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,u=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=s(t),c=0,u=i.length,d;c<u;c++)d=i[c],!l.call(e,d)&&d!==n&&a(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(r=o(t,d))||r.enumerable});return e},d=(e,t,n)=>(n=e==null?{}:i(c(e)),u(t||!e||!e.__esModule?a(n,`default`,{value:e,enumerable:!0}):n,e));t=d(t,1),r=d(r,1),e.BooleanField=({field:e,label:r,value:i,isAdmin:a=!1,onSave:o,required:s=!1,disabled:c=!1,className:l=``,labels:u={true:`Sí`,false:`No`},displayAs:d=`toggle`})=>{let[f,p]=(0,t.useState)(!1),[m,h]=(0,t.useState)(null),[g,_]=(0,t.useState)(``),v=()=>{c||(p(!0),h(d===`toggle`?i??!1:i),_(``))},y=async()=>{if(s&&m==null){_(`Este campo es obligatorio`);return}try{o&&await o(e,m),p(!1),_(``)}catch(e){_(e.message||`Error al guardar`)}},b=()=>{p(!1),h(null),_(``)},x=e=>{h(e),_(``)};return t.default.createElement(`div`,{className:`flex items-center justify-between p-3 bg-gray-50 rounded-lg ${l}`},t.default.createElement(`div`,{className:`flex-1 min-w-0`},t.default.createElement(`label`,{className:`text-sm text-gray-600 block mb-1`},r,s&&d!==`toggle`&&t.default.createElement(`span`,{className:`text-red-500 ml-1`},`*`)),f?t.default.createElement(`div`,null,d===`toggle`?t.default.createElement(`label`,{htmlFor:`${e}_toggle`,className:`relative inline-flex items-center cursor-pointer`},t.default.createElement(`input`,{type:`checkbox`,id:`${e}_toggle`,className:`sr-only peer`,checked:m===!0,onChange:()=>x(!m),disabled:c}),t.default.createElement(`div`,{className:`w-11 h-6 bg-gray-300 rounded-full peer peer-focus:ring-2 peer-focus:ring-blue-300 peer-checked:bg-indigo-600 peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-0.5 after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all`}),t.default.createElement(`span`,{className:`ml-3 text-sm font-medium text-gray-700 select-none`},m?u.true:u.false)):t.default.createElement(`div`,{className:`space-y-2`},t.default.createElement(`label`,{className:`flex items-center cursor-pointer`},t.default.createElement(`input`,{type:`radio`,name:`${e}_boolean`,checked:m===!0,onChange:()=>x(!0),className:`mr-3 h-4 w-4 text-indigo-600 focus:ring-indigo-500 border-gray-300`,disabled:c}),t.default.createElement(`span`,{className:`text-sm text-gray-700`},u.true)),t.default.createElement(`label`,{className:`flex items-center cursor-pointer`},t.default.createElement(`input`,{type:`radio`,name:`${e}_boolean`,checked:m===!1,onChange:()=>x(!1),className:`mr-3 h-4 w-4 text-indigo-600 focus:ring-indigo-500 border-gray-300`,disabled:c}),t.default.createElement(`span`,{className:`text-sm text-gray-700`},u.false))),g&&t.default.createElement(`p`,{className:`text-red-500 text-xs mt-2`},g)):t.default.createElement(`span`,{className:`break-words ${i==null&&d!==`toggle`?`text-gray-400 italic`:`font-medium text-gray-800`}`},i===!0?u.true:i===!1||d===`toggle`?u.false:`No especificado`)),a&&t.default.createElement(`div`,{className:`ml-4 flex gap-2 flex-shrink-0`},f?t.default.createElement(t.default.Fragment,null,t.default.createElement(`button`,{onClick:y,disabled:c,className:`p-1 text-green-600 hover:bg-green-100 rounded disabled:opacity-50`,title:`Guardar`},t.default.createElement(n.Save,{size:16})),t.default.createElement(`button`,{onClick:b,className:`p-1 text-red-600 hover:bg-red-100 rounded`,title:`Cancelar`},t.default.createElement(n.X,{size:16}))):t.default.createElement(`button`,{onClick:v,disabled:c,className:`p-1 text-blue-600 hover:bg-blue-100 rounded disabled:opacity-50`,title:`Editar`},t.default.createElement(n.Edit3,{size:16}))))},e.EditableField=({field:e,label:i,value:a,type:o=`text`,options:s=[],placeholder:c=``,isAdmin:l=!1,onSave:u,onCancel:d,onInputChange:f,validation:p=null,disabled:m=!1,required:h=!1,min:g=null,max:_=null,rows:v=3,className:y=``,formatDisplay:b=null,isClearable:x=!0,isSearchable:S=!0,isLoading:C=!1,noOptionsMessage:w=()=>`No se encontraron resultados`,getOptionFromValue:T=null,debug:E=!1})=>{let[D,O]=(0,t.useState)(!1),[k,A]=(0,t.useState)(``),[j,M]=(0,t.useState)(``);(0,t.useEffect)(()=>{E&&console.log(`[EditableField ${e}] Props changed:`,{value:a,isEditing:D,editValue:k,type:o,options:s?.length||0})},[a,D,k,e,E,o,s]),(0,t.useEffect)(()=>{if(!D&&a!==void 0){let t=F(a,o);E&&console.log(`[EditableField ${e}] Syncing value:`,{value:a,formattedValue:t})}},[a,D,e,o,E]);let N=e=>e.map(e=>typeof e==`string`?{value:e,label:e}:e),P=e=>{if(!e||!s.length)return null;let t=N(s);return T?T(t,e):t.find(t=>t.value===e)||null},F=(e,t)=>{if(!e&&e!==0)return``;try{switch(t){case`date`:{let t=new Date(e);return isNaN(t.getTime())?``:`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}`}case`datetime`:if(typeof e==`string`&&e.match(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/))return e.slice(0,16);let t=new Date(e);return isNaN(t.getTime())?``:`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}T${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`;case`time`:return e.includes(`T`)?e.split(`T`)[1].slice(0,5):e;case`react-select`:return P(e);default:return e}}catch(e){return console.error(`Error formatting value:`,e),``}},I=()=>{if(m)return;let t=F(a,o);E&&console.log(`[EditableField ${e}] Starting edit:`,{originalValue:a,formattedValue:t,type:o}),O(!0),A(t),M(``)},L=async()=>{let t=k;if(E&&console.log(`[EditableField ${e}] Attempting save:`,{editValue:k,type:o}),o===`react-select`&&(t=k?k.value:null),(o===`date`||o===`datetime`)&&t){let e=o===`date`?`${t}T00:00:00`:t;t=new Date(e)}if(h&&(!t||t.toString().trim()===``)){M(`Este campo es obligatorio`);return}if(p){let e=p(t);if(e){M(e);return}}try{u&&(E&&console.log(`[EditableField ${e}] Calling onSave with:`,t),await u(e,t)),O(!1),M(``),E&&console.log(`[EditableField ${e}] Save completed successfully`)}catch(t){E&&console.error(`[EditableField ${e}] Save error:`,t),M(t.message||`Error al guardar`)}},R=()=>{O(!1),A(``),M(``),d&&d(e)},z=e=>{e.key===`Enter`&&o!==`textarea`?L():e.key===`Escape`&&R()},B=t=>{let n=t.target.value;if(E&&console.log(`[EditableField ${e}] Input change:`,{newValue:n,type:o}),A(n),f)try{f(e,n,t)}catch(t){E&&console.error(`[EditableField ${e}] onInputChange error:`,t)}},V=t=>{if(E&&console.log(`[EditableField ${e}] Select change:`,{option:t,type:o}),A(t),f)try{f(e,t,t?t.value:null)}catch(t){E&&console.error(`[EditableField ${e}] onInputChange error:`,t)}},H=(t,n)=>{if(E&&n.action===`input-change`&&console.log(`[EditableField ${e}] Select input change:`,{inputValue:t,actionMeta:n}),f&&n.action===`input-change`)try{f(e,t,{action:`search`,inputValue:t})}catch(t){E&&console.error(`[EditableField ${e}] onInputChange error:`,t)}};return t.default.createElement(`div`,{className:`flex items-start justify-between p-3 bg-gray-50 rounded-lg ${y}`},t.default.createElement(`div`,{className:`flex-1 min-w-0`},t.default.createElement(`label`,{className:`text-sm text-gray-600 block mb-1`},i,h&&t.default.createElement(`span`,{className:`text-red-500 ml-1`},`*`)),D?t.default.createElement(`div`,null,(()=>{let e={value:k||``,onChange:B,onKeyDown:z,className:`w-full p-2 border rounded-md focus:ring-2 focus:ring-blue-500 focus:border-blue-500 ${j?`border-red-500`:`border-gray-300`}`,placeholder:c,autoFocus:!0,disabled:m};switch(o){case`textarea`:return t.default.createElement(`textarea`,{...e,rows:v,onKeyDown:e=>{e.key===`Escape`&&R()}});case`number`:return t.default.createElement(`input`,{...e,type:`number`,min:g,max:_,step:`any`});case`date`:return t.default.createElement(`input`,{...e,type:`date`,min:g,max:_});case`datetime`:return t.default.createElement(`input`,{...e,type:`datetime-local`,min:g,max:_});case`time`:return t.default.createElement(`input`,{...e,type:`time`,min:g,max:_});case`react-select`:let i=N(s);return t.default.createElement(r.default,{value:k,onChange:V,onInputChange:H,options:i,placeholder:c,isClearable:x,isSearchable:S,isLoading:C,isDisabled:m,noOptionsMessage:w,classNamePrefix:`react-select`,className:j?`react-select-error`:``,autoFocus:!0,openMenuOnFocus:!1,styles:{control:(e,t)=>({...e,minHeight:`42px`,border:`1px solid ${j?`#ef4444`:t.isFocused?`#3b82f6`:`#d1d5db`}`,borderRadius:`6px`,boxShadow:t.isFocused?`0 0 0 2px ${j?`#fecaca`:`#dbeafe`}`:`none`,backgroundColor:`white`,fontSize:`14px`,"&:hover":{borderColor:j?`#ef4444`:`#9ca3af`}}),valueContainer:e=>({...e,padding:`8px 12px`}),placeholder:e=>({...e,color:`#9ca3af`,fontSize:`14px`}),singleValue:e=>({...e,color:`#374151`,fontSize:`14px`}),menu:e=>({...e,borderRadius:`6px`,border:`1px solid #e5e7eb`,boxShadow:`0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)`,zIndex:9999}),menuList:e=>({...e,borderRadius:`6px`,padding:`4px`}),option:(e,t)=>({...e,backgroundColor:t.isSelected?`#3b82f6`:t.isFocused?`#f3f4f6`:`transparent`,color:t.isSelected?`white`:`#374151`,padding:`12px 16px`,fontSize:`14px`,borderRadius:`4px`,margin:`2px 0`,cursor:`pointer`,"&:active":{backgroundColor:t.isSelected?`#2563eb`:`#e5e7eb`}}),indicatorSeparator:e=>({...e,backgroundColor:`#d1d5db`}),dropdownIndicator:(e,t)=>({...e,color:`#6b7280`,padding:`8px`,"&:hover":{color:`#374151`}}),clearIndicator:e=>({...e,color:`#6b7280`,padding:`8px`,"&:hover":{color:`#374151`}}),loadingIndicator:e=>({...e,color:`#3b82f6`}),noOptionsMessage:e=>({...e,color:`#6b7280`,fontSize:`14px`,padding:`8px 12px`})}});case`select`:return t.default.createElement(`div`,{className:`relative`},t.default.createElement(`select`,{...e,className:`${e.className} appearance-none pr-8`},t.default.createElement(`option`,{value:``},`Seleccionar...`),s.map((e,n)=>t.default.createElement(`option`,{key:n,value:typeof e==`object`?e.value:e},typeof e==`object`?e.label:e))),t.default.createElement(n.ChevronDown,{size:16,className:`absolute right-2 top-1/2 transform -translate-y-1/2 text-gray-400 pointer-events-none`}));case`email`:return t.default.createElement(`input`,{...e,type:`email`});case`tel`:return t.default.createElement(`input`,{...e,type:`tel`});default:return t.default.createElement(`input`,{...e,type:`text`})}})(),j&&t.default.createElement(`p`,{className:`text-red-500 text-xs mt-1`},j)):t.default.createElement(`span`,{className:`font-medium text-gray-800 break-words ${!a&&a!==0?`text-gray-400 italic`:``}`},(()=>{if(b)return b(a);if(!a&&a!==0)return`No especificado`;switch(o){case`date`:if(a){let e=new Date(a);if(!isNaN(e.getTime()))return e.toLocaleDateString(`es-ES`,{year:`numeric`,month:`long`,day:`numeric`})}return`No especificado`;case`datetime`:if(a){let e=new Date(a);if(!isNaN(e.getTime()))return e.toLocaleString(`es-CO`,{year:`numeric`,month:`long`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,hour12:!0,timeZone:`America/Bogota`})}return`No especificado`;case`time`:return a||`No especificado`;case`number`:return typeof a==`number`?a.toLocaleString(`es-ES`):a;case`select`:if(s.length>0&&typeof s[0]==`object`){let e=s.find(e=>e.value===a);return e?e.label:a}return a;case`react-select`:if(a&&s.length>0){let e=P(a);return e?e.label:a}return a;default:return a}})())),l&&t.default.createElement(`div`,{className:`ml-4 flex gap-2 flex-shrink-0`},D?t.default.createElement(t.default.Fragment,null,t.default.createElement(`button`,{onClick:L,disabled:m,className:`p-1 text-green-600 hover:bg-green-100 rounded disabled:opacity-50 disabled:cursor-not-allowed`,title:`Guardar`},t.default.createElement(n.Save,{size:16})),t.default.createElement(`button`,{onClick:R,className:`p-1 text-red-600 hover:bg-red-100 rounded`,title:`Cancelar`},t.default.createElement(n.X,{size:16}))):t.default.createElement(`button`,{onClick:I,disabled:m,className:`p-1 text-blue-600 hover:bg-blue-100 rounded disabled:opacity-50 disabled:cursor-not-allowed`,title:`Editar`},t.default.createElement(n.Edit3,{size:16}))))}});
@@ -1,3 +1,3 @@
1
1
  /*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-100:oklch(93.6% .032 17.717);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-green-100:oklch(96.2% .044 156.743);--color-green-600:oklch(62.7% .194 149.214);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-brand-bgWidget:#fff;--color-brand-primary:#4f46e5;--color-brand-danger:#dc2626;--color-brand-dangerLight:#fef2f2;--color-brand-success:#16a34a;--color-brand-successLight:#f0fdf4;--color-brand-edit:#2563eb;--color-brand-editLight:#eff6ff}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.top-1\/2{top:50%}.right-2{right:calc(var(--spacing) * 2)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mb-1{margin-bottom:var(--spacing)}.ml-1{margin-left:var(--spacing)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.w-4{width:calc(var(--spacing) * 4)}.w-11{width:calc(var(--spacing) * 11)}.w-full{width:100%}.min-w-0{min-width:0}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.appearance-none{appearance:none}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing) * 2)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-gray-300{border-color:var(--color-gray-300)}.border-red-500{border-color:var(--color-red-500)}.bg-brand-bgWidget{background-color:var(--color-brand-bgWidget)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-300{background-color:var(--color-gray-300)}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.break-words{overflow-wrap:break-word}.text-blue-600{color:var(--color-blue-600)}.text-brand-danger{color:var(--color-brand-danger)}.text-brand-edit{color:var(--color-brand-edit)}.text-brand-primary{color:var(--color-brand-primary)}.text-brand-success{color:var(--color-brand-success)}.text-gray-400{color:var(--color-gray-400)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-green-600{color:var(--color-green-600)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.italic{font-style:italic}.select-none{-webkit-user-select:none;user-select:none}.peer-checked\:bg-brand-primary:is(:where(.peer):checked~*){background-color:var(--color-brand-primary)}.peer-focus\:ring-2:is(:where(.peer):focus~*){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.peer-focus\:ring-brand-editLight:is(:where(.peer):focus~*){--tw-ring-color:var(--color-brand-editLight)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:top-0\.5:after{content:var(--tw-content);top:calc(var(--spacing) * .5)}.after\:left-\[2px\]:after{content:var(--tw-content);left:2px}.after\:h-5:after{content:var(--tw-content);height:calc(var(--spacing) * 5)}.after\:w-5:after{content:var(--tw-content);width:calc(var(--spacing) * 5)}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.after\:border-gray-300:after{content:var(--tw-content);border-color:var(--color-gray-300)}.after\:bg-white:after{content:var(--tw-content);background-color:var(--color-white)}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.peer-checked\:after\:translate-x-full:is(:where(.peer):checked~*):after{content:var(--tw-content);--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.peer-checked\:after\:border-white:is(:where(.peer):checked~*):after{content:var(--tw-content);border-color:var(--color-white)}@media (hover:hover){.hover\:bg-blue-100:hover{background-color:var(--color-blue-100)}.hover\:bg-brand-dangerLight:hover{background-color:var(--color-brand-dangerLight)}.hover\:bg-brand-editLight:hover{background-color:var(--color-brand-editLight)}.hover\:bg-brand-successLight:hover{background-color:var(--color-brand-successLight)}.hover\:bg-green-100:hover{background-color:var(--color-green-100)}.hover\:bg-red-100:hover{background-color:var(--color-red-100)}}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-brand-primary:focus{--tw-ring-color:var(--color-brand-primary)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}@keyframes flash{0%{background-color:#e0f2fe}to{background-color:#0000}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-content{syntax:"*";inherits:false;initial-value:""}
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-100:oklch(93.6% .032 17.717);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-green-100:oklch(96.2% .044 156.743);--color-green-600:oklch(62.7% .194 149.214);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-brand-bgWidget:#fff;--color-brand-primary:#4f46e5;--color-brand-danger:#dc2626;--color-brand-dangerLight:#fef2f2;--color-brand-success:#16a34a;--color-brand-successLight:#f0fdf4;--color-brand-edit:#2563eb;--color-brand-editLight:#eff6ff}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.top-1\/2{top:50%}.right-2{right:calc(var(--spacing) * 2)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mb-1{margin-bottom:var(--spacing)}.ml-1{margin-left:var(--spacing)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.w-4{width:calc(var(--spacing) * 4)}.w-11{width:calc(var(--spacing) * 11)}.w-full{width:100%}.min-w-0{min-width:0}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.appearance-none{appearance:none}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing) * 2)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-gray-300{border-color:var(--color-gray-300)}.border-red-500{border-color:var(--color-red-500)}.bg-brand-bgWidget{background-color:var(--color-brand-bgWidget)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-300{background-color:var(--color-gray-300)}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.break-words{overflow-wrap:break-word}.text-blue-600{color:var(--color-blue-600)}.text-brand-danger{color:var(--color-brand-danger)}.text-brand-edit{color:var(--color-brand-edit)}.text-brand-primary{color:var(--color-brand-primary)}.text-brand-success{color:var(--color-brand-success)}.text-gray-400{color:var(--color-gray-400)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-green-600{color:var(--color-green-600)}.text-indigo-600{color:var(--color-indigo-600)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.italic{font-style:italic}.select-none{-webkit-user-select:none;user-select:none}.peer-checked\:bg-brand-primary:is(:where(.peer):checked~*){background-color:var(--color-brand-primary)}.peer-checked\:bg-indigo-600:is(:where(.peer):checked~*){background-color:var(--color-indigo-600)}.peer-focus\:ring-2:is(:where(.peer):focus~*){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.peer-focus\:ring-blue-300:is(:where(.peer):focus~*){--tw-ring-color:var(--color-blue-300)}.peer-focus\:ring-brand-editLight:is(:where(.peer):focus~*){--tw-ring-color:var(--color-brand-editLight)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:top-0\.5:after{content:var(--tw-content);top:calc(var(--spacing) * .5)}.after\:left-\[2px\]:after{content:var(--tw-content);left:2px}.after\:h-5:after{content:var(--tw-content);height:calc(var(--spacing) * 5)}.after\:w-5:after{content:var(--tw-content);width:calc(var(--spacing) * 5)}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.after\:border-gray-300:after{content:var(--tw-content);border-color:var(--color-gray-300)}.after\:bg-white:after{content:var(--tw-content);background-color:var(--color-white)}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.peer-checked\:after\:translate-x-full:is(:where(.peer):checked~*):after{content:var(--tw-content);--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.peer-checked\:after\:border-white:is(:where(.peer):checked~*):after{content:var(--tw-content);border-color:var(--color-white)}@media (hover:hover){.hover\:bg-blue-100:hover{background-color:var(--color-blue-100)}.hover\:bg-brand-dangerLight:hover{background-color:var(--color-brand-dangerLight)}.hover\:bg-brand-editLight:hover{background-color:var(--color-brand-editLight)}.hover\:bg-brand-successLight:hover{background-color:var(--color-brand-successLight)}.hover\:bg-green-100:hover{background-color:var(--color-green-100)}.hover\:bg-red-100:hover{background-color:var(--color-red-100)}}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-brand-primary:focus{--tw-ring-color:var(--color-brand-primary)}.focus\:ring-indigo-500:focus{--tw-ring-color:var(--color-indigo-500)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}@keyframes flash{0%{background-color:#e0f2fe}to{background-color:#0000}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-content{syntax:"*";inherits:false;initial-value:""}
3
3
  /*$vite$:1*/
package/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
 
3
+ //EDITABLEFIELD
3
4
  export interface EditableFieldProps {
4
5
  // === PROPIEDADES BÁSICAS ===
5
6
 
@@ -97,7 +98,6 @@ export interface EditableFieldProps {
97
98
  /** Función auxiliar para mapear un valor primitivo a su objeto de opción correspondiente. */
98
99
  getOptionFromValue?: ((options: any[], value: any) => any | null) | null;
99
100
  }
100
-
101
101
  /**
102
102
  * ### EditableField — Dufy Asesorías
103
103
  * Componente interactivo que permite editar diferentes tipos de datos directamente in-line,
@@ -124,4 +124,45 @@ export interface EditableFieldProps {
124
124
  * />
125
125
  * ```
126
126
  */
127
- export const EditableField: React.FC<EditableFieldProps>;
127
+ export const EditableField: React.FC<EditableFieldProps>
128
+ export interface BooleanFieldProps {
129
+ /** Identificador único del campo (ej: 'activo', 'tiene_experiencia') */
130
+ field: string;
131
+
132
+ /** Etiqueta o título que se muestra sobre el campo */
133
+ label: string;
134
+
135
+ /** Valor booleano actual */
136
+ value: boolean | null | undefined;
137
+
138
+ /** Determina si se muestran los controles de edición (Lápiz, Guardar, Cancelar) */
139
+ isAdmin?: boolean;
140
+
141
+ /** Callback obligatorio o síncrono/asíncrono que se ejecuta al presionar Guardar */
142
+ onSave?: (field: string, value: boolean | null) => void | Promise<void>;
143
+
144
+ /** Si es verdadero, exige que haya un valor seleccionado al guardar (No aplica para vista toggle) */
145
+ required?: boolean;
146
+
147
+ /** Deshabilita la edición del campo por completo */
148
+ disabled?: boolean;
149
+
150
+ /** Clases de CSS adicionales de Tailwind para dar estilos externos al contenedor */
151
+ className?: string;
152
+
153
+ /** Mapeo para personalizar los textos que ve el usuario */
154
+ labels?: {
155
+ true: string;
156
+ false: string;
157
+ };
158
+
159
+ /** Controla el tipo de interfaz visual que se renderiza al editar */
160
+ displayAs?: 'radio' | 'toggle';
161
+ }
162
+
163
+ //BOOLEAN
164
+ /**
165
+ * Componente BooleanField para visualizar y editar campos lógicos (Sí/No).
166
+ */
167
+ declare const BooleanField: React.FC<BooleanFieldProps>;
168
+ export default BooleanField;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dufy_asesorias/widget-dufy-kit",
3
3
  "descripton" : "Widgets para reutilizacion en empresa Dufy Asesorias",
4
- "version": "1.0.1",
4
+ "version": "1.0.2",
5
5
  "type": "module",
6
6
  "main": "./dist/index.umd.js",
7
7
  "module": "./dist/index.es.js",