@sfperusacdev/sf-ui 0.1.20 → 0.1.21
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/sf-ui.css +1 -1
- package/dist/sf-ui.js +1252 -1105
- package/dist/sf-ui.js.map +1 -1
- package/dist/sf-ui.umd.cjs +7 -7
- package/dist/sf-ui.umd.cjs.map +1 -1
- package/dist/types/src/components/dashboard/TramoCard.d.ts +21 -0
- package/dist/types/src/components/dashboard/index.d.ts +2 -0
- package/dist/types/src/components/inputs/ToggleCard.d.ts +21 -0
- package/dist/types/src/components/inputs/index.d.ts +1 -0
- package/dist/types/src/components/layout/SummaryItem.d.ts +14 -0
- package/dist/types/src/components/layout/index.d.ts +1 -0
- package/package.json +1 -1
package/dist/sf-ui.umd.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("react"),require("react/jsx-runtime"),require("react-hook-form"),require("react-day-picker"),require("@tanstack/react-table"),require("react-dom"),require("@tanstack/react-query"),require("react-qr-code"),require("@uiw/react-codemirror"),require("@codemirror/lang-html"),require("@codemirror/lang-javascript"),require("@codemirror/lang-json"),require("@codemirror/lang-sql"),require("react-leaflet"),require("leaflet"),require("react-easy-crop"),require("recharts"),require("@hookform/resolvers/yup"),require("yup")):typeof define==`function`&&define.amd?define([`exports`,`react`,`react/jsx-runtime`,`react-hook-form`,`react-day-picker`,`@tanstack/react-table`,`react-dom`,`@tanstack/react-query`,`react-qr-code`,`@uiw/react-codemirror`,`@codemirror/lang-html`,`@codemirror/lang-javascript`,`@codemirror/lang-json`,`@codemirror/lang-sql`,`react-leaflet`,`leaflet`,`react-easy-crop`,`recharts`,`@hookform/resolvers/yup`,`yup`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.SfUi={},e.React,e.ReactJsxRuntime,e.ReactHookForm,e.ReactDayPicker,e.ReactTable,e.ReactDOM,e.ReactQuery,e.ReactQRCode,e.ReactCodemirror,e.CodemirrorLangHtml,e.CodemirrorLangJavascript,e.CodemirrorLangJson,e.CodemirrorLangSql,e.ReactLeaflet,e.L,e.ReactEasyCrop,e.Recharts,e.HookformResolversYup,e.Yup))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var b=Object.create,x=Object.defineProperty,S=Object.getOwnPropertyDescriptor,C=Object.getOwnPropertyNames,w=Object.getPrototypeOf,T=Object.prototype.hasOwnProperty,E=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),D=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=C(t),a=0,o=i.length,s;a<o;a++)s=i[a],!T.call(e,s)&&s!==n&&x(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=S(t,s))||r.enumerable});return e},O=(e,t,n)=>(n=e==null?{}:b(w(e)),D(t||!e||!e.__esModule?x(n,`default`,{value:e,enumerable:!0}):n,e));t=O(t,1),c=O(c,1),l=O(l,1),h=O(h,1),g=O(g,1),y=O(y,1);var k={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},A=t.default.createContext&&t.default.createContext(k),j=[`attr`,`size`,`title`];function M(e,t){if(e==null)return{};var n,r,i=N(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function N(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function P(){return P=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},P.apply(null,arguments)}function F(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function I(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?F(Object(n),!0).forEach(function(t){L(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):F(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function L(e,t,n){return(t=R(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function R(e){var t=ee(e,`string`);return typeof t==`symbol`?t:t+``}function ee(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function te(e){return e&&e.map((e,n)=>t.default.createElement(e.tag,I({key:n},e.attr),te(e.child)))}function z(e){return n=>t.default.createElement(ne,P({attr:I({},e.attr)},n),te(e.child))}function ne(e){var n=n=>{var{attr:r,size:i,title:a}=e,o=M(e,j),s=i||n.size||`1em`,c;return n.className&&(c=n.className),e.className&&(c=(c?c+` `:``)+e.className),t.default.createElement(`svg`,P({stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`},n.attr,r,o,{className:c,style:I(I({color:e.color||n.color},n.style),e.style),height:s,width:s,xmlns:`http://www.w3.org/2000/svg`}),a&&t.default.createElement(`title`,null,a),e.children)};return A===void 0?n(k):t.default.createElement(A.Consumer,null,e=>n(e))}function B(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`line`,attr:{x1:`18`,y1:`6`,x2:`6`,y2:`18`},child:[]},{tag:`line`,attr:{x1:`6`,y1:`6`,x2:`18`,y2:`18`},child:[]}]})(e)}function re(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2`},child:[]},{tag:`circle`,attr:{cx:`9`,cy:`7`,r:`4`},child:[]},{tag:`path`,attr:{d:`M23 21v-2a4 4 0 0 0-3-3.87`},child:[]},{tag:`path`,attr:{d:`M16 3.13a4 4 0 0 1 0 7.75`},child:[]}]})(e)}function ie(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2`},child:[]},{tag:`circle`,attr:{cx:`12`,cy:`7`,r:`4`},child:[]}]})(e)}function ae(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`polyline`,attr:{points:`3 6 5 6 21 6`},child:[]},{tag:`path`,attr:{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`},child:[]},{tag:`line`,attr:{x1:`10`,y1:`11`,x2:`10`,y2:`17`},child:[]},{tag:`line`,attr:{x1:`14`,y1:`11`,x2:`14`,y2:`17`},child:[]}]})(e)}function oe(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`circle`,attr:{cx:`12`,cy:`12`,r:`5`},child:[]},{tag:`line`,attr:{x1:`12`,y1:`1`,x2:`12`,y2:`3`},child:[]},{tag:`line`,attr:{x1:`12`,y1:`21`,x2:`12`,y2:`23`},child:[]},{tag:`line`,attr:{x1:`4.22`,y1:`4.22`,x2:`5.64`,y2:`5.64`},child:[]},{tag:`line`,attr:{x1:`18.36`,y1:`18.36`,x2:`19.78`,y2:`19.78`},child:[]},{tag:`line`,attr:{x1:`1`,y1:`12`,x2:`3`,y2:`12`},child:[]},{tag:`line`,attr:{x1:`21`,y1:`12`,x2:`23`,y2:`12`},child:[]},{tag:`line`,attr:{x1:`4.22`,y1:`19.78`,x2:`5.64`,y2:`18.36`},child:[]},{tag:`line`,attr:{x1:`18.36`,y1:`5.64`,x2:`19.78`,y2:`4.22`},child:[]}]})(e)}function se(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`circle`,attr:{cx:`11`,cy:`11`,r:`8`},child:[]},{tag:`line`,attr:{x1:`21`,y1:`21`,x2:`16.65`,y2:`16.65`},child:[]}]})(e)}function ce(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z`},child:[]},{tag:`polyline`,attr:{points:`17 21 17 13 7 13 7 21`},child:[]},{tag:`polyline`,attr:{points:`7 3 7 8 15 8`},child:[]}]})(e)}function le(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`polyline`,attr:{points:`23 4 23 10 17 10`},child:[]},{tag:`polyline`,attr:{points:`1 20 1 14 7 14`},child:[]},{tag:`path`,attr:{d:`M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15`},child:[]}]})(e)}function ue(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`line`,attr:{x1:`12`,y1:`5`,x2:`12`,y2:`19`},child:[]},{tag:`line`,attr:{x1:`5`,y1:`12`,x2:`19`,y2:`12`},child:[]}]})(e)}function de(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z`},child:[]}]})(e)}function fe(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`line`,attr:{x1:`5`,y1:`12`,x2:`19`,y2:`12`},child:[]}]})(e)}function pe(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z`},child:[]},{tag:`circle`,attr:{cx:`12`,cy:`10`,r:`3`},child:[]}]})(e)}function V(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`line`,attr:{x1:`12`,y1:`2`,x2:`12`,y2:`6`},child:[]},{tag:`line`,attr:{x1:`12`,y1:`18`,x2:`12`,y2:`22`},child:[]},{tag:`line`,attr:{x1:`4.93`,y1:`4.93`,x2:`7.76`,y2:`7.76`},child:[]},{tag:`line`,attr:{x1:`16.24`,y1:`16.24`,x2:`19.07`,y2:`19.07`},child:[]},{tag:`line`,attr:{x1:`2`,y1:`12`,x2:`6`,y2:`12`},child:[]},{tag:`line`,attr:{x1:`18`,y1:`12`,x2:`22`,y2:`12`},child:[]},{tag:`line`,attr:{x1:`4.93`,y1:`19.07`,x2:`7.76`,y2:`16.24`},child:[]},{tag:`line`,attr:{x1:`16.24`,y1:`7.76`,x2:`19.07`,y2:`4.93`},child:[]}]})(e)}function me(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`circle`,attr:{cx:`12`,cy:`12`,r:`10`},child:[]},{tag:`line`,attr:{x1:`12`,y1:`16`,x2:`12`,y2:`12`},child:[]},{tag:`line`,attr:{x1:`12`,y1:`8`,x2:`12.01`,y2:`8`},child:[]}]})(e)}function he(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{x:`3`,y:`3`,width:`7`,height:`7`},child:[]},{tag:`rect`,attr:{x:`14`,y:`3`,width:`7`,height:`7`},child:[]},{tag:`rect`,attr:{x:`14`,y:`14`,width:`7`,height:`7`},child:[]},{tag:`rect`,attr:{x:`3`,y:`14`,width:`7`,height:`7`},child:[]}]})(e)}function ge(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z`},child:[]},{tag:`circle`,attr:{cx:`12`,cy:`12`,r:`3`},child:[]}]})(e)}function _e(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24`},child:[]},{tag:`line`,attr:{x1:`1`,y1:`1`,x2:`23`,y2:`23`},child:[]}]})(e)}function ve(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z`},child:[]}]})(e)}function ye(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`polyline`,attr:{points:`13 17 18 12 13 7`},child:[]},{tag:`polyline`,attr:{points:`6 17 11 12 6 7`},child:[]}]})(e)}function be(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`polyline`,attr:{points:`11 17 6 12 11 7`},child:[]},{tag:`polyline`,attr:{points:`18 17 13 12 18 7`},child:[]}]})(e)}function xe(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`polyline`,attr:{points:`9 18 15 12 9 6`},child:[]}]})(e)}function Se(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`polyline`,attr:{points:`15 18 9 12 15 6`},child:[]}]})(e)}function Ce(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`polyline`,attr:{points:`6 9 12 15 18 9`},child:[]}]})(e)}function we(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`polyline`,attr:{points:`20 6 9 17 4 12`},child:[]}]})(e)}function Te(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M22 11.08V12a10 10 0 1 1-5.93-9.14`},child:[]},{tag:`polyline`,attr:{points:`22 4 12 14.01 9 11.01`},child:[]}]})(e)}function Ee(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{x:`3`,y:`4`,width:`18`,height:`18`,rx:`2`,ry:`2`},child:[]},{tag:`line`,attr:{x1:`16`,y1:`2`,x2:`16`,y2:`6`},child:[]},{tag:`line`,attr:{x1:`8`,y1:`2`,x2:`8`,y2:`6`},child:[]},{tag:`line`,attr:{x1:`3`,y1:`10`,x2:`21`,y2:`10`},child:[]}]})(e)}function De(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{x:`2`,y:`7`,width:`20`,height:`14`,rx:`2`,ry:`2`},child:[]},{tag:`path`,attr:{d:`M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16`},child:[]}]})(e)}function Oe(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9`},child:[]},{tag:`path`,attr:{d:`M13.73 21a2 2 0 0 1-3.46 0`},child:[]}]})(e)}function ke(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z`},child:[]},{tag:`line`,attr:{x1:`12`,y1:`9`,x2:`12`,y2:`13`},child:[]},{tag:`line`,attr:{x1:`12`,y1:`17`,x2:`12.01`,y2:`17`},child:[]}]})(e)}function H(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`circle`,attr:{cx:`12`,cy:`12`,r:`10`},child:[]},{tag:`line`,attr:{x1:`12`,y1:`8`,x2:`12`,y2:`12`},child:[]},{tag:`line`,attr:{x1:`12`,y1:`16`,x2:`12.01`,y2:`16`},child:[]}]})(e)}var U=O(E(((e,t)=>{(function(){"use strict";var e={}.hasOwnProperty;function n(){for(var e=``,t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=i(e,r(n)))}return e}function r(t){if(typeof t==`string`||typeof t==`number`)return t;if(typeof t!=`object`)return``;if(Array.isArray(t))return n.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes(`[native code]`))return t.toString();var r=``;for(var a in t)e.call(t,a)&&t[a]&&(r=i(r,a));return r}function i(e,t){return t?e?e+` `+t:e+t:e}t!==void 0&&t.exports?(n.default=n,t.exports=n):typeof define==`function`&&typeof define.amd==`object`&&define.amd?define(`classnames`,[],function(){return n}):window.classNames=n})()}))(),1),W=({id:e,label:t,info:r,infoPlacement:i=`left`,error:a,required:o=!0,onRefresh:s,loading:c=!1,children:l})=>(0,n.jsxs)(`div`,{className:`grid gap-1.5`,children:[t&&(0,n.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,n.jsx)(`label`,{htmlFor:e,className:`sf-field-label`,children:t}),o&&(0,n.jsx)(`span`,{className:`sf-field-required`,children:`*`}),r&&(0,n.jsxs)(`span`,{className:`group relative inline-flex`,children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":r,className:`inline-flex h-4 w-4 items-center justify-center rounded-full text-slate-400 hover:text-slate-700 focus:outline-none focus:ring-2 focus:ring-slate-200`,children:(0,n.jsx)(me,{size:14})}),(0,n.jsx)(`span`,{role:`tooltip`,className:(0,U.default)(`pointer-events-none absolute top-full z-50 mt-1 hidden w-max max-w-[20rem] rounded-md bg-slate-900 px-2 py-1.5 text-xs font-normal leading-relaxed text-white shadow-md`,i===`right`?`right-0`:`left-0`,`group-hover:block group-focus-within:block`),children:r})]}),s&&(0,n.jsx)(`button`,{type:`button`,onClick:s,"aria-label":`Actualizar`,className:`inline-flex h-4 w-4 items-center justify-center rounded-full text-slate-400 hover:text-slate-700 focus:outline-none focus:ring-2 focus:ring-slate-200`,disabled:c,children:(0,n.jsx)(le,{size:14})})]}),l,a&&(0,n.jsx)(`p`,{className:`text-xs text-red-600`,children:a})]}),Ae=e=>/(^|\s)!?w-\S+/.test(e??``),G=({small:e,error:t,className:n,withRightIcon:r,disabled:i,readOnly:a})=>(0,U.default)(!Ae(n)&&`w-full`,`rounded-md border text-sm text-slate-900 shadow-sm outline-none`,`placeholder:text-slate-400 focus:border-slate-400 focus:ring-2 focus:ring-slate-200`,`disabled:cursor-not-allowed disabled:opacity-60`,e?`h-8 px-2`:`h-10 px-3`,r&&`pr-10`,i||a?`bg-slate-50`:`bg-white`,t?`border-red-500 focus:border-red-500 focus:ring-red-100`:`border-slate-300`,n),K=`transition-[border-color,box-shadow,background-color] duration-200 ease-out`,je=({small:e,error:t,className:n})=>(0,U.default)(`sf-input`,`sf-input--textarea`,e&&`sf-input--sm`,t&&`sf-input--error`,n),Me=({form:e,name:t,label:i,info:a,required:o,type:s=`text`,className:c,placeholder:l,readOnly:u,onChange:d,icon:f,small:p,onIconClick:m,onRefresh:h})=>{let g=(0,r.useController)({name:t,control:e.control}),_=String(t),v=g.fieldState.error,y=f??(m?se:void 0);return(0,n.jsx)(W,{id:_,label:i,info:a,required:o,onRefresh:h,error:v?.message?String(v.message):void 0,children:(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(`input`,{id:_,name:g.field.name,type:s,value:String(g.field.value??``),placeholder:l,readOnly:u,onBlur:()=>g.field.onBlur(),onChange:e=>{let t=e.target.value;g.field.onChange(t),d?.(t)},className:G({small:p,error:!!v,className:c,withRightIcon:!!y,readOnly:u})}),y&&(0,n.jsx)(`button`,{type:`button`,onClick:m,disabled:!m,className:(0,U.default)(`absolute right-2 top-1/2 -translate-y-1/2 rounded p-1 text-slate-500`,m&&`hover:text-slate-900`,!m&&`cursor-default`),children:(0,n.jsx)(y,{size:p?16:18})})]})})},Ne=({form:e,name:t,label:i,info:a,required:o,placeholder:s,readOnly:c,disabled:l,rows:u=3,maxLength:d,small:f,className:p,onChange:m,onRefresh:h})=>{let g=(0,r.useController)({name:t,control:e.control}),_=String(t),v=g.fieldState.error;return(0,n.jsx)(W,{id:_,label:i,info:a,required:o,onRefresh:h,error:v?.message?String(v.message):void 0,children:(0,n.jsx)(`textarea`,{id:_,name:g.field.name,rows:u,maxLength:d,value:String(g.field.value??``),placeholder:s,readOnly:c,disabled:l,onBlur:()=>g.field.onBlur(),onChange:e=>{let t=e.target.value;g.field.onChange(t),m?.(t)},className:je({small:f,error:!!v,className:p,readOnly:c,disabled:l})})})},Pe=({form:e,name:t,label:i,info:a,required:o,placeholder:s,readOnly:c,disabled:l,min:u,max:d,step:f,suffix:p,small:m,className:h,onChange:g,onRefresh:_})=>{let v=(0,r.useController)({name:t,control:e.control}),y=String(t),b=v.fieldState.error;return(0,n.jsx)(W,{id:y,label:i,info:a,required:o,onRefresh:_,error:b?.message?String(b.message):void 0,children:(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(`input`,{id:y,name:v.field.name,type:`number`,inputMode:`decimal`,value:v.field.value===void 0||v.field.value===null?``:String(v.field.value),placeholder:s,readOnly:c,disabled:l,min:u,max:d,step:f,onBlur:()=>v.field.onBlur(),onChange:e=>{let t=e.target.value;v.field.onChange(t),g?.(t)},className:G({small:m,error:!!b,className:h,withRightIcon:!!p,readOnly:c,disabled:l})}),p&&(0,n.jsx)(`span`,{className:(0,U.default)(`sf-input-affix`,m&&`sf-input-affix--sm`),children:p})]})})},Fe=({form:e,name:t,label:i,info:a,required:o,kind:s=`date`,min:c,max:l,readOnly:u,disabled:d,small:f,className:p,onChange:m,onRefresh:h})=>{let g=(0,r.useController)({name:t,control:e.control}),_=String(t),v=g.fieldState.error;return(0,n.jsx)(W,{id:_,label:i,info:a,required:o,onRefresh:h,error:v?.message?String(v.message):void 0,children:(0,n.jsx)(`input`,{id:_,name:g.field.name,type:s,value:String(g.field.value??``),min:c,max:l,readOnly:u,disabled:d,onBlur:()=>g.field.onBlur(),onChange:e=>{let t=e.target.value;g.field.onChange(t),m?.(t)},className:G({small:f,error:!!v,className:p,readOnly:u,disabled:d})})})},Ie=({trigger:e,children:r,align:i=`start`,side:a=`bottom`,open:o,onOpenChange:s,className:c,contentClassName:l,triggerId:u,triggerAriaLabel:d,triggerDisabled:f=!1,triggerAriaReadOnly:p})=>{let[m,h]=(0,t.useState)(!1),g=o??m,_=(0,t.useRef)(null),v=(0,t.useId)(),y=(0,t.useCallback)(e=>{o===void 0&&h(e),s?.(e)},[o,s]);(0,t.useEffect)(()=>{if(!g)return;let e=e=>{_.current?.contains(e.target)||y(!1)},t=e=>{e.key===`Escape`&&y(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[g,y]);let b=typeof e==`function`?e(g):e;return(0,n.jsxs)(`div`,{ref:_,className:(0,U.default)(`sf-popover`,c),children:[(0,n.jsx)(`button`,{id:u,type:`button`,"aria-haspopup":`dialog`,"aria-expanded":g,"aria-controls":v,"aria-label":d,"aria-readonly":p||void 0,disabled:f,onClick:()=>y(!g),className:`sf-popover__trigger`,children:b}),g&&(0,n.jsx)(`div`,{id:v,role:`dialog`,className:(0,U.default)(`sf-popover__content`,`sf-popover__content--${i}`,`sf-popover__content--${a}`,l),children:r})]})},Le=e=>{if(!e)return;let[t,n,r]=e.split(`-`).map(Number);if(!(!t||!n||!r))return new Date(t,n-1,r)},Re=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,ze=e=>{let t=Le(e);return t?t.toLocaleDateString(`es-PE`,{day:`2-digit`,month:`short`,year:`numeric`}):e},Be=({form:e,name:a,label:o,info:s,required:c,className:l,placeholder:u=`Seleccionar fecha`,readOnly:d,disabled:f,small:p,min:m,max:h,onChange:g,onRefresh:_})=>{let v=(0,r.useController)({name:a,control:e.control}),[y,b]=(0,t.useState)(!1),x=String(a),S=v.fieldState.error,C=String(v.field.value??``),w=(0,t.useMemo)(()=>Le(C),[C]),T=d||f,E=(0,t.useMemo)(()=>{let e=[];if(m){let t=Le(m);t&&e.push({before:t})}if(h){let t=Le(h);t&&e.push({after:t})}return e.length>0?e:void 0},[m,h]);return(0,n.jsx)(W,{id:x,label:o,info:s,required:c,onRefresh:_,error:S?.message?String(S.message):void 0,children:(0,n.jsx)(Ie,{open:T?!1:y,onOpenChange:e=>{T||b(e)},className:(0,U.default)(`sf-datepicker`,p&&`sf-datepicker--sm`,S&&`sf-datepicker--error`,d&&`sf-datepicker--readonly`,f&&`sf-datepicker--disabled`,l),contentClassName:`sf-datepicker__panel`,triggerId:x,triggerAriaLabel:o?void 0:u,triggerDisabled:f,triggerAriaReadOnly:d,trigger:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`span`,{className:(0,U.default)(C?`sf-datepicker__value`:`sf-datepicker__placeholder`),children:C?ze(C):u}),(0,n.jsx)(Ee,{size:p?16:18,"aria-hidden":`true`})]}),children:(0,n.jsx)(i.DayPicker,{mode:`single`,selected:w,onSelect:e=>{let t=e?Re(e):``;v.field.onChange(t),v.field.onBlur(),g?.(t),b(!1)},disabled:E,className:`sf-datepicker__calendar`})})})},q=e=>{if(!e)return{score:`weak`,label:`Sin contraseña`,percent:0};let t=0;return e.length>=8&&(t+=1),e.length>=12&&(t+=1),/[a-z]/.test(e)&&/[A-Z]/.test(e)&&(t+=1),/\d/.test(e)&&(t+=1),/[^a-zA-Z0-9]/.test(e)&&(t+=1),t<=1?{score:`weak`,label:`Débil`,percent:25}:t===2?{score:`fair`,label:`Regular`,percent:50}:t===3||t===4?{score:`good`,label:`Buena`,percent:75}:{score:`strong`,label:`Fuerte`,percent:100}},J=({form:e,name:i,label:a,info:o,required:s,className:c,placeholder:l,readOnly:u,small:d,showStrength:f=!1,onChange:p,onRefresh:m})=>{let h=(0,r.useController)({name:i,control:e.control}),[g,_]=(0,t.useState)(!1),v=String(i),y=h.fieldState.error,b=String(h.field.value??``),x=f?q(b):null;return(0,n.jsx)(W,{id:v,label:a,info:o,required:s,onRefresh:m,error:y?.message?String(y.message):void 0,children:(0,n.jsxs)(`div`,{className:`grid gap-2`,children:[(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(`input`,{id:v,name:h.field.name,type:g?`text`:`password`,value:b,placeholder:l,readOnly:u,autoComplete:`new-password`,onBlur:()=>h.field.onBlur(),onChange:e=>{let t=e.target.value;h.field.onChange(t),p?.(t)},className:G({small:d,error:!!y,className:c,withRightIcon:!0,readOnly:u})}),(0,n.jsx)(`button`,{type:`button`,"aria-label":g?`Ocultar contraseña`:`Mostrar contraseña`,onClick:()=>_(e=>!e),className:`sf-input-icon-btn`,children:g?(0,n.jsx)(_e,{size:d?16:18}):(0,n.jsx)(ge,{size:d?16:18})})]}),x&&(0,n.jsxs)(`div`,{className:`sf-password-strength`,"aria-live":`polite`,children:[(0,n.jsx)(`div`,{className:`sf-password-strength__track`,children:(0,n.jsx)(`div`,{className:(0,U.default)(`sf-password-strength__bar`,`sf-password-strength__bar--${x.score}`),style:{width:`${x.percent}%`}})}),(0,n.jsx)(`span`,{className:`sf-password-strength__label`,children:x.label})]})]})})},Ve=(e,t=0,n)=>{let r=[];for(let i of e)r.push({...i,depth:t,parentValue:n}),i.children?.length&&r.push(...Ve(i.children,t+1,i.value));return r},He=(e,t)=>{let n=t.trim().toLowerCase();if(!n)return e;let r=[];for(let i of e){let e=i.children?He(i.children,t):void 0;(i.label.toLowerCase().includes(n)||e&&e.length>0)&&r.push(e?{...i,children:e}:{...i})}return r},Ue=(e,t)=>{for(let n of e){if(n.value===t)return n;if(n.children){let e=Ue(n.children,t);if(e)return e}}},Y=e=>{if(e==null)return[];if(Array.isArray(e))return e.flatMap(Y);if(e instanceof Set)return[...e].flatMap(Y);if(typeof e==`string`){let t=e.trim();return t?[t]:[]}return typeof e==`number`?Number.isFinite(e)?[String(e)]:[]:typeof e==`boolean`||typeof e==`bigint`?[String(e)]:[]},We=({form:e,name:i,treeData:a,label:o,info:s,required:c,multiple:l=!1,className:u,placeholder:d=`Seleccionar`,searchPlaceholder:f=`Buscar...`,emptyMessage:p=`No hay resultados`,readOnly:m,small:h,onChange:g,onRefresh:_})=>{let v=(0,r.useController)({name:i,control:e.control}),y=(0,t.useRef)(null),[b,x]=(0,t.useState)(!1),[S,C]=(0,t.useState)(``),[w,T]=(0,t.useState)(new Set),E=String(i),D=`${E}-tree-listbox`,O=v.fieldState.error,k=(0,t.useMemo)(()=>l?Y(v.field.value):v.field.value?[String(v.field.value)]:[],[v.field.value,l]),A=(0,t.useMemo)(()=>He(a,S),[a,S]),j=(0,t.useMemo)(()=>Ve(A),[A]),M=(0,t.useMemo)(()=>{if(k.length===0)return``;let e=k.map(e=>Ue(a,e)?.label??e).filter(Boolean);return l?e.join(`, `):e[0]??``},[l,k,a]);(0,t.useEffect)(()=>{if(!b)return;let e=e=>{y.current?.contains(e.target)||x(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[b]),(0,t.useEffect)(()=>{if(!b)return;let e=e=>{e.key===`Escape`&&x(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[b]);let N=e=>{T(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},P=e=>{let t=j.find(t=>t.value===e.value)?.parentValue;for(;t;){if(w.has(t))return!0;t=j.find(e=>e.value===t)?.parentValue}return!1},F=e=>{let t=l?e:e[0]??``;v.field.onChange(t),l?g?.(e):g?.(e[0]??``),l||x(!1)},I=e=>{if(!m){if(l){F(k.includes(e)?k.filter(t=>t!==e):[...k,e]);return}F([e])}};return(0,n.jsx)(W,{id:E,label:o,info:s,required:c,onRefresh:_,error:O?.message?String(O.message):void 0,children:(0,n.jsxs)(`div`,{ref:y,className:(0,U.default)(`sf-tree-select`,u),children:[(0,n.jsxs)(`button`,{id:E,type:`button`,disabled:m,"aria-haspopup":`listbox`,"aria-expanded":b,"aria-controls":D,onClick:()=>x(e=>!e),className:G({small:h,error:!!O,className:`sf-tree-select__trigger`,readOnly:m}),children:[(0,n.jsx)(`span`,{className:(0,U.default)(`sf-tree-select__value`,!M&&`sf-tree-select__placeholder`),children:M||d}),(0,n.jsx)(Ce,{size:h?16:18,"aria-hidden":`true`})]}),b&&(0,n.jsxs)(`div`,{className:`sf-tree-select__panel`,children:[(0,n.jsx)(`div`,{className:`sf-tree-select__search`,children:(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(se,{className:`pointer-events-none absolute left-2 top-1/2 -translate-y-1/2`,size:14,"aria-hidden":`true`}),(0,n.jsx)(`input`,{type:`search`,"aria-label":`Buscar en ${o??String(i)}`,value:S,placeholder:f,onChange:e=>C(e.target.value),className:G({small:!0,className:`pl-8`})})]})}),(0,n.jsxs)(`div`,{id:D,className:`sf-tree-select__list`,role:`listbox`,"aria-multiselectable":l||void 0,children:[j.length===0&&(0,n.jsx)(`p`,{className:`sf-transfer__empty`,children:p}),j.map(e=>{if(P(e))return null;let t=!!e.children?.length,r=!w.has(e.value),i=k.includes(e.value);return(0,n.jsxs)(`div`,{className:`flex items-center`,style:{paddingLeft:`${e.depth+.5}rem`},children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":r?`Contraer`:`Expandir`,"aria-expanded":t?r:void 0,onClick:()=>N(e.value),className:(0,U.default)(`sf-tree-select__toggle`,!t&&`sf-tree-select__toggle--placeholder`),tabIndex:t?0:-1,children:t?r?(0,n.jsx)(Ce,{size:14}):(0,n.jsx)(xe,{size:14}):null}),(0,n.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":i,disabled:e.disabled,onClick:()=>I(e.value),className:(0,U.default)(`sf-tree-select__row`,i&&`sf-tree-select__row--selected`),children:e.label})]},e.value)})]})]})]})})},X=({variant:e=`primary`,size:t=`md`,className:n})=>(0,U.default)(`sf-btn`,t===`sm`?`sf-btn--sm`:`sf-btn--md`,e===`primary`&&`sf-btn--primary`,e===`secondary`&&`sf-btn--secondary`,e===`outline`&&`sf-btn--outline`,e===`danger`&&`sf-btn--danger`,e===`ghost`&&`sf-btn--ghost`,e===`accent`&&`sf-btn--accent`,n),Z=({variant:e=`primary`,size:t=`md`,loading:r=!1,disabled:i,icon:a,iconPosition:o=`start`,children:s,className:c,type:l=`button`,...u})=>{let d=i||r,f=o===`end`&&!r?a:void 0,p=o===`start`?r?void 0:a:void 0;return(0,n.jsxs)(`button`,{type:l,disabled:d,"aria-busy":r||void 0,className:X({variant:e,size:t,className:c}),...u,children:[r?(0,n.jsx)(V,{className:(0,U.default)(`animate-spin`,t===`sm`?`h-3.5 w-3.5`:`h-4 w-4`),"aria-hidden":`true`}):p,(0,n.jsx)(`span`,{children:s}),f]})},Ge=({items:e,targetKeys:r,onChange:i,titles:a=[`Disponibles`,`Seleccionados`],searchable:o=!0,className:s})=>{let[c,l]=(0,t.useState)([]),[u,d]=(0,t.useState)([]),[f,p]=(0,t.useState)(``),[m,h]=(0,t.useState)(``),g=(0,t.useMemo)(()=>new Set(r),[r]),_=(0,t.useMemo)(()=>e.filter(e=>!g.has(e.key)),[e,g]),v=(0,t.useMemo)(()=>r.map(t=>e.find(e=>e.key===t)).filter(Boolean),[e,r]),y=(e,t)=>{let n=t.trim().toLowerCase();return n?e.filter(e=>e.title.toLowerCase().includes(n)||e.description?.toLowerCase().includes(n)):e},b=(0,t.useMemo)(()=>y(_,f),[_,f]),x=(0,t.useMemo)(()=>y(v,m),[v,m]),S=e=>{let t=[...r];for(let n of e)t.includes(n)||t.push(n);i(t),l([])},C=e=>{i(r.filter(t=>!e.includes(t))),d([])},w=(e,t)=>{(t===`source`?l:d)(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},T=(e,t,r)=>e.length===0?(0,n.jsx)(`p`,{className:`sf-transfer__empty`,children:`Sin elementos`}):e.map(e=>{let i=t.includes(e.key);return(0,n.jsx)(`button`,{type:`button`,disabled:e.disabled,role:`option`,"aria-selected":i,onClick:()=>w(e.key,r),className:(0,U.default)(`sf-transfer__item`,i&&`sf-transfer__item--selected`),children:(0,n.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,n.jsx)(`span`,{className:`sf-transfer__item-title`,children:e.title}),e.description&&(0,n.jsx)(`p`,{className:`sf-transfer__item-desc`,children:e.description})]})},e.key)});return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-transfer`,s),children:[(0,n.jsxs)(`div`,{className:`sf-transfer__panel`,children:[(0,n.jsx)(`div`,{className:`sf-transfer__header`,children:a[0]}),o&&(0,n.jsx)(`div`,{className:`sf-transfer__search`,children:(0,n.jsx)(`input`,{type:`search`,"aria-label":`Buscar en ${a[0]}`,value:f,placeholder:`Buscar...`,onChange:e=>p(e.target.value),className:G({small:!0})})}),(0,n.jsx)(`div`,{className:`sf-transfer__list`,role:`listbox`,"aria-label":a[0],"aria-multiselectable":`true`,children:T(b,c,`source`)})]}),(0,n.jsxs)(`div`,{className:`sf-transfer__actions`,children:[(0,n.jsx)(Z,{size:`sm`,variant:`outline`,"aria-label":`Mover seleccionados`,disabled:c.length===0,icon:(0,n.jsx)(xe,{"aria-hidden":`true`}),onClick:()=>S(c),children:``}),(0,n.jsx)(Z,{size:`sm`,variant:`outline`,"aria-label":`Mover todos`,disabled:_.length===0,icon:(0,n.jsx)(ye,{"aria-hidden":`true`}),onClick:()=>S(_.map(e=>e.key)),children:``}),(0,n.jsx)(Z,{size:`sm`,variant:`outline`,"aria-label":`Quitar seleccionados`,disabled:u.length===0,icon:(0,n.jsx)(Se,{"aria-hidden":`true`}),onClick:()=>C(u),children:``}),(0,n.jsx)(Z,{size:`sm`,variant:`outline`,"aria-label":`Quitar todos`,disabled:r.length===0,icon:(0,n.jsx)(be,{"aria-hidden":`true`}),onClick:()=>C(r),children:``})]}),(0,n.jsxs)(`div`,{className:`sf-transfer__panel`,children:[(0,n.jsx)(`div`,{className:`sf-transfer__header`,children:a[1]}),o&&(0,n.jsx)(`div`,{className:`sf-transfer__search`,children:(0,n.jsx)(`input`,{type:`search`,"aria-label":`Buscar en ${a[1]}`,value:m,placeholder:`Buscar...`,onChange:e=>h(e.target.value),className:G({small:!0})})}),(0,n.jsx)(`div`,{className:`sf-transfer__list`,role:`listbox`,"aria-label":a[1],"aria-multiselectable":`true`,children:T(x,u,`target`)})]})]})},Ke=({form:e,name:t,options:i,label:a,info:o,required:s,className:c,placeholder:l,readOnly:u,onChange:d,small:f,onRefresh:p})=>{let m=(0,r.useController)({name:t,control:e.control}),h=String(t),g=m.fieldState.error;return(0,n.jsx)(W,{id:h,label:a,info:o,required:s,onRefresh:p,error:g?.message?String(g.message):void 0,children:(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsxs)(`select`,{id:h,name:m.field.name,value:String(m.field.value??``),disabled:u,onBlur:()=>m.field.onBlur(),onChange:e=>{let t=e.target.value;m.field.onChange(t),d?.(t)},className:(0,U.default)(G({small:f,error:!!g,className:c,withRightIcon:!0,disabled:u}),`appearance-none sf-select`),children:[l&&(0,n.jsx)(`option`,{value:``,disabled:!0,children:l}),i.map(e=>(0,n.jsx)(`option`,{value:e.value,children:e.label},e.value))]}),(0,n.jsx)(Ce,{size:f?16:18,className:`pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 text-slate-500`})]})})},qe=({form:e,name:i,label:a,checkboxLabel:o,info:s,required:c,readOnly:l,disabled:u,className:d,onChange:f,onRefresh:p})=>{let m=(0,r.useController)({name:i,control:e.control}),h=(0,t.useId)(),g=`${String(i)}-${h}`,_=m.fieldState.error,v=!!m.field.value;return(0,n.jsx)(W,{id:g,label:a,info:s,required:c,onRefresh:p,error:_?.message?String(_.message):void 0,children:(0,n.jsxs)(`label`,{htmlFor:g,className:(0,U.default)(`sf-choice-label`,l||u?`sf-choice-label--disabled`:`sf-choice-label--interactive`,d),children:[(0,n.jsx)(`input`,{id:g,type:`checkbox`,checked:v,disabled:l||u,onBlur:()=>m.field.onBlur(),onChange:e=>{let t=e.target.checked;m.field.onChange(t),f?.(t)},className:`sf-choice-input`}),o&&(0,n.jsx)(`span`,{className:`select-none`,children:o})]})})},Je=({form:e,name:i,label:a,info:o,required:s,options:c,readOnly:l,disabled:u,small:d,className:f,onChange:p,onRefresh:m})=>{let h=(0,r.useController)({name:i,control:e.control}),g=(0,t.useId)(),_=h.fieldState.error,v=Array.isArray(h.field.value)?h.field.value.map(String):[],y=e=>{let t=v.includes(e)?v.filter(t=>t!==e):[...v,e];h.field.onChange(t),p?.(t)};return(0,n.jsx)(W,{id:g,label:a,info:o,required:s,onRefresh:m,error:_?.message?String(_.message):void 0,children:(0,n.jsx)(`div`,{className:(0,U.default)(`flex flex-wrap gap-x-4 gap-y-2`,f),role:`group`,"aria-label":a??String(i),children:c.map(e=>{let t=`${g}-${String(e.value)}`,r=String(e.value),i=l||u;return(0,n.jsxs)(`label`,{htmlFor:t,className:(0,U.default)(`sf-choice-label`,d&&`sf-choice-label--sm`,i?`sf-choice-label--disabled`:`sf-choice-label--interactive`),children:[(0,n.jsx)(`input`,{id:t,type:`checkbox`,checked:v.includes(r),disabled:i,onBlur:()=>h.field.onBlur(),onChange:()=>y(r),className:`sf-choice-input`}),(0,n.jsx)(`span`,{className:`select-none`,children:e.label})]},r)})})})},Ye=({form:e,name:i,label:a,info:o,required:s,options:c,readOnly:l,disabled:u,small:d,className:f,onChange:p,onRefresh:m})=>{let h=(0,r.useController)({name:i,control:e.control}),g=(0,t.useId)(),_=h.fieldState.error,v=String(h.field.value??``);return(0,n.jsx)(W,{id:g,label:a,info:o,required:s,onRefresh:m,error:_?.message?String(_.message):void 0,children:(0,n.jsx)(`div`,{className:(0,U.default)(`flex flex-wrap gap-x-4 gap-y-2`,f),role:`radiogroup`,"aria-label":a??String(i),children:c.map(e=>{let t=`${g}-${String(e.value)}`,r=l||u;return(0,n.jsxs)(`label`,{htmlFor:t,className:(0,U.default)(`sf-choice-label`,d&&`sf-choice-label--sm`,r?`sf-choice-label--disabled`:`sf-choice-label--interactive`),children:[(0,n.jsx)(`input`,{id:t,type:`radio`,name:g,value:String(e.value),checked:v===String(e.value),disabled:r,onBlur:()=>h.field.onBlur(),onChange:()=>{let t=String(e.value);h.field.onChange(t),p?.(t)},className:`sf-choice-input`}),(0,n.jsx)(`span`,{className:`select-none`,children:e.label})]},String(e.value))})})})},Xe=({form:e,name:i,label:a,info:o,required:s,trueLabel:c,falseLabel:l,readOnly:u,disabled:d,small:f,className:p,onChange:m,onRefresh:h})=>{let g=(0,r.useController)({name:i,control:e.control}),_=(0,t.useId)(),v=`${String(i)}-${_}`,y=g.fieldState.error,b=!!g.field.value,x=c!==void 0||l!==void 0;return(0,n.jsx)(W,{id:v,label:a,info:o,required:s,onRefresh:h,error:y?.message?String(y.message):void 0,children:(0,n.jsxs)(`label`,{htmlFor:v,className:(0,U.default)(`sf-toggle`,u||d?`sf-toggle--disabled`:`sf-toggle--interactive`,p),children:[(0,n.jsx)(`input`,{id:v,type:`checkbox`,checked:b,disabled:u||d,onBlur:()=>g.field.onBlur(),onChange:e=>{let t=e.target.checked;g.field.onChange(t),m?.(t)},className:`sf-toggle__input`}),(0,n.jsx)(`span`,{"aria-hidden":`true`,className:(0,U.default)(`sf-toggle__track`,f?`sf-toggle__track--sm`:`sf-toggle__track--md`)}),x&&(0,n.jsx)(`span`,{className:(0,U.default)(`sf-toggle__label`,f&&`sf-toggle__label--sm`),children:b?c??`Sí`:l??`No`})]})})},Ze=({form:e,name:i,label:a,info:o,required:s,readOnly:c,className:l,onChange:u,onRefresh:d})=>{let f=(0,r.useController)({name:i,control:e.control}),p=(0,t.useId)(),m=`${String(i)}-${p}`,h=f.fieldState.error,g=!!f.field.value;return(0,n.jsx)(W,{id:m,label:a,info:o,required:s,onRefresh:d,error:h?.message?String(h.message):void 0,children:(0,n.jsxs)(`label`,{htmlFor:m,className:(0,U.default)(`flex items-center gap-2 rounded-md border px-3 py-2 text-sm`,h?`border-red-300`:`border-slate-200`,c?`bg-slate-50 text-slate-500`:`bg-white text-slate-700`,!c&&`hover:bg-slate-50`,l),children:[(0,n.jsx)(`input`,{id:m,type:`checkbox`,checked:g,disabled:c,onBlur:()=>f.field.onBlur(),onChange:e=>{let t=e.target.checked;f.field.onChange(t),u?.(t)},className:`h-4 w-4 accent-slate-900`}),(0,n.jsx)(`span`,{className:`select-none`,children:g?`Sí`:`No`})]})})},Qe=({form:e,name:t,label:i,info:a,required:o,placeholder:s,readOnly:c,small:l,onChange:u,onRefresh:d,yesLabel:f=`Sí`,noLabel:p=`No`})=>{let m=(0,r.useController)({name:t,control:e.control}),h=String(t),g=m.fieldState.error,_=m.field.value,v=typeof _==`boolean`?_?`true`:`false`:``;return(0,n.jsx)(W,{id:h,label:i,info:a,required:o,onRefresh:d,error:g?.message?String(g.message):void 0,children:(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsxs)(`select`,{id:h,name:m.field.name,value:v,disabled:c,onBlur:()=>m.field.onBlur(),onChange:e=>{let t=e.target.value===`true`;m.field.onChange(t),u?.(t)},className:(0,U.default)(G({small:l,error:!!g,withRightIcon:!0,disabled:c}),`appearance-none sf-select`),children:[s&&(0,n.jsx)(`option`,{value:``,disabled:!0,children:s}),(0,n.jsx)(`option`,{value:`true`,children:f}),(0,n.jsx)(`option`,{value:`false`,children:p})]}),(0,n.jsx)(Ce,{size:l?16:18,className:`pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 text-slate-500`})]})})},$e={PEN:`S/`,USD:`$`,EUR:`€`,CLP:`$`},et=[{code:`PE`,label:`Perú`,prefix:`+51`},{code:`US`,label:`EE.UU.`,prefix:`+1`},{code:`CL`,label:`Chile`,prefix:`+56`},{code:`CO`,label:`Colombia`,prefix:`+57`},{code:`AR`,label:`Argentina`,prefix:`+54`},{code:`MX`,label:`México`,prefix:`+52`}],tt=(e,t)=>{let n=e.replace(/\D/g,``);return t?n.slice(0,t):n},nt=e=>{if(!/^\d{11}$/.test(e))return`El RUC debe tener 11 dígitos`;if(!e.startsWith(`10`)&&!e.startsWith(`20`))return`El RUC debe empezar con 10 o 20`;let t=11-[5,4,3,2,7,6,5,4,3,2].reduce((t,n,r)=>t+Number(e[r])*n,0)%11;return(t>=10?t-10:t)===Number(e[10])?null:`Dígito verificador inválido`},rt=e=>/^\d{8}$/.test(e)?null:`El DNI debe tener 8 dígitos`,it=({form:e,name:i,label:a,info:o,required:s,placeholder:c=`12345678`,readOnly:l,disabled:u,small:d,className:f,validateOnComplete:p=!0,onChange:m})=>{let h=(0,r.useController)({name:i,control:e.control}),[g,_]=(0,t.useState)(null),v=String(i),y=h.fieldState.error?.message,b=y?String(y):g??void 0,x=e=>{let t=tt(e,8);h.field.onChange(t),p&&t.length===8?_(rt(t)):_(null),m?.(t)};return(0,n.jsx)(W,{id:v,label:a,info:o,required:s,error:b,children:(0,n.jsx)(`input`,{id:v,name:h.field.name,type:`text`,inputMode:`numeric`,maxLength:8,value:h.field.value===void 0||h.field.value===null?``:String(h.field.value),placeholder:c,readOnly:l,disabled:u,"aria-invalid":!!b||void 0,onBlur:()=>h.field.onBlur(),onChange:e=>x(e.target.value),className:G({small:d,error:!!b,className:f,readOnly:l,disabled:u})})})},at=({form:e,name:i,label:a,info:o,required:s,placeholder:c=`20123456789`,readOnly:l,disabled:u,small:d,className:f,validateOnComplete:p=!0,onChange:m})=>{let h=(0,r.useController)({name:i,control:e.control}),[g,_]=(0,t.useState)(null),v=String(i),y=h.fieldState.error?.message,b=y?String(y):g??void 0,x=e=>{let t=tt(e,11);h.field.onChange(t),p&&t.length===11?_(nt(t)):_(null),m?.(t)};return(0,n.jsx)(W,{id:v,label:a,info:o,required:s,error:b,children:(0,n.jsx)(`input`,{id:v,name:h.field.name,type:`text`,inputMode:`numeric`,maxLength:11,value:h.field.value===void 0||h.field.value===null?``:String(h.field.value),placeholder:c,readOnly:l,disabled:u,"aria-invalid":!!b||void 0,onBlur:()=>h.field.onBlur(),onChange:e=>x(e.target.value),className:G({small:d,error:!!b,className:f,readOnly:l,disabled:u})})})},ot=et.map(e=>(0,n.jsx)(`option`,{value:e.code,title:e.label,children:e.prefix},e.code)),st=({form:e,name:i,label:a,info:o,required:s,placeholder:c=`999 000 000`,readOnly:l,disabled:u,small:d,className:f,defaultCountry:p=`PE`,onChange:m,onCountryChange:h})=>{let g=(0,r.useController)({name:i,control:e.control}),[_,v]=(0,t.useState)(p),y=(0,t.useMemo)(()=>et.find(e=>e.code===_)??et[0],[_]),b=String(i),x=g.fieldState.error?.message?String(g.fieldState.error.message):void 0,S=(0,t.useMemo)(()=>g.field.value===void 0||g.field.value===null?``:String(g.field.value),[g.field.value]),C=(0,t.useCallback)(e=>{v(e.target.value),h?.(e.target.value)},[h]),w=(0,t.useCallback)(e=>{let t=tt(e.target.value,15);g.field.onChange(t),m?.(t)},[g.field,m]);return(0,n.jsxs)(W,{id:b,label:a,info:o,required:s,error:x,children:[(0,n.jsxs)(`div`,{className:(0,U.default)(`flex min-w-0 w-full gap-2`,f),children:[(0,n.jsx)(`select`,{value:y.code,disabled:u||l,"aria-label":`Código de país (${y.label})`,onChange:C,className:G({small:d,error:!!x,className:`w-[5.25rem] shrink-0 px-2`,readOnly:l,disabled:u}),children:ot}),(0,n.jsx)(`input`,{id:b,name:g.field.name,type:`tel`,inputMode:`tel`,value:S,placeholder:c,readOnly:l,disabled:u,"aria-invalid":!!x||void 0,onBlur:()=>g.field.onBlur(),onChange:w,className:G({small:d,error:!!x,className:`min-w-0 flex-1`,readOnly:l,disabled:u})})]}),(0,n.jsxs)(`p`,{className:`sf-document-hint`,children:[y.label,` · prefijo `,y.prefix]})]})},ct=(e,t,n)=>{let r=n&&e.trim().startsWith(`-`)?`-`:``,i=e.replace(/[^\d.]/g,``),[a=``,...o]=i.split(`.`),s=a.replace(/^0+(?=\d)/,``),c=o.join(``);return i?t<0?`${r}${s}${c?`.${c}`:``}`:e.includes(`.`)?`${r}${s}.${c.slice(0,t)}`:`${r}${s}`:r},lt=({form:e,name:t,label:i,info:a,required:o,placeholder:s=`0.00`,readOnly:c,disabled:l,small:u,className:d,currency:f=`PEN`,decimals:p=2,allowNegative:m=!1,suffix:h,onChange:g})=>{let _=(0,r.useController)({name:t,control:e.control}),v=String(t),y=_.fieldState.error?.message?String(_.fieldState.error.message):void 0,b=$e[f],x=_.field.value===void 0||_.field.value===null?``:String(_.field.value),S=(0,U.default)(`pl-10`,h&&`pr-16`,d);return(0,n.jsx)(W,{id:v,label:i,info:a,required:o,error:y,children:(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(`span`,{className:(0,U.default)(`sf-currency-affix sf-currency-affix--left`,u&&`sf-currency-affix--sm`),children:b}),(0,n.jsx)(`input`,{id:v,name:_.field.name,type:`text`,inputMode:`decimal`,value:x,placeholder:s,readOnly:c,disabled:l,"aria-label":`${i??String(t)} (${f})`,"aria-invalid":!!y||void 0,onBlur:()=>_.field.onBlur(),onChange:e=>{let t=ct(e.target.value,p,m);_.field.onChange(t),g?.(t)},className:G({small:u,error:!!y,className:S,withRightIcon:!!h,readOnly:c,disabled:l})}),h&&(0,n.jsx)(`span`,{className:(0,U.default)(`sf-currency-affix sf-currency-affix--right`,u&&`sf-currency-affix--sm`),children:h})]})})},ut=e=>{switch(e.kind){case`text`:return(0,n.jsx)(Me,{...e});case`textarea`:return(0,n.jsx)(Ne,{...e});case`number`:return(0,n.jsx)(Pe,{...e});case`yesNo`:return(0,n.jsx)(Qe,{...e});case`dni`:return(0,n.jsx)(it,{...e});case`ruc`:return(0,n.jsx)(at,{...e});case`phone`:return(0,n.jsx)(st,{...e});case`currency`:return(0,n.jsx)(lt,{...e});default:return null}},dt=49,ft=40,pt=6,mt=({form:e,name:i,options:a,label:o,info:s,required:c,multiple:l=!1,className:u,placeholder:d=`Seleccionar`,searchPlaceholder:f=`Buscar...`,emptyMessage:p=`No hay resultados`,readOnly:m,small:h,maxChips:g=3,onChange:_,onRefresh:v,onOpen:y,loading:b=!1})=>{let x=(0,r.useController)({name:i,control:e.control}),S=String(i),C=x.fieldState.error,w=(0,t.useRef)(null),T=(0,t.useRef)(null),[E,D]=(0,t.useState)(!1),[O,k]=(0,t.useState)(``),[A,j]=(0,t.useState)(),[M,N]=(0,t.useState)(0),P=(0,t.useRef)(null),F=(0,t.useMemo)(()=>l?Y(x.field.value):x.field.value?[String(x.field.value)]:[],[x.field.value,l]),I=(0,t.useMemo)(()=>{let e=new Map;for(let t of a)e.set(t.value,t);return e},[a]),L=(0,t.useMemo)(()=>{let e=[];for(let t of F){let n=I.get(t);n&&e.push(n)}return e},[I,F]),R=(0,t.useMemo)(()=>{let e=O.trim().toLowerCase();return e?a.filter(t=>t.label.toLowerCase().includes(e)):a},[a,O]);(0,t.useEffect)(()=>{E&&(P.current?.scrollTo({top:0}),queueMicrotask(()=>{N(P.current?.scrollTop??0)}))},[E,O]);let ee=e=>{x.field.onChange(e),_?.(e)},te=()=>{D(!1),k(``),j(void 0)},z=e=>{if(!m){if(!l){ee(e),te();return}ee(F.includes(e)?F.filter(t=>t!==e):[...F,e])}},ne=e=>{if(!m){if(!l){ee(``);return}ee(F.filter(t=>t!==e))}},re=()=>{m||ee(l?[]:``)},ie=()=>{let e=T.current;if(!e)return;let t=e.getBoundingClientRect(),n=window.innerHeight-t.bottom-12-4,r=t.top-12-4,i=r>n&&n<120?`top`:`bottom`,a=Math.max(120,Math.min(288,i===`top`?r:n));j({left:t.left,width:t.width,maxHeight:a,direction:i,top:i===`bottom`?t.bottom+4:void 0,bottom:i===`top`?window.innerHeight-t.top+4:void 0})};(0,t.useLayoutEffect)(()=>{E&&ie()},[E]),(0,t.useEffect)(()=>{if(!E)return;let e=()=>ie();return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[E]),(0,t.useEffect)(()=>{let e=e=>{let t=e.target;w.current?.contains(t)||te()};return document.addEventListener(`pointerdown`,e),()=>{document.removeEventListener(`pointerdown`,e)}},[]);let ae=(0,n.jsxs)(`div`,{className:(0,U.default)(`flex shrink-0 items-center gap-2 px-3 py-2`,A?.direction===`top`?`border-t border-slate-200`:`border-b border-slate-200`),children:[(0,n.jsx)(se,{size:16,className:`text-slate-400`}),(0,n.jsx)(`input`,{value:O,placeholder:f,onChange:e=>k(e.target.value),className:`h-8 w-full bg-transparent text-sm text-slate-900 outline-none placeholder:text-slate-400`})]}),oe=(0,n.jsx)(`div`,{ref:P,className:`overflow-auto py-1`,style:{maxHeight:Math.max(72,(A?.maxHeight??288)-dt)},onScroll:e=>{N(e.currentTarget.scrollTop)},children:R.length?(()=>{let e=Math.max(72,(A?.maxHeight??288)-dt),t=Math.max(1,Math.ceil(e/ft)),r=Math.max(0,Math.floor(M/ft)-pt),i=Math.min(R.length,r+t+pt*2),a=r*ft,o=Math.max(0,(R.length-i)*ft),s=R.slice(r,i);return(0,n.jsxs)(n.Fragment,{children:[a>0&&(0,n.jsx)(`div`,{style:{height:a}}),s.map(e=>{let t=F.includes(e.value);return(0,n.jsxs)(`button`,{type:`button`,onClick:()=>z(e.value),className:(0,U.default)(`flex h-10 w-full items-center gap-2 px-3 text-left text-sm hover:bg-slate-50`,t?`text-slate-900`:`text-slate-700`),children:[(0,n.jsx)(`span`,{className:(0,U.default)(`flex h-4 w-4 items-center justify-center border`,l?`rounded`:`rounded-full`,t?`border-slate-900 bg-slate-900 text-white`:`border-slate-300 bg-white`),children:t&&(0,n.jsx)(we,{size:12})}),(0,n.jsx)(`span`,{className:`truncate`,children:e.label})]},e.value)}),o>0&&(0,n.jsx)(`div`,{style:{height:o}})]})})():(0,n.jsx)(`div`,{className:`px-3 py-2 text-sm text-slate-500`,children:p})});return(0,n.jsx)(W,{id:S,label:o,info:s,required:c,onRefresh:v,error:C?.message?String(C.message):void 0,loading:b,children:(0,n.jsxs)(`div`,{ref:w,className:`relative`,children:[(0,n.jsxs)(`button`,{ref:T,id:S,type:`button`,disabled:m,onBlur:()=>x.field.onBlur(),onClick:()=>{m||D(e=>{let t=!e;return t?y?.():(k(``),j(void 0)),t})},className:(0,U.default)(G({small:h,error:!!C,className:u,withRightIcon:!0,disabled:m}),`flex items-center gap-1.5 text-left`,l&&L.length>1&&`h-auto min-h-[2.5rem] py-2`),children:[(0,n.jsx)(`span`,{className:`flex min-w-0 flex-1 flex-wrap items-center gap-1`,children:L.length?l?(0,n.jsxs)(n.Fragment,{children:[L.slice(0,Math.max(0,g)).map(e=>(0,n.jsxs)(`span`,{className:`inline-flex max-w-full items-center gap-1 rounded bg-slate-100 px-1.5 py-0.5 text-xs text-slate-700`,children:[(0,n.jsx)(`span`,{className:`truncate`,children:e.label}),!m&&(0,n.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),ne(e.value)},className:`rounded text-slate-400 hover:text-slate-700`,children:(0,n.jsx)(B,{size:12})})]},e.value)),L.length>g&&(0,n.jsxs)(`span`,{className:`inline-flex items-center rounded bg-slate-100 px-1.5 py-0.5 text-xs text-slate-500`,children:[`+`,L.length-g]})]}):(0,n.jsx)(`span`,{className:`truncate`,children:L[0]?.label}):(0,n.jsx)(`span`,{className:`text-slate-400`,children:d})}),(0,n.jsxs)(`span`,{className:`flex items-center gap-1`,children:[L.length>0&&!m&&(0,n.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),re()},className:`rounded p-0.5 text-slate-400 hover:text-slate-700`,children:(0,n.jsx)(B,{size:14})}),(0,n.jsx)(Ce,{size:h?16:18,className:(0,U.default)(`text-slate-500 transition-transform`,E&&`rotate-180`)})]})]}),E&&(0,n.jsx)(`div`,{className:`fixed z-50 flex flex-col overflow-hidden rounded-md border border-slate-200 bg-white shadow-lg`,style:{top:A?.top,bottom:A?.bottom,left:A?.left??0,width:A?.width??0,maxHeight:A?.maxHeight??0,visibility:A?`visible`:`hidden`},children:A?.direction===`top`?(0,n.jsxs)(n.Fragment,{children:[oe,ae]}):(0,n.jsxs)(n.Fragment,{children:[ae,oe]})})]})})},ht=({loadOptions:e,loadOnMount:n=!0,loadOnInitialValue:r=!1,hasInitialValue:i=!1,errorMessage:a=`No se pudieron cargar las opciones`})=>{let[o,s]=(0,t.useState)([]),[c,l]=(0,t.useState)(!1),[u,d]=(0,t.useState)(),[f,p]=(0,t.useState)(!1),m=(0,t.useCallback)(()=>{p(!0),d(void 0),(async()=>{try{s(await e()),l(!0)}catch{d(a)}finally{p(!1)}})()},[a,e]);return(0,t.useEffect)(()=>{if(!(c||f)){if(n){m();return}r&&i&&queueMicrotask(()=>{m()})}},[i,f,r,n,c,m]),{options:o,loaded:c,error:u,isPending:f,refresh:m}},gt=({form:e,name:i,loadOptions:a,label:o,info:s,required:c,multiple:l=!1,className:u,placeholder:d=`Seleccionar`,searchPlaceholder:f,emptyMessage:p=`No hay resultados`,readOnly:m,small:h,onChange:g})=>{let _=(0,r.useWatch)({control:e.control,name:i}),{options:v,loaded:y,error:b,isPending:x,refresh:S}=ht({loadOptions:a,loadOnMount:!1,loadOnInitialValue:!0,hasInitialValue:(l?Y(_):_?[String(_)]:[]).length>0}),C=(0,t.useCallback)(()=>{y||x||S()},[y,x,S]);return(0,n.jsx)(mt,{form:e,name:i,options:v,label:o,info:s,required:c,multiple:l,className:u,placeholder:x&&v.length===0?`Cargando...`:d,searchPlaceholder:f,emptyMessage:b??p,readOnly:m,small:h,onChange:g,onRefresh:S,onOpen:C,loading:x})},_t=({form:e,name:t,options:i,label:a,info:o,required:s,multiple:c=!1,readOnly:l,loading:u=!1,onChange:d,onRefresh:f,className:p})=>{let m=(0,r.useController)({name:t,control:e.control}),h=String(t),g=m.fieldState.error,_=c?Y(m.field.value):m.field.value?[String(m.field.value)]:[],v=e=>{m.field.onChange(e),d?.(e)},y=e=>{if(!(l||u)){if(!c){v(_.includes(e)?``:e),m.field.onBlur();return}v(_.includes(e)?_.filter(t=>t!==e):[..._,e]),m.field.onBlur()}};return(0,n.jsx)(W,{id:h,label:a,info:o,required:s,onRefresh:f,error:g?.message?String(g.message):void 0,loading:u,children:(0,n.jsx)(`div`,{role:c?`group`:`radiogroup`,"aria-labelledby":a?h:void 0,className:(0,U.default)(`flex flex-wrap gap-2`,p),children:i.map(e=>{let t=_.includes(e.value);return(0,n.jsx)(`button`,{type:`button`,disabled:l||u,onClick:()=>y(e.value),className:(0,U.default)(`inline-flex items-center rounded-lg border px-3 py-2 text-sm transition`,`focus:outline-none focus:ring-2 focus:ring-slate-200 disabled:cursor-not-allowed disabled:opacity-60`,t?`border-slate-900 bg-slate-900 text-white`:`border-slate-200 bg-white text-slate-700 hover:border-slate-300 hover:bg-slate-50`),"aria-pressed":t,children:e.label},e.value)})})})},vt=({form:e,name:t,loadOptions:i,label:a,info:o,required:s,multiple:c=!1,readOnly:l,onChange:u,className:d,loadOnMount:f=!0})=>{let p=(0,r.useWatch)({control:e.control,name:t}),m=(c?Y(p):p?[String(p)]:[]).length>0,{options:h,error:g,isPending:_,refresh:v}=ht({loadOptions:i,loadOnMount:f,loadOnInitialValue:!f,hasInitialValue:m});return(0,n.jsx)(_t,{form:e,name:t,options:h,label:a,info:g??o,required:s,multiple:c,readOnly:l,loading:_,onChange:u,onRefresh:v,className:d})},yt=[`label`],bt=({form:e,name:i,options:o,columns:s,searchKeys:c=yt,label:l,info:u,required:d,multiple:f=!1,emptyMessage:p=`No hay resultados`,readOnly:m,loading:h=!1,pageSize:g=5,onChange:_,onRefresh:v})=>{let y=(0,r.useController)({name:i,control:e.control}),b=String(i),x=y.fieldState.error,[S,C]=(0,t.useState)(``),[w,T]=(0,t.useState)({pageIndex:0,pageSize:g}),E=(0,t.useMemo)(()=>f?Y(y.field.value):y.field.value?[String(y.field.value)]:[],[y.field.value,f]),D=(0,t.useMemo)(()=>o.filter(e=>E.includes(e.value)),[o,E]),O=e=>{y.field.onChange(e),_?.(e)},k=e=>{if(!(m||h)){if(!f){O(e),y.field.onBlur();return}O(E.includes(e)?E.filter(t=>t!==e):[...E,e]),y.field.onBlur()}},A=e=>{if(!(m||h)){if(!f){O(``),y.field.onBlur();return}O(E.filter(t=>t!==e)),y.field.onBlur()}},j=()=>{m||h||(O(f?[]:``),y.field.onBlur())},M=(0,a.useReactTable)({data:o,columns:(0,t.useMemo)(()=>[{id:`selected`,header:``,cell:({row:e})=>{let t=E.includes(e.original.value);return(0,n.jsx)(`input`,{type:f?`checkbox`:`radio`,checked:t,disabled:m,readOnly:!0,tabIndex:-1,className:`h-4 w-4 accent-slate-900`})},size:40,enableGlobalFilter:!1},{accessorKey:`label`,header:``,cell:({row:e})=>(0,n.jsx)(`span`,{className:`block truncate`,children:e.original.label})},...s??[]],[s,f,m,E]),state:{globalFilter:S,pagination:w},onGlobalFilterChange:e=>{C(String(e)),T(e=>({...e,pageIndex:0}))},onPaginationChange:T,getCoreRowModel:(0,a.getCoreRowModel)(),getFilteredRowModel:(0,a.getFilteredRowModel)(),getPaginationRowModel:(0,a.getPaginationRowModel)(),globalFilterFn:(e,t,n)=>{let r=String(n).trim().toLowerCase();return r?c.some(t=>{let n=e.original[t];return n==null?!1:String(n).toLowerCase().includes(r)}):!0}}),N=M.getRowModel().rows,P=M.getFilteredRowModel().rows.length,F=Math.max(0,g-N.length),I=M.getState().pagination.pageIndex+1,L=Math.max(1,M.getPageCount()),R=M.getAllLeafColumns().length;return(0,n.jsx)(W,{id:b,label:l,info:u,required:d,onRefresh:v,error:x?.message?String(x.message):void 0,loading:h,children:(0,n.jsxs)(`div`,{className:(0,U.default)(`overflow-hidden rounded-md border bg-white shadow-sm`,x?`border-red-300`:`border-slate-200`,m&&`bg-slate-50`),children:[(0,n.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-slate-200 px-3 py-2`,children:[(0,n.jsx)(se,{size:16,className:`shrink-0 text-slate-400`}),(0,n.jsx)(`input`,{id:`${b}-search`,type:`text`,value:S,disabled:m||h,placeholder:h?`Cargando...`:`Buscar...`,onBlur:()=>y.field.onBlur(),onChange:e=>M.setGlobalFilter(e.target.value),className:`h-8 w-full bg-transparent text-sm text-slate-900 outline-none placeholder:text-slate-400 disabled:cursor-not-allowed`})]}),(0,n.jsxs)(`div`,{className:`flex min-h-[2.5rem] items-center justify-between gap-3 border-b border-slate-200 bg-slate-50/70 px-3 py-2`,children:[(0,n.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,n.jsx)(`span`,{className:`shrink-0 text-xs font-medium text-slate-500`,children:D.length===0?`Sin selección`:D.length===1?`1 seleccionado`:`${D.length} seleccionados`}),D.length>0&&(0,n.jsxs)(`div`,{className:`flex min-w-0 flex-1 gap-1 overflow-hidden`,children:[D.slice(0,3).map(e=>(0,n.jsxs)(`span`,{className:`inline-flex min-w-0 max-w-[9rem] items-center gap-1 rounded-full border border-slate-200 bg-white px-2 py-0.5 text-xs text-slate-700`,children:[(0,n.jsx)(`span`,{className:`truncate`,children:e.label}),!m&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>A(e.value),className:`shrink-0 rounded text-slate-400 hover:text-slate-700`,children:(0,n.jsx)(B,{size:12})})]},e.value)),D.length>3&&(0,n.jsxs)(`span`,{className:`shrink-0 rounded-full border border-slate-200 bg-white px-2 py-0.5 text-xs text-slate-500`,children:[`+`,D.length-3]})]})]}),D.length>0&&!m&&!h&&(0,n.jsx)(`button`,{type:`button`,onClick:j,className:`shrink-0 text-xs font-medium text-slate-500 hover:text-slate-900`,children:`Limpiar`})]}),(0,n.jsx)(`table`,{className:`w-full table-fixed border-collapse text-sm`,children:(0,n.jsx)(`tbody`,{children:N.length?(0,n.jsxs)(n.Fragment,{children:[N.map(e=>{let t=E.includes(e.original.value);return(0,n.jsx)(`tr`,{onClick:()=>k(e.original.value),className:(0,U.default)(`h-10 border-b border-slate-100 last:border-b-0`,m||h?`cursor-default`:`cursor-pointer hover:bg-slate-50`,t&&`bg-slate-50`),children:e.getVisibleCells().map(e=>(0,n.jsx)(`td`,{className:(0,U.default)(`px-3 py-2 align-middle text-slate-700`,e.column.id===`selected`&&`w-10`),children:(0,a.flexRender)(e.column.columnDef.cell,e.getContext())},e.id))},e.id)}),Array.from({length:F}).map((e,t)=>(0,n.jsx)(`tr`,{className:`h-10 border-b border-slate-100 last:border-b-0`,children:Array.from({length:R}).map((e,t)=>(0,n.jsx)(`td`,{className:(0,U.default)(`px-3 py-2 align-middle`,t===0&&`w-10`),children:`\xA0`},t))},`empty-${t}`))]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`tr`,{className:`h-10 border-b border-slate-100`,children:(0,n.jsx)(`td`,{colSpan:R,className:`px-3 py-3 text-sm text-slate-500`,children:h?`Cargando...`:p})}),Array.from({length:Math.max(0,g-1)}).map((e,t)=>(0,n.jsx)(`tr`,{className:`h-10 border-b border-slate-100 last:border-b-0`,children:Array.from({length:R}).map((e,t)=>(0,n.jsx)(`td`,{className:(0,U.default)(`px-3 py-2 align-middle`,t===0&&`w-10`),children:`\xA0`},t))},`empty-${t}`))]})})}),(0,n.jsxs)(`div`,{className:`flex items-center justify-between border-t border-slate-200 bg-slate-50/70 px-3 py-2`,children:[(0,n.jsxs)(`span`,{className:`text-xs text-slate-500`,children:[P,` resultado`,P===1?``:`s`]}),(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,n.jsx)(`button`,{type:`button`,disabled:m||h||!M.getCanPreviousPage(),onClick:()=>M.previousPage(),className:`rounded border border-slate-300 bg-white px-2 py-1 text-xs text-slate-700 disabled:cursor-not-allowed disabled:opacity-50`,children:`Anterior`}),(0,n.jsxs)(`span`,{className:`text-xs text-slate-500`,children:[I,` / `,L]}),(0,n.jsx)(`button`,{type:`button`,disabled:m||h||!M.getCanNextPage(),onClick:()=>M.nextPage(),className:`rounded border border-slate-300 bg-white px-2 py-1 text-xs text-slate-700 disabled:cursor-not-allowed disabled:opacity-50`,children:`Siguiente`})]})]})]})})},xt=({form:e,name:t,loadOptions:i,columns:a,searchKeys:o,label:s,info:c,required:l,multiple:u=!1,emptyMessage:d,readOnly:f,pageSize:p,onChange:m,loadOnMount:h=!0})=>{let g=(0,r.useWatch)({control:e.control,name:t}),_=(u?Y(g):g?[String(g)]:[]).length>0,{options:v,error:y,isPending:b,refresh:x}=ht({loadOptions:i,loadOnMount:h,loadOnInitialValue:!h,hasInitialValue:_});return(0,n.jsx)(bt,{form:e,name:t,options:v,columns:a,searchKeys:o,label:s,info:y??c,required:l,multiple:u,emptyMessage:y??d,readOnly:f,loading:b,pageSize:p,onChange:m,onRefresh:x})},St=e=>{switch(e.kind){case`select`:return(0,n.jsx)(Ke,{...e});case`searchSelect`:return(0,n.jsx)(mt,{...e});case`asyncSearchSelect`:return(0,n.jsx)(gt,{...e});case`cardSelect`:return(0,n.jsx)(_t,{...e});case`asyncCardSelect`:return(0,n.jsx)(vt,{...e});case`searchTableSelect`:return(0,n.jsx)(bt,{...e});case`asyncSearchTableSelect`:return(0,n.jsx)(xt,{...e});default:return null}},Ct=(e=new Date)=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,wt=e=>{if(!e)return!1;let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!t)return!1;let[,n,r,i]=t,a=Number(n),o=Number(r),s=Number(i),c=new Date(a,o-1,s);return c.getFullYear()===a&&c.getMonth()===o-1&&c.getDate()===s},Tt=e=>e?new Date(`${e}T00:00:00`).toISOString():``,Et=e=>{if(!e)return``;try{return new Date(e).toISOString().split(`T`)[0]??``}catch{return``}},Dt=e=>{if(typeof e!=`object`||!e)return{start:``,end:``};let t=e;return{start:typeof t.start==`string`?t.start:``,end:typeof t.end==`string`?t.end:``}},Ot=e=>{if(typeof e!=`object`||!e)return{start:``,end:``};let t=e;return{start:typeof t.start==`string`?t.start:``,end:typeof t.end==`string`?t.end:``}},kt=(e,t)=>{if(!e||!t)return``;let[n,r]=e.split(`:`).map(Number),[i,a]=t.split(`:`).map(Number);if([n,r,i,a].some(e=>Number.isNaN(e)))return``;let o=i*60+a-(n*60+r);if(o<=0)return``;let s=Math.floor(o/60),c=o%60,l=[];return s>0&&l.push(`${s}h`),c>0&&l.push(`${c}min`),l.length?`Duración: ${l.join(` `)}`:``},At=({form:e,name:t,label:i,info:a,required:o,min:s,max:c,readOnly:l,disabled:u,small:d,className:f,utc:p=!1,onChange:m,onRefresh:h})=>{let g=(0,r.useController)({name:t,control:e.control}),_=Dt(g.field.value),v=String(t),y=g.fieldState.error?.message?String(g.fieldState.error.message):void 0,b=e=>p?Et(e):e,x=e=>p?Tt(e):e,S=e=>{g.field.onChange(e),m?.(e)},C=e=>{e&&!wt(e)||S({start:x(e),end:_.end})},w=e=>{e&&!wt(e)||S({start:_.start,end:x(e)})},T=b(_.start),E=b(_.end);return(0,n.jsx)(W,{id:v,label:i,info:a,required:o,onRefresh:h,error:y,children:(0,n.jsxs)(`div`,{className:(0,U.default)(`flex items-center gap-2`,f),role:`group`,"aria-label":i??String(t),children:[(0,n.jsx)(`input`,{id:v,type:`date`,value:T,min:s,max:E||c,readOnly:l,disabled:u,"aria-invalid":!!y||void 0,onBlur:()=>g.field.onBlur(),onChange:e=>C(e.target.value),"aria-label":i?`${i} inicio`:`Fecha inicio`,className:G({small:d,error:!!y,className:`min-w-0 flex-1`,readOnly:l,disabled:u})}),(0,n.jsx)(`span`,{className:`sf-range-sep`,"aria-hidden":`true`,children:`→`}),(0,n.jsx)(`input`,{id:`${v}-end`,type:`date`,value:E,min:T||s,max:c,readOnly:l,disabled:u,"aria-invalid":!!y||void 0,onBlur:()=>g.field.onBlur(),onChange:e=>w(e.target.value),"aria-label":i?`${i} fin`:`Fecha fin`,className:G({small:d,error:!!y,className:`min-w-0 flex-1`,readOnly:l,disabled:u})})]})})},jt=({form:e,name:t,label:i,info:a,required:o,readOnly:s,disabled:c,small:l,className:u,showDuration:d=!0,onChange:f,onRefresh:p})=>{let m=(0,r.useController)({name:t,control:e.control}),h=Ot(m.field.value),g=String(t),_=m.fieldState.error?.message?String(m.fieldState.error.message):void 0,v=d?kt(h.start,h.end):``,y=e=>{m.field.onChange(e),f?.(e)};return(0,n.jsxs)(W,{id:g,label:i,info:a,required:o,onRefresh:p,error:_,children:[(0,n.jsxs)(`div`,{className:(0,U.default)(`flex items-center gap-2`,u),role:`group`,"aria-label":i??String(t),children:[(0,n.jsx)(`input`,{id:g,type:`time`,value:h.start,max:h.end||void 0,readOnly:s,disabled:c,"aria-invalid":!!_||void 0,onBlur:()=>m.field.onBlur(),onChange:e=>y({start:e.target.value,end:h.end}),"aria-label":i?`${i} inicio`:`Hora inicio`,className:G({small:l,error:!!_,className:`min-w-0 flex-1`,readOnly:s,disabled:c})}),(0,n.jsx)(`span`,{className:`sf-range-sep`,"aria-hidden":`true`,children:`→`}),(0,n.jsx)(`input`,{id:`${g}-end`,type:`time`,value:h.end,min:h.start||void 0,readOnly:s,disabled:c,"aria-invalid":!!_||void 0,onBlur:()=>m.field.onBlur(),onChange:e=>y({start:h.start,end:e.target.value}),"aria-label":i?`${i} fin`:`Hora fin`,className:G({small:l,error:!!_,className:`min-w-0 flex-1`,readOnly:s,disabled:c})})]}),v&&(0,n.jsx)(`p`,{className:`sf-range-hint`,"aria-live":`polite`,children:v})]})},Mt=e=>{switch(e.kind){case`date`:case`time`:case`datetime-local`:case`month`:return(0,n.jsx)(Fe,{...e,kind:e.kind});case`dateRange`:return(0,n.jsx)(At,{...e});case`timeRange`:return(0,n.jsx)(jt,{...e});default:return null}},Nt=e=>e.length===0?`Ningún archivo seleccionado`:e.length===1?e[0].name:`${e.length} archivos seleccionados`,Pt=(e,t)=>{if(!t)return!0;let n=t.replace(/\s/g,``).split(`,`).filter(Boolean);if(n.length===0)return!0;let r=`.${e.name.split(`.`).pop()?.toLowerCase()??``}`,i=e.type.toLowerCase();return n.some(e=>{let t=e.toLowerCase();if(t.startsWith(`.`))return r===t;if(t.endsWith(`/*`)){let e=t.slice(0,-1);return i.startsWith(e)}return i===t})},Ft=({form:e,name:i,label:a,info:o,required:s,accept:c,multiple:l=!1,maxSizeMb:u=10,maxFiles:d=10,buttonLabel:f=`Seleccionar archivo`,readOnly:p,disabled:m,small:h,className:g,onChange:_,onRefresh:v})=>{let y=(0,t.useRef)(null),b=(0,r.useController)({name:i,control:e.control}),x=String(i),S=b.fieldState.error,[C,w]=(0,t.useState)(null),T=(0,t.useMemo)(()=>S?.message?String(S.message):C??void 0,[C,S?.message]),E=p||m,D=`${x}-files`,O=(()=>{let e=b.field.value;return e?Array.isArray(e)?e:[e]:[]})(),k=e=>{if(e.some(e=>!Pt(e,c))){w(`Hay archivos con tipo no permitido.`);return}let t=u*1024*1024;if(e.some(e=>e.size>t)){w(`Hay archivos que superan ${u} MB.`);return}if(l&&e.length>d){w(`Solo se permiten ${d} archivos.`);return}w(null);let n=l?e:e.slice(0,1);b.field.onChange(l?n:n[0]??null),_?.(n)};return(0,n.jsx)(W,{id:x,label:a,info:o,required:s,onRefresh:v,error:T,children:(0,n.jsxs)(`div`,{className:(0,U.default)(`grid gap-2`,g),children:[(0,n.jsx)(`input`,{ref:y,id:x,type:`file`,accept:c,multiple:l,disabled:E,"aria-invalid":!!T||void 0,"aria-describedby":O.length>0?D:void 0,className:`sr-only`,onBlur:()=>b.field.onBlur(),onChange:e=>{k(Array.from(e.target.files??[])),e.target.value=``}}),(0,n.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,n.jsx)(`button`,{type:`button`,disabled:E,onClick:()=>y.current?.click(),className:(0,U.default)(`sf-file-input-btn`,h?`sf-file-input-btn--sm`:`sf-file-input-btn--md`),children:f}),(0,n.jsx)(`span`,{className:(0,U.default)(`sf-file-input-name`,h&&`sf-file-input-name--sm`),children:Nt(O)})]}),O.length>0&&(0,n.jsx)(`ul`,{id:D,className:`sf-file-list`,"aria-label":`Archivos seleccionados`,children:O.map(e=>(0,n.jsxs)(`li`,{className:`truncate`,children:[e.name,` (`,Math.ceil(e.size/1024),` KB)`]},`${e.name}-${e.lastModified}`))}),(0,n.jsxs)(`p`,{className:`sf-file-hint`,children:[`Máximo `,u,` MB por archivo.`]})]})})},It=(e,t)=>e==null||e===``?t:Array.isArray(e)?e.length>0?e.join(`, `):t:String(e),Lt=({form:e,name:t,label:i,info:a,required:o,format:s,emptyText:c=`—`,small:l,className:u,onRefresh:d})=>{let f=(0,r.useController)({name:t,control:e.control}),p=String(t),m=s?s(f.field.value):It(f.field.value,c);return(0,n.jsx)(W,{id:p,label:i,info:a,required:o,onRefresh:d,children:(0,n.jsx)(`output`,{id:p,className:G({small:l,readOnly:!0,className:(0,U.default)(`sf-display-field`,u)}),children:m})})};function Rt(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{fill:`none`,d:`M0 0h24v24H0z`},child:[]},{tag:`path`,attr:{d:`M17.65 6.35A7.958 7.958 0 0 0 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0 1 12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z`},child:[]}]})(e)}function zt(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{fill:`none`,d:`M0 0h24v24H0z`},child:[]},{tag:`path`,attr:{d:`M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z`},child:[]}]})(e)}function Bt(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{fill:`none`,d:`M0 0h24v24H0z`},child:[]},{tag:`path`,attr:{d:`M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z`},child:[]}]})(e)}function Vt(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{fill:`none`,d:`M0 0h24v24H0z`},child:[]},{tag:`path`,attr:{d:`M3 18h6v-2H3v2zM3 6v2h18V6H3zm0 7h12v-2H3v2z`},child:[]}]})(e)}function Ht(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{fill:`none`,d:`M0 0h24v24H0z`},child:[]},{tag:`path`,attr:{d:`M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z`},child:[]}]})(e)}function Ut(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{fill:`none`,d:`M0 0h24v24H0V0z`},child:[]},{tag:`path`,attr:{d:`M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z`},child:[]}]})(e)}var Wt=(e=window.localStorage)=>({getItem:async t=>e.getItem(t),setItem:async(t,n)=>{e.setItem(t,n)},removeItem:async t=>{e.removeItem(t)}});function Gt(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`polyline`,attr:{fill:`none`,strokeWidth:`2`,points:`9 6 15 12 9 18`,transform:`matrix(-1 0 0 1 24 0)`},child:[]}]})(e)}function Kt(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`polyline`,attr:{fill:`none`,strokeWidth:`2`,points:`9 6 15 12 9 18`},child:[]}]})(e)}var qt=/^[1-9]\d*\s*-\s*[1-9]\d*$/,Jt=({limit:e,offset:t},n)=>n<=0?`0-0`:`${Math.min(t+1,n)}-${Math.min(t+e,n)}`,Yt=({pageData:e,maxItemsRange:r,onChange:i,divRef:a})=>{let o=(0,t.useRef)(null),s=(0,t.useRef)(Math.max(1,Math.min(e.limitItems||1,Math.max(1,r||1)))),[c,l]=(0,t.useState)(null),u=Math.max(1,r||1),d=(0,t.useMemo)(()=>Jt({limit:e.limitItems,offset:e.offsetItems},e.totalItems),[e.limitItems,e.offsetItems,e.totalItems]),f=c??d;(0,t.useEffect)(()=>{let t=Math.max(0,Math.min(e.limitItems,Math.max(e.totalItems-e.offsetItems,0)));!(e.totalItems>0&&t>0&&t<s.current&&(e.offsetItems===0||e.offsetItems+t>=e.totalItems))&&e.limitItems>0&&(s.current=Math.max(1,Math.min(e.limitItems,u)))},[e.limitItems,e.offsetItems,e.totalItems,u]),(0,t.useEffect)(()=>{o.current!=null&&(o.current.style.width=`${(f.length+1)*6.3+8}px`)},[f]);let p=t=>{if(e.totalItems<=0)return{value:`0-0`,offset:0,limit:0};let n=qt.test(t)?t.replace(/\s+/g,``):d,[r,i]=n.split(`-`).map(Number);return(Number.isNaN(r)||Number.isNaN(i))&&(n=d,[r,i]=n.split(`-`).map(Number)),r<1&&(r=1),r>e.totalItems?(n=d,[r,i]=n.split(`-`).map(Number)):(i<r&&(i=r),i-r+1>u&&(i=r+u-1),i>e.totalItems&&(i=e.totalItems),n=`${r}-${i}`),{value:n,offset:r-1,limit:i-r+1}},m=()=>{let{value:e,limit:t,offset:n}=p(f.trim().replaceAll(` `,``));l(null),d!==e&&i?.(t,n)};return(0,n.jsxs)(`div`,{ref:a,className:`sf-table-pagination`,children:[(0,n.jsxs)(`div`,{className:`sf-table-pagination__range`,children:[(0,n.jsx)(`input`,{ref:o,className:`sf-table-pagination__input`,onChange:({target:e})=>l(e.value),onBlur:m,onKeyDown:({key:e})=>{e===`Enter`&&(m(),o.current?.blur())},value:f,type:`text`,autoCorrect:`off`,autoComplete:`off`}),(0,n.jsx)(`p`,{className:`sf-table-pagination__total`,children:`/`}),(0,n.jsx)(`p`,{className:`sf-table-pagination__total`,children:e.totalItems})]}),(0,n.jsx)(`button`,{type:`button`,className:`sf-table-pagination__nav sf-table-pagination__nav--prev`,onClick:()=>{if(e.totalItems<=0)return;let t=Math.max(1,Math.min(s.current,u)),n=e.offsetItems+1-1;if(n<1)return;let r=Math.max(n-t+1,1),a=r-1,o=n-r+1;l(null),i?.(o,a)},children:(0,n.jsx)(Gt,{className:`w-5 h-5`})}),(0,n.jsx)(`button`,{type:`button`,className:`sf-table-pagination__nav sf-table-pagination__nav--next`,onClick:()=>{if(e.totalItems<=0)return;let t=Math.max(1,Math.min(s.current,u)),n=Math.min(e.offsetItems+e.limitItems,e.totalItems),r=n+1;if(r>e.totalItems)return;let a=Math.min(n+t,e.totalItems),o=r-1,c=a-r+1;l(null),i?.(c,o)},children:(0,n.jsx)(Kt,{className:`w-5 h-5`})})]})},Xt=[`contains`,`equals`,`notContains`,`startsWith`,`endsWith`],Zt=[`eq`,`gt`,`gte`,`lt`,`lte`],Qt=e=>{if(typeof e!=`object`||!e)return!1;let t=e;return t.type===`string`?typeof t.value==`string`&&typeof t.op==`string`:t.type===`number`?(typeof t.value==`number`||t.value==null)&&typeof t.op==`string`:t.type===`boolean`?(typeof t.value==`boolean`||t.value==null)&&t.op===`is`:!1},$t=e=>e===`number`?{type:`number`,op:`gt`,value:null}:e===`boolean`?{type:`boolean`,op:`is`,value:null}:{type:`string`,op:`contains`,value:``};function en(e,t,n){let r=e.getValue(t);if(n.type===`string`){let e=String(r??``).toLowerCase(),t=String(n.value??``).toLowerCase();return t.length===0?!0:n.op===`contains`?e.includes(t):n.op===`notContains`?!e.includes(t):n.op===`equals`?e===t:n.op===`startsWith`?e.startsWith(t):n.op===`endsWith`?e.endsWith(t):!0}if(n.type===`number`){let e=Number(r);return Number.isFinite(e)?n.value==null?!0:n.op===`eq`?e===n.value:n.op===`gt`?e>n.value:n.op===`gte`?e>=n.value:n.op===`lt`?e<n.value:n.op===`lte`?e<=n.value:!0:!1}let i=!!r;return n.value==null?!0:i===n.value}function tn({open:e,onClose:t,columnsMeta:r,headerLabelById:i,columnTypeById:a,columnFilters:o,table:s,markUserEdit:c}){return e?(0,n.jsxs)(`div`,{className:`fixed inset-0 z-50`,children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Cerrar panel`,onClick:t,className:`sf-table-panel-scrim`}),(0,n.jsxs)(`aside`,{className:`sf-table-panel`,children:[(0,n.jsxs)(`div`,{className:`sf-table-panel__header`,children:[(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`p`,{className:`sf-table-panel__title`,children:`Filters`}),(0,n.jsx)(`p`,{className:`sf-table-panel__subtitle`,children:`Por columna, por tipo`})]}),(0,n.jsx)(`button`,{type:`button`,onClick:t,className:`sf-table-panel__close`,children:`Ocultar`})]}),(0,n.jsxs)(`section`,{className:`sf-table-panel__section`,children:[(0,n.jsxs)(`div`,{className:`sf-table-panel-section-header`,children:[(0,n.jsx)(`p`,{className:`sf-table-panel__section-title`,children:`Filters`}),o.length>0&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>{c(),s.resetColumnFilters()},className:`sf-table-panel-btn-sm`,children:`Clear`})]}),(0,n.jsxs)(`div`,{className:`sf-table-panel-stack sf-table-panel-stack--tight`,children:[(0,n.jsxs)(`select`,{className:`sf-table-panel-field`,defaultValue:``,onChange:e=>{let t=e.target.value;if(!t)return;e.currentTarget.value=``;let n=$t(a.get(t)??`string`);c(),s.setColumnFilters(e=>e.some(e=>e.id===t)?e:[...e,{id:t,value:n}])},children:[(0,n.jsx)(`option`,{value:``,disabled:!0,children:`+ Add filter`}),r.map(e=>(0,n.jsx)(`option`,{value:e.id,children:e.headerLabel},e.id))]}),o.length===0?(0,n.jsx)(`div`,{className:`sf-table-panel-empty`,children:`No hay filtros`}):o.map(e=>{let t=e.id,r=i.get(t)??t,o=a.get(t)??`string`,l=Qt(e.value)?e.value:$t(o),u=e=>{c(),s.setColumnFilters(n=>n.map(n=>n.id===t?{...n,value:e}:n))};return(0,n.jsxs)(`div`,{className:`sf-table-panel-row sf-table-panel-row--grid`,children:[(0,n.jsxs)(`div`,{className:`min-w-0`,children:[(0,n.jsx)(`div`,{className:`sf-table-panel-row__label`,children:r}),(0,n.jsxs)(`div`,{className:`mt-1 flex items-center gap-2`,children:[l.type===`string`&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`select`,{className:`sf-table-panel-field sf-table-panel-field--compact`,value:Xt.includes(l.op)?l.op:`contains`,onChange:e=>{let t=e.target.value;u({type:`string`,op:t,value:l.value??``})},children:[(0,n.jsx)(`option`,{value:`contains`,children:`contains`}),(0,n.jsx)(`option`,{value:`equals`,children:`equals`}),(0,n.jsx)(`option`,{value:`notContains`,children:`not contains`}),(0,n.jsx)(`option`,{value:`startsWith`,children:`starts with`}),(0,n.jsx)(`option`,{value:`endsWith`,children:`ends with`})]}),(0,n.jsx)(`input`,{className:`sf-table-panel-field`,value:l.value??``,onChange:e=>{u({type:`string`,op:Xt.includes(l.op)?l.op:`contains`,value:e.target.value})},placeholder:`value`})]}),l.type===`number`&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`select`,{className:`sf-table-panel-field sf-table-panel-field--compact`,value:Zt.includes(l.op)?l.op:`gt`,onChange:e=>{let t=e.target.value;u({type:`number`,op:t,value:l.value??null})},children:[(0,n.jsx)(`option`,{value:`eq`,children:`=`}),(0,n.jsx)(`option`,{value:`gt`,children:`>`}),(0,n.jsx)(`option`,{value:`gte`,children:`>=`}),(0,n.jsx)(`option`,{value:`lt`,children:`<`}),(0,n.jsx)(`option`,{value:`lte`,children:`<=`})]}),(0,n.jsx)(`input`,{className:`sf-table-panel-field`,value:l.value??``,onChange:e=>{let t=e.target.value,n=t.trim()===``?null:Number(t);u({type:`number`,op:Zt.includes(l.op)?l.op:`gt`,value:Number.isFinite(n)?n:null})},inputMode:`decimal`,placeholder:`number`})]}),l.type===`boolean`&&(0,n.jsxs)(`select`,{className:`sf-table-panel-field sf-table-panel-field--compact`,value:l.value==null?``:l.value?`true`:`false`,onChange:e=>{let t=e.target.value;u({type:`boolean`,op:`is`,value:t===``?null:t===`true`})},children:[(0,n.jsx)(`option`,{value:``,children:`any`}),(0,n.jsx)(`option`,{value:`true`,children:`true`}),(0,n.jsx)(`option`,{value:`false`,children:`false`})]})]})]}),(0,n.jsx)(`button`,{type:`button`,className:`sf-table-panel-btn-sm`,onClick:()=>{c(),s.setColumnFilters(e=>e.filter(e=>e.id!==t))},children:`X`})]},t)})]})]})]})]}):null}function nn({open:e,onClose:t,columnsMeta:r,headerLabelById:i,sorting:a,table:o,markUserEdit:s}){return e?(0,n.jsxs)(`div`,{className:`fixed inset-0 z-50`,children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Cerrar panel`,onClick:t,className:`sf-table-panel-scrim`}),(0,n.jsxs)(`aside`,{className:`sf-table-panel`,children:[(0,n.jsxs)(`div`,{className:`sf-table-panel__header`,children:[(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`p`,{className:`sf-table-panel__title`,children:`Sorting`}),(0,n.jsx)(`p`,{className:`sf-table-panel__subtitle`,children:`Orden por columna`})]}),(0,n.jsx)(`button`,{type:`button`,onClick:t,className:`sf-table-panel__close`,children:`Ocultar`})]}),(0,n.jsxs)(`section`,{className:`sf-table-panel__section`,children:[(0,n.jsxs)(`div`,{className:`sf-table-panel-section-header`,children:[(0,n.jsx)(`p`,{className:`sf-table-panel__section-title`,children:`Sorting`}),a.length>0&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>{s(),o.resetSorting()},className:`sf-table-panel-btn-sm`,children:`Clear`})]}),(0,n.jsxs)(`div`,{className:`sf-table-panel-stack sf-table-panel-stack--tight`,children:[(0,n.jsxs)(`select`,{className:`sf-table-panel-field`,defaultValue:``,onChange:e=>{let t=e.target.value;t&&(e.currentTarget.value=``,o.getColumn(t)?.getCanSort()&&(s(),o.setSorting(e=>e.some(e=>e.id===t)?e:[...e,{id:t,desc:!1}])))},children:[(0,n.jsx)(`option`,{value:``,disabled:!0,children:`+ Add sort`}),r.filter(e=>o.getColumn(e.id)?.getCanSort()).map(e=>(0,n.jsx)(`option`,{value:e.id,children:e.headerLabel},e.id))]}),a.length===0?(0,n.jsx)(`div`,{className:`sf-table-panel-empty`,children:`No hay ordenamiento`}):a.map(e=>(0,n.jsxs)(`div`,{className:`sf-table-panel-row`,children:[(0,n.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:i.get(e.id)??e.id}),(0,n.jsxs)(`select`,{className:`sf-table-panel-field sf-table-panel-field--compact`,value:e.desc?`desc`:`asc`,onChange:t=>{let n=t.target.value===`desc`;s(),o.setSorting(t=>t.map(t=>t.id===e.id?{...t,desc:n}:t))},children:[(0,n.jsx)(`option`,{value:`asc`,children:`asc`}),(0,n.jsx)(`option`,{value:`desc`,children:`desc`})]}),(0,n.jsx)(`button`,{type:`button`,className:`sf-table-panel-link`,onClick:()=>{s(),o.setSorting(t=>t.filter(t=>t.id!==e.id))},children:`Quitar`})]},e.id))]})]})]})]}):null}function rn({row:e,actions:r,open:i,onOpenChange:a}){let s=(0,t.useRef)(null),c=(0,t.useRef)(null),[l,u]=(0,t.useState)(null);return(0,t.useLayoutEffect)(()=>{if(!i||!s.current){u(null);return}let e=s.current.getBoundingClientRect();u({top:e.bottom+4,right:window.innerWidth-e.right})},[i]),(0,t.useEffect)(()=>{if(!i)return;let e=()=>a(!1),t=t=>{let n=t.target;s.current?.contains(n)||c.current?.contains(n)||e()},n=t=>{t.key===`Escape`&&e()};return window.addEventListener(`scroll`,e,!0),window.addEventListener(`resize`,e),document.addEventListener(`mousedown`,t),document.addEventListener(`keydown`,n),()=>{window.removeEventListener(`scroll`,e,!0),window.removeEventListener(`resize`,e),document.removeEventListener(`mousedown`,t),document.removeEventListener(`keydown`,n)}},[i,a]),(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(`button`,{ref:s,type:`button`,"aria-label":`Acciones`,className:`sf-table-row-action-trigger`,onClick:()=>a(!i),children:(0,n.jsx)(zt,{className:`h-4 w-4`,"aria-hidden":`true`})}),i&&l!=null&&(0,o.createPortal)((0,n.jsx)(`div`,{ref:c,className:`sf-table-row-action-menu sf-table-row-action-menu--floating min-w-[10rem]`,style:{top:l.top,right:l.right},role:`menu`,children:r.map(t=>(0,n.jsxs)(`button`,{type:`button`,role:`menuitem`,disabled:t.disabled,onClick:()=>{a(!1),t.onSelect(e)},children:[t.icon?(0,n.jsx)(t.icon,{className:`h-4 w-4 sf-table-row-action-menu__icon`,"aria-hidden":`true`}):null,(0,n.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t.label})]},t.label))}),document.body)]})}var an=(e,t)=>typeof e==`string`?e:typeof e==`number`?String(e):t,on=e=>`CustomTableState:${e}`,sn=[`sum`,`min`,`max`,`mean`,`median`,`count`];function cn(e,t){return e.map(e=>{let n=e.id??e.accessorKey;if(!n)throw Error(`CustomTable column requires either id or accessorKey`);return e.columns&&e.columns.length>0?{id:n,header:()=>e.header,columns:cn(e.columns,t),enableHiding:!1}:{id:n,...e.accessorKey?{accessorKey:e.accessorKey}:{accessorFn:e=>e[n]},header:()=>e.header,cell:t=>{let n=t.row.original,r=t.getValue();return e.cell?e.cell(r,n):String(r??``)},...e.aggregatedCell?{aggregatedCell:t=>{let n=t.getValue();return e.aggregatedCell(n)}}:null,aggregationFn:((...r)=>{let i=t?.[n]??e.aggregationFn;if(!i)return;if(typeof i==`function`)return i(...r);let[o,s,c]=r;return a.aggregationFns[i]?.(o,s,c)}),filterFn:`columnFilter`,enableGrouping:e.enableGrouping??!0,enableSorting:e.enableSorting??!0,enableHiding:e.enableHiding??!0,size:e.size}})}function ln(e){let t=[],n=e=>{if(e.columns&&e.columns.length>0){for(let t of e.columns)n(t);return}let r=e.id??e.accessorKey;r&&t.push({id:r,header:e.header})};for(let t of e)n(t);return t}var un=e=>{let t=e.dataTransfer.getData(`text/plain`);if(t)try{let e=JSON.parse(t);if(e?.type===`column`&&e.id)return e.id}catch{}},dn=(e,t,n)=>{if(t===n||t<0||t>=e.length||n<0||n>=e.length)return e;let r=e.slice(),[i]=r.splice(t,1);return r.splice(n,0,i),r},fn=(e,t)=>{if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0};function pn({id:e,stateStore:r,data:i,columns:o,grouping:s,defaultGrouping:c=[],enableGrouping:l=!0,enableSorting:u=!0,enableFiltering:d=!0,enablePagination:f=!1,pageSize:p=20,fillParentHeight:m=!1,maxBodyHeightPx:h,className:g=``,emptyMessage:_=`No hay datos`,title:v=`Tabla`,subtitle:y,sidePanel:b=!1,onGroupingChange:x,toolbarSlot:S,belowToolbarSlot:C,loading:w=!1,loadingMessage:T=`Cargando...`,isFetching:E=!1,error:D,onRetry:O,onRefresh:k,onRowClick:A,enableRowSelection:j=!0,getRowActions:M,getBulkActions:N,bulkActionsSlot:P,onSelectionChange:F,headerVariant:I=`default`,embedded:L=!1,controller:R}){let[ee,te]=(0,t.useState)(c),[z,ne]=(0,t.useState)(()=>c.length>0?{}:!0),[B,re]=(0,t.useState)([]),[ie,ae]=(0,t.useState)(``),[oe,se]=(0,t.useState)([]),[ce,le]=(0,t.useState)({}),[ue,de]=(0,t.useState)({}),[fe,pe]=(0,t.useState)(()=>ln(o).map(e=>e.id)),[V,me]=(0,t.useState)({}),[he,ge]=(0,t.useState)({pageIndex:0,pageSize:p}),[_e,ve]=(0,t.useState)(!1),[ye,be]=(0,t.useState)(!1),[xe,Se]=(0,t.useState)(!1),[Ce,we]=(0,t.useState)(null),[Te,Ee]=(0,t.useState)(!1),De=(0,t.useMemo)(()=>{let e=[];return j&&e.push(`__select`),M&&e.push(`__actions`),e},[j,M]),Oe=(0,t.useMemo)(()=>{if(e)return r??Wt()},[e,r]),ke=(0,t.useRef)(!1),H=(0,t.useRef)(!1),W=(0,t.useRef)(void 0),Ae=(0,t.useRef)(null),G=(0,t.useRef)(void 0),K=s??ee,je=(0,t.useMemo)(()=>y??(!l||K.length===0?null:`Agrupado por: ${K.join(` → `)}`),[y,l,K]),Me=I===`brand`,Ne=(0,t.useMemo)(()=>ln(o).map(e=>({id:e.id,headerLabel:an(e.header,e.id)})).filter(e=>!!e),[o]),Pe=(0,t.useMemo)(()=>{let e=new Map;for(let t of Ne)e.set(t.id,t.headerLabel);return e},[Ne]),Fe=(0,t.useMemo)(()=>{let e=new Map,t=ln(o);for(let n of t){let t=n.id,r=`string`;for(let e of i){let n=e[t];if(n!=null){r=typeof n==`number`?`number`:typeof n==`boolean`?`boolean`:`string`;break}}e.set(t,r)}return e},[o,i]),Ie=(0,t.useMemo)(()=>cn(o,V),[V,o]),Le=(0,t.useMemo)(()=>{let e=[];return j&&e.push(`__select`),e.push(...fe),M&&e.push(`__actions`),e},[fe,j,M]),Re=(0,t.useMemo)(()=>{let e={id:`__select`,size:44,enableSorting:!1,enableGrouping:!1,enableHiding:!1,header:({table:e})=>(0,n.jsx)(`input`,{type:`checkbox`,"aria-label":`Seleccionar pagina`,checked:e.getIsAllPageRowsSelected(),ref:t=>{t&&(t.indeterminate=e.getIsSomePageRowsSelected())},onChange:t=>e.toggleAllPageRowsSelected(t.target.checked)}),cell:({row:e})=>(0,n.jsx)(`input`,{type:`checkbox`,"aria-label":`Seleccionar fila`,checked:e.getIsSelected(),disabled:!e.getCanSelect(),ref:t=>{t&&(t.indeterminate=e.getIsSomeSelected())},onChange:e.getToggleSelectedHandler()})},t=M==null?null:{id:`__actions`,size:36,enableSorting:!1,enableGrouping:!1,enableHiding:!1,header:()=>null,cell:({row:e})=>{let t=M(e.original);if(!t||t.length===0)return null;let r=e.id;return(0,n.jsx)(rn,{row:e.original,actions:t,open:Ce===r,onOpenChange:e=>we(e?r:null)})}};return[...j?[e]:[],...Ie,...t?[t]:[]]},[Ie,j,M,Ce]),ze=(0,t.useMemo)(()=>{let e=Object.entries(V).sort(([e],[t])=>e.localeCompare(t));return JSON.stringify(e)},[V]),Be=(0,t.useMemo)(()=>{if(l)return(0,a.getGroupedRowModel)()},[l,ze]);(0,t.useEffect)(()=>{if(!e||!Oe)return;let t=!1;return(async()=>{let n=await Oe.getItem(on(e));if(t||!n){ke.current=!0;return}try{let e=JSON.parse(n);if(H.current)return;s==null&&Array.isArray(e.grouping)&&te(e.grouping),e.expanded!=null&&(e.expanded===!0&&Array.isArray(e.grouping)&&e.grouping.length>0?ne({}):ne(e.expanded)),e.sorting&&re(e.sorting),typeof e.globalFilter==`string`&&ae(e.globalFilter),e.columnFilters&&se(e.columnFilters),e.columnVisibility&&le(e.columnVisibility),e.columnOrder&&pe(e.columnOrder),e.columnAggregations&&me(e.columnAggregations),e.pagination&&ge(e.pagination)}catch{}finally{ke.current=!0}})(),()=>{t=!0}},[s,e,Oe]),(0,t.useEffect)(()=>{let e=ln(o).map(e=>e.id);pe(t=>{let n=t.filter(t=>e.includes(t));for(let t of e)n.includes(t)||n.push(t);return n})},[o]),(0,t.useEffect)(()=>{if(!e||!Oe||!ke.current)return;let t={grouping:s==null?K:void 0,expanded:z,sorting:B,globalFilter:ie,columnFilters:oe,columnVisibility:ce,columnOrder:fe,columnAggregations:V,pagination:he};return window.clearTimeout(W.current),W.current=window.setTimeout(()=>{Oe.setItem(on(e),JSON.stringify(t)).catch(()=>{})},250),()=>{window.clearTimeout(W.current)}},[oe,V,fe,ce,z,ie,s,e,he,K,Oe,B]);let q=(0,a.useReactTable)({data:i,columns:Re,debugTable:!1,state:{grouping:K,expanded:z,sorting:B,globalFilter:ie,columnFilters:oe,columnVisibility:ce,columnOrder:Le,pagination:he,rowSelection:ue},onGroupingChange:e=>{H.current=!0;let t=typeof e==`function`?e(K):e;te(e=>fn(e,t)?e:t),fn(K,t)||x?.(t)},onExpandedChange:e=>{H.current=!0,ne(e)},onSortingChange:e=>{H.current=!0,re(e)},onGlobalFilterChange:e=>{H.current=!0,ae(e)},onColumnFiltersChange:e=>{H.current=!0,se(e)},onColumnVisibilityChange:e=>{H.current=!0,le(e)},onRowSelectionChange:e=>{H.current=!0,de(e)},onColumnOrderChange:e=>{H.current=!0,pe((typeof e==`function`?e(Le):e).filter(e=>!De.includes(e)))},onPaginationChange:e=>{H.current=!0,ge(e)},autoResetExpanded:!1,autoResetPageIndex:!1,enableGrouping:l,enableSorting:u,paginateExpandedRows:K.length===0,groupedColumnMode:`reorder`,getCoreRowModel:(0,a.getCoreRowModel)(),getFilteredRowModel:d?(0,a.getFilteredRowModel)():void 0,getGroupedRowModel:Be,getSortedRowModel:u?(0,a.getSortedRowModel)():void 0,getExpandedRowModel:(0,a.getExpandedRowModel)(),getSubRows:e=>e.subRows,getPaginationRowModel:f?(0,a.getPaginationRowModel)():void 0,filterFns:{columnFilter:en},enableRowSelection:j});Ae.current=q;let J=q.getSelectedRowModel().flatRows.map(e=>e.original);return(0,t.useEffect)(()=>{J.length===0&&Ee(!1)},[J.length]),(0,t.useEffect)(()=>{q.setOptions(e=>({...e,columns:Re}))},[Re,q,ze]),(0,t.useEffect)(()=>{F?.(q.getSelectedRowModel().flatRows.map(e=>e.original))},[F,ue,q]),(0,t.useEffect)(()=>{R&&R.register({selection:{selectRowFn:e=>{let t=Array.isArray(e)?e:[e];for(let e of t){let t=q.getPrePaginationRowModel().flatRows.find(t=>t.original===e);t&&t.toggleSelected(!0)}},cleanSelectionFn:()=>{q.resetRowSelection()},getSelectedRowsFn:()=>q.getSelectedRowModel().flatRows.map(e=>e.original)},row:{selectRowFn:e=>{G.current=e,q.resetRowSelection();let t=q.getPrePaginationRowModel().flatRows.find(t=>t.original===e);t&&t.toggleSelected(!0)},cleanSelectionFn:()=>{G.current=void 0,q.resetRowSelection()},getSelectedRowFn:()=>G.current}})},[R,ue,q]),(0,t.useEffect)(()=>{l&&K.length!==0&&q.setGrouping(K)},[l,K,q,ze]),(0,n.jsxs)(`div`,{className:m?`flex h-full w-full min-h-0 flex-col`:`flex w-full min-h-0 flex-col`,style:m?void 0:{maxHeight:`100dvh`},children:[b&&_e&&(0,n.jsxs)(`div`,{className:`fixed inset-0 z-50`,children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Cerrar panel`,onClick:()=>ve(!1),className:`sf-table-panel-scrim`}),(0,n.jsxs)(`aside`,{className:`sf-table-panel`,children:[(0,n.jsxs)(`div`,{className:`sf-table-panel__header`,children:[(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`p`,{className:`sf-table-panel__title`,children:`Panel`}),(0,n.jsx)(`p`,{className:`sf-table-panel__subtitle`,children:`Columns, Group By, Aggregations`})]}),(0,n.jsx)(`button`,{type:`button`,onClick:()=>ve(!1),className:`sf-table-panel__close`,children:`Ocultar`})]}),(0,n.jsxs)(`div`,{className:`sf-table-panel-stack`,children:[(0,n.jsxs)(`section`,{className:`sf-table-panel__section`,children:[(0,n.jsx)(`p`,{className:`sf-table-panel__section-title`,children:`Columns`}),(0,n.jsx)(`div`,{className:`sf-table-panel-stack sf-table-panel-stack--tight`,children:fe.map(e=>q.getColumn(e)).filter(Boolean).map((e,t)=>{let r=e.id,i=e.getCanHide?.()??!0,a=e.getIsVisible(),o=Pe.get(r)??r;return(0,n.jsxs)(`div`,{draggable:!0,onDragStart:e=>{e.dataTransfer.setData(`text/plain`,JSON.stringify({type:`column`,id:r})),e.dataTransfer.effectAllowed=`move`},onDragOver:e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},onDrop:e=>{e.preventDefault();let n=un(e);if(!n||n===r)return;let i=fe.indexOf(n),a=t;i!==-1&&q.setColumnOrder(dn(fe,i,a))},className:`sf-table-column-row`,children:[(0,n.jsxs)(`span`,{className:`sf-table-column-row__label`,children:[(0,n.jsx)(Ut,{className:`sf-table-column-row__drag`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`min-w-0 truncate`,children:o})]}),(0,n.jsxs)(`label`,{className:`sf-table-column-row__toggle`,children:[(0,n.jsx)(`span`,{children:a?`on`:`off`}),(0,n.jsx)(`input`,{type:`checkbox`,disabled:!i,checked:a,onChange:()=>e.toggleVisibility()})]})]},r)})})]}),(0,n.jsxs)(`section`,{className:`sf-table-panel__section`,onDragOver:e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},onDrop:e=>{e.preventDefault();let t=un(e);if(!t)return;let n=q.getColumn(t);if(!n||!n.getCanGroup())return;n.getIsVisible()||n.toggleVisibility(!0);let r=K.includes(t)?K:[...K,t];q.setGrouping(r)},children:[(0,n.jsxs)(`div`,{className:`sf-table-panel-section-header`,children:[(0,n.jsx)(`p`,{className:`sf-table-panel__section-title`,children:`Group By`}),K.length>0&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>q.resetGrouping(),className:`sf-table-panel-btn-sm`,children:`Clear`})]}),(0,n.jsx)(`div`,{className:`sf-table-panel-stack sf-table-panel-stack--tight`,children:K.length===0?(0,n.jsx)(`div`,{className:`sf-table-panel-empty`,children:`Arrastra columnas aquí`}):K.map(e=>q.getColumn(e)?(0,n.jsxs)(`div`,{className:`sf-table-panel-row`,children:[(0,n.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:Pe.get(e)??e}),(0,n.jsx)(`button`,{type:`button`,onClick:()=>q.setGrouping(K.filter(t=>t!==e)),className:`sf-table-panel-link`,children:`Quitar`})]},e):null)})]}),(0,n.jsxs)(`section`,{className:`sf-table-panel__section`,onDragOver:e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},onDrop:e=>{e.preventDefault();let t=un(e);t&&q.getColumn(t)&&me(e=>(H.current=!0,e[t]?e:{...e,[t]:`sum`}))},children:[(0,n.jsxs)(`div`,{className:`sf-table-panel-section-header`,children:[(0,n.jsx)(`p`,{className:`sf-table-panel__section-title`,children:`Aggregations`}),Object.keys(V).length>0&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>{H.current=!0,me({})},className:`sf-table-panel-btn-sm`,children:`Clear`})]}),(0,n.jsxs)(`div`,{className:`sf-table-panel-stack sf-table-panel-stack--tight`,children:[(0,n.jsx)(`p`,{className:`sf-table-panel__subtitle`,children:`Nota: solo se ve el resultado cuando la tabla está agrupada.`}),Object.keys(V).length===0?(0,n.jsx)(`div`,{className:`sf-table-panel-empty`,children:`Arrastra columnas aquí`}):Object.entries(V).map(([e,t])=>(0,n.jsxs)(`div`,{className:`sf-table-panel-row`,children:[(0,n.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:Pe.get(e)??e}),(0,n.jsx)(`select`,{value:t,onChange:t=>{let n=t.target.value;H.current=!0,me(t=>({...t,[e]:n}))},className:`sf-table-panel-field sf-table-panel-field--compact`,children:sn.map(e=>(0,n.jsx)(`option`,{value:e,children:e},e))}),(0,n.jsx)(`button`,{type:`button`,onClick:()=>me(t=>{H.current=!0;let n={...t};return delete n[e],n}),className:`sf-table-panel-link`,children:`Quitar`})]},e))]})]})]})]})]}),b&&ye&&(0,n.jsx)(tn,{open:ye,onClose:()=>be(!1),columnsMeta:Ne,headerLabelById:Pe,columnTypeById:Fe,columnFilters:oe,table:q,markUserEdit:()=>{H.current=!0}}),b&&xe&&(0,n.jsx)(nn,{open:xe,onClose:()=>Se(!1),columnsMeta:Ne,headerLabelById:Pe,sorting:B,table:q,markUserEdit:()=>{H.current=!0}}),(0,n.jsxs)(`div`,{className:(0,U.default)(L?`sf-table--embedded w-full`:`sf-table-shell w-full`,g),children:[!L&&(0,n.jsxs)(`div`,{className:`sf-table-toolbar`,children:[(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`h2`,{className:`sf-table-title`,children:v}),je!=null&&je!==``&&(0,n.jsx)(`p`,{className:`sf-table-subtitle`,children:je})]}),(0,n.jsxs)(`div`,{className:`sf-table-toolbar-actions`,children:[(E||k)&&(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[E&&(0,n.jsxs)(`span`,{className:`sf-table-toolbar-status`,children:[(0,n.jsx)(`span`,{className:`sf-table-spinner sf-table-spinner--sm`,"aria-hidden":`true`}),`Actualizando`]}),k&&(0,n.jsx)(`button`,{type:`button`,"aria-label":`Refrescar`,className:`sf-table-toolbar-btn`,disabled:E,onClick:k,children:(0,n.jsx)(Rt,{className:`h-5 w-5`,"aria-hidden":`true`})})]}),b&&(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,n.jsx)(`button`,{type:`button`,onClick:()=>{be(!1),Se(!1),ve(!0)},"aria-label":`Abrir panel de tabla`,className:`sf-table-toolbar-btn`,children:(0,n.jsx)(Bt,{className:`h-5 w-5`,"aria-hidden":`true`})}),d&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>{ve(!1),Se(!1),be(!0)},"aria-label":`Abrir panel de filtros`,className:`sf-table-toolbar-btn`,children:(0,n.jsx)(Ht,{className:`h-5 w-5`,"aria-hidden":`true`})}),u&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>{ve(!1),be(!1),Se(!0)},"aria-label":`Abrir panel de ordenamiento`,className:`sf-table-toolbar-btn`,children:(0,n.jsx)(Vt,{className:`h-5 w-5`,"aria-hidden":`true`})})]}),d&&(0,n.jsx)(`input`,{value:ie,onChange:e=>{H.current=!0,ae(e.target.value)},placeholder:`Buscar...`,className:`sf-table-search`}),l&&K.length>0&&(0,n.jsx)(`div`,{className:`sf-table-group-hint`,children:`Agrupado`}),typeof S==`function`?S(J,{clearSelection:()=>q.resetRowSelection()}):S,j&&J.length>0&&(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(()=>{let e=N?.(J,{clearSelection:()=>q.resetRowSelection()})??[];return e.length===0?null:(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Acciones`,className:`sf-table-row-action-trigger`,onClick:()=>Ee(e=>!e),children:(0,n.jsx)(zt,{className:`h-4 w-4`,"aria-hidden":`true`})}),Te&&(0,n.jsx)(`div`,{className:`sf-table-row-action-menu min-w-[12.5rem]`,children:e.map(e=>(0,n.jsxs)(`button`,{type:`button`,disabled:e.disabled,onClick:()=>{Ee(!1),e.onSelect(J,{clearSelection:()=>q.resetRowSelection()})},children:[e.icon?(0,n.jsx)(`span`,{className:`sf-table-row-action-menu__icon`,children:e.icon}):null,(0,n.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label})]},e.label))})]})})(),P?.(J,{clearSelection:()=>q.resetRowSelection()})]})]})]}),D!=null&&(0,n.jsxs)(`div`,{className:`sf-table-error`,children:[(0,n.jsx)(`div`,{children:D}),O&&(0,n.jsx)(`button`,{type:`button`,className:`sf-table-error__retry`,onClick:O,children:`Reintentar`})]}),C!=null&&(0,n.jsx)(`div`,{className:`mb-3`,children:typeof C==`function`?C(J,{clearSelection:()=>q.resetRowSelection()}):C}),(0,n.jsx)(`div`,{className:`min-h-0 flex-1`,style:h==null?m?void 0:{maxHeight:`100dvh`}:{maxHeight:h},children:(0,n.jsx)(`div`,{className:`sf-table-scroll h-full`,children:(0,n.jsxs)(`table`,{className:(0,U.default)(`sf-table min-w-max w-full border-collapse text-sm`,Me&&`sf-table--brand-header`),children:[(0,n.jsx)(`thead`,{className:(0,U.default)(Me&&`sf-table__head--brand`),children:q.getHeaderGroups().map(e=>(0,n.jsx)(`tr`,{children:e.headers.map(e=>(0,n.jsx)(`th`,{colSpan:e.colSpan,style:e.colSpan>1?void 0:{width:e.getSize()},className:(0,U.default)(Me&&`sf-table__th--brand`,e.column.id===`__actions`&&`right-0 z-2`),children:e.isPlaceholder?null:(0,n.jsx)(`div`,{className:`flex items-center gap-2`,children:e.column.getCanSort()?(0,n.jsxs)(`button`,{type:`button`,onClick:e.column.getToggleSortingHandler(),className:`font-semibold`,children:[(0,a.flexRender)(e.column.columnDef.header,e.getContext()),e.column.getIsSorted()===`asc`&&` ▲`,e.column.getIsSorted()===`desc`&&` ▼`]}):(0,n.jsx)(`div`,{className:`font-semibold`,children:(0,a.flexRender)(e.column.columnDef.header,e.getContext())})})},e.id))},e.id))}),(0,n.jsx)(`tbody`,{children:w?(0,n.jsx)(`tr`,{children:(0,n.jsx)(`td`,{colSpan:q.getAllLeafColumns().length,className:`sf-table-loading-cell`,children:(0,n.jsxs)(`div`,{className:`sf-table-loading-cell__inner`,children:[(0,n.jsx)(`span`,{className:`sf-table-spinner`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{children:T})]})})}):q.getRowModel().rows.length===0?(0,n.jsx)(`tr`,{children:(0,n.jsx)(`td`,{colSpan:q.getAllLeafColumns().length,className:`sf-table-empty`,children:_})}):(0,n.jsx)(n.Fragment,{children:q.getRowModel().rows.map(e=>(0,n.jsx)(`tr`,{className:(0,U.default)(`sf-table-row`,e.getIsGrouped()&&`sf-table-row--group`,A&&!e.getIsGrouped()&&`sf-table-row--clickable`),onClick:A&&!e.getIsGrouped()?t=>{t.target.closest(`button, a, input, select, label, [role="button"]`)||A(e.original)}:void 0,children:e.getVisibleCells().map(t=>{let r=t.getIsGrouped(),i=t.getIsAggregated(),o=t.getIsPlaceholder();return(0,n.jsx)(`td`,{className:(0,U.default)(t.column.id===`__actions`&&`sf-table-td--sticky`),children:r?(0,n.jsxs)(`button`,{type:`button`,onClick:e.getToggleExpandedHandler(),className:`sf-table-group-toggle`,children:[(0,n.jsx)(`span`,{children:e.getIsExpanded()?`▾`:`▸`}),(0,n.jsx)(`span`,{children:(0,a.flexRender)(t.column.columnDef.cell,t.getContext())}),(0,n.jsxs)(`span`,{className:`sf-table-group-count`,children:[`(`,e.subRows.length,`)`]})]}):i?V[t.column.id]==null?null:(0,a.flexRender)(t.column.columnDef.aggregatedCell??t.column.columnDef.cell,t.getContext()):o?null:(0,a.flexRender)(t.column.columnDef.cell,t.getContext())},t.id)})},e.id))})})]})})}),f&&(0,n.jsxs)(`div`,{className:`sf-table-footer`,children:[(0,n.jsxs)(`div`,{className:`sf-table-footer__meta`,children:[q.getState().pagination.pageIndex+1,` / `,Math.max(1,q.getPageCount())]}),(()=>{let e=q.getPrePaginationRowModel().rows.length,t=q.getState().pagination.pageSize;return(0,n.jsx)(Yt,{pageData:{totalItems:e,limitItems:t,offsetItems:q.getState().pagination.pageIndex*t},maxItemsRange:Math.max(1,e),onChange:(e,t)=>{let n=Math.max(1,e),r=Math.floor(Math.max(0,t)/n);q.setPageSize(n),q.setPageIndex(r)}})})()]})]})]})}function mn({queryKey:e,queryFn:t,queryOptions:r,loadingMessage:i=`Cargando...`,errorMessage:a,emptyMessage:o=`No hay datos`,...c}){let l=(0,s.useQuery)({queryKey:e,queryFn:t,...r});return(0,n.jsx)(pn,{...c,loading:l.isLoading,loadingMessage:i,isFetching:l.isFetching,error:l.isError?a?a(l.error):`Error cargando datos`:void 0,onRetry:()=>void l.refetch(),onRefresh:()=>void l.refetch(),data:l.data??[],emptyMessage:o})}var hn=e=>{let n=(0,t.useRef)(void 0),r=(0,t.useRef)(void 0),i=(0,t.useRef)(void 0),a=(0,t.useRef)(void 0),o=(0,t.useRef)(void 0),s=(0,t.useRef)(void 0);return{register:e=>{e.selection!=null&&(n.current=e.selection.selectRowFn,r.current=e.selection.cleanSelectionFn,i.current=e.selection.getSelectedRowsFn),e.row!=null&&(a.current=e.row.selectRowFn,o.current=e.row.cleanSelectionFn,s.current=e.row.getSelectedRowFn)},events:{selection:{changeRowsSelection:t=>e?.selection?.onChange?.(t)},row:{changeRowSelection:t=>e?.row?.onChange?.(t)}},selection:{appendSelectRows:e=>n.current?.(e),replaceSelection:e=>{r.current?.(),setTimeout(()=>n.current?.(e),2)},cleanSelection:()=>r.current?.(),getSelectedRows:()=>i.current?.()??[]},row:{selectRow:e=>a.current?.(e),replaceSelection:e=>{o.current?.(),setTimeout(()=>a.current?.(e),2)},cleanSelection:()=>o.current?.(),getSelectedRow:()=>s.current?.()}}},gn=(e,t,n)=>{let r=[...e],[i]=r.splice(t,1);return r.splice(n,0,i),r},_n=(e,t)=>{if(t?.length){let n=new Set(e.map(e=>e.id)),r=t.filter(e=>n.has(e)),i=e.map(e=>e.id).filter(e=>!r.includes(e));return[...r,...i]}return e.map(e=>e.id)},vn=e=>{let t={};for(let n of e)n.defaultVisible===!1&&(t[n.id]=!1);return t},yn=e=>{if(!e||typeof window>`u`)return null;try{let t=window.localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}},bn=({columns:e,defaultOrder:n,persistKey:r})=>{let i=(0,t.useMemo)(()=>yn(r),[r]),[a,o]=(0,t.useState)(()=>i?.columnOrder?.length?_n(e,i.columnOrder):_n(e,n)),[s,c]=(0,t.useState)(()=>i?.columnVisibility?i.columnVisibility:vn(e)),l=(0,t.useMemo)(()=>_n(e,a),[e,a]);(0,t.useEffect)(()=>{!r||typeof window>`u`||window.localStorage.setItem(r,JSON.stringify({columnOrder:l,columnVisibility:s}))},[s,l,r]);let u=(0,t.useMemo)(()=>new Map(e.map(e=>[e.id,e.label])),[e]),d=(0,t.useMemo)(()=>new Map(e.map(e=>[e.id,e.canHide!==!1])),[e]);return{columnOrder:l,columnVisibility:s,setColumnOrder:o,setColumnVisibility:c,items:(0,t.useMemo)(()=>l.filter(e=>u.has(e)).map(e=>({id:e,label:u.get(e)??e,visible:s[e]!==!1,canHide:d.get(e)??!0})),[d,s,l,u]),toggleVisibility:(0,t.useCallback)(e=>{c(t=>{let n=t[e]!==!1;return{...t,[e]:!n}})},[]),setVisible:(0,t.useCallback)((e,t)=>{c(n=>({...n,[e]:t}))},[]),reorder:(0,t.useCallback)((t,n)=>{o(r=>gn(_n(e,r),t,n))},[e]),reset:(0,t.useCallback)(()=>{o(_n(e,n)),c(vn(e))},[e,n])}},xn=e=>{try{return JSON.parse(e.dataTransfer.getData(`text/plain`)).id??null}catch{return null}},Sn=({open:e,onClose:r,items:i,onReorder:a,onToggleVisibility:s,onReset:c,title:l=`Columnas`,subtitle:u=`Visibilidad y orden`,className:d})=>{let f=(0,t.useId)();return(0,t.useEffect)(()=>{if(!e)return;let t=e=>{e.key===`Escape`&&r()};document.addEventListener(`keydown`,t);let n=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.removeEventListener(`keydown`,t),document.body.style.overflow=n}},[e,r]),e?(0,o.createPortal)((0,n.jsxs)(`div`,{className:(0,U.default)(`fixed inset-0 z-50`,d),children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Cerrar panel`,onClick:r,className:`sf-table-panel-overlay`}),(0,n.jsxs)(`aside`,{role:`dialog`,"aria-modal":`true`,"aria-labelledby":f,className:`sf-table-panel`,children:[(0,n.jsxs)(`div`,{className:`sf-table-panel__header`,children:[(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`p`,{id:f,className:`sf-table-panel__title`,children:l}),(0,n.jsx)(`p`,{className:`sf-table-panel__subtitle`,children:u})]}),(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[c&&(0,n.jsx)(`button`,{type:`button`,onClick:c,className:`sf-table-panel__close`,children:`Reset`}),(0,n.jsx)(`button`,{type:`button`,onClick:r,className:`sf-table-panel__close`,children:`Ocultar`})]})]}),(0,n.jsxs)(`section`,{className:`sf-table-panel__section`,children:[(0,n.jsx)(`p`,{className:`sf-table-panel__section-title`,children:`Columnas visibles`}),(0,n.jsx)(`div`,{className:`grid gap-1`,children:i.map((e,t)=>(0,n.jsxs)(`div`,{draggable:!0,onDragStart:t=>{t.dataTransfer.setData(`text/plain`,JSON.stringify({id:e.id})),t.dataTransfer.effectAllowed=`move`},onDragOver:e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},onDrop:n=>{n.preventDefault();let r=xn(n);if(!r||r===e.id)return;let o=i.findIndex(e=>e.id===r);o!==-1&&a(o,t)},className:`sf-table-column-row`,children:[(0,n.jsxs)(`span`,{className:`sf-table-column-row__label`,children:[(0,n.jsx)(Ut,{className:`sf-table-column-row__drag`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`truncate`,children:e.label})]}),(0,n.jsxs)(`label`,{className:`sf-table-column-row__toggle`,children:[(0,n.jsx)(`span`,{children:e.visible?`on`:`off`}),(0,n.jsx)(`input`,{type:`checkbox`,"aria-label":`Mostrar columna ${e.label}`,disabled:!e.canHide,checked:e.visible,onChange:()=>s(e.id)})]})]},e.id))})]})]})]}),document.body):null},Cn=({filters:e,onRemove:t,onClearAll:r,label:i=`Filtros:`,emptyLabel:a=`Sin filtros activos`,className:o})=>(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-active-filters`,o),role:`list`,"aria-label":`Filtros activos`,children:[(0,n.jsx)(`span`,{className:`sf-active-filters__label`,children:i}),e.length===0?(0,n.jsx)(`span`,{className:`sf-active-filters__empty`,children:a}):(0,n.jsxs)(n.Fragment,{children:[e.map(e=>(0,n.jsxs)(`span`,{className:`sf-active-filters__chip`,role:`listitem`,children:[(0,n.jsxs)(`span`,{children:[(0,n.jsxs)(`span`,{className:`sf-active-filters__chip-label`,children:[e.label,`:`]}),` `,e.valueLabel]}),(0,n.jsx)(`button`,{type:`button`,className:`sf-active-filters__chip-remove`,"aria-label":`Quitar filtro ${e.label}`,onClick:()=>t(e.id),children:`×`})]},e.id)),r&&e.length>1&&(0,n.jsx)(`button`,{type:`button`,className:`sf-active-filters__clear`,onClick:r,children:`Limpiar todo`})]})]}),wn={contains:`contiene`,equals:`igual`,notContains:`no contiene`,startsWith:`empieza con`,endsWith:`termina con`,eq:`=`,gt:`>`,gte:`≥`,lt:`<`,lte:`≤`,is:`es`},Tn=e=>{if(e.type===`string`)return`${wn[e.op]??e.op} "${e.value}"`;if(e.type===`number`){let t=wn[e.op]??e.op;return e.value==null?t:`${t} ${e.value}`}return e.value==null?`cualquiera`:e.value?`sí`:`no`},En=(e,t)=>{let n=e=>t instanceof Map?t.get(e)??e:t[e]??e;return e.filter(e=>Qt(e.value)).map(e=>({id:e.id,label:n(e.id),valueLabel:Tn(e.value)}))},Dn=({data:e,columns:r,rowKey:i,onChange:a,className:o})=>{let[s,c]=(0,t.useState)(null),[l,u]=(0,t.useState)(null),d=(0,t.useMemo)(()=>e.map((e,t)=>({row:e,originalIndex:t,rowId:String(e[i])})),[e,i]),f=(0,t.useMemo)(()=>{if(!l)return d;let e=[...d];return e.sort((e,t)=>{let n=e.row[l.columnId],r=t.row[l.columnId];if(typeof n==`number`&&typeof r==`number`)return l.direction===`asc`?n-r:r-n;let i=String(n??``).toLowerCase(),a=String(r??``).toLowerCase(),o=i.localeCompare(a,`es`);return l.direction===`asc`?o:-o}),e},[d,l]),p=(t,n,r,i)=>{let o=e.map((e,n)=>{if(n!==t)return e;let a=e[r];if(typeof a==`number`){let t=Number(i);return{...e,[r]:Number.isFinite(t)?t:a}}return{...e,[r]:i}});a?.(o),c(e=>e?.rowId===n&&e.columnId===r?null:e)};return(0,n.jsx)(`div`,{className:(0,U.default)(`sf-editable-grid-wrap`,o),children:(0,n.jsxs)(`table`,{className:`sf-editable-grid`,children:[(0,n.jsx)(`thead`,{children:(0,n.jsx)(`tr`,{children:r.map(e=>(0,n.jsx)(`th`,{className:(0,U.default)(`sf-editable-grid__th`,e.align===`right`&&`sf-editable-grid__th--right`,e.sortable!==!1&&`cursor-pointer select-none`),role:e.sortable===!1?void 0:`button`,tabIndex:e.sortable===!1?void 0:0,"aria-label":e.sortable===!1?void 0:`Ordenar por ${e.header}`,onClick:()=>{e.sortable!==!1&&u(t=>!t||t.columnId!==e.id?{columnId:e.id,direction:`asc`}:t.direction===`asc`?{columnId:e.id,direction:`desc`}:null)},onKeyDown:t=>{e.sortable!==!1&&(t.key!==`Enter`&&t.key!==` `||(t.preventDefault(),u(t=>!t||t.columnId!==e.id?{columnId:e.id,direction:`asc`}:t.direction===`asc`?{columnId:e.id,direction:`desc`}:null)))},children:(0,n.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[e.header,l?.columnId===e.id&&(0,n.jsx)(`span`,{"aria-hidden":`true`,children:l.direction===`asc`?`▲`:`▼`})]})},e.id))})}),(0,n.jsx)(`tbody`,{children:f.map(({row:e,originalIndex:t,rowId:i})=>{let a=i;return(0,n.jsx)(`tr`,{className:`sf-editable-grid__row`,children:r.map(r=>{let i=e[r.id],o=s?.rowId===a&&s.columnId===r.id,l=r.editable!==!1,u=()=>{l&&c({rowId:a,columnId:r.id})};return(0,n.jsx)(`td`,{className:(0,U.default)(`sf-editable-grid__td`,r.align===`right`&&`sf-editable-grid__td--right`,l&&`sf-editable-grid__td--editable`),role:l?`button`:void 0,tabIndex:l?0:void 0,"aria-label":l?`Editar ${r.header}`:void 0,onDoubleClick:u,onKeyDown:e=>{!l||o||e.key!==`Enter`&&e.key!==` `&&e.key!==`F2`||(e.preventDefault(),u())},children:o?(0,n.jsx)(`input`,{autoFocus:!0,defaultValue:String(i??``),className:G({small:!0}),"aria-label":`Valor de ${r.header}`,onBlur:e=>p(t,a,r.id,e.target.value),onKeyDown:e=>{e.key===`Enter`&&p(t,a,r.id,e.currentTarget.value),e.key===`Escape`&&c(null)}}):String(i??``)},r.id)})},a)})})]})})},On=(e,t,n)=>{let r=e.includes(t);return n===`single`?r?[]:[t]:r?e.filter(e=>e!==t):[...e,t]},kn=e=>e.content?e.content:e.table?(0,n.jsx)(pn,{embedded:!0,data:e.table.data,columns:e.table.columns,headerVariant:e.table.headerVariant??`default`,enableRowSelection:!1,enableGrouping:!1,enableSorting:!1,enableFiltering:!1,enablePagination:e.table.enablePagination??!1,pageSize:e.table.pageSize,emptyMessage:e.table.emptyMessage}):null,An=({items:e,type:r=`single`,className:i,ariaLabel:a=`Sección expandible`})=>{let[o,s]=(0,t.useState)(()=>e.filter(e=>e.defaultOpen).map(e=>e.id)),c=(0,t.useCallback)((e,t)=>{t||s(t=>On(t,e,r))},[r]);return(0,n.jsx)(`section`,{className:(0,U.default)(`sf-expandable-table-section`,i),"aria-label":a,children:e.map(e=>{let t=o.includes(e.id),r=kn(e);return(0,n.jsxs)(`div`,{className:`sf-expandable-table-section__item`,children:[(0,n.jsxs)(`button`,{type:`button`,className:(0,U.default)(`sf-expandable-table-section__trigger`,t&&`sf-expandable-table-section__trigger--open`),"aria-expanded":t,disabled:e.disabled,onClick:()=>c(e.id,e.disabled),children:[(0,n.jsx)(`span`,{className:`sf-expandable-table-section__header`,children:e.header}),e.trailing&&(0,n.jsx)(`span`,{className:`sf-expandable-table-section__trailing`,children:e.trailing}),(0,n.jsx)(`span`,{className:`sf-expandable-table-section__chevron`,"aria-hidden":`true`,children:`▾`})]}),t&&r!=null&&(0,n.jsx)(`div`,{className:`sf-expandable-table-section__content`,children:r})]},e.id)})})},jn=({children:e,className:t})=>(0,n.jsx)(`div`,{className:(0,U.default)(`flex flex-wrap items-center gap-3`,t),children:e}),Mn=({selected:e=!1,small:t=!1,icon:r,label:i,loading:a=!1,disabled:o,className:s,type:c=`button`,...l})=>(0,n.jsxs)(`button`,{type:c,disabled:o||a,"aria-label":l[`aria-label`]??i,"aria-busy":a||void 0,className:(0,U.default)(`sf-toolbar-btn`,t?`sf-toolbar-btn--sm`:`sf-toolbar-btn--md`,e?`sf-toolbar-btn--selected`:`sf-toolbar-btn--idle`,s),...l,children:[a?(0,n.jsx)(V,{className:(0,U.default)(`animate-spin`,t?`h-3.5 w-3.5`:`h-4 w-4`),"aria-hidden":`true`}):(0,n.jsx)(`span`,{className:`sf-toolbar-btn__icon`,children:r}),i&&(0,n.jsx)(`span`,{className:`sf-toolbar-btn__label`,children:i})]}),Nn=({onEdit:e,onDelete:t,disabled:r=!1,editLabel:i=`Editar`,deleteLabel:a=`Eliminar`,className:o})=>(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-row-actions`,o),children:[(0,n.jsx)(`button`,{type:`button`,disabled:r||!e,onClick:e,"aria-label":i,title:i,className:`sf-row-action sf-row-action--edit`,children:(0,n.jsx)(ve,{className:`h-4 w-4`,"aria-hidden":`true`})}),(0,n.jsx)(`button`,{type:`button`,disabled:r||!t,onClick:t,"aria-label":a,title:a,className:`sf-row-action sf-row-action--delete`,children:(0,n.jsx)(ae,{className:`h-4 w-4`,"aria-hidden":`true`})})]}),Pn=(0,t.memo)(({cancelLabel:e=`Cancelar`,saveLabel:t=`Guardar`,onCancel:r,onSave:i,cancelLoading:a=!1,saveLoading:o=!1,hideSave:s=!1,className:c})=>(0,n.jsxs)(jn,{className:(0,U.default)(`justify-end`,c),children:[(0,n.jsx)(Z,{type:`button`,variant:`outline`,loading:a,icon:a?void 0:(0,n.jsx)(B,{className:`h-4 w-4`,"aria-hidden":`true`}),onClick:r,children:e}),!s&&(0,n.jsx)(Z,{type:`button`,loading:o,icon:o?void 0:(0,n.jsx)(ce,{className:`h-4 w-4`,"aria-hidden":`true`}),onClick:i,children:t})]})),Fn={primary:X({variant:`primary`,size:`sm`}),secondary:X({variant:`secondary`,size:`sm`}),outline:X({variant:`outline`,size:`sm`}),danger:X({variant:`danger`,size:`sm`}),ghost:X({variant:`ghost`,size:`sm`}),accent:X({variant:`accent`,size:`sm`}),success:(0,U.default)(X({size:`sm`}),`sf-btn--success`),warning:(0,U.default)(X({size:`sm`}),`sf-btn--warning`),info:(0,U.default)(X({size:`sm`}),`sf-btn--info`)},In=({children:e,loading:t=!1,disabled:r,icon:i,variant:a=`primary`,className:o,type:s=`button`,...c})=>(0,n.jsxs)(`button`,{type:s,disabled:r||t,"aria-busy":t||void 0,className:(0,U.default)(Fn[a],o),...c,children:[e,t?(0,n.jsx)(V,{className:`h-3.5 w-3.5 animate-spin`,"aria-hidden":`true`}):i]}),Ln={info:`ℹ`,success:`✓`,warning:`⚠`,danger:`✕`},Rn=({variant:e=`info`,title:r,message:i,dismissible:a=!1,onDismiss:o,icon:s,className:c})=>{let[l,u]=(0,t.useState)(!0);return l?(0,n.jsxs)(`div`,{role:`alert`,className:(0,U.default)(`sf-alert`,`sf-alert--${e}`,c),children:[(0,n.jsx)(`span`,{className:`sf-alert__icon`,"aria-hidden":`true`,children:s??Ln[e]}),(0,n.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[r&&(0,n.jsx)(`p`,{className:`sf-alert__title`,children:r}),(0,n.jsx)(`div`,{className:`sf-alert__message`,children:i})]}),a&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>{u(!1),o?.()},"aria-label":`Cerrar alerta`,className:`sf-alert__dismiss`,children:`✕`})]}):null},zn=({message:e=`No se encontraron resultados.`,actionLabel:t,onAction:r,icon:i})=>(0,n.jsxs)(`div`,{className:`sf-empty-state`,children:[i??(0,n.jsx)(`svg`,{className:`sf-empty-state__icon`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,"aria-hidden":`true`,children:(0,n.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.5,d:`M9.172 16.172a4 4 0 015.656 0M9 10h.01M15 10h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z`})}),(0,n.jsx)(`p`,{className:`sf-empty-state__message`,children:e}),t&&r&&(0,n.jsx)(Z,{onClick:r,children:t})]}),Bn=e=>typeof e==`string`?e:e instanceof DOMException&&e.name===`AbortError`?`La solicitud fue cancelada.`:e instanceof Error?e.message:`No se pudo conectar al servidor. Verifica tu conexión.`,Vn=({error:e,message:t,onRetry:r,retryLabel:i=`Reintentar`})=>{let a=t??(e==null?`Ocurrió un error inesperado.`:Bn(e));return(0,n.jsxs)(`div`,{className:`sf-error-view`,children:[(0,n.jsx)(`svg`,{className:`sf-error-view__icon`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,"aria-hidden":`true`,children:(0,n.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.5,d:`M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z`})}),(0,n.jsx)(`p`,{className:`sf-error-view__message`,children:a}),r&&(0,n.jsx)(Z,{onClick:r,children:i})]})},Hn={xs:`sf-spinner--xs`,sm:`sf-spinner--sm`,md:`sf-spinner--md`,lg:`sf-spinner--lg`},Un=({size:e=`md`,className:t})=>(0,n.jsxs)(`div`,{role:`status`,className:(0,U.default)(`inline-flex`,t),children:[(0,n.jsxs)(`svg`,{"aria-hidden":`true`,className:(0,U.default)(`sf-spinner animate-spin`,Hn[e]),viewBox:`0 0 100 101`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,n.jsx)(`path`,{d:`M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z`,fill:`currentColor`}),(0,n.jsx)(`path`,{d:`M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z`,fill:`currentFill`})]}),(0,n.jsx)(`span`,{className:`sr-only`,children:`Cargando...`})]}),Wn=({message:e=`Cargando...`})=>(0,n.jsxs)(`div`,{className:`sf-loading-view`,role:`status`,"aria-live":`polite`,children:[(0,n.jsx)(Un,{size:`lg`}),(0,n.jsx)(`p`,{className:`sf-loading-view__message`,children:e})]}),Gn=({children:e,isError:t=!1,isLoading:r=!1,error:i,onRetry:a,className:o})=>{let s=t&&!r;return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-retry-block`,o),"aria-busy":r||void 0,children:[e,r&&(0,n.jsx)(`div`,{className:`sf-retry-block__overlay`,role:`status`,"aria-live":`polite`,children:(0,n.jsx)(Un,{size:`lg`})}),s&&(0,n.jsx)(`div`,{className:`sf-retry-block__overlay sf-retry-block__overlay--error`,role:`alert`,children:(0,n.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-4 text-center`,children:[(0,n.jsxs)(`button`,{type:`button`,onClick:a,disabled:!a,className:`sf-retry-block__retry`,children:[(0,n.jsx)(le,{className:`h-8 w-8`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`sf-retry-block__retry-label`,children:`Reintentar`})]}),i?.message&&(0,n.jsx)(`p`,{className:`sf-retry-block__error-detail`,children:i.message})]})})]})},Kn=({title:e=`Acceso denegado`,message:t=`No tienes permisos para acceder a esta sección.`,onBack:r,backLabel:i=`Volver atrás`,className:a})=>(0,n.jsx)(`div`,{className:(0,U.default)(`sf-access-denied`,a),role:`alert`,"aria-live":`assertive`,children:(0,n.jsxs)(`div`,{className:`sf-access-denied__card`,children:[(0,n.jsx)(`h2`,{className:`sf-access-denied__title`,children:e}),(0,n.jsx)(`p`,{className:`sf-access-denied__message`,children:t}),r&&(0,n.jsx)(`button`,{type:`button`,onClick:r,className:`sf-access-denied__back`,children:i})]})}),qn={text:`sf-skeleton--text`,block:`sf-skeleton--block`,circle:`sf-skeleton--circle`},Jn=({variant:e=`text`,width:t,height:r,className:i})=>(0,n.jsx)(`div`,{"aria-hidden":`true`,className:(0,U.default)(`sf-skeleton`,qn[e],i),style:{width:t,height:r}}),Yn=(0,t.createContext)(null),Xn={default:`●`,info:`ℹ`,success:`✓`,warning:`⚠`,danger:`✕`},Zn=()=>typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`toast-${Date.now()}-${Math.random().toString(36).slice(2,9)}`,Qn=({toast:e,onDismiss:t})=>{let r=e.variant??`default`;return(0,n.jsxs)(`div`,{role:r===`danger`||r===`warning`?`alert`:`status`,className:(0,U.default)(`sf-toast`,`sf-toast--${r}`),children:[(0,n.jsx)(`span`,{className:`sf-toast__icon`,"aria-hidden":`true`,children:Xn[r]}),(0,n.jsxs)(`div`,{className:`sf-toast__body`,children:[e.title&&(0,n.jsx)(`p`,{className:`sf-toast__title`,children:e.title}),e.message&&(0,n.jsx)(`div`,{className:`sf-toast__message`,children:e.message}),e.action&&(0,n.jsx)(`div`,{className:`sf-toast__actions`,children:(0,n.jsx)(`button`,{type:`button`,className:`sf-toast__action`,onClick:e.action.onClick,children:e.action.label})})]}),(0,n.jsx)(`button`,{type:`button`,className:`sf-toast__close`,"aria-label":`Cerrar`,onClick:()=>t(e.id),children:`✕`})]})},$n=({toasts:e,position:t,onDismiss:r})=>e.length===0?null:(0,o.createPortal)((0,n.jsx)(`div`,{className:(0,U.default)(`sf-toast-viewport`,`sf-toast-viewport--${t}`),"aria-live":`polite`,children:e.map(e=>(0,n.jsx)(Qn,{toast:e,onDismiss:r},e.id))}),document.body),er=({children:e,position:r=`bottom-right`})=>{let[i,a]=(0,t.useState)([]),o=(0,t.useRef)(new Map),s=(0,t.useCallback)(e=>{let t=o.current.get(e);t&&(clearTimeout(t),o.current.delete(e)),a(t=>t.filter(t=>t.id!==e))},[]),c=(0,t.useCallback)(()=>{o.current.forEach(e=>clearTimeout(e)),o.current.clear(),a([])},[]),l=(0,t.useCallback)(e=>{let t=e.id??Zn(),n={...e,id:t},r=o.current.get(t);r&&(clearTimeout(r),o.current.delete(t)),a(e=>[...e.filter(e=>e.id!==t),n]);let i=e.duration??4e3;if(i>0){let e=setTimeout(()=>s(t),i);o.current.set(t,e)}return t},[s]);(0,t.useEffect)(()=>()=>{o.current.forEach(e=>clearTimeout(e)),o.current.clear()},[]);let u=(0,t.useMemo)(()=>({toast:l,dismiss:s,dismissAll:c}),[l,s,c]);return(0,n.jsxs)(Yn.Provider,{value:u,children:[e,(0,n.jsx)($n,{toasts:i,position:r,onDismiss:s})]})},tr=()=>{let e=(0,t.useContext)(Yn);if(!e)throw Error(`useToast debe usarse dentro de ToastProvider`);return e},nr={sm:`sf-modal--sm`,md:`sf-modal--md`,lg:`sf-modal--lg`,xl:`sf-modal--xl`},rr=({open:e,onClose:r,title:i,subtitle:a,icon:s,children:c,footer:l,subheader:u,size:d=`md`,maxWidth:f,width:p,headerVariant:m=`default`,hideHeader:h=!1,closeOnOverlay:g=!0,className:_})=>{let v=(0,t.useId)(),y=p!=null||f!=null?{width:p,maxWidth:f}:void 0,b=m===`brand`,x=m===`dark`,S=m===`danger`,C=b||x||S;return(0,t.useEffect)(()=>{if(!e)return;let t=e=>{e.key===`Escape`&&r()};document.addEventListener(`keydown`,t);let n=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.removeEventListener(`keydown`,t),document.body.style.overflow=n}},[e,r]),e?(0,o.createPortal)((0,n.jsxs)(`div`,{className:`sf-modal-root`,children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Cerrar modal`,className:`sf-modal-overlay`,onClick:g?r:void 0}),(0,n.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-labelledby":!h&&i?v:void 0,className:(0,U.default)(`sf-modal`,nr[d],_),style:y,children:[!h&&(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-modal-header`,b&&`sf-modal-header--brand`,x&&`sf-modal-header--brand sf-modal-header--dark`,S&&`sf-modal-header--brand sf-modal-header--danger`),children:[(0,n.jsxs)(`div`,{className:`sf-modal-header__main`,children:[s&&(0,n.jsx)(`span`,{className:`sf-modal-header__icon`,"aria-hidden":`true`,children:s}),(0,n.jsxs)(`div`,{className:`sf-modal-header__text`,children:[i?(0,n.jsx)(`h2`,{id:v,className:`sf-modal-title`,children:i}):(0,n.jsx)(`span`,{}),a!=null&&a!==``&&(0,n.jsx)(`p`,{className:`sf-modal-header__subtitle`,children:a})]})]}),(0,n.jsx)(`button`,{type:`button`,onClick:r,"aria-label":`Cerrar`,className:`sf-modal-close`,children:(0,n.jsx)(B,{className:`h-5 w-5`,"aria-hidden":`true`})})]}),u&&(0,n.jsx)(`div`,{className:`sf-modal-subheader`,children:u}),(0,n.jsx)(`div`,{className:`sf-modal-body`,children:c}),l&&(0,n.jsx)(`div`,{className:(0,U.default)(`sf-modal-footer`,C&&`sf-modal-footer--brand`),children:l})]})]}),document.body):null},ir=e=>{let[n,r]=(0,t.useState)({open:!1}),i=(0,t.useCallback)(t=>{r({open:!0,data:t}),e?.onOpen?.()},[e]),a=(0,t.useCallback)(()=>{r(e=>({...e,open:!1})),e?.onClose?.()},[e]);return{isOpen:n.open,open:i,close:a,data:n.data}},ar=({open:e,title:t=`Confirmar acción`,message:r=`¿Estás seguro de continuar?`,confirmLabel:i=`Confirmar`,cancelLabel:a=`Cancelar`,onConfirm:o,onCancel:s,loading:c=!1,danger:l=!0})=>(0,n.jsx)(rr,{open:e,onClose:s,title:t,size:`sm`,footer:(0,n.jsxs)(jn,{className:`justify-end`,children:[(0,n.jsx)(Z,{variant:`outline`,onClick:s,disabled:c,children:a}),(0,n.jsx)(Z,{variant:l?`danger`:`primary`,onClick:o,loading:c,children:i})]}),children:(0,n.jsx)(`p`,{className:`sf-modal-body-text`,children:r})}),or={info:{icon:(0,n.jsx)(me,{className:`h-6 w-6`,"aria-hidden":`true`}),iconWrap:`bg-blue-50 text-blue-600`,button:`primary`},success:{icon:(0,n.jsx)(Te,{className:`h-6 w-6`,"aria-hidden":`true`}),iconWrap:`bg-emerald-50 text-emerald-600`,button:`primary`},warning:{icon:(0,n.jsx)(ke,{className:`h-6 w-6`,"aria-hidden":`true`}),iconWrap:`bg-amber-50 text-amber-600`,button:`primary`},danger:{icon:(0,n.jsx)(H,{className:`h-6 w-6`,"aria-hidden":`true`}),iconWrap:`bg-red-50 text-red-600`,button:`danger`}},sr=({open:e,onClose:t,variant:r=`info`,title:i,message:a,actionLabel:o=`Entendido`})=>{let s=or[r];return(0,n.jsx)(rr,{open:e,onClose:t,size:`sm`,footer:(0,n.jsx)(`div`,{className:`flex justify-end`,children:(0,n.jsx)(Z,{variant:s.button,onClick:t,children:o})}),children:(0,n.jsxs)(`div`,{className:`flex flex-col items-start gap-3`,children:[(0,n.jsx)(`span`,{className:(0,U.default)(`flex h-12 w-12 items-center justify-center rounded-xl`,s.iconWrap),children:s.icon}),i&&(0,n.jsx)(`h3`,{className:`text-base font-semibold text-slate-900`,children:i}),a&&(0,n.jsx)(`div`,{className:`sf-modal-body-text text-sm`,children:a})]})})},cr=(0,t.createContext)(()=>void 0),lr=()=>(0,t.useContext)(cr),ur=({trigger:e,children:r,align:i=`end`,widthClassName:a=`w-52`,className:o})=>{let[s,c]=(0,t.useState)(!1),l=(0,t.useRef)(null),u=(0,t.useId)(),d=()=>c(!1);(0,t.useEffect)(()=>{if(!s)return;let e=e=>{l.current?.contains(e.target)||d()},t=e=>{e.key===`Escape`&&d()};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[s]);let f=typeof e==`function`?e(s):e;return(0,n.jsxs)(`div`,{ref:l,className:(0,U.default)(`relative inline-flex`,o),children:[(0,n.jsx)(`button`,{type:`button`,"aria-haspopup":`menu`,"aria-expanded":s,"aria-controls":u,onClick:()=>c(e=>!e),className:`inline-flex`,children:f}),s&&(0,n.jsx)(cr.Provider,{value:d,children:(0,n.jsx)(`div`,{id:u,role:`menu`,className:(0,U.default)(`sf-dropdown-panel`,a,i===`end`?`sf-dropdown-panel--end`:`sf-dropdown-panel--start`),children:r})})]})},dr=({label:e,onClick:t,icon:r,disabled:i=!1,danger:a=!1})=>{let o=lr();return(0,n.jsxs)(`button`,{type:`button`,role:`menuitem`,disabled:i,onClick:()=>{i||(t(),o())},className:(0,U.default)(`sf-dropdown-item`,a&&`sf-dropdown-item--danger`),children:[r&&(0,n.jsx)(r,{className:`h-4 w-4 shrink-0`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`truncate`,children:e})]})},fr=({title:e,selected:t=!1,icon:r,disabled:i,onClick:a,role:o,className:s})=>(0,n.jsxs)(`button`,{type:`button`,role:o,disabled:i,"aria-pressed":t,onClick:a,className:(0,U.default)(`sf-option-item`,t?`sf-option-item--selected`:`sf-option-item--idle`,s),children:[r&&(0,n.jsx)(`span`,{className:`sf-option-item__icon`,children:r}),(0,n.jsx)(`span`,{className:`truncate`,children:e})]}),pr=({label:e,icon:t,selected:r,className:i})=>(0,n.jsxs)(`span`,{className:(0,U.default)(`sf-tab-menu-option`,r?`sf-tab-menu-option--selected`:`sf-tab-menu-option--idle`,i),children:[t?typeof t==`string`?(0,n.jsx)(`img`,{src:t,alt:``,className:`h-5 w-5 object-contain`}):typeof t==`function`?(0,n.jsx)(t,{className:`sf-tab-menu-option__icon`,"aria-hidden":`true`}):t:null,(0,n.jsx)(`span`,{children:e})]}),mr=e=>{let n=(0,t.useRef)(null),r=(0,t.useRef)(e);return(0,t.useLayoutEffect)(()=>{r.current=e}),(0,t.useEffect)(()=>{let e=e=>{let t=n.current;t&&!t.contains(e.target)&&r.current(e)};return document.addEventListener(`mousedown`,e),document.addEventListener(`touchstart`,e),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`touchstart`,e)}},[]),n},hr=(0,t.createContext)(()=>void 0),gr=240,_r=32,vr=({children:e})=>{let[r,i]=(0,t.useState)({items:[],isVisible:!1}),a=mr(()=>i({items:[],isVisible:!1}));(0,t.useEffect)(()=>{if(!r.isVisible)return;let e=e=>{e.key===`Escape`&&i({items:[],isVisible:!1})};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[r.isVisible]);let o={x:r.event?.pageX??0,y:r.event?.pageY??0},s=r.items.length*_r+8;return typeof window<`u`&&(o.x+gr>=window.innerWidth&&(o.x-=gr),o.y+s>=window.innerHeight&&(o.y-=s),o.y<0&&(o.y=0),o.x<0&&(o.x=0)),(0,n.jsxs)(hr.Provider,{value:i,children:[r.isVisible&&r.event&&r.items.length>0&&(0,n.jsx)(`div`,{ref:a,role:`menu`,className:`sf-context-menu`,style:{top:o.y,left:o.x,width:gr},onContextMenu:e=>e.preventDefault(),children:r.items.map(e=>{let t=typeof e.icon==`function`?e.icon:null;return(0,n.jsxs)(`button`,{type:`button`,role:`menuitem`,disabled:e.disabled,className:`sf-context-menu__item`,onClick:()=>{e.onClick?.(r.ctxValue),i({items:[],isVisible:!1})},children:[typeof e.icon==`string`?(0,n.jsx)(`img`,{src:e.icon,alt:``,className:`h-4 w-4 object-contain`}):t?(0,n.jsx)(t,{className:`sf-context-menu__item-icon`,"aria-hidden":`true`}):null,(0,n.jsx)(`span`,{children:e.label})]},e.id)})}),e]})},yr=(e,t)=>{let n=[];for(let r of e){let e=typeof r==`function`?r(t):r;e&&n.push(e)}return n},br=e=>{let n=(0,t.useContext)(hr);return(0,t.useCallback)((t,r)=>{t.preventDefault(),t.stopPropagation();let i=yr(e,r);i.length!==0&&n({items:i,isVisible:!0,event:t,ctxValue:r})},[e,n])},xr=({open:e,onClose:r,value:i,title:a=`Código QR`,size:o=192,ariaLabel:s})=>{let l=(0,t.useId)();return(0,n.jsx)(rr,{open:e,onClose:r,title:a,size:`sm`,children:(0,n.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-2`,children:[(0,n.jsx)(`div`,{role:`img`,"aria-label":s??`Código QR para ${i||`valor vacío`}`,"aria-describedby":i?l:void 0,children:(0,n.jsx)(c.default,{value:i||` `,size:o})}),i&&(0,n.jsx)(`p`,{id:l,className:`sf-qr-caption`,children:i})]})})},Sr=e=>e<=0?``:e>9?`+9`:String(e),Cr=({items:e,onItemClick:t,emptyLabel:r=`Sin notificaciones`,className:i})=>{let a=Sr(e.length),o=e.length===1?`Notificaciones, 1 pendiente`:`Notificaciones, ${e.length} pendientes`;return(0,n.jsx)(ur,{className:i,widthClassName:`w-72`,align:`end`,trigger:(0,n.jsxs)(`span`,{className:`sf-notification-bell__trigger`,children:[(0,n.jsx)(Oe,{className:`h-5 w-5`,"aria-hidden":`true`}),a&&(0,n.jsx)(`span`,{className:`sf-notification-bell__badge`,children:a}),(0,n.jsx)(`span`,{className:`sr-only`,children:o})]}),children:(0,n.jsx)(`div`,{className:`py-1`,children:e.length===0?(0,n.jsx)(`p`,{className:`sf-notification-bell__empty`,role:`status`,children:r}):e.map(e=>(0,n.jsx)(fr,{title:e.title,role:`menuitem`,icon:(0,n.jsx)(Oe,{className:`h-4 w-4`,"aria-hidden":`true`}),onClick:()=>t?.(e),className:`rounded-none px-3`},e.id))})})},wr=({content:e,children:r,placement:i=`top`,className:a,contentClassName:o})=>{let s=(0,t.useId)(),c=(0,t.isValidElement)(r)?(0,t.cloneElement)(r,{"aria-describedby":s,tabIndex:r.props.tabIndex??0}):r;return(0,n.jsxs)(`span`,{className:(0,U.default)(`sf-tooltip`,a),children:[c,(0,n.jsx)(`span`,{id:s,role:`tooltip`,className:(0,U.default)(`sf-tooltip__content`,`sf-tooltip__content--${i}`,o),children:e})]})},Tr={left:{width:360},right:{width:360},top:{height:`40vh`},bottom:{height:`40vh`}},Er=({open:e,onClose:r,side:i=`right`,title:a,subtitle:s,icon:c,children:l,footer:u,subheader:d,width:f,height:p,headerVariant:m=`default`,closeOnOverlay:h=!0,className:g})=>{let _=(0,t.useId)(),v=m===`brand`;if((0,t.useEffect)(()=>{if(!e)return;let t=e=>{e.key===`Escape`&&r()};document.addEventListener(`keydown`,t);let n=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.removeEventListener(`keydown`,t),document.body.style.overflow=n}},[e,r]),!e)return null;let y={...Tr[i],...i===`left`||i===`right`?{width:f??Tr[i].width}:{},...i===`top`||i===`bottom`?{height:p??Tr[i].height}:{}};return(0,o.createPortal)((0,n.jsxs)(`div`,{className:`sf-drawer-root`,children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Cerrar panel`,className:`sf-drawer-overlay`,onClick:h?r:void 0}),(0,n.jsxs)(`aside`,{role:`dialog`,"aria-modal":`true`,"aria-labelledby":a?_:void 0,className:(0,U.default)(`sf-drawer`,`sf-drawer--${i}`,g),style:y,children:[(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-drawer__header`,v&&`sf-drawer__header--brand`),children:[(0,n.jsxs)(`div`,{className:`sf-modal-header__main`,children:[c&&(0,n.jsx)(`span`,{className:`sf-modal-header__icon`,"aria-hidden":`true`,children:c}),(0,n.jsxs)(`div`,{className:`sf-modal-header__text`,children:[a?(0,n.jsx)(`h2`,{id:_,className:`sf-drawer__title`,children:a}):(0,n.jsx)(`span`,{}),s&&(0,n.jsx)(`p`,{className:`sf-modal-header__subtitle`,children:s})]})]}),(0,n.jsx)(`button`,{type:`button`,onClick:r,"aria-label":`Cerrar`,className:`sf-drawer__close`,children:(0,n.jsx)(B,{className:`h-5 w-5`,"aria-hidden":`true`})})]}),d&&(0,n.jsx)(`div`,{className:`sf-drawer-subheader`,children:d}),(0,n.jsx)(`div`,{className:`sf-drawer__body`,children:l}),u&&(0,n.jsx)(`div`,{className:(0,U.default)(`sf-drawer__footer`,v&&`sf-drawer__footer--brand`),children:u})]})]}),document.body)},Dr=Er,Or=typeof navigator<`u`&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),kr=({onOpenChange:e,items:r,placeholder:i,emptyMessage:a,className:o})=>{let s=(0,t.useRef)(null),[c,l]=(0,t.useState)(``),[u,d]=(0,t.useState)(0),f=(0,t.useMemo)(()=>{let e=c.trim().toLowerCase();return e?r.filter(t=>`${t.label} ${t.group??``} ${t.keywords??``}`.toLowerCase().includes(e)):r},[r,c]),p=f.length===0?0:Math.min(u,f.length-1);(0,t.useEffect)(()=>{let t=window.setTimeout(()=>s.current?.focus(),0),n=t=>{t.key===`Escape`&&e(!1)};document.addEventListener(`keydown`,n);let r=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{window.clearTimeout(t),document.removeEventListener(`keydown`,n),document.body.style.overflow=r}},[e]);let m=t=>{t.onSelect(),e(!1)};return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-command-palette-root`,o),children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Cerrar paleta`,className:`sf-command-palette-overlay`,onClick:()=>e(!1)}),(0,n.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-label":`Paleta de comandos`,className:`sf-command-palette`,children:[(0,n.jsxs)(`div`,{className:`sf-command-palette__input-wrap`,children:[(0,n.jsx)(`input`,{ref:s,type:`search`,value:c,placeholder:i,onChange:e=>{l(e.target.value),d(0)},onKeyDown:e=>{f.length!==0&&(e.key===`ArrowDown`?(e.preventDefault(),d(e=>(e+1)%f.length)):e.key===`ArrowUp`?(e.preventDefault(),d(e=>(e-1+f.length)%f.length)):e.key===`Enter`&&(e.preventDefault(),m(f[p])))},className:`sf-command-palette__input`}),(0,n.jsx)(`span`,{className:`sf-command-palette__hint`,children:Or?`⌘K`:`Ctrl+K`})]}),(0,n.jsx)(`div`,{className:`sf-command-palette__list`,role:`listbox`,children:f.length===0?(0,n.jsx)(`p`,{className:`sf-command-palette__empty`,children:a}):f.map((e,t)=>(0,n.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":t===p,onMouseEnter:()=>d(t),onClick:()=>m(e),className:(0,U.default)(`sf-command-palette__item`,t===p&&`sf-command-palette__item--active`),children:[(0,n.jsx)(`span`,{children:e.label}),e.group&&(0,n.jsx)(`span`,{className:`sf-command-palette__group`,children:e.group})]},e.id))})]})]})},Ar=({open:e,onOpenChange:r,items:i,placeholder:a=`Buscar acción…`,emptyMessage:s=`Sin resultados`,enableShortcut:c=!0,className:l})=>((0,t.useEffect)(()=>{if(!c)return;let t=t=>{(t.metaKey||t.ctrlKey)&&t.key.toLowerCase()===`k`&&(t.preventDefault(),r(!e))};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[c,r,e]),e?(0,o.createPortal)((0,n.jsx)(kr,{onOpenChange:r,items:i,placeholder:a,emptyMessage:s,className:l}),document.body):null),jr=(e,t)=>{switch(t){case`top`:return{top:e.top-12,left:e.left+e.width/2,transform:`translate(-50%, -100%)`};case`left`:return{top:e.top+e.height/2,left:e.left-12,transform:`translate(-100%, -50%)`};case`right`:return{top:e.top+e.height/2,left:e.left+e.width+12,transform:`translateY(-50%)`};default:return{top:e.top+e.height+12,left:e.left+e.width/2,transform:`translateX(-50%)`}}},Mr=({open:e,onOpenChange:r,steps:i,stepIndex:a,onStepChange:s,className:c})=>{let[l,u]=(0,t.useState)(0),[d,f]=(0,t.useState)(null),p=a??l,m=i[p],h=(0,t.useCallback)(e=>{a===void 0&&u(e),s?.(e)},[a,s]),g=(0,t.useCallback)(()=>{if(!m){f(null);return}let e=document.querySelector(m.target);if(!e){f(null);return}let t=e.getBoundingClientRect();f({top:t.top,left:t.left,width:t.width,height:t.height})},[m]);if((0,t.useLayoutEffect)(()=>{if(!e)return;let t=window.requestAnimationFrame(()=>g());return()=>window.cancelAnimationFrame(t)},[g,e,p]),(0,t.useEffect)(()=>{if(!e)return;let t=()=>g();return window.addEventListener(`resize`,t),window.addEventListener(`scroll`,t,!0),()=>{window.removeEventListener(`resize`,t),window.removeEventListener(`scroll`,t,!0)}},[g,e]),(0,t.useEffect)(()=>{if(!e)return;let t=e=>{e.key===`Escape`&&r(!1)};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[r,e]),!e||!m)return null;let _=p>=i.length-1,v=d?jr(d,m.placement??`bottom`):void 0;return(0,o.createPortal)((0,n.jsxs)(`div`,{className:(0,U.default)(`sf-product-tour-root`,c),children:[(0,n.jsx)(`div`,{className:`sf-product-tour-overlay`}),d&&(0,n.jsx)(`div`,{className:`sf-product-tour-spotlight`,style:{top:d.top-4,left:d.left-4,width:d.width+8,height:d.height+8}}),(0,n.jsxs)(`div`,{className:`sf-product-tour-card`,style:v,children:[(0,n.jsxs)(`p`,{className:`sf-product-tour-card__step`,children:[`Paso `,p+1,` de `,i.length]}),(0,n.jsx)(`h3`,{className:`sf-product-tour-card__title`,children:m.title}),m.description&&(0,n.jsx)(`p`,{className:`sf-product-tour-card__desc`,children:m.description}),(0,n.jsxs)(`div`,{className:`sf-product-tour-card__actions`,children:[(0,n.jsx)(Z,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>r(!1),children:`Omitir`}),_?(0,n.jsx)(Z,{type:`button`,size:`sm`,onClick:()=>r(!1),children:`Finalizar`}):(0,n.jsx)(Z,{type:`button`,size:`sm`,onClick:()=>h(p+1),children:`Siguiente`})]})]})]}),document.body)},Nr=({children:e,className:t,padded:r=!0})=>(0,n.jsx)(`div`,{className:(0,U.default)(`sf-page-container`,r&&`sf-page-container--padded`,t),children:e}),Pr=({children:e,className:t,padded:r=!0})=>(0,n.jsx)(`div`,{className:(0,U.default)(`sf-table-page-layout`,r&&`sf-table-page-layout--padded`,t),children:e}),Fr=({title:e,subtitle:t,eyebrow:r,icon:i,actions:a,className:o,tone:s=`default`,sticky:c=!0})=>(0,n.jsxs)(`header`,{className:(0,U.default)(`sf-page-header`,s===`app`&&`sf-page-header--app`,!c&&`sf-page-header--static`,o),children:[(0,n.jsxs)(`div`,{className:`sf-page-header__main`,children:[i&&(0,n.jsx)(`span`,{className:`sf-page-header__icon`,children:i}),(0,n.jsxs)(`div`,{className:`min-w-0`,children:[r&&(0,n.jsx)(`p`,{className:`sf-page-header__eyebrow`,children:r}),(0,n.jsx)(`h1`,{className:`sf-page-header__title`,children:e}),t&&(0,n.jsx)(`p`,{className:`sf-page-header__subtitle`,children:t})]})]}),a&&(0,n.jsx)(`div`,{className:`sf-page-header__actions`,children:a})]}),Ir=({open:e,title:t,subtitle:r,onClose:i,width:a=420,side:o=`right`,children:s,footer:c,className:l})=>(0,n.jsxs)(`aside`,{"aria-hidden":!e,className:(0,U.default)(`sf-side-panel`,o===`right`?`sf-side-panel--right`:`sf-side-panel--left`,e?`sf-side-panel--open`:`sf-side-panel--closed`,l),style:{width:e?a:0},children:[(t||r||i)&&(0,n.jsxs)(`div`,{className:`sf-side-panel__header`,children:[(0,n.jsxs)(`div`,{className:`sf-side-panel__heading`,children:[t?(0,n.jsx)(`h2`,{className:`sf-side-panel__title`,children:t}):null,r?(0,n.jsx)(`p`,{className:`sf-side-panel__subtitle`,children:r}):null]}),i&&(0,n.jsx)(`button`,{type:`button`,onClick:i,"aria-label":`Cerrar panel`,className:`sf-side-panel__close`,children:(0,n.jsx)(B,{className:`h-4 w-4`,"aria-hidden":`true`})})]}),(0,n.jsx)(`div`,{className:`sf-side-panel__body`,children:s}),c&&(0,n.jsx)(`div`,{className:`sf-side-panel__footer`,children:c})]}),Lr=({tabs:e,value:t,onChange:r,className:i,variant:a=`underline`})=>{let o=a===`segmented`,s=a===`accentUnderline`;return(0,n.jsx)(`div`,{className:(0,U.default)(`sf-tabs`,o&&`sf-tabs--segmented`,s&&`sf-tabs--accent-underline`,i),role:`tablist`,children:e.map(e=>{let i=e.id===t;return(0,n.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":i,disabled:e.disabled,onClick:()=>r(e.id),className:(0,U.default)(`sf-tab`,i&&`sf-tab--active`,o&&`sf-tab--segmented`,s&&`sf-tab--accent-underline`),children:[e.icon&&(0,n.jsx)(`span`,{className:(0,U.default)(`sf-tab__icon`,i&&`sf-tab__icon--active`),"aria-hidden":`true`,children:e.icon}),(0,n.jsx)(`span`,{className:`sf-tab__label`,children:e.label}),e.count!=null&&e.count!==``&&(0,n.jsx)(`span`,{className:(0,U.default)(`sf-tab__count`,i&&`sf-tab__count--active`),children:e.count})]},e.id)})})},Rr=(e=!1)=>{let[n,r]=(0,t.useState)(e);return{isOpen:n,openPanel:(0,t.useCallback)(()=>r(!0),[]),closePanel:(0,t.useCallback)(()=>r(!1),[]),toggle:(0,t.useCallback)(()=>r(e=>!e),[])}},zr=(0,t.createContext)({isOpen:!1,openPanel:()=>void 0,closePanel:()=>void 0,toggle:()=>void 0}),Br=()=>(0,t.useContext)(zr),Vr=e=>typeof e==`number`?`${e}px`:e==null?`420px`:String(e),Hr=({children:e,panel:r,width:i=`420px`,handle:a,closeOnClickOutside:o=!1,ariaLabel:s=`Panel lateral`,className:c})=>{let l=Rr(),{isOpen:u,openPanel:d,closePanel:f,toggle:p}=a??l,m=mr(()=>{o&&u&&f()}),h=Vr(i),g=typeof r==`function`?r(u):r,_=(0,t.useMemo)(()=>({isOpen:u,openPanel:d,closePanel:f,toggle:p}),[u,d,f,p]);return(0,t.useEffect)(()=>{if(!u)return;let e=e=>{e.key===`Escape`&&f()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[f,u]),(0,n.jsx)(zr.Provider,{value:_,children:(0,n.jsxs)(`div`,{className:(0,U.default)(`relative h-full overflow-hidden`,c),children:[(0,n.jsx)(`div`,{className:`h-full min-w-0`,children:e}),(0,n.jsx)(`div`,{ref:m,"aria-hidden":!u,role:`dialog`,"aria-modal":`false`,"aria-label":s,className:(0,U.default)(`sf-side-panel-container__panel`,!u&&`sf-side-panel-container__panel--closed`),style:{width:h,right:0,transform:u?`translateX(0)`:`translateX(calc(100% + 1px))`},onClick:e=>e.stopPropagation(),children:g})]})})},Ur=(0,t.createContext)(null),Wr=({height:e,children:t})=>(0,n.jsx)(Ur.Provider,{value:e,children:t}),Gr=()=>(0,t.useContext)(Ur),Kr=({visible:e,children:t,className:r})=>(0,n.jsx)(`div`,{className:(0,U.default)(!e&&`hidden`,r),children:t}),qr=Kr,Jr=({orientation:e=`horizontal`,className:t})=>(0,n.jsx)(`div`,{role:`separator`,"aria-orientation":e,className:(0,U.default)(`sf-separator`,`sf-separator--${e}`,t)}),Yr=({items:e,separator:t=`/`,className:r,ariaLabel:i=`Ruta de navegación`})=>e.length===0?null:(0,n.jsx)(`nav`,{"aria-label":i,className:(0,U.default)(`sf-breadcrumb`,r),children:(0,n.jsx)(`ol`,{className:`sf-breadcrumb__list`,children:e.map((r,i)=>{let a=i===e.length-1,o=r.current??a;return(0,n.jsxs)(`li`,{className:`sf-breadcrumb__item`,children:[i>0&&(0,n.jsx)(`span`,{className:`sf-breadcrumb__separator`,"aria-hidden":`true`,children:t}),o?(0,n.jsx)(`span`,{className:`sf-breadcrumb__current`,"aria-current":`page`,children:r.label}):r.href?(0,n.jsx)(`a`,{href:r.href,className:`sf-breadcrumb__link`,children:r.label}):r.onClick?(0,n.jsx)(`button`,{type:`button`,className:`sf-breadcrumb__link`,onClick:r.onClick,children:r.label}):(0,n.jsx)(`span`,{children:r.label})]},i)})})}),Xr=(e,t,n)=>{let r=e.includes(t);return n===`single`?r?[]:[t]:r?e.filter(e=>e!==t):[...e,t]},Zr=({items:e,type:r=`single`,defaultValue:i=[],value:a,onChange:o,className:s})=>{let c=(0,t.useId)(),[l,u]=(0,t.useState)(i),d=a??l,f=(0,t.useCallback)((e,t)=>{if(t)return;let n=Xr(d,e,r);a===void 0&&u(n),o?.(n)},[d,o,r,a]);return(0,n.jsx)(`div`,{className:(0,U.default)(`sf-accordion`,s),children:e.map(e=>{let t=d.includes(e.id),r=`${c}-${e.id}-trigger`,i=`${c}-${e.id}-panel`;return(0,n.jsxs)(`div`,{className:`sf-accordion__item`,children:[(0,n.jsxs)(`button`,{type:`button`,id:r,"aria-expanded":t,"aria-controls":i,disabled:e.disabled,onClick:()=>f(e.id,e.disabled),className:(0,U.default)(`sf-accordion__trigger`,t&&`sf-accordion__trigger--open`),children:[(0,n.jsx)(`span`,{children:e.title}),(0,n.jsx)(`span`,{className:`sf-accordion__chevron`,"aria-hidden":`true`,children:`▾`})]}),t&&(0,n.jsx)(`div`,{id:i,role:`region`,"aria-labelledby":r,className:`sf-accordion__panel`,children:(0,n.jsx)(`div`,{className:`sf-accordion__content`,children:e.content})})]},e.id)})})},Qr=({children:e,maxHeight:t,maxWidth:r,className:i,ariaLabel:a})=>(0,n.jsx)(`div`,{className:(0,U.default)(`sf-scroll-area`,i),style:{maxHeight:t,maxWidth:r},tabIndex:0,role:a?`region`:void 0,"aria-label":a,children:e}),$r=(e,t,n,r)=>{if(e.status)return e.status;if(!t)return n===0?`active`:`pending`;let i=r.findIndex(e=>e.key===t);return n<i?`completed`:n===i?`active`:`pending`},ei={completed:`sf-step__circle--completed`,active:`sf-step__circle--active`,pending:`sf-step__circle--pending`,error:`sf-step__circle--error`},ti={completed:`sf-step__label--completed`,active:`sf-step__label--active`,pending:`sf-step__label--pending`,error:`sf-step__label--error`},ni=(e,t)=>e===`completed`?`✓`:e===`error`?`✕`:String(t+1),ri=({status:e,index:t,label:r,size:i,onClick:a})=>{let o=(0,U.default)(`sf-step__circle`,i===`sm`?`sf-step__circle--sm`:`sf-step__circle--md`,ei[e],a?`sf-step__circle--clickable`:`sf-step__circle--default`),s=`Paso ${t+1}: ${r}`;return a?(0,n.jsx)(`button`,{type:`button`,onClick:a,"aria-label":s,"aria-current":e===`active`?`step`:void 0,className:o,children:ni(e,t)}):(0,n.jsx)(`span`,{className:o,"aria-label":s,"aria-current":e===`active`?`step`:void 0,children:ni(e,t)})},ii=({done:e,orientation:t})=>(0,n.jsx)(`div`,{"aria-hidden":`true`,className:(0,U.default)(`sf-step__connector`,t===`horizontal`?`sf-step__connector--horizontal`:`sf-step__connector--vertical`,e?`sf-step__connector--done`:`sf-step__connector--pending`)}),ai=({steps:e,activeKey:t,orientation:r=`horizontal`,size:i=`md`,variant:a=`default`,onStepClick:o,className:s})=>{let c=a===`accentUnderline`;if(r===`horizontal`&&a===`inline`){let r=i===`sm`?`1.5rem`:`1.875rem`;return(0,n.jsx)(`div`,{className:(0,U.default)(`sf-stepper sf-stepper--inline`,s),style:{"--sf-step-circle-size":r},role:`list`,"aria-label":`Progreso`,children:e.map((r,a)=>{let s=$r(r,t,a,e),c=a===e.length-1;return(0,n.jsxs)(`div`,{className:`sf-stepper__inline-group`,role:`listitem`,children:[(0,n.jsxs)(`div`,{className:`sf-stepper__inline-item`,children:[(0,n.jsx)(ri,{status:s,index:a,label:r.label,size:i,onClick:s===`completed`&&o?()=>o(r.key):void 0}),(0,n.jsx)(`span`,{className:(0,U.default)(`sf-stepper__inline-label`,ti[s]),children:r.label})]}),!c&&(0,n.jsx)(`div`,{"aria-hidden":`true`,className:(0,U.default)(`sf-stepper__inline-connector`,s===`completed`&&`sf-stepper__inline-connector--done`)})]},r.key)})})}if(r===`horizontal`){let r=i===`sm`?`1.5rem`:`2rem`;return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-stepper sf-stepper--horizontal`,c&&`sf-stepper--accent-underline`,s),style:{"--sf-step-circle-size":r},role:`list`,"aria-label":`Progreso`,children:[(0,n.jsx)(`div`,{className:`sf-stepper__track`,children:e.map((r,a)=>{let s=$r(r,t,a,e),c=a>0?$r(e[a-1],t,a-1,e):null,l=a===e.length-1;return(0,n.jsx)(`div`,{className:(0,U.default)(`sf-stepper__segment`,a>0&&c===`completed`&&`sf-stepper__segment--before-done`,!l&&s===`completed`&&`sf-stepper__segment--after-done`),role:`listitem`,children:(0,n.jsx)(ri,{status:s,index:a,label:r.label,size:i,onClick:s===`completed`&&o?()=>o(r.key):void 0})},r.key)})}),(0,n.jsx)(`div`,{className:`sf-stepper__labels`,style:{gridTemplateColumns:`repeat(${e.length}, minmax(0, 1fr))`},children:e.map((r,i)=>{let a=$r(r,t,i,e);return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-stepper__label-col`,c&&a===`active`&&`sf-stepper__label-col--active`),children:[(0,n.jsx)(`p`,{className:(0,U.default)(`sf-stepper__label`,ti[a]),children:r.label}),r.sublabel&&(0,n.jsx)(`p`,{className:`sf-stepper__sublabel`,children:r.sublabel})]},r.key)})})]})}return(0,n.jsx)(`div`,{className:(0,U.default)(`sf-stepper sf-stepper--vertical`,s),role:`list`,"aria-label":`Progreso`,children:e.map((r,a)=>{let s=$r(r,t,a,e),c=a===e.length-1,l=$r(e[a],t,a,e)===`completed`;return(0,n.jsxs)(`div`,{className:`sf-stepper__step-row`,role:`listitem`,children:[(0,n.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,n.jsx)(ri,{status:s,index:a,label:r.label,size:i,onClick:s===`completed`&&o?()=>o(r.key):void 0}),!c&&(0,n.jsx)(ii,{done:l,orientation:`vertical`})]}),(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-stepper__vertical-body`,c&&`sf-stepper__vertical-body--last`),children:[(0,n.jsx)(`p`,{className:(0,U.default)(`mt-1 text-sm leading-tight`,ti[s]),children:r.label}),r.sublabel&&(0,n.jsx)(`p`,{className:`sf-stepper__sublabel`,children:r.sublabel})]})]},r.key)})})},oi=(0,n.jsx)(xe,{"aria-hidden":`true`}),si=({steps:e,activeKey:r,defaultActiveKey:i,onActiveKeyChange:a,onFinish:o,nextLabel:s=`Siguiente`,prevLabel:c=`Anterior`,finishLabel:l=`Finalizar`,showStepProgress:u=!1,stepperVariant:d=`default`,footerVariant:f=`default`,hidePrevOnFirst:p=!0,nextIcon:m=oi,primaryVariant:h=`primary`,orientation:g=`horizontal`})=>{let _=e[0]?.key??``,[v,y]=(0,t.useState)(i??_),[b,x]=(0,t.useState)(new Set),[S,C]=(0,t.useState)(!1),w=r??v,T=(0,t.useCallback)(e=>{r===void 0&&y(e),a?.(e)},[r,a]),E=(0,t.useMemo)(()=>Math.max(0,e.findIndex(e=>e.key===w)),[w,e]),D=e[E],O=E===0,k=E===e.length-1,A=(0,t.useMemo)(()=>e.map((e,t)=>{let n;return b.has(e.key)?n=`error`:t<E?n=`completed`:t===E&&(n=`active`),{key:e.key,label:e.label,sublabel:e.sublabel,status:n}}),[E,b,e]),j=(0,t.useCallback)(async t=>{if(t===`prev`){if(O)return;T(e[E-1].key);return}let n=D?.validate;if(n){C(!0);try{if(!await n()){x(e=>new Set(e).add(D.key));return}}finally{C(!1)}}if(x(e=>{if(!e.has(D.key))return e;let t=new Set(e);return t.delete(D.key),t}),k){o?.();return}T(e[E+1].key)},[E,D,O,k,o,T,e]),M=(0,n.jsx)(ai,{steps:A,activeKey:w,orientation:g,variant:d,onStepClick:t=>{let n=e.findIndex(e=>e.key===t);n>=0&&n<E&&T(t)}}),N=D?.content??null,P=!(p&&O);return{activeKey:w,activeIndex:E,stepper:M,content:N,footer:(0,n.jsxs)(`div`,{className:[`sf-form-wizard__footer`,f===`brand`&&`sf-form-wizard__footer--brand`,`sf-form-wizard__footer--end`].filter(Boolean).join(` `),children:[u&&e.length>0&&(0,n.jsxs)(`p`,{className:`sf-form-wizard__progress`,"aria-live":`polite`,children:[`Paso `,E+1,` de `,e.length]}),(0,n.jsxs)(jn,{className:`sf-form-wizard__actions`,children:[P&&(0,n.jsx)(Z,{type:`button`,variant:`outline`,disabled:O||S,onClick:()=>j(`prev`),children:c}),(0,n.jsx)(Z,{type:`button`,variant:h,loading:S,icon:S?void 0:m,iconPosition:`end`,onClick:()=>j(`next`),children:k?l:s})]})]}),isFirst:O,isLast:k,goToStep:j}},ci=({contentBorderless:e=!1,hideFooter:t=!1,className:r,...i})=>{let a=si(i);return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-form-wizard`,r),children:[a.stepper,(0,n.jsx)(`div`,{className:(0,U.default)(`sf-form-wizard__content`,e&&`sf-form-wizard__content--borderless`),children:a.content}),!t&&a.footer]})},li=({title:e,subtitle:t,meta:r,status:i,icon:a,active:o=!1,onClick:s,className:c})=>(0,n.jsxs)(s?`button`:`article`,{type:s?`button`:void 0,onClick:s,className:(0,U.default)(`sf-master-detail-list-item`,o&&`sf-master-detail-list-item--active`,s&&`sf-master-detail-list-item--interactive`,c),children:[a&&(0,n.jsx)(`span`,{className:`sf-master-detail-list-item__icon`,children:a}),(0,n.jsxs)(`span`,{className:`sf-master-detail-list-item__body`,children:[(0,n.jsx)(`span`,{className:`sf-master-detail-list-item__title`,children:e}),t&&(0,n.jsx)(`span`,{className:`sf-master-detail-list-item__subtitle`,children:t}),r&&(0,n.jsx)(`span`,{className:`sf-master-detail-list-item__meta`,children:r})]}),i&&(0,n.jsx)(`span`,{className:`sf-master-detail-list-item__status`,children:i})]}),ui=({listHeader:e,list:t,detail:r,listWidth:i=`18rem`,className:a,ariaLabel:o=`Vista maestro detalle`})=>(0,n.jsxs)(`section`,{className:(0,U.default)(`sf-master-detail-layout`,a),"aria-label":o,children:[(0,n.jsxs)(`aside`,{className:`sf-master-detail-layout__list`,style:{width:i},children:[e&&(0,n.jsx)(`div`,{className:`sf-master-detail-layout__list-header`,children:e}),(0,n.jsx)(`div`,{className:`sf-master-detail-layout__list-body`,children:t})]}),(0,n.jsx)(`div`,{className:`sf-master-detail-layout__detail`,children:r})]}),di=({children:e,onApply:t,applyLabel:r=`Aplicar`,applyLoading:i=!1,className:a,ariaLabel:o=`Filtros`})=>(0,n.jsxs)(`section`,{className:(0,U.default)(`sf-filter-bar`,a),"aria-label":o,children:[(0,n.jsx)(`div`,{className:`sf-filter-bar__fields`,children:e}),t&&(0,n.jsx)(`div`,{className:`sf-filter-bar__actions`,children:(0,n.jsx)(Z,{type:`button`,size:`sm`,loading:i,onClick:t,children:r})})]}),fi=({label:e,children:t,className:r})=>(0,n.jsxs)(`label`,{className:(0,U.default)(`sf-filter-bar__field`,r),children:[(0,n.jsx)(`span`,{className:`sf-filter-bar__label`,children:e}),(0,n.jsx)(`div`,{className:`sf-filter-bar__control`,children:t})]}),pi=({value:e,defaultValue:t,onChange:r,disabled:i,className:a,id:o,"aria-label":s})=>(0,n.jsx)(`input`,{type:`date`,id:o,"aria-label":s,value:e,defaultValue:e===void 0?t:void 0,disabled:i,className:(0,U.default)(`sf-filter-bar__input`,a),onChange:r?e=>r(e.target.value):void 0}),mi=({value:e,defaultValue:t,onChange:r,options:i,placeholder:a,disabled:o,className:s,id:c,"aria-label":l})=>(0,n.jsxs)(`select`,{id:c,"aria-label":l,value:e,defaultValue:e===void 0?t:void 0,disabled:o,className:(0,U.default)(`sf-filter-bar__input`,s),onChange:r?e=>r(e.target.value):void 0,children:[a&&(0,n.jsx)(`option`,{value:``,disabled:!0,children:a}),i.map(e=>(0,n.jsx)(`option`,{value:e.value,disabled:e.disabled,children:e.label},e.value))]}),hi=({value:e,defaultValue:t,onChange:r,placeholder:i,disabled:a,className:o,id:s,"aria-label":c})=>(0,n.jsx)(`input`,{type:`search`,id:s,"aria-label":c??i,placeholder:i,value:e,defaultValue:e===void 0?t:void 0,disabled:a,className:(0,U.default)(`sf-filter-bar__input`,o),onChange:r?e=>r(e.target.value):void 0}),gi=({title:e,searchValue:t=``,onSearchChange:r,searchPlaceholder:i=`Buscar en todos los campos…`,onNew:a,newLabel:o=`Nuevo`,actions:s,children:c,footer:l,className:u,ariaLabel:d=`Listado maestro`})=>(0,n.jsxs)(`section`,{className:(0,U.default)(`sf-maestro-layout`,u),"aria-label":d,children:[(0,n.jsxs)(`header`,{className:`sf-maestro-layout__toolbar`,children:[(0,n.jsx)(`h2`,{className:`sf-maestro-layout__title`,children:e}),(0,n.jsxs)(`div`,{className:`sf-maestro-layout__actions`,children:[r&&(0,n.jsxs)(`div`,{className:`sf-maestro-layout__search`,children:[(0,n.jsx)(se,{className:`sf-maestro-layout__search-icon`,"aria-hidden":`true`}),(0,n.jsx)(hi,{value:t,onChange:r,placeholder:i,"aria-label":i})]}),s,a&&(0,n.jsx)(Z,{type:`button`,size:`sm`,icon:(0,n.jsx)(ue,{"aria-hidden":`true`}),onClick:a,children:o})]})]}),(0,n.jsx)(`div`,{className:`sf-maestro-layout__body`,children:c}),l&&(0,n.jsx)(`footer`,{className:`sf-maestro-layout__footer`,children:l})]}),_i=({stops:e,originLabel:t,destinationLabel:r})=>(0,n.jsxs)(`div`,{className:`sf-itinerary-editor__map`,"aria-hidden":`true`,children:[(0,n.jsx)(`div`,{className:`sf-itinerary-editor__map-grid`}),e.length>=2&&(0,n.jsx)(`div`,{className:`sf-itinerary-editor__map-path`}),e.map((t,r)=>(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-itinerary-editor__map-pin`,r===0&&`sf-itinerary-editor__map-pin--origin`,r===e.length-1&&e.length>1&&`sf-itinerary-editor__map-pin--destination`),style:{left:`${12+r/Math.max(e.length-1,1)*76}%`,top:r%2==0?`38%`:`58%`},children:[(0,n.jsx)(pe,{}),(0,n.jsxs)(`span`,{children:[t.order,`. `,t.name]})]},t.id)),e.length===0&&(0,n.jsxs)(`p`,{className:`sf-itinerary-editor__map-empty`,children:[t,` → `,r]})]}),vi=({eyebrow:e,title:t=`Itinerario de paradas`,action:r,originLabel:i,destinationLabel:a,stops:o,mapSlot:s,className:c})=>(0,n.jsxs)(`section`,{className:(0,U.default)(`sf-itinerary-editor`,c),"aria-label":t,children:[(0,n.jsxs)(`div`,{className:`sf-itinerary-editor__header`,children:[(0,n.jsxs)(`div`,{children:[e&&(0,n.jsx)(`p`,{className:`sf-itinerary-editor__eyebrow`,children:e}),(0,n.jsx)(`h3`,{className:`sf-itinerary-editor__title`,children:t})]}),r]}),(0,n.jsxs)(`div`,{className:`sf-itinerary-editor__summary`,children:[(0,n.jsx)(`span`,{className:`sf-itinerary-editor__summary-dot sf-itinerary-editor__summary-dot--origin`}),(0,n.jsx)(`span`,{children:i}),(0,n.jsx)(`span`,{className:`sf-itinerary-editor__summary-arrow`,"aria-hidden":`true`,children:`→`}),(0,n.jsx)(`span`,{className:`sf-itinerary-editor__summary-dot sf-itinerary-editor__summary-dot--destination`}),(0,n.jsx)(`span`,{children:a})]}),s??(0,n.jsx)(_i,{stops:o,originLabel:i,destinationLabel:a}),(0,n.jsx)(`ol`,{className:`sf-itinerary-editor__stops`,children:o.map((e,t)=>(0,n.jsxs)(`li`,{className:`sf-itinerary-editor__stop`,children:[t!==o.length-1&&(0,n.jsx)(`span`,{className:`sf-itinerary-editor__stop-line`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`sf-itinerary-editor__stop-marker`,children:e.order}),(0,n.jsxs)(`article`,{className:`sf-itinerary-editor__stop-card`,children:[(0,n.jsxs)(`div`,{className:`sf-itinerary-editor__stop-content`,children:[(0,n.jsx)(`p`,{className:`sf-itinerary-editor__stop-name`,children:e.name}),e.subtitle&&(0,n.jsx)(`p`,{className:`sf-itinerary-editor__stop-subtitle`,children:e.subtitle})]}),(0,n.jsxs)(`div`,{className:`sf-itinerary-editor__stop-actions`,children:[e.onGps&&(0,n.jsx)(Z,{type:`button`,variant:`outline`,size:`sm`,onClick:e.onGps,children:`GPS`}),e.onRemove&&(0,n.jsx)(`button`,{type:`button`,className:`sf-itinerary-editor__stop-remove`,"aria-label":`Eliminar parada ${e.name}`,onClick:e.onRemove,children:(0,n.jsx)(ae,{"aria-hidden":`true`})})]})]})]},e.id))})]}),yi=e=>{let t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?`?`:t.length===1?t[0].slice(0,2):`${t[0][0]??``}${t[1][0]??``}`},bi=({src:e,alt:r=``,fallback:i,size:a=`md`,variant:o=`default`,shape:s=`circle`,className:c,imgProps:l})=>{let[u,d]=(0,t.useState)(!1),f=!!e&&!u;return(0,n.jsx)(`span`,{className:(0,U.default)(`sf-avatar`,`sf-avatar--${a}`,o===`accent`&&`sf-avatar--accent`,s===`rounded`&&`sf-avatar--rounded`,c),children:f?(0,n.jsx)(`img`,{...l,src:e,alt:r,className:`sf-avatar__image`,onError:()=>d(!0)}):(0,n.jsx)(`span`,{className:`sf-avatar__fallback`,"aria-hidden":!!(i??r),children:i??yi(r||`?`)})})},xi=({children:e,max:r=4,size:i=`md`,className:a})=>{let o=t.Children.toArray(e).filter(t.isValidElement),s=r>0?o.slice(0,r):o,c=o.length-s.length;return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-avatar-group`,a),children:[c>0&&(0,n.jsxs)(`span`,{className:(0,U.default)(`sf-avatar-group__overflow`,`sf-avatar-group__overflow--${i}`),children:[`+`,c]}),s.map((e,t)=>(0,n.jsx)(`span`,{className:`sf-avatar-group__item`,children:e},t))]})},Si=({variant:e=`neutral`,size:t=`sm`,shape:n=`pill`,className:r})=>(0,U.default)(`sf-badge`,t===`sm`?`sf-badge--sm`:`sf-badge--md`,n===`circle`&&`sf-badge--circle`,e===`neutral`&&`sf-badge--neutral`,e===`primary`&&`sf-badge--primary`,e===`success`&&`sf-badge--success`,e===`warning`&&`sf-badge--warning`,e===`danger`&&`sf-badge--danger`,e===`info`&&`sf-badge--info`,r),Ci=e=>(0,U.default)(`sf-badge-dot`,e===`neutral`&&`sf-badge-dot--neutral`,e===`primary`&&`sf-badge-dot--primary`,e===`success`&&`sf-badge-dot--success`,e===`warning`&&`sf-badge-dot--warning`,e===`danger`&&`sf-badge-dot--danger`,e===`info`&&`sf-badge-dot--info`),wi=({label:e,variant:t=`neutral`,dot:r=!1,size:i=`sm`,shape:a=`pill`,className:o})=>a===`circle`?(0,n.jsx)(`span`,{className:Si({variant:t,size:i,shape:`circle`,className:o}),children:e}):(0,n.jsxs)(`span`,{className:Si({variant:t,size:i,className:o}),children:[r&&(0,n.jsx)(`span`,{className:Ci(t),"aria-hidden":`true`}),e]}),Ti=({size:e=15})=>(0,n.jsx)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2.6,children:(0,n.jsx)(`path`,{d:`M20 6 9 17l-5-5`})}),Ei=({size:e=14})=>(0,n.jsx)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2.6,children:(0,n.jsx)(`path`,{d:`M18 6 6 18M6 6l12 12`})}),Di={display:`flex`,alignItems:`center`,gap:11,padding:`7px 8px`,borderRadius:9},Oi=(e,t)=>({width:30,height:30,borderRadius:`50%`,background:e??`var(--sf-surface-alt, #EEF0F2)`,color:t??`var(--sf-text, #1B2A38)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontWeight:800,fontSize:10,flex:`none`}),ki={fontSize:12.5,fontWeight:700,color:`var(--sf-text, #1B2A38)`,whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`},Ai={fontSize:10.5,fontWeight:600,color:`var(--sf-text-subtle, #8A98A4)`,fontVariantNumeric:`tabular-nums`},ji=({initials:e,name:t,subtitle:r,avatarBg:i,avatarFg:a,onRemove:o,onBoard:s,onAbsent:c,boardLabel:l,className:u})=>(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-passenger-board-card sf-passenger-board-card--rich`,u),style:Di,children:[(0,n.jsx)(`div`,{style:Oi(i,a),children:e}),(0,n.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,n.jsx)(`div`,{style:ki,children:t}),r!=null&&(0,n.jsx)(`div`,{style:Ai,children:r})]}),o&&(0,n.jsx)(`button`,{type:`button`,onClick:o,title:`Quitar de la unidad`,style:{width:30,height:30,border:`1.5px solid #2E9E5B`,borderRadius:8,background:`#2E9E5B`,color:`#fff`,cursor:`pointer`,display:`flex`,alignItems:`center`,justifyContent:`center`,flex:`none`},children:(0,n.jsx)(Ti,{})}),s&&(0,n.jsxs)(`button`,{type:`button`,onClick:s,title:l?`Subir a ${l}`:`Subir`,style:{height:30,padding:`0 11px`,border:`1.5px solid #2E9E5B`,borderRadius:8,background:`var(--sf-card-bg, #fff)`,color:`#2E9E5B`,cursor:`pointer`,display:`inline-flex`,alignItems:`center`,gap:5,fontFamily:`inherit`,fontSize:11.5,fontWeight:800,flex:`none`},children:[(0,n.jsx)(Ti,{size:13}),`Subir`]}),c&&(0,n.jsx)(`button`,{type:`button`,onClick:c,title:`Ausente`,style:{width:30,height:30,border:`1.5px solid var(--sf-border, #DCE3E7)`,borderRadius:8,background:`var(--sf-card-bg, #fff)`,color:`#D9A3A3`,cursor:`pointer`,display:`flex`,alignItems:`center`,justifyContent:`center`,flex:`none`},children:(0,n.jsx)(Ei,{})})]}),Mi=e=>{let{initials:t,name:r,subtitle:i,onboard:a=!1,badge:o,onToggle:s,onRemove:c,onBoard:l,onAbsent:u,className:d}=e;if(c||l||u)return(0,n.jsx)(ji,{...e});let f=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(bi,{fallback:t,size:`sm`,variant:a?`accent`:`default`,shape:`rounded`,className:(0,U.default)(!a&&`sf-passenger-board-card__avatar--pending`)}),(0,n.jsxs)(`div`,{className:`sf-passenger-board-card__content`,children:[(0,n.jsx)(`p`,{className:`sf-passenger-board-card__name`,children:r}),i&&(0,n.jsx)(`p`,{className:`sf-passenger-board-card__subtitle`,children:i})]}),o??(a?(0,n.jsx)(wi,{label:`A bordo`,variant:`success`,dot:!0}):(0,n.jsx)(`span`,{className:`sf-passenger-board-card__pending`,children:`Pendiente`}))]});return s?(0,n.jsx)(`button`,{type:`button`,className:(0,U.default)(`sf-passenger-board-card`,a&&`sf-passenger-board-card--onboard`,d),onClick:s,children:f}):(0,n.jsx)(`article`,{className:(0,U.default)(`sf-passenger-board-card`,`sf-passenger-board-card--static`,a&&`sf-passenger-board-card--onboard`,d),children:f})},Ni=()=>(0,n.jsx)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#2E9E5B`,strokeWidth:`2`,children:(0,n.jsx)(`path`,{d:`M4 17V7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10M4 17h16M7 11h10`})}),Pi=()=>(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,children:[(0,n.jsx)(`path`,{d:`M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z`}),(0,n.jsx)(`path`,{d:`M12 9v4M12 17h.01`})]}),Fi=()=>(0,n.jsx)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.4`,children:(0,n.jsx)(`path`,{d:`M12 5v14M5 12h14`})}),Ii=()=>(0,n.jsxs)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,children:[(0,n.jsx)(`path`,{d:`M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z`}),(0,n.jsx)(`path`,{d:`M14 2v6h6M9 15l2 2 4-4`})]}),Li=()=>(0,n.jsxs)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,children:[(0,n.jsx)(`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}),(0,n.jsx)(`circle`,{cx:`9`,cy:`7`,r:`4`})]}),Ri={display:`grid`,gridTemplateColumns:`repeat(auto-fill, minmax(480px, 1fr))`,gap:10,alignContent:`start`},zi={display:`flex`,alignItems:`center`,gap:11,padding:`11px 14px`,cursor:`pointer`,width:`100%`,border:`none`,background:`transparent`,textAlign:`left`,fontFamily:`inherit`},Bi={display:`inline-flex`,alignItems:`center`,gap:5,padding:`2px 8px`,borderRadius:7,background:`var(--sf-surface-alt, #EEF0F2)`,border:`1px solid var(--sf-border, #E2E8EC)`,fontSize:11.5,fontWeight:800,color:`var(--sf-text, #1B2A38)`,flex:`none`},Vi=e=>({fontSize:9.5,fontWeight:800,letterSpacing:`.08em`,textTransform:`uppercase`,color:e,padding:`6px 8px 4px`}),Hi={display:`flex`,gap:8,padding:`10px 12px`,borderTop:`1px solid var(--sf-border, #E2E8EC)`,background:`var(--sf-surface-alt, #EEF0F2)`},Ui=e=>e>=100?`#1F8A4C`:e>=60?`#2E9E5B`:e>0?`#C76A12`:`var(--sf-text-subtle,#8A98A4)`,Wi=({routes:e,openRouteId:r,defaultOpenRouteId:i,onOpenRouteChange:a,onPassengerRemove:o,onPassengerBoard:s,onPassengerAbsent:c,onAddPassenger:l,onEvento:u,onCloseManifest:d,className:f,ariaLabel:p=`Torre de control`})=>{let[m,h]=(0,t.useState)(i??e.find(e=>e.defaultOpen)?.id??e[0]?.id??null),[g,_]=(0,t.useState)({}),v=r===void 0?m:r,y=(0,t.useCallback)(e=>{let t=v===e?null:e;a?a(t):h(t)},[a,v]),b=(0,t.useMemo)(()=>e.map(e=>{let t=e.passengers.filter(e=>e.onboard),n=e.passengers.filter(e=>!e.onboard),r=e.capacity??e.units.reduce((e,t)=>e+(t.capacity||0),0),i=e.onboardCount??t.length;return{route:e,onboard:t,pending:n,cap:r,onboardCount:i,pct:r>0?Math.min(100,Math.round(i/r*100)):0}}),[e]);return(0,n.jsx)(`section`,{className:(0,U.default)(`sf-live-route-board`,f),"aria-label":p,style:Ri,children:b.map(({route:e,onboard:t,pending:r,cap:i,onboardCount:a,pct:f})=>{let p=v===e.id,m=Ui(f),h=!!g[e.id],b=e.plate;return(0,n.jsxs)(`div`,{style:{background:`var(--sf-card-bg, #fff)`,border:`1px solid var(--sf-border, #E2E8EC)`,borderLeft:`4px solid ${e.accentColor??`#2E9E5B`}`,borderRadius:12,boxShadow:`0 1px 3px rgba(12,33,49,.06)`,overflow:`hidden`,alignSelf:`start`},children:[(0,n.jsxs)(`button`,{type:`button`,style:zi,"aria-expanded":p,onClick:()=>y(e.id),children:[(0,n.jsx)(`span`,{style:{width:9,height:9,borderRadius:`50%`,background:e.statusColor??`#3DBA6E`,flex:`none`}}),(0,n.jsxs)(`div`,{style:{flex:1,minWidth:0,display:`flex`,alignItems:`center`,gap:9},children:[(0,n.jsx)(`span`,{style:{fontSize:14.5,fontWeight:800,color:`var(--sf-text, #1B2A38)`,whiteSpace:`nowrap`},children:e.route}),b!=null&&(0,n.jsxs)(`span`,{style:Bi,children:[(0,n.jsx)(Ni,{}),b]}),(e.driver!=null||e.departure!=null)&&(0,n.jsxs)(`span`,{style:{fontSize:11.5,fontWeight:600,color:`var(--sf-text-subtle, #8A98A4)`,whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`},children:[e.driver,e.driver!=null&&e.departure!=null?` · `:``,e.departure]}),e.meta!=null&&e.driver==null&&e.departure==null&&(0,n.jsx)(`span`,{style:{fontSize:11.5,fontWeight:600,color:`var(--sf-text-subtle, #8A98A4)`},children:e.meta})]}),(0,n.jsx)(`div`,{style:{width:64,height:6,borderRadius:999,background:`var(--sf-border, #E2E8EC)`,overflow:`hidden`,flex:`none`},children:(0,n.jsx)(`div`,{style:{width:`${f}%`,height:`100%`,background:m}})}),(0,n.jsxs)(`div`,{style:{fontSize:16,fontWeight:800,color:m,flex:`none`,fontVariantNumeric:`tabular-nums`,minWidth:52,textAlign:`right`},children:[a,(0,n.jsxs)(`span`,{style:{fontSize:12,color:`var(--sf-text-subtle, #8A98A4)`},children:[`/`,i]})]}),(0,n.jsx)(`svg`,{width:`17`,height:`17`,viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--sf-text-subtle, #8A98A4)`,strokeWidth:`2.4`,style:{flex:`none`,transform:p?`rotate(180deg)`:`none`,transition:`transform .2s`},children:(0,n.jsx)(`path`,{d:`M6 9l6 6 6-6`})})]}),p&&(0,n.jsxs)(`div`,{style:{borderTop:`1px solid var(--sf-border, #E2E8EC)`},children:[(0,n.jsxs)(`div`,{style:{padding:`6px 10px`,maxHeight:320,overflow:`auto`},children:[t.length>0?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`div`,{style:Vi(`#1F8A4C`),children:[`A bordo · `,a]}),t.map(t=>(0,n.jsx)(Mi,{initials:t.initials,name:t.name,subtitle:t.subtitle,avatarBg:t.avatarBg,avatarFg:t.avatarFg,onRemove:o?()=>o(e.id,t.id):void 0},t.id))]}):(0,n.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`center`,gap:8,padding:`14px 12px`,color:`var(--sf-text-subtle, #8A98A4)`},children:[(0,n.jsx)(Li,{}),(0,n.jsx)(`span`,{style:{fontSize:12,fontWeight:700},children:`Aún nadie a bordo`})]}),h&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`div`,{style:{...Vi(`var(--sf-text-subtle, #8A98A4)`),display:`flex`,alignItems:`center`,justifyContent:`space-between`,padding:`10px 8px 4px`},children:[(0,n.jsxs)(`span`,{children:[`Sube a `,b]}),(0,n.jsxs)(`span`,{style:{color:`#1E6FA3`},children:[r.length,` en padrón`]})]}),r.map(t=>(0,n.jsx)(Mi,{initials:t.initials,name:t.name,subtitle:t.subtitle,avatarBg:t.avatarBg,avatarFg:t.avatarFg,boardLabel:typeof b==`string`?b:void 0,onBoard:s?()=>s(e.id,t.id):void 0,onAbsent:c?()=>c(e.id,t.id):void 0},t.id))]})]}),(0,n.jsxs)(`div`,{style:Hi,children:[(0,n.jsxs)(`button`,{type:`button`,onClick:()=>{_(t=>({...t,[e.id]:!t[e.id]})),l?.(e.id)},style:{flex:1,height:36,border:`none`,borderRadius:8,background:`#2E9E5B`,color:`#fff`,fontFamily:`inherit`,fontSize:12.5,fontWeight:800,cursor:`pointer`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,gap:7},children:[(0,n.jsx)(Fi,{}),`Subir pasajero`]}),u&&(0,n.jsxs)(`button`,{type:`button`,onClick:()=>u(e.id),style:{height:36,padding:`0 12px`,border:`1.5px solid var(--sf-border, #DCE3E7)`,borderRadius:8,background:`var(--sf-card-bg, #fff)`,color:`#C76A12`,fontFamily:`inherit`,fontSize:12.5,fontWeight:800,cursor:`pointer`,display:`inline-flex`,alignItems:`center`,gap:6},children:[(0,n.jsx)(Pi,{}),`Evento`]}),d&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>d(e.id),title:`Cerrar manifiesto`,style:{width:36,height:36,border:`1.5px solid var(--sf-border, #DCE3E7)`,borderRadius:8,background:`var(--sf-card-bg, #fff)`,color:`var(--sf-text-subtle, #5C7180)`,cursor:`pointer`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,n.jsx)(Ii,{})})]})]})]},e.id)})})},Gi=({label:e=`Abordar a`,value:t,options:r,onChange:i,className:a,ariaLabel:o=`Seleccionar unidad`})=>(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-unit-selector`,a),role:`group`,"aria-label":o,children:[e&&(0,n.jsx)(`span`,{className:`sf-unit-selector__label`,children:e}),(0,n.jsx)(`div`,{className:`sf-unit-selector__options`,children:r.map(e=>{let r=e.id===t;return(0,n.jsxs)(`button`,{type:`button`,className:(0,U.default)(`sf-unit-selector__option`,r&&`sf-unit-selector__option--active`),"aria-pressed":r,onClick:()=>i(e.id),children:[(0,n.jsx)(`span`,{className:`sf-unit-selector__option-label`,children:e.label}),e.detail&&(0,n.jsx)(`span`,{className:`sf-unit-selector__option-detail`,children:e.detail})]},e.id)})})]}),Ki=[`DOM`,`LUN`,`MAR`,`MIÉ`,`JUE`,`VIE`,`SÁB`],qi=[`ENE`,`FEB`,`MAR`,`ABR`,`MAY`,`JUN`,`JUL`,`AGO`,`SEP`,`OCT`,`NOV`,`DIC`],Ji=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,Yi=e=>{let t=new Date(e),n=t.getDay(),r=n===0?-6:1-n;return t.setDate(t.getDate()+r),t.setHours(0,0,0,0),t},Xi={display:`inline-flex`,alignItems:`center`,gap:6,background:`var(--sf-card-bg, #ffffff)`,border:`1px solid var(--sf-border, #E2E8EC)`,borderRadius:12,padding:5,boxShadow:`0 1px 3px rgba(12,33,49,.06)`,flex:`none`},Zi={width:34,height:34,border:`none`,borderRadius:8,background:`transparent`,color:`var(--sf-text-subtle, #5C7180)`,cursor:`pointer`,display:`flex`,alignItems:`center`,justifyContent:`center`,flex:`none`},Qi=({dir:e})=>(0,n.jsx)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.4`,children:(0,n.jsx)(`path`,{d:e===`left`?`M15 18l-6-6 6-6`:`M9 18l6-6-6-6`})}),$i=({selectedDate:e,onSelectedDateChange:r,todayIso:i,dayLabels:a=Ki,monthLabels:o=qi,todayLabel:s=`Hoy`,className:c})=>{let l=(0,t.useMemo)(()=>i??Ji(new Date),[i]),u=(0,t.useMemo)(()=>Yi(new Date(`${e}T12:00:00`)),[e]),d=(0,t.useMemo)(()=>Array.from({length:7},(e,t)=>{let n=new Date(u);return n.setDate(n.getDate()+t),Ji(n)}),[u]),f=t=>{let n=new Date(`${e}T12:00:00`);n.setDate(n.getDate()+t*7),r(Ji(n))};return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-date-week-strip`,c),style:Xi,children:[(0,n.jsx)(`button`,{type:`button`,style:Zi,onClick:()=>f(-1),"aria-label":`Semana anterior`,children:(0,n.jsx)(Qi,{dir:`left`})}),d.map(t=>{let i=new Date(`${t.slice(0,10)}T12:00:00`),c=a[i.getDay()],u=String(i.getDate()).padStart(2,`0`),d=i.getDate()===1?o[i.getMonth()]:void 0,f=t===e;return(0,n.jsxs)(`button`,{type:`button`,onClick:()=>r(t),style:{minWidth:54,height:48,border:`none`,borderRadius:9,background:f?`var(--sf-primary, #0C2131)`:`transparent`,color:f?`#ffffff`:`var(--sf-text-subtle, #5C7180)`,fontFamily:`inherit`,cursor:`pointer`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:2,flex:`none`},children:[(0,n.jsx)(`span`,{style:{fontSize:10,fontWeight:700,letterSpacing:`.05em`,textTransform:`uppercase`,opacity:.8},children:c}),(0,n.jsx)(`span`,{style:{fontSize:17,fontWeight:800,lineHeight:1},children:u}),d&&(0,n.jsx)(`span`,{style:{fontSize:9,fontWeight:800,textTransform:`uppercase`,opacity:f?.9:.7},children:d}),t===l&&!d&&(0,n.jsx)(`span`,{style:{fontSize:9,fontWeight:800,textTransform:`uppercase`,color:f?`rgba(255,255,255,.9)`:`#2E9E5B`},children:s})]},t)}),(0,n.jsx)(`button`,{type:`button`,style:Zi,onClick:()=>f(1),"aria-label":`Semana siguiente`,children:(0,n.jsx)(Qi,{dir:`right`})})]})},ea=[{value:1,label:`L`},{value:2,label:`M`},{value:3,label:`M`},{value:4,label:`J`},{value:5,label:`V`},{value:6,label:`S`},{value:0,label:`D`}],ta={display:`block`,fontSize:10,fontWeight:800,letterSpacing:`.09em`,textTransform:`uppercase`,color:`var(--sf-text-subtle, #5C7180)`,margin:`0 0 8px 2px`},na=({selected:e,onChange:t,label:r,days:i=ea,className:a})=>(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-weekday-toggle-strip`,a),children:[r&&(0,n.jsx)(`span`,{style:ta,children:r}),(0,n.jsx)(`div`,{style:{display:`flex`,gap:7},children:i.map((r,i)=>{let a=e.has(r.value);return(0,n.jsxs)(`button`,{type:`button`,"aria-pressed":a,"aria-label":`Día ${r.label}`,onClick:()=>{let n=new Set(e);n.has(r.value)?n.delete(r.value):n.add(r.value),t(n)},style:{flex:1,height:46,border:`1.5px solid ${a?`#2E9E5B`:`var(--sf-border, #E2E8EC)`}`,borderRadius:9,background:a?`#EAF5EE`:`var(--sf-card-bg, #fff)`,color:a?`#2E9E5B`:`var(--sf-text, #1B2A38)`,fontFamily:`inherit`,cursor:`pointer`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:3,transition:`all .14s`},children:[(0,n.jsx)(`span`,{style:{fontSize:13,fontWeight:800},children:r.label}),(0,n.jsx)(`span`,{style:{width:5,height:5,borderRadius:`50%`,background:a?`#2E9E5B`:`var(--sf-border, #DCE3E7)`}})]},`${r.value}-${i}`)})})]}),ra=(e,t)=>e.find(e=>e.items.some(e=>e.id===t)),ia=e=>{let t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?`US`:t.length===1?t[0].slice(0,2).toUpperCase():`${t[0][0]??``}${t[1][0]??``}`.toUpperCase()},aa=({categories:e,activeItemId:r,onChange:i,brand:a,topBar:o,children:s,submenuCollapsed:c=!1,onSubmenuCollapsedChange:l,submenuFooter:u,showSubmenuHeader:d=!1,showDefaultTopBar:f=!1,topBarContext:p,branchSelector:m,themeToggle:h,notifications:g,moduleLauncher:_,userMenu:v,helpAction:y,exitToModulesAction:b,className:x,contentClassName:S})=>{let C=(0,t.useMemo)(()=>ra(e,r)??e[0],[e,r]),w=C?.id,T=C?.items??[],E=T.find(e=>e.id===r),D=e=>{l?.(e)},O={section:p?.section??C?.label,title:p?.title??E?.label,icon:p?.icon??C?.icon},k=!!m||!!h||!!g||!!y||!!_||!!v,A=v?v.initials??ia(v.fullName):``,j=e=>{let t=e.items[0];t&&(i(t.id),D(!1))},M=(0,n.jsxs)(`div`,{className:`sf-app-shell-default-topbar`,children:[(0,n.jsxs)(`div`,{className:`sf-app-shell-default-topbar__left`,children:[O.icon&&(0,n.jsx)(`span`,{className:`sf-app-shell-default-topbar__context-icon`,children:O.icon}),(O.section||O.title)&&(0,n.jsxs)(`div`,{className:`sf-app-shell-default-topbar__context-text`,children:[O.section&&(0,n.jsx)(`span`,{className:`sf-app-shell-default-topbar__section`,children:O.section}),O.title&&(0,n.jsx)(`span`,{className:`sf-app-shell-default-topbar__title`,children:O.title})]})]}),k&&(0,n.jsxs)(`div`,{className:`sf-app-shell-default-topbar__right`,children:[m&&(0,n.jsx)(`label`,{className:`sf-app-shell-default-topbar__branch`,"aria-label":`Seleccionar sucursal`,children:(0,n.jsx)(`select`,{className:`sf-app-shell-default-topbar__branch-select`,value:m.value,onChange:e=>m.onChange(e.target.value),children:m.options.map(e=>(0,n.jsx)(`option`,{value:e.value,children:e.label},e.value))})}),h&&(0,n.jsx)(`button`,{type:`button`,className:`sf-app-shell-default-topbar__icon-btn`,"aria-label":h.mode===`dark`?`Cambiar a modo claro`:`Cambiar a modo oscuro`,onClick:h.onToggle,children:h.mode===`dark`?(0,n.jsx)(oe,{"aria-hidden":`true`}):(0,n.jsx)(de,{"aria-hidden":`true`})}),g&&(0,n.jsx)(Cr,{className:`sf-app-shell-default-topbar__notification`,items:g.items,onItemClick:g.onItemClick}),y&&(0,n.jsx)(`button`,{type:`button`,className:`sf-app-shell-default-topbar__icon-btn`,"aria-label":y.ariaLabel??`Información`,onClick:y.onClick,children:y.icon??(0,n.jsx)(me,{"aria-hidden":`true`})}),_&&(0,n.jsx)(ur,{align:`end`,widthClassName:`w-[27rem] max-w-[calc(100vw-1.5rem)]`,trigger:(0,n.jsx)(`span`,{className:`sf-app-shell-default-topbar__icon-btn`,"aria-hidden":`true`,children:(0,n.jsx)(he,{})}),children:(0,n.jsxs)(`div`,{className:`sf-app-shell-module-launcher`,children:[(0,n.jsxs)(`header`,{className:`sf-app-shell-module-launcher__header`,children:[(0,n.jsx)(`p`,{className:`sf-app-shell-module-launcher__title`,children:_.title??`Cambiar de módulo`}),(0,n.jsx)(`p`,{className:`sf-app-shell-module-launcher__subtitle`,children:_.subtitle??`Ecosistema SARK`})]}),_.items.length===0?(0,n.jsx)(`p`,{className:`sf-notification-bell__empty sf-app-shell-module-launcher__empty`,role:`status`,children:`Sin módulos`}):(0,n.jsx)(`div`,{className:`sf-app-shell-module-launcher__grid`,role:`group`,"aria-label":`Módulos disponibles`,children:_.items.map(e=>(0,n.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`sf-app-shell-module-launcher__item`,onClick:e.onClick,children:[(0,n.jsx)(`span`,{className:`sf-app-shell-module-launcher__item-icon`,"aria-hidden":`true`,children:e.icon??(0,n.jsx)(he,{})}),(0,n.jsx)(`span`,{className:`sf-app-shell-module-launcher__item-label`,children:e.label})]},e.id))})]})}),v&&(0,n.jsx)(ur,{align:`end`,widthClassName:`w-72`,trigger:(0,n.jsxs)(`span`,{className:`sf-app-shell-default-topbar__icon-btn sf-app-shell-default-topbar__profile-btn`,children:[(0,n.jsx)(bi,{alt:v.fullName,fallback:A,size:`sm`}),(0,n.jsxs)(`span`,{className:`sf-app-shell-default-topbar__profile-text`,children:[(0,n.jsx)(`span`,{className:`sf-app-shell-default-topbar__profile-name`,children:v.fullName}),v.subtitle&&(0,n.jsx)(`span`,{className:`sf-app-shell-default-topbar__profile-subtitle`,"aria-hidden":`true`,children:v.subtitle})]})]}),children:(0,n.jsxs)(`div`,{className:`sf-app-shell-user-menu`,children:[(v.fullName||v.subtitle)&&(0,n.jsxs)(`div`,{className:`sf-app-shell-user-menu__header`,children:[(0,n.jsx)(`p`,{className:`sf-app-shell-user-menu__name`,children:v.fullName}),v.subtitle&&(0,n.jsx)(`p`,{className:`sf-app-shell-user-menu__subtitle`,children:v.subtitle})]}),v.actions.length===0?(0,n.jsx)(`p`,{className:`sf-notification-bell__empty`,role:`status`,children:`Sin acciones de perfil`}):(0,n.jsx)(`div`,{className:`sf-app-shell-user-menu__actions`,children:v.actions.map(e=>(0,n.jsxs)(`button`,{type:`button`,role:`menuitem`,className:(0,U.default)(`sf-app-shell-user-menu__action`,e.danger&&`sf-app-shell-user-menu__action--danger`),onClick:e.onClick,children:[e.icon?(0,n.jsx)(`span`,{className:`sf-app-shell-user-menu__action-icon`,children:e.icon}):null,(0,n.jsx)(`span`,{className:`truncate`,children:e.label})]},e.label))})]})})]})]}),N=o??(f?M:null);return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-app-shell`,x),children:[(0,n.jsxs)(`aside`,{className:`sf-app-shell__category-rail`,children:[(0,n.jsx)(`div`,{className:`sf-app-shell__brand-wrap`,children:(0,n.jsx)(`button`,{type:`button`,className:`sf-app-shell__brand-button`,onClick:()=>D(!c),"aria-label":`Mostrar u ocultar submenú`,children:a})}),(0,n.jsx)(`div`,{className:`sf-app-shell__categories`,children:e.map(e=>{let t=w===e.id;return(0,n.jsxs)(`button`,{type:`button`,title:e.label,onClick:()=>j(e),className:(0,U.default)(`sf-app-shell__category-btn`,t&&`sf-app-shell__category-btn--active`),children:[(0,n.jsx)(`span`,{className:`sf-app-shell__category-accent`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`sf-app-shell__category-icon`,"aria-hidden":`true`,children:e.icon}),(0,n.jsx)(`span`,{className:`sf-app-shell__category-label`,children:e.label})]},e.id)})}),b&&(0,n.jsx)(`div`,{className:`sf-app-shell__rail-exit-wrap`,children:(0,n.jsx)(`button`,{type:`button`,className:`sf-app-shell__rail-exit-btn`,onClick:b.onClick,"aria-label":b.ariaLabel??`Volver a lista de módulos`,title:b.label??`Volver a módulos`,children:(0,n.jsx)(`span`,{className:`sf-app-shell__rail-exit-icon`,"aria-hidden":`true`,children:b.icon??(0,n.jsx)(Se,{})})})})]}),(0,n.jsxs)(`div`,{className:`sf-app-shell__workspace`,children:[N&&(0,n.jsx)(`header`,{className:`sf-app-shell__topbar`,children:N}),(0,n.jsxs)(`div`,{className:`sf-app-shell__workspace-body`,children:[(0,n.jsxs)(`aside`,{className:(0,U.default)(`sf-app-shell__submenu`,c&&`sf-app-shell__submenu--collapsed`),children:[d&&(0,n.jsx)(`div`,{className:`sf-app-shell__submenu-header`,children:!c&&(0,n.jsx)(`span`,{className:`sf-app-shell__submenu-title`,children:C?.label})}),(0,n.jsx)(`div`,{className:`sf-app-shell__submenu-items`,children:T.map((e,a)=>{let o=e.id===r;return(0,n.jsxs)(t.Fragment,{children:[e.dividerBefore&&a>0&&(0,n.jsx)(`span`,{className:`sf-app-shell__submenu-divider`,role:`separator`,"aria-orientation":`horizontal`}),(0,n.jsxs)(`button`,{type:`button`,title:e.label,onClick:()=>i(e.id),className:(0,U.default)(`sf-app-shell__submenu-btn`,o&&`sf-app-shell__submenu-btn--active`),children:[(0,n.jsx)(`span`,{className:`sf-app-shell__submenu-accent`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`sf-app-shell__submenu-icon`,"aria-hidden":`true`,children:e.icon}),!c&&(0,n.jsx)(`span`,{className:`sf-app-shell__submenu-label`,children:e.label}),e.badge!=null&&e.badge!==``&&(0,n.jsx)(`span`,{className:`sf-app-shell__submenu-badge`,"aria-label":`${e.badge} pendientes`,children:e.badge})]})]},e.id)})}),!c&&u&&(0,n.jsx)(`div`,{className:`sf-app-shell__submenu-footer`,children:u})]}),(0,n.jsx)(`section`,{className:`sf-app-shell__main`,children:(0,n.jsx)(`main`,{className:(0,U.default)(`sf-app-shell__content`,S),children:s})})]})]})]})},oa=aa,sa=new Set([`script`,`iframe`,`object`,`embed`,`link`,`meta`,`style`]),ca=new Set([`href`,`src`,`xlink:href`,`formaction`]),la=e=>/^\s*javascript:/i.test(e),ua=e=>e.replace(/<\s*script[^>]*>[\s\S]*?<\s*\/\s*script\s*>/gi,``).replace(/\son\w+\s*=\s*(".*?"|'.*?'|[^\s>]+)/gi,``).replace(/\s(href|src|xlink:href|formaction)\s*=\s*("javascript:[^"]*"|'javascript:[^']*'|javascript:[^\s>]+)/gi,``),da=e=>{let t=String(e??``);if(!t)return``;if(typeof window>`u`||typeof DOMParser>`u`)return ua(t);let n=new DOMParser().parseFromString(t,`text/html`),r=Array.from(n.body.querySelectorAll(`*`));for(let e of r){let t=e.tagName.toLowerCase();if(sa.has(t)){e.remove();continue}for(let t of Array.from(e.attributes)){let n=t.name.toLowerCase(),r=t.value;if(n.startsWith(`on`)){e.removeAttribute(t.name);continue}ca.has(n)&&la(r)&&e.removeAttribute(t.name)}}return n.body.innerHTML},fa=[{cmd:`bold`,label:`B`,title:`Negrita`},{cmd:`italic`,label:`I`,title:`Cursiva`},{cmd:`underline`,label:`U`,title:`Subrayado`},{cmd:`insertUnorderedList`,label:`•`,title:`Lista`},{cmd:`insertOrderedList`,label:`1.`,title:`Numerada`},{cmd:`undo`,label:`↩`,title:`Deshacer`},{cmd:`redo`,label:`↪`,title:`Rehacer`}],pa=({form:e,name:i,label:a,info:o,required:s,readOnly:c,disabled:l,height:u=180,className:d,onChange:f,onRefresh:p})=>{let m=(0,t.useRef)(null),h=(0,r.useController)({name:i,control:e.control}),g=String(i),_=h.fieldState.error,v=c||l;(0,t.useEffect)(()=>{let e=da(h.field.value);m.current&&m.current.innerHTML!==e&&(m.current.innerHTML=e)},[]);let y=(0,t.useCallback)(()=>{let e=m.current?.innerHTML??``,t=da(e);m.current&&t!==e&&(m.current.innerHTML=t),h.field.onChange(t),f?.(t)},[h.field,f]),b=(0,t.useCallback)(e=>{document.execCommand(e,!1),m.current?.focus(),y()},[y]),x=(0,t.useCallback)(e=>{e.preventDefault();let t=e.clipboardData.getData(`text/plain`);document.execCommand(`insertText`,!1,t),y()},[y]),S=(0,t.useMemo)(()=>fa.map(({cmd:e,label:t,title:r})=>(0,n.jsx)(`button`,{type:`button`,title:r,"aria-label":r,onMouseDown:e=>e.preventDefault(),onClick:()=>b(e),className:`sf-rich-editor__toolbar-btn`,children:t},e)),[b]);return(0,n.jsx)(W,{id:g,label:a,info:o,required:s,onRefresh:p,error:_?.message?String(_.message):void 0,children:(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-rich-editor`,_&&`sf-rich-editor--error`,v&&`sf-rich-editor--disabled`,d),children:[!v&&(0,n.jsx)(`div`,{className:`sf-rich-editor__toolbar`,children:S}),(0,n.jsx)(`div`,{id:g,ref:m,contentEditable:!v,role:`textbox`,"aria-multiline":`true`,"aria-readonly":c||void 0,"aria-disabled":l||void 0,"aria-invalid":!!_||void 0,suppressContentEditableWarning:!0,onInput:y,onPaste:x,onBlur:()=>h.field.onBlur(),style:{minHeight:u},className:(0,U.default)(`sf-rich-editor__body`,v&&`sf-rich-editor__body--readonly`)})]})})},ma=()=>()=>void 0,ha=()=>(0,t.useSyncExternalStore)(ma,()=>!0,()=>!1),ga=({small:e,error:t,className:n})=>(0,U.default)(`sf-input`,`sf-input--textarea`,`sf-input--code`,e&&`sf-input--sm`,t&&`sf-input--error`,n),_a=e=>{switch(e){case`javascript`:return[(0,d.javascript)()];case`json`:return[(0,f.json)()];case`html`:return[(0,u.html)()];case`sql`:return[(0,p.sql)()];default:return[]}},va={javascript:`JavaScript`,json:`JSON`,html:`HTML`,sql:`SQL`,text:`Texto`},ya=({form:e,name:i,label:a,info:o,required:s,language:c=`javascript`,highlighted:u=!0,readOnly:d,disabled:f,rows:p=8,small:m,className:h,onChange:g,onRefresh:_})=>{let v=ha(),y=(0,r.useController)({name:i,control:e.control}),b=String(i),x=y.fieldState.error,S=String(y.field.value??``),C=d||f,w=`${p*(m?1.25:1.5)}rem`,T=(0,t.useCallback)(e=>{y.field.onChange(e),g?.(e)},[y.field,g]);return(0,n.jsx)(W,{id:b,label:a,info:o,required:s,onRefresh:_,error:x?.message?String(x.message):void 0,children:(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-code-editor`,x&&`sf-code-editor--error`,h),"aria-invalid":!!x||void 0,children:[(0,n.jsx)(`div`,{className:`sf-code-editor__header`,children:va[c]}),v&&u&&c!==`text`?(0,n.jsx)(l.default,{id:b,value:S,height:w,extensions:_a(c),editable:!C,readOnly:C,"aria-label":a??String(i),basicSetup:{lineNumbers:!0,foldGutter:!0,highlightActiveLine:!C},onBlur:()=>y.field.onBlur(),onChange:e=>T(e),className:(0,U.default)(`sf-code-editor__codemirror`,m&&`sf-code-editor__codemirror--sm`,C&&`sf-code-editor__codemirror--disabled`)}):(0,n.jsx)(`textarea`,{id:b,name:y.field.name,rows:p,spellCheck:!1,value:S,readOnly:d,disabled:f,"aria-invalid":!!x||void 0,onBlur:()=>y.field.onBlur(),onChange:e=>T(e.target.value),className:ga({small:m,error:!!x,readOnly:d,disabled:f,className:`rounded-none border-0 shadow-none focus:ring-0`})})]})})},ba=({target:e,zoom:n=16})=>{let r=(0,m.useMap)();return(0,t.useEffect)(()=>{e&&r.setView([e.lat,e.lng],n,{animate:!0})},[e,n,r]),null},xa=3,Sa=async(e,t=5)=>{let n=e.trim();if(n.length<3)return[];let r=await fetch(`https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(n)}&limit=${t}&addressdetails=0`,{headers:{"Accept-Language":`es`}});return r.ok?(await r.json()).map(e=>({lat:Number.parseFloat(e.lat),lng:Number.parseFloat(e.lon),label:e.display_name})).filter(e=>Number.isFinite(e.lat)&&Number.isFinite(e.lng)):[]},Ca=(e,t=3)=>e.split(`,`).slice(0,t).join(`, `).trim(),wa=({onSelect:e,placeholder:r=`Buscar direccion...`,className:i,disabled:a})=>{let[o,s]=(0,t.useState)(``),[c,l]=(0,t.useState)(!1),[u,d]=(0,t.useState)([]),[f,p]=(0,t.useState)(!1),m=(0,t.useRef)(null),h=(0,t.useId)(),g=`${h}-results`,_=(0,t.useCallback)(async e=>{let t=e.trim();if(!t){d([]),p(!1);return}l(!0);try{let e=await Sa(t);d(e),p(e.length>0)}catch{d([]),p(!1)}finally{l(!1)}},[]);(0,t.useEffect)(()=>()=>{m.current&&clearTimeout(m.current)},[]);let v=e=>{s(e),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>_(e),500)},y=t=>{e(t),s(Ca(t.label,2)),d([]),p(!1)};return(0,n.jsxs)(`div`,{className:(0,U.default)(`w-[220px]`,i),children:[(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(`input`,{id:h,value:o,disabled:a,onChange:e=>v(e.target.value),onKeyDown:e=>{if(e.key===`Escape`){p(!1);return}e.key===`Enter`&&f&&u[0]&&(e.preventDefault(),y(u[0]))},placeholder:r,className:`sf-geocoder-input`,role:`combobox`,"aria-label":`Buscar direccion en el mapa`,"aria-autocomplete":`list`,"aria-expanded":f,"aria-controls":g,"aria-busy":c||void 0,onFocus:()=>u.length>0&&p(!0),onBlur:()=>setTimeout(()=>p(!1),200)}),(0,n.jsx)(`span`,{className:`sf-geocoder-icon`,children:c?`...`:(0,n.jsx)(se,{"aria-hidden":`true`,className:`h-3.5 w-3.5`})})]}),f&&u.length>0&&(0,n.jsx)(`ul`,{id:g,className:`sf-geocoder-results`,role:`listbox`,"aria-label":`Resultados de direcciones`,children:u.map((e,t)=>(0,n.jsx)(`li`,{role:`presentation`,children:(0,n.jsx)(`button`,{type:`button`,id:`${g}-${t}`,role:`option`,"aria-selected":!1,className:`sf-geocoder-result`,onMouseDown:()=>y(e),children:Ca(e.label)})},`${e.lat}-${e.lng}-${e.label}`))})]})},Ta=h.default.divIcon({className:``,html:`<div class="sf-map-picker-marker"></div>`,iconSize:[14,14],iconAnchor:[7,7]}),Ea={lat:`-12.0464`,lng:`-77.0428`},Da=(e,t)=>{let n=Number.parseFloat(e.trim().replace(`,`,`.`));return Number.isFinite(n)?n:t},Oa=e=>e.toFixed(6),ka={enableHighAccuracy:!0,maximumAge:0,timeout:15e3},Aa=e=>e>=1e3?`Ubicación aproximada (~${(e/1e3).toFixed(1)} km). Ajusta el marcador en el mapa si no coincide.`:e>=200?`Precisión moderada (~${Math.round(e)} m). Verifica en el mapa.`:null,ja=e=>{switch(e){case GeolocationPositionError.PERMISSION_DENIED:return`Permiso de ubicación denegado.`;case GeolocationPositionError.POSITION_UNAVAILABLE:return`Ubicación no disponible en este dispositivo.`;case GeolocationPositionError.TIMEOUT:return`Tiempo agotado. Intenta de nuevo o marca el punto en el mapa.`;default:return`No se pudo obtener la ubicación.`}},Ma=e=>e&&typeof e==`object`&&`lat`in e&&`lng`in e?{lat:String(e.lat??Ea.lat),lng:String(e.lng??Ea.lng)}:{...Ea},Na=`© <a href="https://www.openstreetmap.org/copyright" target="_blank" rel="noreferrer">OpenStreetMap</a>`,Pa=({lat:e,lng:n})=>{let r=(0,m.useMap)();return(0,t.useEffect)(()=>{r.setView([e,n],r.getZoom(),{animate:!0})},[e,n,r]),null},Fa=({readOnly:e,onPick:t})=>((0,m.useMapEvents)({click(n){e||t(Oa(n.latlng.lat),Oa(n.latlng.lng))}}),null),Ia=({lat:e,lng:r,zoom:i=13,readOnly:a,showGeocoder:o=!0,onPick:s})=>{let c=[e,r],[l,u]=(0,t.useState)(null);return(0,n.jsxs)(`div`,{className:`relative h-40 w-full`,children:[!a&&o&&(0,n.jsx)(wa,{className:`absolute left-2 top-2 z-[1000]`,onSelect:e=>{u({lat:e.lat,lng:e.lng}),s(Oa(e.lat),Oa(e.lng))}}),(0,n.jsxs)(m.MapContainer,{center:c,zoom:i,scrollWheelZoom:!a,className:`sf-map-frame`,children:[(0,n.jsx)(m.TileLayer,{attribution:Na,url:`https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png`}),(0,n.jsx)(ba,{target:l}),(0,n.jsx)(Pa,{lat:e,lng:r}),(0,n.jsx)(Fa,{readOnly:a,onPick:s}),(0,n.jsx)(m.Marker,{position:c,icon:Ta,draggable:!a,eventHandlers:{dragend:e=>{let t=e.target.getLatLng();s(Oa(t.lat),Oa(t.lng))}}})]})]})},La={lat:Da(Ea.lat,-12.0464),lng:Da(Ea.lng,-77.0428)},Ra=({form:e,name:i,label:a,info:o,required:s,zoom:c=13,readOnly:l,disabled:u,showGeocoder:d=!0,className:f,onChange:p,onRefresh:m})=>{let h=ha(),[g,_]=(0,t.useState)(!1),[v,y]=(0,t.useState)(null),b=(0,r.useController)({name:i,control:e.control}),x=String(i),S=b.fieldState.error,C=!!S,w=l||u,T=b.field.onBlur,E=(0,t.useMemo)(()=>Ma(b.field.value),[b.field.value]),D=(0,t.useMemo)(()=>Da(E.lat,La.lat),[E.lat]),O=(0,t.useMemo)(()=>Da(E.lng,La.lng),[E.lng]),k=(0,t.useCallback)(e=>{let t={...E,...e};b.field.onChange(t),p?.(t)},[b.field,p,E]),A=(0,t.useCallback)((e,t)=>{y(null),k({lat:e,lng:t}),T()},[T,k]),j=(0,t.useCallback)(()=>{!navigator.geolocation||g||(_(!0),y(null),navigator.geolocation.getCurrentPosition(e=>{k({lat:Oa(e.coords.latitude),lng:Oa(e.coords.longitude)});let t=Aa(e.coords.accuracy);y(t?{tone:`warning`,message:t}:null),_(!1)},e=>{y({tone:`error`,message:ja(e.code)}),_(!1)},ka))},[g,k]);return(0,n.jsx)(W,{id:x,label:a,info:o,required:s,onRefresh:m,error:S?.message?String(S.message):void 0,children:(0,n.jsxs)(`div`,{className:(0,U.default)(`grid gap-3`,f),children:[(0,n.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`label`,{htmlFor:`${x}-lat`,className:`sf-map-label`,children:`Latitud`}),(0,n.jsx)(`input`,{id:`${x}-lat`,type:`text`,inputMode:`decimal`,value:E.lat,readOnly:w,disabled:u,"aria-invalid":C||void 0,onBlur:()=>b.field.onBlur(),onChange:e=>k({lat:e.target.value}),className:G({error:!!S,readOnly:l,disabled:u,small:!0})})]}),(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`label`,{htmlFor:`${x}-lng`,className:`sf-map-label`,children:`Longitud`}),(0,n.jsx)(`input`,{id:`${x}-lng`,type:`text`,inputMode:`decimal`,value:E.lng,readOnly:w,disabled:u,"aria-invalid":C||void 0,onBlur:()=>b.field.onBlur(),onChange:e=>k({lng:e.target.value}),className:G({error:!!S,readOnly:l,disabled:u,small:!0})})]})]}),!w&&(0,n.jsx)(`button`,{type:`button`,onClick:j,disabled:g,"aria-busy":g||void 0,className:(0,U.default)(`sf-map-action-btn`,g&&`cursor-wait opacity-70`),children:g?`Obteniendo ubicación…`:`Usar mi ubicación`}),v&&(0,n.jsx)(`p`,{className:(0,U.default)(`sf-map-feedback`,v.tone===`error`?`sf-map-feedback--error`:`sf-map-feedback--warning`),role:`status`,children:v.message}),h?(0,n.jsx)(Ia,{lat:D,lng:O,zoom:c,readOnly:w,showGeocoder:d,onPick:A}):(0,n.jsx)(`div`,{className:`sf-map-placeholder sf-map-placeholder--picker`,role:`status`,children:`Cargando mapa…`}),(0,n.jsx)(`p`,{className:`sf-map-hint`,children:`Haz clic en el mapa o arrastra el marcador para ajustar la ubicación.`})]})})},za={emerald:`sf-kpi-card--accent-emerald`,blue:`sf-kpi-card--accent-blue`,amber:`sf-kpi-card--accent-amber`,red:`sf-kpi-card--accent-red`,teal:`sf-kpi-card--accent-teal`,slate:`sf-kpi-card--accent-slate`},Ba=e=>`${e>0?`+`:``}${e}%`,Va=({label:e,value:t,sublabel:r,icon:i,iconClassName:a,trend:o,trendLabel:s,accentTone:c,className:l,onClick:u})=>{let d=o!=null,f=d&&o>=0;return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-card p-4`,c&&`sf-kpi-card`,c&&za[c],u&&`sf-card--interactive`,l),onClick:u,onKeyDown:e=>{u&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),u())},role:u?`button`:void 0,tabIndex:u?0:void 0,children:[(0,n.jsxs)(`div`,{className:`mb-2 flex items-start justify-between gap-2`,children:[(0,n.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[i&&(0,n.jsx)(`span`,{className:(0,U.default)(`sf-card-icon`,a),"aria-hidden":`true`,children:i}),(0,n.jsx)(`span`,{className:`truncate text-sm font-medium sf-card-subtitle`,children:e})]}),d&&(0,n.jsxs)(`span`,{className:(0,U.default)(`flex shrink-0 items-center gap-0.5 text-xs font-semibold tabular-nums`,f?`text-[var(--sf-success)]`:`text-[var(--sf-danger)]`),children:[(0,n.jsx)(`span`,{"aria-hidden":`true`,children:f?`↑`:`↓`}),Ba(o)]})]}),(0,n.jsx)(`p`,{className:`text-2xl font-semibold tabular-nums sf-card-title`,children:typeof t==`number`?t.toLocaleString(`es-PE`):t}),(r||s)&&(0,n.jsxs)(`div`,{className:`mt-1.5 flex items-center justify-between gap-2`,children:[r&&(0,n.jsx)(`span`,{className:`text-xs sf-card-muted`,children:r}),s&&(0,n.jsx)(`span`,{className:`ml-auto text-xs sf-card-muted`,children:s})]})]})},Ha={2:`grid-cols-1 sm:grid-cols-2`,3:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-3`,4:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-4`,5:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-5`},Ua=({children:e,cols:t=4,className:r})=>(0,n.jsx)(`div`,{className:(0,U.default)(`grid gap-4`,Ha[t],r),children:e}),Wa={slate:`sf-metric-row__fill--slate`,emerald:`sf-metric-row__fill--emerald`,amber:`sf-metric-row__fill--amber`,red:`sf-metric-row__fill--red`,blue:`sf-metric-row__fill--blue`},Ga=({item:e,small:t=!1})=>{let r=Math.max(0,Math.min(100,e.value)),i=e.tone??`slate`;return(0,n.jsxs)(`div`,{className:`w-full`,children:[(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-metric-row__labels`,t&&`sf-metric-row__labels--sm`),children:[(0,n.jsx)(`span`,{className:`sf-metric-row__label`,children:e.label}),(0,n.jsxs)(`span`,{className:`sf-metric-row__value`,children:[r,`%`]})]}),(0,n.jsx)(`div`,{className:(0,U.default)(`sf-metric-row__track`,t&&`sf-metric-row__track--sm`),children:(0,n.jsx)(`div`,{className:(0,U.default)(`sf-metric-row__fill`,Wa[i]),style:{width:`${r}%`,height:t?2:4,...e.inverse?{marginLeft:`${100-r}%`}:{}}})})]})},Ka=({metrics:e,small:t=!1,className:r})=>(0,n.jsx)(`div`,{className:(0,U.default)(`flex w-full flex-col gap-1.5`,r),children:e.map((e,r)=>(0,n.jsx)(Ga,{item:e,small:t},`${e.label}-${r}`))}),qa={default:`sf-entity-card--default`,featured:`sf-entity-card--featured`,warning:`sf-entity-card--warning`},Ja={default:null,featured:`★`,warning:`!`},Ya=e=>e.split(` `).map(e=>e[0]).join(``).slice(0,2).toUpperCase(),Xa=e=>e>=90?`sf-entity-score--high`:e>=70?`sf-entity-score--mid`:`sf-entity-score--low`,Za=e=>t=>{e&&(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e())},Qa=({photo:e,photoIcon:t,name:r})=>(0,n.jsx)(`div`,{className:`sf-entity-photo`,children:e?(0,n.jsx)(`img`,{src:e,alt:r,className:`h-full w-full object-cover`,loading:`lazy`}):(0,n.jsx)(`span`,{className:`sf-entity-photo__initials`,"aria-hidden":`true`,children:t??Ya(r)})}),$a=({name:e,subtitle:t,sublabel:r,photo:i,photoIcon:a,status:o=`default`,metrics:s=[],actionLabel:c,onAction:l,onClick:u,className:d})=>{let f=Ja[o];return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-entity-card sf-entity-card--full`,qa[o],u&&`sf-entity-card--interactive`,d),onClick:u,onKeyDown:Za(u),role:u?`button`:void 0,tabIndex:u?0:void 0,children:[(0,n.jsx)(Qa,{photo:i,photoIcon:a,name:e}),f&&(0,n.jsx)(`div`,{className:`sf-entity-badge`,"aria-hidden":`true`,children:f}),(0,n.jsxs)(`div`,{className:`flex flex-1 flex-col gap-2 p-3`,children:[(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`p`,{className:`text-sm font-semibold sf-card-title`,children:e}),t&&(0,n.jsx)(`p`,{className:`mt-0.5 text-xs sf-card-subtitle`,children:t}),r&&(0,n.jsx)(`p`,{className:`mt-0.5 font-mono text-[11px] sf-card-muted`,children:r})]}),s.length>0&&(0,n.jsx)(Ka,{metrics:s}),c&&(0,n.jsx)(Z,{type:`button`,variant:`outline`,size:`sm`,className:`mt-auto w-full`,onClick:e=>{e.stopPropagation(),l?.()},children:c})]})]})},eo=({name:e,subtitle:t,sublabel:r,photo:i,photoIcon:a,score:o,status:s=`default`,metrics:c=[],onClick:l,className:u})=>{let d=Ja[s];return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-entity-card sf-entity-card--compact`,l&&`sf-entity-card--interactive`,u),onClick:l,onKeyDown:Za(l),role:l?`button`:void 0,tabIndex:l?0:void 0,children:[(0,n.jsxs)(`div`,{className:`sf-entity-photo sf-entity-photo--avatar`,children:[i?(0,n.jsx)(`img`,{src:i,alt:e,className:`h-full w-full object-cover`}):(0,n.jsx)(`span`,{className:`sf-entity-photo__initials sf-entity-photo__initials--sm`,children:a??Ya(e)}),d&&(0,n.jsx)(`span`,{className:`sf-entity-badge sf-entity-badge--inline`,children:d})]}),(0,n.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,n.jsx)(`p`,{className:`truncate text-sm font-semibold sf-card-title`,children:e}),t&&(0,n.jsx)(`p`,{className:`truncate text-xs sf-card-subtitle`,children:t}),r&&(0,n.jsx)(`p`,{className:`truncate font-mono text-[11px] sf-card-muted`,children:r}),c.length>0&&(0,n.jsx)(`div`,{className:`mt-1 flex flex-col gap-0.5`,children:c.map((e,t)=>(0,n.jsx)(Ga,{item:e,small:!0},`${e.label}-${t}`))})]}),o!==void 0&&(0,n.jsx)(`div`,{className:(0,U.default)(`sf-entity-score`,Xa(o)),children:o})]})},to=({name:e,subtitle:t,sublabel:r,groupIcon:i=`👥`,groupIconClassName:a,metrics:o=[],actionLabel:s,onAction:c,onClick:l,className:u})=>(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-entity-card sf-entity-card--group`,l&&`sf-entity-card--interactive`,u),onClick:l,onKeyDown:Za(l),role:l?`button`:void 0,tabIndex:l?0:void 0,children:[(0,n.jsx)(`div`,{className:(0,U.default)(`sf-entity-group-icon`,a),children:i}),(0,n.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,n.jsx)(`p`,{className:`text-sm font-semibold sf-card-title`,children:e}),t&&(0,n.jsx)(`p`,{className:`mt-0.5 text-xs sf-card-subtitle`,children:t}),r&&(0,n.jsx)(`p`,{className:`mt-0.5 font-mono text-[11px] sf-card-subtitle`,children:r}),o.length>0&&(0,n.jsx)(Ka,{metrics:o,small:!0,className:`mt-2`}),s&&(0,n.jsxs)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),c?.()},className:`sf-entity-action-link`,children:[s,` →`]})]})]}),no=e=>e.compact?(0,n.jsx)(eo,{...e}):e.variant===`group`?(0,n.jsx)(to,{...e}):(0,n.jsx)($a,{...e}),ro={2:`grid-cols-1 sm:grid-cols-2`,3:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-3`,4:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-4`,5:`grid-cols-2 sm:grid-cols-3 lg:grid-cols-5`},io=({children:e,cols:t=3,className:r})=>(0,n.jsx)(`div`,{className:(0,U.default)(`grid gap-3`,ro[t],r),children:e}),ao={alta:`danger`,media:`warning`,baja:`success`},oo={alto:`Impacto alto`,medio:`Impacto medio`,bajo:`Impacto bajo`},so=({title:e,description:t,tags:r=[],priority:i=`media`,impact:a=`medio`,confidence:o,actionLabel:s,onAction:c,className:l})=>(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-card flex items-start gap-3 p-3`,l),children:[(0,n.jsx)(`div`,{className:`mt-0.5 shrink-0`,children:(0,n.jsx)(wi,{label:i,variant:ao[i],size:`md`})}),(0,n.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,n.jsx)(`p`,{className:`text-sm font-semibold sf-card-title`,children:e}),(0,n.jsx)(`p`,{className:`mt-0.5 text-xs leading-snug sf-card-subtitle`,children:t}),r.length>0&&(0,n.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1`,children:r.map(e=>(0,n.jsx)(`span`,{className:`sf-card-tag`,children:e},e))})]}),(0,n.jsxs)(`div`,{className:`flex shrink-0 flex-col items-end gap-1`,children:[o!==void 0&&(0,n.jsxs)(`div`,{className:`text-center`,children:[(0,n.jsx)(`span`,{className:`text-lg font-bold tabular-nums sf-card-title`,children:o}),(0,n.jsx)(`span`,{className:`text-[10px] sf-card-muted`,children:`%`}),(0,n.jsx)(`p`,{className:`text-[10px] sf-card-muted`,children:`Confianza`})]}),(0,n.jsx)(`span`,{className:`text-[11px] font-medium sf-card-muted`,children:oo[a]}),s&&(0,n.jsxs)(`button`,{type:`button`,onClick:c,className:`text-[11px] font-semibold sf-card-subtitle hover:underline`,children:[s,` →`]})]})]}),co=e=>e.trim().charAt(0).toUpperCase(),lo=({active:e})=>(0,n.jsx)(`svg`,{className:(0,U.default)(`sf-module-card__favorite-icon`,e?`sf-module-card__favorite-icon--active`:`sf-module-card__favorite-icon--idle`),width:16,height:16,viewBox:`0 0 24 24`,strokeWidth:1.6,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,n.jsx)(`path`,{d:`M12 3l2.6 5.3 5.9.85-4.25 4.15 1 5.8L12 18.6 6.75 19.05l1-5.8L3.5 9.15l5.9-.85z`})}),uo=({title:e,subtitle:r,icon:i,logoUrl:a,iconAccent:o,badge:s,isNew:c,favorite:l=!1,onFavoriteToggle:u,onClick:d,variant:f=`tile`,density:p=`comfortable`,enterAnimation:m=!1,enterAnimationOnce:h=!1,enterDelay:g,className:_,"aria-label":v})=>{let[y,b]=(0,t.useState)(!1),x=m&&(!h||!y),S={...o?{"--sf-module-accent":o}:{},...x&&g!=null?{animationDelay:`${g}s`}:{}},C=f===`tile`&&u!=null,w=f===`row`&&r;return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-module-card`,f===`tile`?`sf-module-card--tile`:`sf-module-card--row`,p===`compact`&&`sf-module-card--compact`,x&&`sf-module-card--enter`,d&&`sf-module-card--interactive`,_),style:Object.keys(S).length>0?S:void 0,role:d?`button`:void 0,tabIndex:d?0:void 0,"aria-label":v??e,onClick:d,onKeyDown:e=>{d&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),d())},onAnimationEnd:e=>{h&&e.currentTarget===e.target&&b(!0)},children:[C&&(0,n.jsx)(`button`,{type:`button`,className:`sf-module-card__favorite`,title:l?`Quitar de favoritos`:`Agregar a favoritos`,"aria-label":l?`Quitar ${e} de favoritos`:`Agregar ${e} a favoritos`,"aria-pressed":l,onClick:e=>{e.stopPropagation(),u?.()},children:(0,n.jsx)(lo,{active:l})}),(0,n.jsxs)(`div`,{className:`sf-module-card__icon-shell`,children:[(0,n.jsx)(`div`,{className:(0,U.default)(`sf-module-card__icon-wrap`,a&&`sf-module-card__icon-wrap--logo`,!a&&(o||!i)&&`sf-module-card__icon-wrap--accent`),children:a?(0,n.jsx)(`img`,{src:a,alt:``}):i||(0,n.jsx)(`span`,{className:`sf-module-card__icon-fallback`,children:co(e)})}),s!=null&&s>0&&(0,n.jsx)(`span`,{className:`sf-module-card__badge`,children:s})]}),(0,n.jsxs)(`div`,{className:`sf-module-card__body`,children:[(0,n.jsx)(`p`,{className:`sf-module-card__title`,children:e}),w&&(0,n.jsx)(`p`,{className:`sf-module-card__subtitle`,children:r}),f===`tile`&&(c?(0,n.jsx)(`span`,{className:`sf-module-card__new`,children:`Nuevo`}):(0,n.jsx)(`span`,{className:`sf-module-card__new sf-module-card__new--placeholder`,"aria-hidden":`true`,children:`Nuevo`}))]})]})},fo=({children:e,variant:t=`tile`,density:r=`comfortable`,className:i})=>(0,n.jsx)(`div`,{className:(0,U.default)(t===`tile`?`sf-module-grid`:`sf-module-row-grid`,t===`tile`&&r===`compact`&&`sf-module-grid--compact`,t===`tile`&&r===`comfortable`&&`sf-module-grid--comfortable`,i),children:e}),po=[`Enero`,`Febrero`,`Marzo`,`Abril`,`Mayo`,`Junio`,`Julio`,`Agosto`,`Septiembre`,`Octubre`,`Noviembre`,`Diciembre`],mo=[`L`,`M`,`X`,`J`,`V`,`S`,`D`],ho=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,go=e=>{let[t,n,r]=e.split(`-`).map(Number);return new Date(t,n-1,r)},_o=(e,t)=>{let n=(new Date(e,t,1).getDay()+6)%7,r=new Date(e,t+1,0).getDate(),i=[];for(let e=0;e<n;e+=1)i.push(null);for(let n=1;n<=r;n+=1)i.push(new Date(e,t,n));for(;i.length%7!=0;)i.push(null);return i},vo={primary:`sf-calendar__badge--primary`,warning:`sf-calendar__badge--warning`,danger:`sf-calendar__badge--danger`,success:`sf-calendar__badge--success`,neutral:`sf-calendar__badge--neutral`},yo=(e,t)=>{let n=`${e.getDate()} de ${po[e.getMonth()]} de ${e.getFullYear()}`;return!t||t.count<=0?n:`${n}, ${t.count} evento${t.count===1?``:`s`}`},bo=({value:e,onChange:r,badges:i=[],compact:a=!1,className:o})=>{let s=ho(new Date),c=e?go(e):new Date,[l,u]=(0,t.useState)(c.getFullYear()),[d,f]=(0,t.useState)(c.getMonth()),p=new Map(i.map(e=>[e.date,e])),m=_o(l,d),h=a?`h-8`:`h-10`;return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-calendar`,a?`sf-calendar--compact`:`sf-calendar--default`,o),children:[(0,n.jsxs)(`div`,{className:`sf-calendar__nav`,children:[(0,n.jsx)(`button`,{type:`button`,onClick:()=>{d===0?(u(e=>e-1),f(11)):f(e=>e-1)},"aria-label":`Mes anterior`,className:`sf-calendar__nav-btn`,children:`‹`}),(0,n.jsxs)(`span`,{className:`sf-calendar__title`,children:[po[d],` `,l]}),(0,n.jsx)(`button`,{type:`button`,onClick:()=>{d===11?(u(e=>e+1),f(0)):f(e=>e+1)},"aria-label":`Mes siguiente`,className:`sf-calendar__nav-btn`,children:`›`})]}),(0,n.jsx)(`div`,{className:`mb-0.5 grid grid-cols-7`,role:`row`,children:mo.map(e=>(0,n.jsx)(`div`,{className:`sf-calendar__weekday`,role:`columnheader`,"aria-label":e,children:e},e))}),(0,n.jsx)(`div`,{className:`grid grid-cols-7 gap-y-0.5`,role:`grid`,"aria-label":`Calendario de ${po[d]} ${l}`,children:m.map((t,i)=>{if(!t)return(0,n.jsx)(`div`,{className:h,role:`gridcell`,"aria-hidden":`true`},`empty-${i}`);let a=ho(t),o=a===e,c=a===s,l=p.get(a);return(0,n.jsxs)(`button`,{type:`button`,role:`gridcell`,onClick:()=>r?.(a),"aria-label":yo(t,l),"aria-pressed":o,"aria-current":c?`date`:void 0,className:(0,U.default)(`sf-calendar__day`,h,o&&`sf-calendar__day--selected`,!o&&c&&`sf-calendar__day--today`,!o&&!c&&`sf-calendar__day--default`),children:[(0,n.jsx)(`span`,{className:`leading-none`,children:t.getDate()}),l&&l.count>0&&(0,n.jsx)(`span`,{className:(0,U.default)(`sf-calendar__badge`,o?`sf-calendar__badge--on-selected`:vo[l.variant??`primary`]),children:l.count>99?`99+`:l.count})]},a)})})]})},xo={xs:56,sm:80,md:110,lg:150},So={xs:13,sm:18,md:24,lg:34},Co={xs:8,sm:10,md:11,lg:13},wo={xs:7,sm:9,md:10,lg:12},To={xs:6,sm:8,md:10,lg:13},Eo=`var(--sf-success)`,Do=`var(--sf-warning)`,Oo=`var(--sf-danger)`,ko=(e,t,n)=>{let{warning:r,critical:i}=n;return t?e>=i?Eo:e>=r?Do:Oo:e<r?Eo:e<i?Do:Oo},Ao=({value:e,label:t,sublabel:r,size:i=`md`,color:a,thresholds:o={warning:70,critical:90},inverse:s=!1,showValue:c=!0,strokeWidth:l,className:u})=>{let d=Math.max(0,Math.min(100,e)),f=xo[i],p=l??To[i],m=(f-p)/2,h=f/2,g=2*Math.PI*m,_=g*(1-d/100),v=a??ko(d,s,o);return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-donut-gauge`,u),children:[(0,n.jsxs)(`div`,{className:`relative`,style:{width:f,height:f},children:[(0,n.jsxs)(`svg`,{width:f,height:f,viewBox:`0 0 ${f} ${f}`,className:`-rotate-90`,"aria-label":t??`Indicador`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":d,role:`progressbar`,children:[(0,n.jsx)(`circle`,{cx:h,cy:h,r:m,fill:`none`,stroke:`var(--sf-gauge-track)`,strokeWidth:p}),(0,n.jsx)(`circle`,{cx:h,cy:h,r:m,fill:`none`,stroke:v,strokeWidth:p,strokeLinecap:`round`,strokeDasharray:g,strokeDashoffset:_,style:{transition:`stroke-dashoffset 0.5s ease, stroke 0.3s ease`}})]}),c&&(0,n.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,n.jsxs)(`span`,{className:`sf-donut-gauge__value`,style:{fontSize:So[i]},children:[d,(0,n.jsx)(`span`,{style:{fontSize:So[i]*.55},children:`%`})]})})]}),t&&(0,n.jsx)(`span`,{className:`sf-donut-gauge__label`,style:{fontSize:Co[i]},children:t}),r&&(0,n.jsx)(`span`,{className:`sf-donut-gauge__sublabel`,style:{fontSize:wo[i]},children:r})]})},jo=({gauges:e,size:t=`sm`,className:r})=>(0,n.jsx)(`div`,{className:(0,U.default)(`flex flex-wrap items-start gap-4`,r),children:e.map((e,r)=>(0,n.jsx)(Ao,{...e,size:e.size??t},r))}),Mo={success:`sf-event-log__dot--success`,warning:`sf-event-log__dot--warning`,danger:`sf-event-log__dot--danger`,info:`sf-event-log__dot--info`,default:`sf-event-log__dot--default`},No={success:`sf-event-log__icon-wrap--success`,warning:`sf-event-log__icon-wrap--warning`,danger:`sf-event-log__icon-wrap--danger`,info:`sf-event-log__icon-wrap--info`,default:`sf-event-log__icon-wrap--default`},Po={success:`sf-alert-row-list__meta--success`,warning:`sf-alert-row-list__meta--warning`,danger:`sf-alert-row-list__meta--danger`,info:`sf-alert-row-list__meta--info`,default:`sf-alert-row-list__meta--default`},Fo=(e,t)=>{t&&(e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),t()))},Io=({events:e,title:t,maxHeight:r,compact:i=!1,showTimeline:a=!0,viewAllLabel:o,onViewAll:s,className:c})=>{let l=i?`text-[11px]`:`text-xs`,u=i?`text-[10px]`:`text-[11px]`,d=i?`text-[9px]`:`text-[10px]`,f=i?`py-1.5`:`py-2.5`;return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-event-log`,c),children:[(t||o)&&(0,n.jsxs)(`div`,{className:`sf-event-log__header`,children:[t&&(0,n.jsx)(`span`,{className:`sf-event-log__title`,children:t}),o&&(0,n.jsx)(`button`,{type:`button`,onClick:s,className:`sf-event-log__view-all`,children:o})]}),(0,n.jsxs)(`div`,{className:(0,U.default)(!r&&`overflow-y-visible`,r&&`overflow-y-auto`),style:r?{maxHeight:r,overscrollBehavior:`contain`}:void 0,role:`list`,"aria-label":t??`Eventos`,children:[e.length===0&&(0,n.jsx)(`p`,{className:(0,U.default)(`sf-event-log__empty`,u,f),role:`status`,children:`Sin eventos`}),e.map((t,r)=>{let i=t.status??`default`,o=r===e.length-1;return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-event-log__item`,f),role:`listitem`,children:[a&&!o&&(0,n.jsx)(`div`,{className:`sf-event-log__timeline`,style:{bottom:0},"aria-hidden":`true`}),(0,n.jsx)(`div`,{className:`mt-0.5 shrink-0`,children:t.icon?(0,n.jsx)(`div`,{className:(0,U.default)(`sf-event-log__icon-wrap`,No[i]),"aria-hidden":`true`,children:t.icon}):(0,n.jsx)(`div`,{className:(0,U.default)(`sf-event-log__dot`,Mo[i]),"aria-hidden":`true`})}),(0,n.jsxs)(`div`,{className:`sf-event-log__body`,children:[(0,n.jsxs)(`div`,{className:`sf-event-log__row`,children:[(0,n.jsx)(`span`,{className:(0,U.default)(`sf-event-log__label`,l),children:t.label}),t.actionLabel&&(0,n.jsx)(`button`,{type:`button`,onClick:t.onAction,className:(0,U.default)(`sf-event-log__action`,d),children:t.actionLabel})]}),t.description&&(0,n.jsx)(`p`,{className:(0,U.default)(`sf-event-log__description`,u),children:t.description}),(0,n.jsx)(`span`,{className:(0,U.default)(`sf-event-log__time`,d),children:t.time})]})]},t.id??r)})]})]})},Lo=({items:e,maxHeight:t,className:r})=>(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-alert-row-list sf-alert-row-list--divided`,r),style:t?{maxHeight:t,overflowY:`auto`}:void 0,role:`list`,"aria-label":`Alertas`,children:[e.length===0&&(0,n.jsx)(`p`,{className:`sf-event-log__empty`,role:`status`,children:`Sin alertas`}),e.map((e,t)=>{let r=e.status??`default`;return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-alert-row-list__row`,e.onClick&&`sf-alert-row-list__row--clickable`),role:e.onClick?`button`:`listitem`,tabIndex:e.onClick?0:void 0,onClick:e.onClick,onKeyDown:t=>Fo(t,e.onClick),children:[(0,n.jsx)(`span`,{className:(0,U.default)(`sf-event-log__dot`,Mo[r]),"aria-hidden":`true`}),(0,n.jsxs)(`span`,{className:`sf-alert-row-list__label`,children:[e.icon&&(0,n.jsx)(`span`,{className:`mr-1`,children:e.icon}),e.label]}),e.meta&&(0,n.jsx)(`span`,{className:(0,U.default)(`sf-alert-row-list__meta`,Po[r]),children:e.meta}),e.time&&(0,n.jsx)(`span`,{className:`sf-alert-row-list__time`,children:e.time})]},t)})]}),Ro={success:{color:`#1F8A4C`,halo:`#EAF5EE`},warning:{color:`#C76A12`,halo:`#FDF0E4`},danger:{color:`#C0392B`,halo:`#FBEDED`},info:{color:`#1E6FA3`,halo:`#E7F1F8`},default:{color:`var(--sf-text-subtle, #5C7180)`,halo:`var(--sf-surface-alt, #EEF0F2)`}},zo={display:`flex`,gap:12,flexWrap:`wrap`},Bo=({items:e,className:t})=>(0,n.jsx)(`div`,{className:(0,U.default)(`sf-alert-lane`,t),style:zo,role:`list`,"aria-label":`Alertas`,children:e.map((e,t)=>{let r=Ro[e.status??`default`],i=e.color??r.color,a=e.halo??r.halo;return(0,n.jsxs)(`div`,{role:`listitem`,style:{flex:1,minWidth:260,display:`flex`,alignItems:`center`,gap:13,padding:`13px 16px`,borderRadius:13,background:`var(--sf-card-bg, #fff)`,border:`1px solid var(--sf-border, #E2E8EC)`,borderLeft:`4px solid ${i}`,boxShadow:`0 1px 3px rgba(12,33,49,.06)`},children:[e.icon&&(0,n.jsx)(`div`,{style:{width:38,height:38,borderRadius:11,background:a,color:i,display:`flex`,alignItems:`center`,justifyContent:`center`,flex:`none`},children:e.icon}),(0,n.jsxs)(`div`,{style:{flex:1},children:[(0,n.jsx)(`div`,{style:{fontSize:13,fontWeight:800,color:`var(--sf-text, #1B2A38)`},children:e.title}),e.detail!=null&&(0,n.jsx)(`div`,{style:{fontSize:11.5,fontWeight:600,color:`var(--sf-text-subtle, #5C7180)`,marginTop:2},children:e.detail})]}),e.cta!=null&&(0,n.jsx)(`button`,{type:`button`,onClick:e.onCta,style:{height:30,padding:`0 12px`,border:`1.5px solid var(--sf-border, #DCE3E7)`,borderRadius:8,background:`var(--sf-card-bg, #fff)`,color:i,fontFamily:`inherit`,fontSize:12,fontWeight:800,cursor:`pointer`,flex:`none`},children:e.cta})]},e.id??t)})}),Vo={default:``,accent:`sf-card--accent`,critical:`sf-card--critical`,warning:`sf-card--warning`,success:`sf-card--success`},Ho={1:`col-span-1`,2:`col-span-1 sm:col-span-2`,3:`col-span-1 sm:col-span-2 lg:col-span-3`,4:`col-span-1 sm:col-span-2 lg:col-span-4`},Uo={none:``,sm:`p-3`,md:`p-4`,lg:`p-5`},Wo=({title:e,subtitle:t,icon:r,headerAction:i,variant:a=`default`,span:o=1,padding:s=`md`,className:c,children:l})=>(0,n.jsxs)(`div`,{role:e?`region`:void 0,"aria-label":e,className:(0,U.default)(`sf-card flex flex-col overflow-hidden`,Vo[a],Ho[o],c),children:[(e||r||i)&&(0,n.jsxs)(`div`,{className:`sf-card-header`,children:[r&&(0,n.jsx)(`span`,{className:`shrink-0 text-base sf-card-subtitle`,"aria-hidden":`true`,children:r}),(0,n.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[e&&(0,n.jsx)(`span`,{className:`block truncate text-xs font-semibold sf-card-title`,children:e}),t&&(0,n.jsx)(`span`,{className:`block truncate text-[10px] sf-card-muted`,children:t})]}),i&&(0,n.jsx)(`div`,{className:`shrink-0`,children:i})]}),(0,n.jsx)(`div`,{className:(0,U.default)(`flex-1`,Uo[s]),children:l})]}),Go={2:`grid-cols-1 sm:grid-cols-2`,3:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-3`,4:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-4`,5:`grid-cols-2 sm:grid-cols-3 lg:grid-cols-5`,6:`grid-cols-2 sm:grid-cols-3 lg:grid-cols-6`},Ko={sm:`gap-2`,md:`gap-3`,lg:`gap-5`},qo=({cols:e=4,gap:t=`md`,className:r,children:i})=>(0,n.jsx)(`div`,{className:(0,U.default)(`grid`,Go[e],Ko[t],r),children:i}),Jo=({title:e,subtitle:t,action:r,className:i,children:a})=>(0,n.jsxs)(`section`,{className:(0,U.default)(`flex flex-col gap-3`,i),"aria-label":e,children:[(0,n.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`h2`,{className:`text-sm font-bold sf-card-title`,children:e}),t&&(0,n.jsx)(`p`,{className:`mt-0.5 text-[11px] sf-card-muted`,children:t})]}),r&&(0,n.jsx)(`div`,{className:`shrink-0`,children:r})]}),a]}),Yo={slate:`sf-stat-tone--slate`,emerald:`sf-stat-tone--emerald`,amber:`sf-stat-tone--amber`,red:`sf-stat-tone--red`,blue:`sf-stat-tone--blue`},Xo=({items:e,className:t})=>(0,n.jsx)(`div`,{role:`list`,"aria-label":`Resumen de métricas`,className:(0,U.default)(`flex flex-wrap items-center gap-5 border-t border-[var(--sf-border)] bg-[var(--sf-card-bg)] px-4 py-2`,t),children:e.map((e,t)=>(0,n.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,role:`listitem`,children:[e.tone&&(0,n.jsx)(`span`,{className:(0,U.default)(`h-1.5 w-1.5 shrink-0 rounded-full`,Yo[e.tone]),"aria-hidden":`true`}),(0,n.jsxs)(`span`,{className:`text-[10px] sf-card-muted`,children:[e.label,`:`]}),(0,n.jsx)(`span`,{className:`text-[11px] font-semibold tabular-nums sf-card-title`,children:e.value})]},t))}),Zo=({header:e,sidebar:t,statBar:r,className:i,children:a})=>(0,n.jsxs)(`div`,{className:`sf-card flex min-h-[480px] flex-col overflow-hidden bg-[var(--sf-page-bg)]`,role:`region`,"aria-label":`Dashboard`,children:[e&&(0,n.jsx)(`header`,{className:`border-b border-[var(--sf-border)] bg-[var(--sf-card-bg)] px-4 py-3`,children:e}),(0,n.jsxs)(`div`,{className:`flex min-h-0 flex-1`,children:[t&&(0,n.jsx)(`aside`,{className:`w-48 shrink-0 border-r border-[var(--sf-border)] bg-[var(--sf-card-bg)] p-3 text-sm sf-card-subtitle`,"aria-label":`Navegación dashboard`,children:t}),(0,n.jsx)(`main`,{className:(0,U.default)(`min-w-0 flex-1 overflow-auto p-4`,i),children:a})]}),r&&(0,n.jsx)(`footer`,{className:`shrink-0`,children:r})]}),Qo=({small:e,error:t})=>(0,U.default)(`sf-input`,`sf-input--otp`,e&&`sf-input--sm`,t&&`sf-input--error`),$o=(e,t)=>{let n=tt(String(e??``),t);return Array.from({length:t},(e,t)=>n[t]??``)},es=({form:e,name:i,label:a,info:o,required:s,disabled:c,small:l,className:u,length:d=6,onChange:f})=>{let p=(0,r.useController)({name:i,control:e.control}),m=(0,t.useRef)([]),[h,g]=(0,t.useState)(()=>$o(p.field.value,d)),[_,v]=(0,t.useState)(p.field.value);p.field.value!==_&&(v(p.field.value),g($o(p.field.value,d)));let y=String(i),b=p.fieldState.error?.message?String(p.fieldState.error.message):void 0,x=e=>{g(e);let t=e.join(``);p.field.onChange(t),f?.(t)},S=(e,t)=>{let n=tt(t,d);if(n.length>1){let t=[...h];for(let r=0;r<n.length&&e+r<d;r++)t[e+r]=n[r];x(t),m.current[Math.min(e+n.length,d-1)]?.focus();return}let r=n.slice(-1),i=[...h];i[e]=r,x(i),r&&e<d-1&&m.current[e+1]?.focus()},C=(e,t)=>{t.key===`Backspace`&&!h[e]&&e>0&&m.current[e-1]?.focus(),t.key===`ArrowLeft`&&e>0&&m.current[e-1]?.focus(),t.key===`ArrowRight`&&e<d-1&&m.current[e+1]?.focus()};return(0,n.jsx)(W,{id:y,label:a,info:o,required:s,error:b,children:(0,n.jsx)(`div`,{className:(0,U.default)(`flex gap-2`,u),role:`group`,"aria-label":a??`Código OTP`,children:h.map((e,t)=>(0,n.jsx)(`input`,{id:t===0?y:`${y}-${t+1}`,ref:e=>{m.current[t]=e},type:`text`,inputMode:`numeric`,autoComplete:t===0?`one-time-code`:`off`,maxLength:1,value:e,disabled:c,"aria-invalid":!!b||void 0,"aria-label":`Dígito ${t+1}`,onBlur:()=>p.field.onBlur(),onChange:e=>S(t,e.target.value),onKeyDown:e=>C(t,e),className:Qo({small:l,error:!!b,disabled:c})},t))})})},ts=e=>(0,n.jsx)(At,{...e,utc:!0}),ns=()=>({start:``,end:``}),rs=()=>({start:``,end:``}),is=0,as=()=>(is+=1,`photo_${Date.now()}_${is}`),os=(e,t)=>{if(!t||t===`*`)return!0;let n=t.replace(/\s/g,``).split(`,`),r=`.${e.name.split(`.`).pop()?.toLowerCase()??``}`,i=e.type.toLowerCase();return n.some(e=>{let t=e.toLowerCase().trim();if(t.startsWith(`.`))return r===t;if(t.endsWith(`/*`)){let e=t.replace(`/*`,``);return i.startsWith(`${e}/`)}return i===t})},ss=(e,t=!1)=>new Promise(n=>{let r=document.createElement(`input`);r.type=`file`,r.accept=e,r.multiple=t,r.style.display=`none`,r.onchange=()=>{n(Array.from(r.files??[])),r.remove()},document.body.appendChild(r),r.click()}),cs=e=>({id:as(),preview:URL.createObjectURL(e),file:e}),ls=e=>{URL.revokeObjectURL(e.preview)},us=e=>{e.forEach(ls)},ds=e=>Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&typeof e.id==`string`&&typeof e.preview==`string`&&e.file instanceof File):[],fs=(e,t=.92)=>new Promise((n,r)=>{let i=URL.createObjectURL(e),a=new Image;a.onload=()=>{let o=Math.min(a.width,a.height),s=(a.width-o)/2,c=(a.height-o)/2,l=document.createElement(`canvas`);l.width=o,l.height=o;let u=l.getContext(`2d`);if(!u){URL.revokeObjectURL(i),r(Error(`Canvas no disponible`));return}u.drawImage(a,s,c,o,o,0,0,o,o),l.toBlob(t=>{if(URL.revokeObjectURL(i),!t){r(Error(`No se pudo recortar la imagen`));return}n(new File([t],e.name.replace(/\.\w+$/,``)+`-crop.jpg`,{type:`image/jpeg`,lastModified:Date.now()}))},`image/jpeg`,t)},a.onerror=()=>{URL.revokeObjectURL(i),r(Error(`Imagen inválida`))},a.src=i}),ps=e=>e.length===0?`Arrastra archivos o haz clic`:e.length===1?e[0].name:`${e.length} archivos seleccionados`,ms=e=>`${e.name}-${e.lastModified}-${e.size}`,hs=({form:e,name:i,label:a,info:o,required:s,accept:c=`*`,multiple:l=!1,maxSizeMb:u=10,dropLabel:d,readOnly:f,disabled:p,small:m,className:h,onChange:g,onUpload:_,onRefresh:v})=>{let y=(0,t.useRef)(null),b=(0,r.useController)({name:i,control:e.control}),[x,S]=(0,t.useState)(!1),[C,w]=(0,t.useState)({}),[T,E]=(0,t.useState)(new Set),[D,O]=(0,t.useState)(null),k=String(i),A=b.fieldState.error?.message,j=A?String(A):D??void 0,M=f||p,N=`${k}-files`,P=(()=>{let e=b.field.value;return e?Array.isArray(e)?e:[e]:[]})(),F=async e=>{if(_)for(let t of e){let e=ms(t);E(t=>new Set(t).add(e)),w(t=>({...t,[e]:0}));try{await _(t,t=>{w(n=>({...n,[e]:Math.max(0,Math.min(100,t))}))}),w(t=>({...t,[e]:100}))}catch{O(`No se pudo cargar ${t.name}.`)}finally{E(t=>{let n=new Set(t);return n.delete(e),n})}}},I=e=>{let t=u*1024*1024,n=e.filter(e=>e.size<=t&&os(e,c)),r=e.length-n.length;if(O(r>0?`${r} archivo(s) no cumplen tipo o tamaño máximo.`:null),l){let e=[...P,...n];b.field.onChange(e),g?.(e),F(n);return}let i=n[0]??null;b.field.onChange(i),g?.(i?[i]:[]),i&&F([i])};return(0,n.jsx)(W,{id:k,label:a,info:o,required:s,onRefresh:v,error:j,children:(0,n.jsxs)(`div`,{className:(0,U.default)(`grid gap-2`,h),children:[(0,n.jsx)(`input`,{ref:y,id:k,type:`file`,accept:c,multiple:l,disabled:M,"aria-describedby":P.length>0?N:void 0,"aria-invalid":!!j||void 0,className:`sr-only`,onBlur:()=>b.field.onBlur(),onChange:e=>{I(Array.from(e.target.files??[])),e.target.value=``}}),(0,n.jsxs)(`div`,{role:`button`,"aria-label":d??a??String(i),"aria-disabled":M||void 0,"aria-invalid":!!j||void 0,tabIndex:M?-1:0,onKeyDown:e=>{M||(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),y.current?.click())},onClick:()=>!M&&y.current?.click(),onDragOver:e=>{e.preventDefault(),M||S(!0)},onDragLeave:()=>S(!1),onDrop:e=>{e.preventDefault(),e.stopPropagation(),S(!1),!M&&I(Array.from(e.dataTransfer.files??[]))},className:(0,U.default)(`sf-file-drop`,x&&`sf-file-drop--dragging`,!M&&`sf-file-drop--interactive`,M&&`sf-file-drop--disabled`,m?`sf-file-drop--sm`:`sf-file-drop--md`,j&&`sf-file-drop--error`),children:[(0,n.jsx)(`span`,{className:`sf-file-drop__title`,children:x?`Suelta aquí`:d??ps(P)}),(0,n.jsxs)(`span`,{className:`sf-file-drop__hint`,children:[`Drag & drop o clic · máx. `,u,` MB`]})]}),P.length>0&&(0,n.jsx)(`ul`,{id:N,className:`sf-file-list`,"aria-label":`Archivos seleccionados`,children:P.map(e=>{let t=ms(e),r=C[t],i=T.has(t);return(0,n.jsxs)(`li`,{className:`sf-file-list__item`,children:[(0,n.jsxs)(`span`,{className:`truncate`,children:[e.name,` (`,Math.ceil(e.size/1024),` KB)`]}),_&&(i||r!=null)&&(0,n.jsx)(`div`,{className:`sf-file-upload-progress`,role:`progressbar`,"aria-label":`Carga de ${e.name}`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.max(0,Math.min(100,r??0)),children:(0,n.jsx)(`div`,{className:`sf-file-upload-progress__bar`,style:{width:`${Math.max(0,Math.min(100,r??0))}%`}})})]},t)})})]})})},gs=({form:e,name:i,label:a,info:o,required:s,capture:c,maxSizeMb:l=5,readOnly:u,disabled:d,small:f,className:p,onChange:m,onRefresh:h})=>{let g=(0,t.useRef)(null),_=(0,r.useController)({name:i,control:e.control}),v=String(i),y=_.fieldState.error,[b,x]=(0,t.useState)(null),S=(0,t.useMemo)(()=>y?.message?String(y.message):b??void 0,[b,y?.message]),C=u||d,w=_.field.value??null,T=(0,t.useMemo)(()=>w?URL.createObjectURL(w):null,[w]);(0,t.useEffect)(()=>()=>{T&&URL.revokeObjectURL(T)},[T]);let E=(0,t.useCallback)(e=>{if(e&&e.size>l*1024*1024){x(`La imagen supera ${l} MB.`);return}x(null),_.field.onChange(e),m?.(e)},[_.field,l,m]);return(0,n.jsx)(W,{id:v,label:a,info:o,required:s,onRefresh:h,error:S,children:(0,n.jsxs)(`div`,{className:p,children:[(0,n.jsx)(`input`,{ref:g,id:v,type:`file`,accept:`image/*`,capture:c,disabled:C,"aria-invalid":!!S||void 0,className:`sr-only`,onBlur:()=>_.field.onBlur(),onChange:e=>{E(e.target.files?.[0]??null),e.target.value=``}}),T?(0,n.jsxs)(`div`,{className:`inline-block`,children:[(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(`img`,{src:T,alt:`Vista previa`,className:`sf-photo-preview sf-photo-preview--single`}),!C&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>E(null),"aria-label":`Quitar imagen`,className:`sf-photo-remove-btn`,children:`✕`})]}),!C&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>g.current?.click(),className:`sf-photo-link`,children:`Cambiar imagen`})]}):(0,n.jsxs)(`button`,{type:`button`,disabled:C,onClick:()=>g.current?.click(),className:(0,U.default)(`sf-photo-upload`,f?`sf-photo-upload--sm`:`sf-photo-upload--md`),children:[(0,n.jsx)(`span`,{className:`text-2xl`,"aria-hidden":`true`,children:c?`📷`:`🖼`}),(0,n.jsx)(`span`,{className:`mt-1 text-sm`,children:c?`Abrir cámara`:`Seleccionar imagen`})]}),(0,n.jsxs)(`p`,{className:`sf-photo-hint`,children:[`Imágenes hasta `,l,` MB.`]})]})})},_s=({form:e,name:i,label:a,info:o,required:s,width:c=400,height:l=160,readOnly:u,disabled:d,className:f,onChange:p,onRefresh:m})=>{let h=(0,t.useRef)(null),g=(0,t.useRef)(!1),_=(0,t.useRef)(null),v=(0,t.useRef)(void 0),y=(0,r.useController)({name:i,control:e.control}),[b,x]=(0,t.useState)(!0),S=String(i),C=y.fieldState.error,w=u||d;(0,t.useEffect)(()=>{let e=String(y.field.value??``);if(!e||!h.current)return;let t=new Image;t.onload=()=>{let e=h.current?.getContext(`2d`);e&&(e.clearRect(0,0,c,l),e.drawImage(t,0,0),x(!1))},t.src=e},[]);let T=(0,t.useCallback)(e=>{let t=h.current.getBoundingClientRect();return`touches`in e?{x:e.touches[0].clientX-t.left,y:e.touches[0].clientY-t.top}:{x:e.clientX-t.left,y:e.clientY-t.top}},[]),E=(0,t.useCallback)(()=>{let e=h.current?.toDataURL(`image/png`)??``;y.field.onChange(e),p?.(e)},[y.field,p]),D=(0,t.useCallback)(e=>{w||(g.current=!0,_.current=T(e))},[T,w]),O=(0,t.useCallback)(e=>{if(!g.current||!h.current||!_.current)return;let t=h.current.getContext(`2d`);if(!t)return;let n=T(e);if(t.beginPath(),t.moveTo(_.current.x,_.current.y),t.lineTo(n.x,n.y),!v.current){let e=getComputedStyle(document.documentElement);v.current=e.getPropertyValue(`--sf-primary`).trim()||e.getPropertyValue(`--sf-text`).trim()}t.strokeStyle=v.current,t.lineWidth=2,t.lineCap=`round`,t.stroke(),_.current=n,x(!1)},[T]),k=(0,t.useCallback)(()=>{g.current&&(g.current=!1,_.current=null,E(),y.field.onBlur())},[y.field,E]),A=(0,t.useCallback)(()=>{let e=h.current?.getContext(`2d`);e&&e.clearRect(0,0,c,l),x(!0),y.field.onChange(``),p?.(``)},[y.field,l,p,c]);return(0,n.jsx)(W,{id:S,label:a,info:o,required:s,onRefresh:m,error:C?.message?String(C.message):void 0,children:(0,n.jsxs)(`div`,{className:f,children:[(0,n.jsxs)(`div`,{className:`relative inline-block`,children:[(0,n.jsx)(`canvas`,{ref:h,width:c,height:l,role:`img`,"aria-label":a?`${a} - área de firma`:`Área de firma`,"aria-disabled":w||void 0,"aria-invalid":!!C||void 0,onMouseDown:D,onMouseMove:O,onMouseUp:k,onMouseLeave:k,onTouchStart:D,onTouchMove:O,onTouchEnd:k,className:(0,U.default)(`sf-signature-canvas`,w?`sf-signature-canvas--disabled`:`sf-signature-canvas--active`)}),b&&(0,n.jsx)(`div`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center`,children:(0,n.jsx)(`span`,{className:`sf-signature-placeholder`,children:`Firma aquí`})})]}),!w&&(0,n.jsx)(`button`,{type:`button`,"aria-label":`Limpiar firma`,onClick:A,className:`sf-signature-clear`,children:`Limpiar firma`})]})})},vs=({form:e,name:i,label:a,info:o,required:s,max:c=10,maxSizeMb:l=5,camera:u=!1,readOnly:d,disabled:f,small:p,className:m,onChange:h,onRefresh:g})=>{let _=(0,t.useRef)(null),v=(0,r.useController)({name:i,control:e.control}),y=String(i),b=v.fieldState.error?.message?String(v.fieldState.error.message):void 0,[x,S]=(0,t.useState)(null),C=b??x??void 0,w=d||f,T=(0,t.useMemo)(()=>ds(v.field.value),[v.field.value]),E=(0,t.useMemo)(()=>!w&&T.length<c,[w,c,T.length]),D=(0,t.useMemo)(()=>p?`h-16 w-16`:`h-20 w-20`,[p]),O=(0,t.useRef)(T);(0,t.useEffect)(()=>{O.current=T},[T]),(0,t.useEffect)(()=>()=>{for(let e of O.current)ls(e)},[]);let k=(0,t.useCallback)(e=>{v.field.onChange(e),h?.(e)},[v.field,h]),A=(0,t.useCallback)(e=>{if(!e)return;let t=l*1024*1024,n=Array.from(e);if(n.some(e=>!e.type.toLowerCase().startsWith(`image/`))){S(`Solo se permiten archivos de imagen.`);return}if(n.some(e=>e.size>t)){S(`Hay imágenes que superan ${l} MB.`);return}let r=c-T.length,i=n.slice(0,r).map(e=>cs(e));if(n.length>r){S(`Solo puedes agregar ${r} imagen(es) más.`);return}S(null),k([...T,...i])},[k,c,l,T]),j=(0,t.useCallback)(e=>{let t=T.find(t=>t.id===e);t&&ls(t),k(T.filter(t=>t.id!==e))},[k,T]);return(0,n.jsx)(W,{id:y,label:a,info:o,required:s,onRefresh:g,error:C,children:(0,n.jsxs)(`div`,{className:m,children:[(0,n.jsx)(`div`,{className:`mb-2 flex items-center justify-end`,children:(0,n.jsxs)(`span`,{className:`sf-multi-photo__counter`,children:[T.length,`/`,c]})}),(0,n.jsxs)(`div`,{className:`flex flex-wrap gap-2`,role:`list`,"aria-label":a??String(i),children:[T.map(e=>(0,n.jsxs)(`div`,{role:`listitem`,className:(0,U.default)(`sf-multi-photo__cell group`,D),children:[(0,n.jsx)(`img`,{src:e.preview,alt:e.file?.name??`Foto seleccionada`,className:`h-full w-full object-cover`,draggable:!1}),!w&&(0,n.jsx)(`button`,{type:`button`,"aria-label":`Eliminar foto`,onClick:()=>j(e.id),className:`sf-multi-photo__remove`,children:`✕`})]},e.id)),E&&(0,n.jsxs)(`button`,{type:`button`,"aria-label":`Agregar foto`,onClick:()=>_.current?.click(),className:(0,U.default)(`sf-multi-photo__add`,D),children:[(0,n.jsx)(`span`,{className:`text-lg leading-none`,children:u?`📷`:`+`}),(0,n.jsx)(`span`,{className:`text-[10px] leading-none`,children:u?`Cámara`:`Agregar`})]})]}),(0,n.jsx)(`input`,{ref:_,type:`file`,accept:`image/*`,multiple:!u,capture:u?`environment`:void 0,disabled:w,className:`sr-only`,onBlur:()=>v.field.onBlur(),onChange:e=>{A(e.target.files),e.target.value=``}})]})})},ys=e=>{switch(e.kind){case`photo`:return(0,n.jsx)(gs,{...e});case`multiPhoto`:return(0,n.jsx)(vs,{...e});case`signature`:return(0,n.jsx)(_s,{...e});case`file`:return(0,n.jsx)(Ft,{...e});default:return null}},bs=e=>new Promise((t,n)=>{let r=new Image;r.addEventListener(`load`,()=>t(r)),r.addEventListener(`error`,()=>n(Error(`No se pudo cargar la imagen`))),r.setAttribute(`crossOrigin`,`anonymous`),r.src=e}),xs=async(e,t,n,r=`image/jpeg`)=>{let i=await bs(e),a=document.createElement(`canvas`);a.width=t.width,a.height=t.height;let o=a.getContext(`2d`);if(!o)throw Error(`Canvas no disponible`);return o.drawImage(i,t.x,t.y,t.width,t.height,0,0,t.width,t.height),new Promise((e,t)=>{a.toBlob(i=>{if(!i){t(Error(`Recorte vacío`));return}e(new File([i],n,{type:r}))},r,.92)})},Ss=({imageUrl:e,fileName:r,aspect:i=1,onCancel:a,onConfirm:o,className:s})=>{let[c,l]=(0,t.useState)({x:0,y:0}),[u,d]=(0,t.useState)(1),[f,p]=(0,t.useState)(null),[m,h]=(0,t.useState)(!1),_=(0,t.useCallback)((e,t)=>{p(t)},[]),v=async()=>{if(f){h(!0);try{o(await xs(e,f,r,r.toLowerCase().endsWith(`.png`)?`image/png`:`image/jpeg`))}finally{h(!1)}}};return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-photo-crop-editor`,s),children:[(0,n.jsx)(`div`,{className:`sf-photo-crop-editor__stage`,children:(0,n.jsx)(g.default,{image:e,crop:c,zoom:u,aspect:i,onCropChange:l,onZoomChange:d,onCropComplete:_})}),(0,n.jsxs)(`label`,{className:`sf-photo-crop-editor__zoom`,children:[`Zoom`,(0,n.jsx)(`input`,{type:`range`,"aria-label":`Zoom del recorte`,min:1,max:3,step:.05,value:u,onChange:e=>d(Number(e.target.value))})]}),(0,n.jsxs)(`div`,{className:`sf-photo-crop-editor__actions`,children:[(0,n.jsx)(`button`,{type:`button`,className:`sf-photo-crop-editor__btn sf-photo-crop-editor__btn--ghost`,onClick:a,children:`Cancelar`}),(0,n.jsx)(`button`,{type:`button`,className:`sf-photo-crop-editor__btn sf-photo-crop-editor__btn--primary`,disabled:m||!f,"aria-busy":m||void 0,onClick:()=>void v(),children:m?`Recortando…`:`Aplicar recorte`})]})]})},Cs=({form:e,name:i,label:a,info:o,required:s,maxSizeMb:c=5,interactive:l=!0,aspect:u=1,readOnly:d,disabled:f,small:p,className:m,onChange:h,onRefresh:g})=>{let _=(0,t.useRef)(null),v=(0,r.useController)({name:i,control:e.control}),[y,b]=(0,t.useState)(!1),[x,S]=(0,t.useState)(null),[C,w]=(0,t.useState)(null),T=String(i),E=v.fieldState.error?.message,D=E?String(E):C??void 0,O=d||f,k=v.field.value??null,A=(0,t.useMemo)(()=>k?URL.createObjectURL(k):null,[k]);(0,t.useEffect)(()=>()=>{A&&URL.revokeObjectURL(A)},[A]),(0,t.useEffect)(()=>()=>{x?.url&&URL.revokeObjectURL(x.url)},[x]);let j=e=>{v.field.onChange(e),h?.(e)},M=(0,t.useCallback)(()=>{x?.url&&URL.revokeObjectURL(x.url),S(null)},[x]),N=async e=>{if(e){if(e.size>c*1024*1024){w(`La imagen supera ${c} MB.`);return}if(w(null),l){M(),S({url:URL.createObjectURL(e),fileName:e.name});return}b(!0);try{j(await fs(e))}finally{b(!1)}}};return(0,t.useEffect)(()=>{if(!x)return;let e=e=>{e.key===`Escape`&&M()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[M,x]),(0,n.jsxs)(W,{id:T,label:a,info:o,required:s,onRefresh:g,error:D,children:[(0,n.jsxs)(`div`,{className:m,children:[(0,n.jsx)(`input`,{ref:_,id:T,type:`file`,accept:`image/*`,disabled:O||y,"aria-invalid":!!D||void 0,className:`sr-only`,onBlur:()=>v.field.onBlur(),onChange:e=>{N(e.target.files?.[0]??null),e.target.value=``}}),A?(0,n.jsxs)(`div`,{className:`inline-block`,children:[(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(`img`,{src:A,alt:`Vista previa recortada`,className:`sf-photo-preview sf-photo-preview--crop`}),!O&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>j(null),"aria-label":`Quitar imagen`,className:`sf-photo-remove-btn`,children:`✕`})]}),!O&&(0,n.jsx)(`button`,{type:`button`,disabled:y,"aria-busy":y||void 0,onClick:()=>_.current?.click(),className:`sf-photo-link`,children:y?`Recortando…`:`Cambiar y recortar`})]}):(0,n.jsxs)(`button`,{type:`button`,disabled:O||y,"aria-busy":y||void 0,onClick:()=>_.current?.click(),className:(0,U.default)(`sf-photo-upload`,p?`sf-photo-upload--sm`:`sf-photo-upload--md`),children:[(0,n.jsx)(`span`,{className:`text-2xl`,"aria-hidden":`true`,children:`✂️`}),(0,n.jsx)(`span`,{className:`mt-1 text-sm`,children:y?`Recortando…`:l?`Seleccionar y recortar`:`Seleccionar y recortar (cuadrado)`})]}),(0,n.jsx)(`p`,{className:`sf-photo-hint`,children:l?`Recorte interactivo · aspecto ${u===1?`1:1`:u.toFixed(2)} · hasta ${c} MB.`:`Recorte central cuadrado automático · hasta ${c} MB.`})]}),x&&(0,n.jsxs)(`div`,{className:`sf-photo-crop-modal`,children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Cerrar recorte`,className:`sf-photo-crop-modal__overlay`,onClick:M}),(0,n.jsx)(`div`,{className:`sf-photo-crop-modal__panel`,role:`dialog`,"aria-modal":`true`,"aria-label":`Editor de recorte`,children:(0,n.jsx)(Ss,{imageUrl:x.url,fileName:x.fileName,aspect:u,onCancel:M,onConfirm:e=>{j(e),M()}})})]})]})},ws=()=>[],Ts=({title:e,description:t,className:r,children:i})=>(0,n.jsxs)(`section`,{className:(0,U.default)(`sf-neutral-map-frame`,r),children:[(e||t)&&(0,n.jsxs)(`div`,{className:`sf-neutral-map-frame__header`,children:[e&&(0,n.jsx)(`h3`,{className:`sf-neutral-map-frame__title`,children:e}),t&&(0,n.jsx)(`p`,{className:`sf-neutral-map-frame__description`,children:t})]}),i]}),Es=({tone:e=`info`,children:t})=>(0,n.jsx)(`p`,{className:(0,U.default)(`sf-neutral-map-status`,`sf-neutral-map-status--${e}`),role:e===`error`?`alert`:`status`,children:t}),Ds=`Maps config not found. Wrap your app with <SfProvider maps={...}>.`,Os={lat:-12.0464,lng:-77.0428},ks=13,As=`https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png`,js=`© <a href="https://www.openstreetmap.org/copyright" target="_blank" rel="noreferrer">OpenStreetMap</a>`,Ms={drawing:`basic`,streetView:`none`,clustering:`none`,heatmap:`none`},Ns={drawing:`basic`,streetView:`interactive`,clustering:`client`,heatmap:`weighted`},Ps=`sf-google-maps-script`,Fs=({apiKey:e,language:t=`es`,region:n=`PE`,libraries:r=[]})=>{let i=new URLSearchParams({key:e,language:t,region:n});return r.length>0&&i.set(`libraries`,r.join(`,`)),`https://maps.googleapis.com/maps/api/js?${i.toString()}`},Is=e=>{let t=window;return t.google?.maps?Promise.resolve(t.google):(t.__sfGoogleMapsPromise||=new Promise((n,r)=>{let i=document.getElementById(Ps);if(i){i.addEventListener(`load`,()=>n(t.google??{})),i.addEventListener(`error`,()=>r(Error(`No se pudo cargar Google Maps.`)));return}let a=document.createElement(`script`);a.id=Ps,a.src=Fs(e),a.async=!0,a.defer=!0,a.addEventListener(`load`,()=>n(t.google??{})),a.addEventListener(`error`,()=>r(Error(`No se pudo cargar Google Maps.`))),document.head.appendChild(a)}),t.__sfGoogleMapsPromise)},Ls=(e,t=``)=>{let n=e.match(/^var\((--[^,)]+)\)$/);return!n||typeof document>`u`?t||e:getComputedStyle(document.documentElement).getPropertyValue(n[1]).trim()||t||e},Rs=(e,t)=>({map:t,paths:e.points,strokeColor:e.color??Ls(`var(--sf-map-area-stroke)`),fillColor:e.fillColor??e.color??Ls(`var(--sf-map-area-fill)`),fillOpacity:.14,strokeWeight:2.5}),zs=(e,t)=>({map:t,path:e.points,strokeColor:e.color??Ls(`var(--sf-map-route-stroke)`),strokeWeight:3.5}),Bs=(e,t,n)=>({map:t,position:e.position,title:e.title??e.label,label:e.label?e.label.slice(0,1).toUpperCase():void 0,draggable:!n&&e.options?.draggable}),Vs=({config:e,center:r=Os,zoom:i=13,markers:a=[],routes:o=[],areas:s=[],height:c=320,className:l,readOnly:u,onClick:d,onMarkerClick:f,onMarkerDoubleClick:p,onMarkerDrag:m,onMarkerDragEnd:h})=>{let g=(0,t.useRef)(null),_=(0,t.useRef)(null),v=(0,t.useRef)(new Map),y=(0,t.useRef)(new Map),b=(0,t.useRef)(new Map),x=(0,t.useRef)({onMarkerClick:f,onMarkerDoubleClick:p,onMarkerDrag:m,onMarkerDragEnd:h}),S=(0,t.useRef)({center:r,zoom:i}),C=(0,t.useRef)(!1),[w,T]=(0,t.useState)(`idle`),[E,D]=(0,t.useState)(`Cargando Google Maps…`),O=typeof c==`number`?{height:`${c}px`}:{height:c};return(0,t.useEffect)(()=>{S.current={center:r,zoom:i}},[r,i]),(0,t.useEffect)(()=>{x.current={onMarkerClick:f,onMarkerDoubleClick:p,onMarkerDrag:m,onMarkerDragEnd:h}},[f,p,m,h]),(0,t.useEffect)(()=>{if(!e?.apiKey||!g.current){T(`error`),D(`Google Maps requiere apiKey en <SfProvider maps={...}>.`);return}let t=!1;return T(`loading`),Is(e).then(n=>{t||!g.current||!n.maps?.Map||(_.current=new n.maps.Map(g.current,{center:Os,zoom:13,mapId:e.mapId,disableDefaultUI:u}),T(`ready`))}).catch(e=>{t||(T(`error`),D(e.message))}),()=>{t=!0}},[e,u]),(0,t.useEffect)(()=>{w!==`ready`||!_.current||C.current||(C.current=!0,_.current.setCenter?.(S.current.center),_.current.setZoom?.(S.current.zoom))},[w]),(0,t.useEffect)(()=>()=>{v.current.forEach(e=>{e.listeners.forEach(e=>e.remove?.()),e.marker.setMap?.(null)}),v.current.clear(),y.current.clear(),b.current.forEach(e=>e.shape.setMap?.(null)),b.current.clear()},[]),(0,t.useEffect)(()=>{if(w!==`ready`||!e?.apiKey||!_.current)return;let t=!1;return Is(e).then(e=>{if(t||!e.maps?.Marker)return;let n=new Set(a.map(e=>e.id));v.current.forEach((e,t)=>{n.has(t)||(e.listeners.forEach(e=>e.remove?.()),e.marker.setMap?.(null),v.current.delete(t),y.current.delete(t))}),a.forEach(t=>{y.current.set(t.id,t);let n=v.current.get(t.id);if(n){n.marker.setPosition?.(t.position),n.marker.setOptions?.(Bs(t,_.current,u));return}let r=new e.maps.Marker(Bs(t,_.current,u)),i=()=>y.current.get(t.id)??t,a=[r.addListener?.(`click`,()=>{x.current.onMarkerClick?.({marker:i()})}),r.addListener?.(`dblclick`,()=>{x.current.onMarkerDoubleClick?.({marker:i()})}),r.addListener?.(`drag`,()=>{let e=r.getPosition?.();e&&x.current.onMarkerDrag?.({marker:i(),location:{lat:e.lat(),lng:e.lng()}})}),r.addListener?.(`dragend`,()=>{let e=r.getPosition?.();e&&x.current.onMarkerDragEnd?.({marker:i(),location:{lat:e.lat(),lng:e.lng()}})})].filter(Boolean);v.current.set(t.id,{marker:r,listeners:a})})}),()=>{t=!0}},[e,a,u,w]),(0,t.useEffect)(()=>{if(w!==`ready`||!e?.apiKey||!_.current)return;let t=!1;return Is(e).then(e=>{if(t||!e.maps?.Polyline||!e.maps.Polygon)return;let n=new Set([...s.map(e=>`area:${e.id}`),...o.map(e=>`route:${e.id}`)]);b.current.forEach((e,t)=>{n.has(t)||(e.shape.setMap?.(null),b.current.delete(t))}),s.forEach(t=>{let n=`area:${t.id}`,r=b.current.get(n);if(r?.kind===`area`){r.shape.setPaths?.(t.points),r.shape.setOptions?.(Rs(t,_.current));return}r?.shape.setMap?.(null),b.current.set(n,{kind:`area`,shape:new e.maps.Polygon(Rs(t,_.current))})}),o.forEach(t=>{let n=`route:${t.id}`,r=b.current.get(n);if(r?.kind===`route`){r.shape.setPath?.(t.points),r.shape.setOptions?.(zs(t,_.current));return}r?.shape.setMap?.(null),b.current.set(n,{kind:`route`,shape:new e.maps.Polyline(zs(t,_.current))})})}),()=>{t=!0}},[s,e,o,w]),(0,t.useEffect)(()=>{if(w!==`ready`||!e?.apiKey||!_.current||!d||u)return;let t=!1,n;return Is(e).then(()=>{let e=_.current;t||!e?.addListener||(n=e.addListener(`click`,e=>{e.latLng&&d({location:{lat:e.latLng.lat(),lng:e.latLng.lng()}})}))}),()=>{t=!0,n?.remove?.()}},[e,d,u,w]),(0,n.jsx)(`div`,{className:l,style:O,children:w===`error`?(0,n.jsx)(`div`,{className:`sf-map-placeholder sf-map-placeholder--neutral`,role:`alert`,children:E}):(0,n.jsx)(`div`,{ref:g,className:`sf-map-frame`,"aria-busy":w!==`ready`||void 0})})},Hs=e=>({id:`google`,capabilities:Ns,createRenderer:()=>t=>(0,n.jsx)(Vs,{...t,config:e})}),Us=e=>[e.lat,e.lng],Ws=e=>h.default.divIcon({className:``,html:`<div class="sf-neutral-map-marker" style="${e?`--sf-neutral-map-marker-bg:${e};`:``}"></div>`,iconSize:[18,18],iconAnchor:[9,9]}),Gs=({readOnly:e,onClick:t})=>((0,m.useMapEvents)({click(n){e||t?.({location:{lat:n.latlng.lat,lng:n.latlng.lng}})}}),null),Ks=({center:e=Os,zoom:r=13,markers:i=[],routes:a=[],areas:o=[],height:s=320,className:c,readOnly:l,tileUrl:u=As,attribution:d=js,onClick:f,onMarkerClick:p,onMarkerDoubleClick:h,onMarkerDrag:g,onMarkerDragEnd:_})=>{let v=ha(),y=(0,t.useMemo)(()=>Us(e),[e]),b=typeof s==`number`?{height:`${s}px`}:{height:s};return v?(0,n.jsx)(`div`,{className:c,style:b,children:(0,n.jsxs)(m.MapContainer,{center:y,zoom:r,scrollWheelZoom:!l,doubleClickZoom:!1,className:`sf-map-frame`,children:[(0,n.jsx)(m.TileLayer,{attribution:d,url:u}),(0,n.jsx)(Gs,{readOnly:l,onClick:f}),o.map(e=>(0,n.jsx)(m.Polygon,{positions:e.points.map(Us),pathOptions:{color:e.color??Ls(`var(--sf-map-area-stroke)`),fillColor:e.fillColor??e.color??Ls(`var(--sf-map-area-fill)`),fillOpacity:.14,weight:2.5}},e.id)),a.map(e=>(0,n.jsx)(m.Polyline,{positions:e.points.map(Us),pathOptions:{color:e.color??Ls(`var(--sf-map-route-stroke)`),weight:3.5}},e.id)),i.map(e=>(0,n.jsx)(m.Marker,{position:Us(e.position),icon:Ws(e.color),title:e.title??e.label,draggable:!l&&e.options?.draggable,bubblingMouseEvents:!1,eventHandlers:{click:()=>p?.({marker:e}),dblclick:()=>h?.({marker:e}),drag:t=>{let n=t.target.getLatLng();g?.({marker:e,location:{lat:n.lat,lng:n.lng}})},dragend:t=>{let n=t.target.getLatLng();_?.({marker:e,location:{lat:n.lat,lng:n.lng}})}}},e.id))]})}):(0,n.jsx)(`div`,{className:`sf-map-placeholder sf-map-placeholder--neutral`,role:`status`,style:b,children:`Cargando mapa…`})},qs=e=>({id:`leaflet`,capabilities:Ms,createRenderer:()=>t=>(0,n.jsx)(Ks,{...t,tileUrl:e?.tileUrl,attribution:e?.attribution})}),Js=6371e3,Ys=e=>e*Math.PI/180,Xs=(e,t)=>{let n=Ys(t.lat-e.lat),r=Ys(t.lng-e.lng),i=Ys(e.lat),a=Ys(t.lat),o=Math.sin(n/2)**2+Math.sin(r/2)**2*Math.cos(i)*Math.cos(a);return 2*Js*Math.atan2(Math.sqrt(o),Math.sqrt(1-o))},Zs=()=>({id:`basic`,capabilities:{distance:`point-to-point`,traffic:`none`},async calculateDistance(e){let t=e.origins[0],n=e.destinations[0];return{distanceMeters:t&&n?Xs(t,n):0}}}),Qs=e=>({lat:e.lat(),lng:e.lng()}),$s=e=>{let t=e.geometry?.location;if(!t)return null;let n=e.formatted_address??e.place_id??`Ubicación Google Maps`;return{id:e.place_id??n,label:n,address:e.formatted_address,location:Qs(t),provider:`google`,raw:e}},ec=e=>({id:`google`,capabilities:{geocoding:`full`},async geocode(t){let n=(await Is(e)).maps?.Geocoder;return n?new Promise(e=>{new n().geocode({address:t},t=>{e((t??[]).map(e=>$s(e)).filter(e=>!!e))})}):[]},async reverseGeocode(t){let n=(await Is(e)).maps?.Geocoder;return n?new Promise(e=>{new n().geocode({location:t},t=>{e($s(t?.[0]??{}))})}):null}}),Q=e=>e.toFixed(6),tc=(e,t,n)=>Math.min(Math.max(e,t),n),nc=e=>tc(e,-90,90),rc=e=>tc(e,-180,180),ic=(e,t=0)=>{if(typeof e==`number`)return Number.isFinite(e)?e:t;let n=Number.parseFloat(e.trim().replace(`,`,`.`));return Number.isFinite(n)?n:t},ac=e=>`${Q(e.lat)}, ${Q(e.lng)}`,oc=(e,t)=>{if(!e||typeof e!=`object`||!(`lat`in e)||!(`lng`in e))return t;let n=ic(e.lat,t.lat),r=ic(e.lng,t.lng);return{lat:nc(n),lng:rc(r)}},sc=(e,t=`Ubicación`)=>({id:`${e.lat}:${e.lng}`,position:e,label:t}),cc=()=>({id:`nominatim`,capabilities:{geocoding:`basic`},async geocode(e){return(await Sa(e)).map(e=>({id:`${e.lat}:${e.lng}:${e.label}`,label:Ca(e.label),address:e.label,location:{lat:e.lat,lng:e.lng},provider:`nominatim`,raw:e}))},async reverseGeocode(e){return{id:`${e.lat}:${e.lng}`,label:`${e.lat.toFixed(6)}, ${e.lng.toFixed(6)}`,location:e,provider:`nominatim`}}}),lc=e=>({id:e.id,capabilities:{places:e.capabilities.geocoding===`none`?`none`:`basic`},searchPlaces(t){return e.geocode(t)}}),uc=()=>({id:`basic`,capabilities:{routing:`basic`,traffic:`none`},async calculateRoute(e){return{origin:e.origin,destination:e.destination,waypoints:e.waypoints??[],polyline:[e.origin,...e.waypoints??[],e.destination]}}}),dc=(0,t.createContext)({}),fc=e=>{let t=e.services?.geocoding??e.defaultEngine,n=e.engines.google;return t===`google`&&n?ec(n):cc()},pc=e=>{let t=e.defaultEngine===`google`?Hs(e.engines.google):qs(e.engines.leaflet),n=fc(e);return{config:e,engine:t,geocodingService:n,placesService:lc(n),routingService:uc(),distanceService:Zs()}},mc=({maps:e,children:r})=>{let i=(0,t.useMemo)(()=>({maps:e?pc(e):void 0}),[e]);return(0,n.jsx)(dc.Provider,{value:i,children:r})},hc=()=>(0,t.useContext)(dc),gc=()=>{let e=hc();if(!e.maps)throw Error(Ds);return e.maps},_c=()=>{let e=gc(),[n,r]=(0,t.useState)(!1),[i,a]=(0,t.useState)([]),[o,s]=(0,t.useState)(null),c=(0,t.useRef)(0);return{loading:n,results:i,error:o,search:(0,t.useCallback)(async t=>{let n=t.trim();if(n.length<3)return a([]),s(null),[];if(n.length>256)return a([]),s(`Consulta demasiado larga.`),[];c.current+=1;let i=c.current;r(!0),s(null);try{let t=await e.geocodingService.geocode(n);return i===c.current?(a(t),t):[]}catch(e){if(i!==c.current)return[];let t=e instanceof Error?e.message:`No se pudo buscar direcciones.`;return a([]),s(t),[]}finally{i===c.current&&r(!1)}},[e.geocodingService])}},vc=()=>{let e=gc();return(0,t.useMemo)(()=>({id:e.engine.id,capabilities:e.engine.capabilities,renderer:e.engine.createRenderer()}),[e.engine])},yc=()=>gc().config,bc=e=>e&&typeof e==`object`&&`label`in e?String(e.label??``):``,xc=({form:e,name:i,label:a,info:o,required:s,placeholder:c=`Buscar dirección`,readOnly:l,disabled:u,className:d,onChange:f,onRefresh:p})=>{let m=(0,r.useController)({name:i,control:e.control}),{loading:h,results:g,error:_,search:v}=_c(),[y,b]=(0,t.useState)(()=>bc(m.field.value)),x=String(i),S=m.fieldState.error?.message?String(m.fieldState.error.message):void 0,C=l||u,w=e=>{m.field.onChange(e),f?.(e)};return(0,n.jsx)(W,{id:x,label:a,info:o,required:s,onRefresh:p,error:S,children:(0,n.jsxs)(`div`,{className:(0,U.default)(`grid gap-2`,d),children:[(0,n.jsxs)(`div`,{className:`flex gap-2`,children:[(0,n.jsx)(`input`,{id:x,type:`search`,value:y,placeholder:c,readOnly:C,disabled:u,"aria-invalid":!!S||void 0,onBlur:()=>m.field.onBlur(),onChange:e=>b(e.target.value),className:G({error:!!S,readOnly:l,disabled:u,small:!0})}),(0,n.jsx)(`button`,{type:`button`,className:`sf-map-action-btn`,disabled:C||h||y.trim().length<3,"aria-busy":h||void 0,onClick:()=>void v(y),children:h?`Buscando…`:`Buscar`})]}),g.length>0&&!C&&(0,n.jsx)(`div`,{className:`sf-neutral-map-results`,role:`listbox`,"aria-label":`Resultados de direcciones`,children:g.map(e=>(0,n.jsxs)(`button`,{type:`button`,className:`sf-neutral-map-result`,onClick:()=>{b(e.label),w(e),m.field.onBlur()},children:[(0,n.jsx)(`span`,{className:`sf-neutral-map-result__label`,children:e.label}),(0,n.jsx)(`span`,{className:`sf-neutral-map-result__provider`,children:e.provider})]},e.id))}),_&&(0,n.jsx)(`p`,{className:`sf-neutral-map-status sf-neutral-map-status--error`,role:`alert`,children:_})]})})},Sc=({title:e,description:r,center:i=Os,zoom:a=13,markers:o=[],routes:s=[],areas:c=[],height:l=360,className:u,readOnly:d,onClick:f,onMarkerClick:p,onMarkerDoubleClick:m,onMarkerDrag:h,onMarkerDragEnd:g})=>{let _=vc();return(0,n.jsx)(Ts,{title:e,description:r,className:u,children:(0,t.useMemo)(()=>_.renderer,[_.renderer])({center:i,zoom:a,markers:o,routes:s,areas:c,height:l,readOnly:d,onClick:f,onMarkerClick:p,onMarkerDoubleClick:m,onMarkerDrag:h,onMarkerDragEnd:g})})},Cc=({form:e,name:i,label:a,info:o,required:s,zoom:c=13,readOnly:l,disabled:u,className:d,onChange:f,onRefresh:p})=>{let[m,h]=(0,t.useState)(!1),[g,_]=(0,t.useState)(null),v=(0,r.useController)({name:i,control:e.control}),y=String(i),b=v.fieldState.error?.message?String(v.fieldState.error.message):void 0,x=l||u,S=oc(v.field.value,Os),C=e=>{v.field.onChange(e),f?.(e)},w=(e,t)=>{C({...S,[e]:ic(t,S[e])})};return(0,n.jsx)(W,{id:y,label:a,info:o,required:s,onRefresh:p,error:b,children:(0,n.jsxs)(`div`,{className:(0,U.default)(`grid gap-3`,d),children:[(0,n.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`label`,{htmlFor:`${y}-lat`,className:`sf-map-label`,children:`Latitud`}),(0,n.jsx)(`input`,{id:`${y}-lat`,type:`text`,inputMode:`decimal`,value:Q(S.lat),readOnly:x,disabled:u,"aria-invalid":!!b||void 0,onBlur:()=>v.field.onBlur(),onChange:e=>w(`lat`,e.target.value),className:G({error:!!b,readOnly:l,disabled:u,small:!0})})]}),(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`label`,{htmlFor:`${y}-lng`,className:`sf-map-label`,children:`Longitud`}),(0,n.jsx)(`input`,{id:`${y}-lng`,type:`text`,inputMode:`decimal`,value:Q(S.lng),readOnly:x,disabled:u,"aria-invalid":!!b||void 0,onBlur:()=>v.field.onBlur(),onChange:e=>w(`lng`,e.target.value),className:G({error:!!b,readOnly:l,disabled:u,small:!0})})]})]}),!x&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>{!navigator.geolocation||m||x||(h(!0),_(null),navigator.geolocation.getCurrentPosition(e=>{C({lat:Number(Q(e.coords.latitude)),lng:Number(Q(e.coords.longitude))}),_(e.coords.accuracy>200?`Precisión aproximada: ${Math.round(e.coords.accuracy)} m.`:null),h(!1)},()=>{_(`No se pudo obtener la ubicación. Marca el punto en el mapa.`),h(!1)},{enableHighAccuracy:!0,maximumAge:0,timeout:15e3}))},disabled:m,"aria-busy":m||void 0,className:(0,U.default)(`sf-map-action-btn`,m&&`cursor-wait opacity-70`),children:m?`Obteniendo ubicación…`:`Usar mi ubicación`}),g&&(0,n.jsx)(`p`,{className:`sf-map-feedback sf-map-feedback--warning`,role:`status`,children:g}),(0,n.jsx)(Sc,{center:S,zoom:c,height:220,readOnly:x,markers:[{id:`selected-location`,position:S,label:`Ubicación`}],onClick:e=>{C({lat:Number(Q(e.location.lat)),lng:Number(Q(e.location.lng))}),v.field.onBlur()}}),(0,n.jsx)(`p`,{className:`sf-map-hint`,children:`Haz clic en el mapa para ajustar la ubicación.`})]})})},wc=e=>(0,n.jsx)(Cc,{...e}),Tc=e=>Array.isArray(e)?e.map(e=>oc(e,Os)):[],Ec=e=>e.length===0?`Sin puntos`:e.length===1?`1 punto`:`${e.length} puntos`,Dc=`var(--sf-map-area-stroke)`,Oc=`var(--sf-map-area-fill)`,kc=`var(--sf-map-route-stroke)`,Ac=({form:e,name:t,mode:i,label:a,info:o,required:s=!0,zoom:c=13,readOnly:l,disabled:u,className:d,onChange:f,onRefresh:p})=>{let m=i===`area`?3:2,h=`Dibuja al menos ${m} puntos para ${i===`area`?`un área`:`una ruta`}.`,g=(0,r.useController)({name:t,control:e.control,rules:{validate:e=>{let t=Tc(e).length;return t===0&&!s?!0:t<m?h:!0}}}),_=String(t),v=g.fieldState.error?.message?String(g.fieldState.error.message):void 0,y=l||u,b=Tc(g.field.value),x=b.at(-1)??Os,S={id:`${_}-${i}`,points:b,color:i===`area`?Dc:kc,fillColor:i===`area`?Oc:void 0},C=e=>{g.field.onChange(e),f?.(e)},w=()=>C(b.slice(0,-1)),T=()=>C([]),E=(e,t,n)=>e.map((e,r)=>r===t?n:e),D=e=>{let t=Number(e.slice(e.lastIndexOf(`-`)+1));return Number.isInteger(t)?t:-1},O=b.length>0&&b.length<m;return(0,n.jsx)(W,{id:_,label:a,info:o,required:s,onRefresh:p,error:v,children:(0,n.jsxs)(`div`,{className:(0,U.default)(`grid gap-3`,d),children:[!y&&(0,n.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,n.jsx)(`button`,{type:`button`,onClick:w,disabled:b.length===0,className:`sf-map-action-btn`,children:`Deshacer último`}),(0,n.jsx)(`button`,{type:`button`,onClick:T,disabled:b.length===0,className:`sf-map-action-btn sf-map-action-btn--danger`,children:`Limpiar`})]}),(0,n.jsx)(Sc,{center:x,zoom:c,height:260,readOnly:y,markers:b.map((e,t)=>({id:`${_}-point-${t}`,position:e,label:String(t+1),color:i===`area`?Dc:kc,options:{draggable:!y}})),areas:i===`area`&&b.length>=3?[S]:[],routes:i===`route`&&b.length>=2?[S]:[],onClick:e=>{C([...b,e.location]),g.field.onBlur()},onMarkerDragEnd:e=>{if(y)return;let t=D(e.marker.id);t<0||(C(E(b,t,e.location)),g.field.onBlur())},onMarkerDoubleClick:e=>{if(y)return;let t=D(e.marker.id);t<0||(C(b.filter((e,n)=>n!==t)),g.field.onBlur())}}),(0,n.jsxs)(`p`,{className:`sf-map-hint`,"aria-live":`polite`,children:[Ec(b),` · Clic para añadir. Arrastra un punto para moverlo. Doble clic para eliminar.`,` `,(0,n.jsx)(`span`,{className:O?`sf-map-hint--warning`:void 0,children:h})]})]})})},jc=e=>(0,n.jsx)(Ac,{...e,mode:`area`}),Mc=e=>(0,n.jsx)(Ac,{...e,mode:`route`}),Nc=e=>{switch(e.kind){case`coordinates`:return(0,n.jsx)(wc,{...e});case`location`:return(0,n.jsx)(Cc,{...e});case`address`:return(0,n.jsx)(xc,{...e});case`area`:return(0,n.jsx)(jc,{...e});case`route`:return(0,n.jsx)(Mc,{...e});default:return null}},Pc=/^#[0-9a-fA-F]{6}$/,Fc=`#`.padEnd(7,`0`),Ic=()=>{if(typeof document>`u`)return``;let e=getComputedStyle(document.documentElement).getPropertyValue(`--sf-primary`).trim();return Pc.test(e)?e.toLowerCase():``},Lc=(e,t,n)=>Math.min(n,Math.max(t,e)),Rc=(e,t)=>t?.formatValue?t.formatValue(e):t?.suffix?`${e} ${t.suffix}`:String(e),zc=()=>[],Bc=e=>Array.isArray(e)?e.map(e=>String(e??``).trim()).filter(Boolean):[],Vc=()=>[],Hc=e=>Array.isArray(e)?e.map(e=>{if(typeof e!=`object`||!e)return null;let t=e;return{key:String(t.key??``),value:String(t.value??``)}}).filter(e=>e!=null):[],Uc=(e=0,t=100)=>({start:e,end:t}),Wc=(e,t=0,n=100)=>{if(e&&typeof e==`object`&&`start`in e&&`end`in e){let r=e,i=Lc(Number(r.start),t,n),a=Lc(Number(r.end),t,n);return i<=a?{start:i,end:a}:{start:a,end:i}}return Uc(t,n)},Gc=(e,t)=>{let n=Ic(),r=String(t??(n||Fc)).trim(),i=Pc.test(r)?r.toLowerCase():Fc,a=String(e??i).trim();return Pc.test(a)?a.toLowerCase():i},Kc=(e,t,n)=>n<=t?0:Math.round((Lc(e,t,n)-t)/(n-t)*100),qc=e=>(0,U.default)(`sf-range-input`,e&&`pointer-events-none`),Jc=({form:e,name:t,label:i,info:a,required:o,min:s=0,max:c=100,step:l=1,suffix:u,readOnly:d,disabled:f,className:p,formatValue:m,onChange:h,onRefresh:g})=>{let _=(0,r.useController)({name:t,control:e.control}),v=String(t),y=_.fieldState.error?.message?String(_.fieldState.error.message):void 0,b=d||f,x=Lc(Number(_.field.value??s),s,c),S=e=>{_.field.onChange(e),h?.(e)};return(0,n.jsx)(W,{id:v,label:i,info:a,required:o,onRefresh:g,error:y,children:(0,n.jsxs)(`div`,{className:(0,U.default)(`flex items-center gap-3`,p),children:[(0,n.jsx)(`input`,{id:v,type:`range`,min:s,max:c,step:l,value:x,disabled:b,"aria-label":i??String(t),"aria-invalid":!!y||void 0,onBlur:()=>_.field.onBlur(),onChange:e=>S(Number(e.target.value)),className:qc(b)}),(0,n.jsx)(`span`,{className:`sf-slider__value`,children:Rc(x,{suffix:u,formatValue:m})})]})})},Yc={slate:{wrap:`border-slate-300 bg-white`,button:`bg-slate-50 text-slate-600 hover:bg-slate-100`,value:`text-slate-900`},emerald:{wrap:`border-emerald-200 bg-white`,button:`bg-emerald-50 text-emerald-700 hover:bg-emerald-100`,value:`text-emerald-700`},amber:{wrap:`border-amber-200 bg-amber-50/40`,button:`bg-amber-50 text-amber-700 hover:bg-amber-100`,value:`text-amber-700`},blue:{wrap:`border-blue-200 bg-white`,button:`bg-blue-50 text-blue-700 hover:bg-blue-100`,value:`text-blue-700`}},Xc={sm:{button:`h-6 w-6`,icon:`h-3 w-3`,value:`min-w-[2rem] px-1 text-xs`},md:{button:`h-7 w-7`,icon:`h-3.5 w-3.5`,value:`min-w-[2.5rem] px-1.5 text-sm`}},Zc=(e,t)=>{let n=(String(t).split(`.`)[1]??``).length;return Number(e.toFixed(n))},Qc=({value:e,onChange:t,min:r=0,max:i=1/0,step:a=1,tone:o=`slate`,size:s=`md`,disabled:c=!1,readOnly:l=!1,ariaLabel:u,formatValue:d,className:f})=>{let p=Yc[o],m=Xc[s],h=c||l,g=n=>{if(h)return;let o=Math.min(i,Math.max(r,Zc(n,a)));o!==e&&t(o)},_=e<=r,v=e>=i,y=d?d(e):String(e),b=(0,U.default)(`flex items-center justify-center font-bold leading-none transition-colors disabled:cursor-not-allowed disabled:opacity-40`,p.button,m.button);return(0,n.jsxs)(`div`,{role:`group`,"aria-label":u,className:(0,U.default)(`inline-flex items-center overflow-hidden rounded-lg border`,p.wrap,h&&`opacity-60`,f),children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Disminuir`,disabled:h||_,onClick:()=>g(e-a),className:b,children:(0,n.jsx)(fe,{className:m.icon,"aria-hidden":`true`})}),(0,n.jsx)(`span`,{className:(0,U.default)(`text-center font-bold tabular-nums`,p.value,m.value),children:y}),(0,n.jsx)(`button`,{type:`button`,"aria-label":`Aumentar`,disabled:h||v,onClick:()=>g(e+a),className:b,children:(0,n.jsx)(ue,{className:m.icon,"aria-hidden":`true`})})]})},$c=e=>(0,U.default)(`sf-range-input`,e&&`pointer-events-none`),el=({form:e,name:t,label:i,info:a,required:o,min:s=0,max:c=100,step:l=1,suffix:u,readOnly:d,disabled:f,className:p,formatValue:m,onChange:h,onRefresh:g})=>{let _=(0,r.useController)({name:t,control:e.control}),v=String(t),y=_.fieldState.error?.message?String(_.fieldState.error.message):void 0,b=d||f,x=Wc(_.field.value,s,c),S=e=>{_.field.onChange(e),h?.(e)},C={suffix:u,formatValue:m};return(0,n.jsx)(W,{id:v,label:i,info:a,required:o,onRefresh:g,error:y,children:(0,n.jsxs)(`div`,{className:(0,U.default)(`flex items-center gap-3`,p),children:[(0,n.jsx)(`span`,{className:`sf-slider__value sf-slider__value--sm`,children:Rc(x.start,C)}),(0,n.jsxs)(`div`,{className:`grid flex-1 gap-2`,children:[(0,n.jsx)(`input`,{id:v,type:`range`,min:s,max:x.end,step:l,value:x.start,disabled:b,"aria-label":i?`${i} mínimo`:`Valor mínimo`,"aria-invalid":!!y||void 0,onBlur:()=>_.field.onBlur(),onChange:e=>{let t=Number(e.target.value);S({start:t,end:Math.max(t,x.end)})},className:$c(b)}),(0,n.jsx)(`input`,{id:`${v}-end`,type:`range`,min:x.start,max:c,step:l,value:x.end,disabled:b,"aria-label":i?`${i} máximo`:`Valor máximo`,"aria-invalid":!!y||void 0,onBlur:()=>_.field.onBlur(),onChange:e=>{let t=Number(e.target.value);S({start:Math.min(x.start,t),end:t})},className:$c(b)})]}),(0,n.jsx)(`span`,{className:`sf-slider__value sf-slider__value--sm`,children:Rc(x.end,C)})]})})},tl=({form:e,name:t,label:i,info:a,required:o,min:s=0,max:c=100,suffix:l,className:u,formatValue:d,onRefresh:f})=>{let p=(0,r.useController)({name:t,control:e.control}),m=String(t),h=p.fieldState.error?.message?String(p.fieldState.error.message):void 0,g=Lc(Number(p.field.value??s),s,c),_=Kc(g,s,c);return(0,n.jsx)(W,{id:m,label:i,info:a,required:o,onRefresh:f,error:h,children:(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-progress-bar`,u),children:[(0,n.jsx)(`div`,{className:`sf-progress-bar__track`,children:(0,n.jsx)(`div`,{className:`sf-progress-bar__fill`,style:{width:`${_}%`},role:`progressbar`,"aria-label":i??String(t),"aria-valuenow":g,"aria-valuemin":s,"aria-valuemax":c})}),(0,n.jsx)(`span`,{className:`sf-progress-bar__value`,children:Rc(g,{suffix:l,formatValue:d})})]})})},nl={default:`sf-progress-bar-readonly__fill--default`,success:`sf-progress-bar-readonly__fill--success`,warning:`sf-progress-bar-readonly__fill--warning`,danger:`sf-progress-bar-readonly__fill--danger`,info:`sf-progress-bar-readonly__fill--info`},rl=({value:e,min:t=0,max:r=100,label:i,showValue:a=!0,suffix:o,formatValue:s,tone:c=`default`,size:l=`md`,className:u})=>{let d=Lc(e,t,r),f=Kc(d,t,r),p=Rc(d,{suffix:o,formatValue:s});return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-progress-bar-readonly`,l===`sm`&&`sf-progress-bar-readonly--sm`,u),children:[i&&(0,n.jsx)(`span`,{className:`sf-progress-bar-readonly__label`,children:i}),(0,n.jsx)(`div`,{className:`sf-progress-bar-readonly__track`,children:(0,n.jsx)(`div`,{className:(0,U.default)(`sf-progress-bar-readonly__fill`,nl[c]),style:{width:`${f}%`},role:`progressbar`,"aria-label":i??`Progreso`,"aria-valuenow":d,"aria-valuemin":t,"aria-valuemax":r})}),a&&(0,n.jsx)(`span`,{className:`sf-progress-bar-readonly__value`,children:p})]})},il=({form:e,name:i,label:a,info:o,required:s,stars:c=5,readOnly:l,disabled:u,small:d,className:f,onChange:p,onRefresh:m})=>{let[h,g]=(0,t.useState)(0),_=(0,r.useController)({name:i,control:e.control}),v=String(i),y=_.fieldState.error?.message?String(_.fieldState.error.message):void 0,b=l||u,x=al(Number(_.field.value??0),c),S=h||x,C=e=>{_.field.onChange(e),p?.(e),_.field.onBlur()},w=(e,t)=>{if(b)return;let n={ArrowLeft:Math.max(1,t-1),ArrowDown:Math.max(1,t-1),ArrowRight:Math.min(c,t+1),ArrowUp:Math.min(c,t+1),Home:1,End:c}[e.key];n!=null&&(e.preventDefault(),C(n))};return(0,n.jsx)(W,{id:v,label:a,info:o,required:s,onRefresh:m,error:y,children:(0,n.jsx)(`div`,{className:(0,U.default)(`flex gap-0.5`,f),role:`radiogroup`,"aria-label":a??`Calificación`,children:Array.from({length:c},(e,t)=>t+1).map(e=>(0,n.jsx)(`button`,{type:`button`,role:`radio`,disabled:b,"aria-checked":x===e,"aria-label":`${e} de ${c}`,onMouseEnter:()=>!b&&g(e),onMouseLeave:()=>g(0),onClick:()=>!b&&C(e),onKeyDown:t=>w(t,e),className:(0,U.default)(`leading-none transition-colors`,d?`text-lg`:`text-2xl`,e<=S?`sf-rating__star--active`:`sf-rating__star--idle`,b?`sf-rating__star--disabled`:`sf-rating__star--hover`),children:`★`},e))})})},al=(e,t)=>!Number.isFinite(e)||e<0?0:Math.min(t,Math.round(e)),ol=({form:e,name:t,label:i,info:a,required:o,readOnly:s,disabled:c,small:l,className:u,onChange:d,onRefresh:f})=>{let p=(0,r.useController)({name:t,control:e.control}),m=String(t),h=p.fieldState.error?.message?String(p.fieldState.error.message):void 0,g=s||c,_=Gc(p.field.value),v=e=>{let t=Gc(e,_);p.field.onChange(t),d?.(t)};return(0,n.jsx)(W,{id:m,label:i,info:a,required:o,onRefresh:f,error:h,children:(0,n.jsxs)(`div`,{className:(0,U.default)(`flex items-center gap-3`,u),children:[(0,n.jsx)(`input`,{id:m,type:`color`,value:_,disabled:g,"aria-label":i?`${i} selector`:`Selector de color`,"aria-invalid":!!h||void 0,onBlur:()=>p.field.onBlur(),onChange:e=>v(e.target.value),className:(0,U.default)(`sf-color-input__picker`,l?`h-8 w-10`:`h-10 w-12`)}),(0,n.jsx)(`input`,{id:`${m}-hex`,type:`text`,value:_,readOnly:g,disabled:c,"aria-label":i?`${i} hexadecimal`:`Color hexadecimal`,"aria-invalid":!!h||void 0,onBlur:()=>p.field.onBlur(),onChange:e=>v(e.target.value),className:G({error:!!h,readOnly:s,disabled:c,small:l,className:`w-28 font-mono`}),spellCheck:!1})]})})},sl=({form:e,name:i,label:a,info:o,required:s,placeholder:c=`Escribe y presiona Enter`,maxItems:l,readOnly:u,disabled:d,className:f,onChange:p,onRefresh:m})=>{let[h,g]=(0,t.useState)(``),_=(0,r.useController)({name:i,control:e.control}),v=String(i),y=_.fieldState.error?.message?String(_.fieldState.error.message):void 0,b=u||d,x=Bc(_.field.value),S=l!=null&&x.length>=l,C=e=>{_.field.onChange(e),p?.(e)},w=()=>{let e=h.trim();!e||x.includes(e)||S||(C([...x,e]),g(``),_.field.onBlur())},T=e=>{C(x.filter(t=>t!==e)),_.field.onBlur()};return(0,n.jsx)(W,{id:v,label:a,info:o,required:s,onRefresh:m,error:y,children:(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-tags-input`,b&&`sf-tags-input--disabled`,f),role:`group`,"aria-label":a??String(i),"aria-invalid":!!y||void 0,children:[(0,n.jsx)(`span`,{className:`contents`,role:`list`,"aria-label":`Etiquetas actuales`,children:x.map(e=>(0,n.jsxs)(`span`,{className:`sf-tags-input__chip`,role:`listitem`,children:[e,!b&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>T(e),className:`sf-tags-input__remove`,"aria-label":`Quitar ${e}`,children:`×`})]},e))}),!b&&(0,n.jsx)(`input`,{id:v,value:h,onChange:e=>g(e.target.value),onKeyDown:e=>{(e.key===`Enter`||e.key===`,`)&&(e.preventDefault(),w()),e.key===`Backspace`&&!h&&x.length>0&&C(x.slice(0,-1))},onBlur:()=>{h.trim()&&w(),_.field.onBlur()},disabled:S,"aria-label":a?`${a} nueva etiqueta`:`Nueva etiqueta`,placeholder:x.length===0?c:``,className:`sf-tags-input__field`})]})})},cl=({form:e,name:t,label:i,info:a,required:o,readOnly:s,disabled:c,small:l,className:u,onChange:d,onRefresh:f})=>{let p=(0,r.useController)({name:t,control:e.control}),m=String(t),h=p.fieldState.error?.message?String(p.fieldState.error.message):void 0,g=s||c,_=Hc(p.field.value),v=e=>{p.field.onChange(e),d?.(e)},y=(e,t,n)=>{v(_.map((r,i)=>i===e?{...r,[t]:n}:r))},b=()=>{v([..._,{key:``,value:``}]),p.field.onBlur()},x=e=>{v(_.filter((t,n)=>n!==e)),p.field.onBlur()};return(0,n.jsx)(W,{id:m,label:i,info:a,required:o,onRefresh:f,error:h,children:(0,n.jsxs)(`div`,{className:(0,U.default)(`grid gap-2`,u),role:`list`,"aria-label":i??String(t),"aria-invalid":!!h||void 0,children:[_.map((e,t)=>(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,role:`listitem`,children:[(0,n.jsx)(`input`,{value:e.key,readOnly:g,disabled:c,placeholder:`Clave`,"aria-label":`Clave ${t+1}`,"aria-invalid":!!h||void 0,onBlur:()=>p.field.onBlur(),onChange:e=>y(t,`key`,e.target.value),className:G({error:!!h,readOnly:s,disabled:c,small:l,className:`flex-1`})}),(0,n.jsx)(`span`,{className:`sf-kv-input__sep`,children:`:`}),(0,n.jsx)(`input`,{value:e.value,readOnly:g,disabled:c,placeholder:`Valor`,"aria-label":`Valor ${t+1}`,"aria-invalid":!!h||void 0,onBlur:()=>p.field.onBlur(),onChange:e=>y(t,`value`,e.target.value),className:G({error:!!h,readOnly:s,disabled:c,small:l,className:`flex-1`})}),!g&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>x(t),className:`sf-kv-input__remove`,"aria-label":`Eliminar par ${t+1}`,children:`×`})]},t)),!g&&(0,n.jsx)(`button`,{type:`button`,onClick:b,className:`sf-kv-input__add`,children:`+ Agregar par`})]})})},ll=({items:e,onReorder:r,className:i})=>{let[a,o]=(0,t.useState)(null),s=t=>n=>{if(n.preventDefault(),!a)return;let i=e.findIndex(e=>e.id===a);i===-1||i===t||(r(i,t),o(null))};return(0,n.jsx)(`div`,{className:(0,U.default)(`sf-sortable-list`,i),children:e.map((e,t)=>(0,n.jsxs)(`div`,{draggable:!e.disabled,onDragStart:()=>o(e.id),onDragEnd:()=>o(null),onDragOver:e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},onDrop:s(t),className:(0,U.default)(`sf-sortable-list__item`,a===e.id&&`sf-sortable-list__item--dragging`,e.disabled&&`sf-sortable-list__item--disabled`),children:[(0,n.jsx)(Ut,{className:`sf-sortable-list__handle`,"aria-hidden":`true`}),(0,n.jsx)(`div`,{className:`sf-sortable-list__content`,children:e.content})]},e.id))})},ul=({value:e,onChange:t,options:r,name:i=`card-radio-group`,className:a,ariaLabel:o=`Opciones`})=>(0,n.jsx)(`div`,{className:(0,U.default)(`sf-card-radio-group`,a),role:`radiogroup`,"aria-label":o,children:r.map(r=>{let a=r.value===e,o=`${i}-${r.value}`;return(0,n.jsxs)(`label`,{htmlFor:o,className:(0,U.default)(`sf-card-radio-group__option`,a&&`sf-card-radio-group__option--active`,r.disabled&&`sf-card-radio-group__option--disabled`),children:[(0,n.jsx)(`input`,{id:o,type:`radio`,name:i,value:r.value,checked:a,disabled:r.disabled,className:`sf-card-radio-group__input`,onChange:()=>t(r.value)}),(0,n.jsx)(`span`,{className:`sf-card-radio-group__marker`,"aria-hidden":`true`}),(0,n.jsxs)(`span`,{className:`sf-card-radio-group__content`,children:[(0,n.jsx)(`span`,{className:`sf-card-radio-group__label`,children:r.label}),r.detail&&(0,n.jsx)(`span`,{className:`sf-card-radio-group__detail`,children:r.detail})]})]},r.value)})}),dl={group:{label:`Grupo / Entidad`,labelShort:`GRP`,rowClass:`sf-org-tree-row--group`,barClass:`sf-org-tree-bar--group`},unit:{label:`Unidad organizativa`,labelShort:`UO`,rowClass:`sf-org-tree-row--unit`,barClass:`sf-org-tree-bar--unit`},role:{label:`Puesto / posición`,labelShort:`PST`,rowClass:`sf-org-tree-row--role`,barClass:`sf-org-tree-bar--role`}},fl=e=>{let t=new Map,n=new Set(e.map(e=>e.id));for(let n of e){let e=n.parentId==null||n.parentId===``?null:n.parentId,r=t.get(e)??[];r.push(n),t.set(e,r)}for(let e of t.values())e.sort((e,t)=>(Number(e.order)||0)-(Number(t.order)||0)||e.id.localeCompare(t.id));let r=[],i=(e,n)=>{for(let a of t.get(e)??[]){let e=(t.get(a.id)??[]).length>0;r.push({...a,depth:n,hasChildren:e}),i(a.id,n+1)}},a=e.filter(e=>{let t=e.parentId==null||e.parentId===``?null:e.parentId;return t==null||!n.has(t)});if(a.length!==e.length)i(null,0);else for(let e of a)r.push({...e,depth:0,hasChildren:!1});return r},pl=(e,t=dl)=>t[e]??dl[e]??null,ml=e=>e.length,hl=e=>{let t=new Set(e.map(e=>e.id));return e.filter(e=>{let n=e.parentId==null||e.parentId===``?null:e.parentId;return n==null||!t.has(n)})},gl=({type:e,className:t})=>e===`group`?(0,n.jsx)(De,{className:t,"aria-hidden":`true`}):e===`role`?(0,n.jsx)(ie,{className:t,"aria-hidden":`true`}):(0,n.jsx)(re,{className:t,"aria-hidden":`true`}),_l=({nodes:e,title:r=`Estructura`,subtitle:i,loading:a=!1,error:o=null,onRefresh:s,canEdit:c=!1,onAddNode:l,onEditNode:u,onDeleteNode:d,showLegend:f=!1,themes:p=dl,onRenderNode:m,maxHeight:h=480,className:g})=>{let[_,v]=(0,t.useState)(new Set),[y,b]=(0,t.useState)({visible:!1,x:0,y:0}),x=(0,t.useRef)(null);(0,t.useEffect)(()=>{if(!y.visible)return;let e=e=>{x.current&&!x.current.contains(e.target)&&b(e=>({...e,visible:!1}))},t=e=>{e.key===`Escape`&&b(e=>({...e,visible:!1}))};return window.addEventListener(`mousedown`,e),window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`mousedown`,e),window.removeEventListener(`keydown`,t)}},[y.visible]);let S=(0,t.useMemo)(()=>fl(e),[e]),C=(0,t.useCallback)(e=>{let t=e.parentId==null||e.parentId===``?null:e.parentId;for(;t!=null;){if(_.has(t))return!0;let e=S.find(e=>e.id===t);t=e?.parentId==null||e?.parentId===``?null:e?.parentId??null}return!1},[S,_]),w=(0,t.useMemo)(()=>S.filter(e=>!C(e)),[S,C]),T=e=>{v(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},E=(e,t)=>{c&&(e.preventDefault(),e.stopPropagation(),b({visible:!0,x:e.clientX,y:e.clientY,node:t}))};return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-org-tree`,g),role:`region`,"aria-label":r,"aria-busy":a||void 0,children:[(0,n.jsxs)(`div`,{className:`sf-org-tree__header`,children:[(0,n.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,n.jsx)(`span`,{className:`sf-org-tree__title`,children:r}),a&&(0,n.jsx)(Un,{size:`sm`})]}),i&&(0,n.jsx)(`p`,{className:`sf-org-tree__subtitle`,children:i}),f&&(0,n.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:Object.entries(p).map(([e,t])=>(0,n.jsxs)(`span`,{className:(0,U.default)(`sf-org-tree__legend-chip`,t.rowClass),title:t.label,children:[(0,n.jsx)(`span`,{className:(0,U.default)(`h-2 w-2 shrink-0 rounded-sm`,t.barClass)}),t.labelShort]},e))})]}),(0,n.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[c&&l&&(0,n.jsx)(`button`,{type:`button`,title:`Nuevo nodo raíz`,"aria-label":`Nuevo nodo raíz`,onClick:()=>l(),className:`sf-org-tree__toolbar-btn sf-org-tree__toolbar-btn--primary`,children:(0,n.jsx)(ue,{className:`h-5 w-5`})}),s&&(0,n.jsx)(`button`,{type:`button`,title:`Actualizar`,disabled:a,"aria-label":`Actualizar`,"aria-busy":a||void 0,onClick:()=>!a&&s(),className:`sf-org-tree__toolbar-btn sf-org-tree__toolbar-btn--muted`,children:(0,n.jsx)(le,{className:(0,U.default)(`h-5 w-5`,a&&`animate-spin`)})})]})]}),o&&(0,n.jsx)(`div`,{className:`sf-org-tree__error`,role:`alert`,children:o.message}),(0,n.jsxs)(`ul`,{className:`flex-1 overflow-y-auto px-2 pb-2`,style:{maxHeight:h},role:`tree`,"aria-label":r,children:[w.length===0&&!a&&(0,n.jsx)(`li`,{className:`sf-org-tree__empty`,children:`Sin nodos`}),w.map(e=>{let t=pl(e.type,p);return(0,n.jsx)(`li`,{role:`treeitem`,"aria-level":e.depth+1,"aria-expanded":e.hasChildren?!_.has(e.id):void 0,children:(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-org-tree-row group`,t?.rowClass),style:{paddingLeft:`${e.depth*16+4}px`},onContextMenu:t=>E(t,e),children:[t&&(0,n.jsx)(`span`,{className:(0,U.default)(`sf-org-tree-row__bar`,t.barClass)}),(0,n.jsx)(`button`,{type:`button`,className:(0,U.default)(`sf-org-tree-row__toggle`,!e.hasChildren&&`sf-org-tree-row__toggle--hidden`),onClick:()=>T(e.id),"aria-label":_.has(e.id)?`Expandir`:`Contraer`,"aria-expanded":e.hasChildren?!_.has(e.id):void 0,tabIndex:e.hasChildren?0:-1,children:_.has(e.id)?(0,n.jsx)(xe,{className:`h-4 w-4`}):(0,n.jsx)(Ce,{className:`h-4 w-4`})}),(0,n.jsx)(gl,{type:e.type,className:`h-4 w-4 shrink-0 opacity-70`}),(0,n.jsx)(`div`,{className:`min-w-0 flex-1`,children:m?m(e):(0,n.jsx)(`p`,{className:`truncate text-sm font-medium`,title:e.shortLabel??e.label,children:e.label})}),c&&(u||d)&&(0,n.jsxs)(`div`,{className:`sf-org-tree-row__actions`,children:[u&&(0,n.jsx)(`button`,{type:`button`,title:`Editar`,"aria-label":`Editar ${e.label}`,onClick:()=>u(e),className:`sf-org-tree-row__action`,children:(0,n.jsx)(ve,{className:`h-3.5 w-3.5`})}),d&&(0,n.jsx)(`button`,{type:`button`,title:`Eliminar`,"aria-label":`Eliminar ${e.label}`,onClick:()=>d(e),className:`sf-org-tree-row__action sf-org-tree-row__action--danger`,children:(0,n.jsx)(ae,{className:`h-3.5 w-3.5`})})]})]})},e.id)})]}),y.visible&&y.node&&(0,n.jsxs)(`div`,{ref:x,className:`sf-org-tree-context`,style:{left:y.x,top:y.y},role:`menu`,"aria-label":`Acciones para ${y.node.label}`,children:[l&&(0,n.jsx)(`button`,{type:`button`,className:`sf-org-tree-context__item`,role:`menuitem`,onClick:()=>{l(y.node),b(e=>({...e,visible:!1}))},children:`Agregar hijo`}),u&&(0,n.jsx)(`button`,{type:`button`,className:`sf-org-tree-context__item`,role:`menuitem`,onClick:()=>{u(y.node),b(e=>({...e,visible:!1}))},children:`Editar`}),d&&(0,n.jsx)(`button`,{type:`button`,className:`sf-org-tree-context__item sf-org-tree-context__item--danger`,role:`menuitem`,onClick:()=>{d(y.node),b(e=>({...e,visible:!1}))},children:`Eliminar`})]})]})},vl={street:{url:`https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png`,attribution:`© <a href="https://www.openstreetmap.org/copyright" target="_blank" rel="noreferrer">OpenStreetMap</a>`},satellite:{url:`https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}`,attribution:`Tiles © Esri — Source: Esri, Maxar, Earthstar Geographics, and the GIS User Community`}},yl={default:`Nodo`,nap:`NAP`,olt:`OLT`,splitter:`Splitter`},bl={default:`var(--sf-accent)`,nap:`var(--sf-network-kind-nap)`,olt:`var(--sf-network-kind-olt)`,splitter:`var(--sf-network-kind-splitter)`},xl={normal:`var(--sf-network-status-normal)`,warning:`var(--sf-network-status-warning)`,critical:`var(--sf-network-status-critical)`,maintenance:`var(--sf-network-status-maintenance)`},Sl={normal:`Normal`,warning:`Advertencia`,critical:`Crítico`,maintenance:`Mantenimiento`},Cl={backbone:{color:`var(--sf-network-edge-backbone)`,weight:2.5},distribution:{color:`var(--sf-network-edge-distribution)`,weight:2},maintenance:{color:`var(--sf-network-edge-maintenance)`,weight:1.5,dashArray:`6 4`}},wl=Ls,Tl=e=>{if(!Array.isArray(e))return[];let t=[];for(let n of e){if(typeof n!=`object`||!n)continue;let e=n,r=String(e.id??``);if(!r)continue;let i=Number(e.lat),a=Number(e.lng);if(!Number.isFinite(i)||!Number.isFinite(a))continue;let o=String(e.status??`normal`),s=o in xl?o:`normal`,c={id:r,label:String(e.label??``),lat:i,lng:a,status:s},l=e.kind==null?r.startsWith(`nap:`)?`nap`:`default`:String(e.kind);l in yl&&(c.kind=l),e.value!=null&&Number.isFinite(Number(e.value))&&(c.value=Number(e.value)),e.icon!=null&&(c.icon=String(e.icon)),t.push(c)}return t},El=e=>{if(!Array.isArray(e))return[];let t=[];for(let n of e){if(typeof n!=`object`||!n)continue;let e=n,r=String(e.from??``),i=String(e.to??``);if(!r||!i)continue;let a=String(e.type??`backbone`),o=a in Cl?a:`backbone`;t.push({from:r,to:i,type:o})}return t},Dl=e=>{let t={normal:0,warning:0,critical:0,maintenance:0};for(let n of e)t[n.status]+=1;return t},Ol=e=>{if(e.length===0)return null;let t=e.map(e=>e.lat),n=e.map(e=>e.lng);return[[Math.min(...t),Math.min(...n)],[Math.max(...t),Math.max(...n)]]},kl=e=>Object.fromEntries(e.map(e=>[e.id,[e.lat,e.lng]])),Al=(e,t)=>e.flatMap(e=>{let n=t[e.from],r=t[e.to];return!n||!r?[]:[{edge:e,line:[n,r]}]}),jl=({nodes:e,edges:t=[],placement:r=`bottom-left`,className:i})=>{let a=Dl(e),o=Array.from(new Set(t.map(e=>e.type??`backbone`)));return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-network-legend`,r===`bottom-right`?`sf-network-legend--right`:`sf-network-legend--left`,i),role:`region`,"aria-label":`Leyenda del mapa de red`,children:[(0,n.jsx)(`p`,{className:`sf-network-legend__title`,children:`Estado`}),(0,n.jsx)(`ul`,{className:`space-y-1`,children:Object.keys(Sl).map(e=>(0,n.jsxs)(`li`,{className:`sf-network-legend__item`,children:[(0,n.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,n.jsx)(`span`,{className:`inline-block h-2.5 w-2.5 rounded-full`,style:{background:xl[e]},"aria-hidden":`true`}),Sl[e]]}),(0,n.jsx)(`span`,{className:`sf-network-legend__count`,children:a[e]})]},e))}),o.length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`p`,{className:`sf-network-legend__title sf-network-legend__title--spaced`,children:`Enlaces`}),(0,n.jsx)(`ul`,{className:`space-y-1`,children:o.map(e=>{let t=Cl[e??`backbone`];return(0,n.jsxs)(`li`,{className:`sf-network-legend__item sf-network-legend__item--edge`,children:[(0,n.jsx)(`span`,{className:`inline-block h-0.5 w-4`,"aria-hidden":`true`,style:{background:t.color,borderBottom:t.dashArray?`2px dashed ${t.color}`:void 0}}),e]},e)})})]}),(0,n.jsxs)(`p`,{className:`sf-network-legend__footer`,children:[`Total nodos: `,e.length]})]})},Ml=[-12.0464,-77.0428],Nl=e=>e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`),Pl=(e,t)=>{let n=e.status,r=e.kind??`default`,i=r===`nap`?`NAP`:e.value==null?e.icon??yl[r].slice(0,3).toUpperCase():`${e.value}%`,a=Nl(e.label.length>40?`${e.label.slice(0,37)}…`:e.label),o=t?` sf-network-marker--selected`:``;return h.default.divIcon({className:`sf-network-marker-root`,iconAnchor:[24,42],iconSize:[48,48],html:`<div class="sf-network-marker${o}">
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("react"),require("react/jsx-runtime"),require("react-hook-form"),require("react-day-picker"),require("@tanstack/react-table"),require("react-dom"),require("@tanstack/react-query"),require("react-qr-code"),require("@uiw/react-codemirror"),require("@codemirror/lang-html"),require("@codemirror/lang-javascript"),require("@codemirror/lang-json"),require("@codemirror/lang-sql"),require("react-leaflet"),require("leaflet"),require("react-easy-crop"),require("recharts"),require("@hookform/resolvers/yup"),require("yup")):typeof define==`function`&&define.amd?define([`exports`,`react`,`react/jsx-runtime`,`react-hook-form`,`react-day-picker`,`@tanstack/react-table`,`react-dom`,`@tanstack/react-query`,`react-qr-code`,`@uiw/react-codemirror`,`@codemirror/lang-html`,`@codemirror/lang-javascript`,`@codemirror/lang-json`,`@codemirror/lang-sql`,`react-leaflet`,`leaflet`,`react-easy-crop`,`recharts`,`@hookform/resolvers/yup`,`yup`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.SfUi={},e.React,e.ReactJsxRuntime,e.ReactHookForm,e.ReactDayPicker,e.ReactTable,e.ReactDOM,e.ReactQuery,e.ReactQRCode,e.ReactCodemirror,e.CodemirrorLangHtml,e.CodemirrorLangJavascript,e.CodemirrorLangJson,e.CodemirrorLangSql,e.ReactLeaflet,e.L,e.ReactEasyCrop,e.Recharts,e.HookformResolversYup,e.Yup))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var b=Object.create,x=Object.defineProperty,S=Object.getOwnPropertyDescriptor,C=Object.getOwnPropertyNames,w=Object.getPrototypeOf,T=Object.prototype.hasOwnProperty,E=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),D=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=C(t),a=0,o=i.length,s;a<o;a++)s=i[a],!T.call(e,s)&&s!==n&&x(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=S(t,s))||r.enumerable});return e},O=(e,t,n)=>(n=e==null?{}:b(w(e)),D(t||!e||!e.__esModule?x(n,`default`,{value:e,enumerable:!0}):n,e));t=O(t,1),c=O(c,1),l=O(l,1),h=O(h,1),g=O(g,1),y=O(y,1);var k={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},A=t.default.createContext&&t.default.createContext(k),j=[`attr`,`size`,`title`];function M(e,t){if(e==null)return{};var n,r,i=N(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function N(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function P(){return P=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},P.apply(null,arguments)}function F(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function I(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?F(Object(n),!0).forEach(function(t){L(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):F(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function L(e,t,n){return(t=R(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function R(e){var t=ee(e,`string`);return typeof t==`symbol`?t:t+``}function ee(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function te(e){return e&&e.map((e,n)=>t.default.createElement(e.tag,I({key:n},e.attr),te(e.child)))}function z(e){return n=>t.default.createElement(ne,P({attr:I({},e.attr)},n),te(e.child))}function ne(e){var n=n=>{var{attr:r,size:i,title:a}=e,o=M(e,j),s=i||n.size||`1em`,c;return n.className&&(c=n.className),e.className&&(c=(c?c+` `:``)+e.className),t.default.createElement(`svg`,P({stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`},n.attr,r,o,{className:c,style:I(I({color:e.color||n.color},n.style),e.style),height:s,width:s,xmlns:`http://www.w3.org/2000/svg`}),a&&t.default.createElement(`title`,null,a),e.children)};return A===void 0?n(k):t.default.createElement(A.Consumer,null,e=>n(e))}function B(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`line`,attr:{x1:`18`,y1:`6`,x2:`6`,y2:`18`},child:[]},{tag:`line`,attr:{x1:`6`,y1:`6`,x2:`18`,y2:`18`},child:[]}]})(e)}function re(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2`},child:[]},{tag:`circle`,attr:{cx:`9`,cy:`7`,r:`4`},child:[]},{tag:`path`,attr:{d:`M23 21v-2a4 4 0 0 0-3-3.87`},child:[]},{tag:`path`,attr:{d:`M16 3.13a4 4 0 0 1 0 7.75`},child:[]}]})(e)}function ie(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2`},child:[]},{tag:`circle`,attr:{cx:`12`,cy:`7`,r:`4`},child:[]}]})(e)}function ae(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`polyline`,attr:{points:`3 6 5 6 21 6`},child:[]},{tag:`path`,attr:{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`},child:[]},{tag:`line`,attr:{x1:`10`,y1:`11`,x2:`10`,y2:`17`},child:[]},{tag:`line`,attr:{x1:`14`,y1:`11`,x2:`14`,y2:`17`},child:[]}]})(e)}function oe(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`circle`,attr:{cx:`12`,cy:`12`,r:`5`},child:[]},{tag:`line`,attr:{x1:`12`,y1:`1`,x2:`12`,y2:`3`},child:[]},{tag:`line`,attr:{x1:`12`,y1:`21`,x2:`12`,y2:`23`},child:[]},{tag:`line`,attr:{x1:`4.22`,y1:`4.22`,x2:`5.64`,y2:`5.64`},child:[]},{tag:`line`,attr:{x1:`18.36`,y1:`18.36`,x2:`19.78`,y2:`19.78`},child:[]},{tag:`line`,attr:{x1:`1`,y1:`12`,x2:`3`,y2:`12`},child:[]},{tag:`line`,attr:{x1:`21`,y1:`12`,x2:`23`,y2:`12`},child:[]},{tag:`line`,attr:{x1:`4.22`,y1:`19.78`,x2:`5.64`,y2:`18.36`},child:[]},{tag:`line`,attr:{x1:`18.36`,y1:`5.64`,x2:`19.78`,y2:`4.22`},child:[]}]})(e)}function se(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z`},child:[]}]})(e)}function V(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`circle`,attr:{cx:`11`,cy:`11`,r:`8`},child:[]},{tag:`line`,attr:{x1:`21`,y1:`21`,x2:`16.65`,y2:`16.65`},child:[]}]})(e)}function ce(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z`},child:[]},{tag:`polyline`,attr:{points:`17 21 17 13 7 13 7 21`},child:[]},{tag:`polyline`,attr:{points:`7 3 7 8 15 8`},child:[]}]})(e)}function le(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`polyline`,attr:{points:`23 4 23 10 17 10`},child:[]},{tag:`polyline`,attr:{points:`1 20 1 14 7 14`},child:[]},{tag:`path`,attr:{d:`M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15`},child:[]}]})(e)}function ue(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`line`,attr:{x1:`12`,y1:`5`,x2:`12`,y2:`19`},child:[]},{tag:`line`,attr:{x1:`5`,y1:`12`,x2:`19`,y2:`12`},child:[]}]})(e)}function de(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z`},child:[]}]})(e)}function fe(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`line`,attr:{x1:`5`,y1:`12`,x2:`19`,y2:`12`},child:[]}]})(e)}function H(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z`},child:[]},{tag:`circle`,attr:{cx:`12`,cy:`10`,r:`3`},child:[]}]})(e)}function pe(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`line`,attr:{x1:`12`,y1:`2`,x2:`12`,y2:`6`},child:[]},{tag:`line`,attr:{x1:`12`,y1:`18`,x2:`12`,y2:`22`},child:[]},{tag:`line`,attr:{x1:`4.93`,y1:`4.93`,x2:`7.76`,y2:`7.76`},child:[]},{tag:`line`,attr:{x1:`16.24`,y1:`16.24`,x2:`19.07`,y2:`19.07`},child:[]},{tag:`line`,attr:{x1:`2`,y1:`12`,x2:`6`,y2:`12`},child:[]},{tag:`line`,attr:{x1:`18`,y1:`12`,x2:`22`,y2:`12`},child:[]},{tag:`line`,attr:{x1:`4.93`,y1:`19.07`,x2:`7.76`,y2:`16.24`},child:[]},{tag:`line`,attr:{x1:`16.24`,y1:`7.76`,x2:`19.07`,y2:`4.93`},child:[]}]})(e)}function me(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`circle`,attr:{cx:`12`,cy:`12`,r:`10`},child:[]},{tag:`line`,attr:{x1:`12`,y1:`16`,x2:`12`,y2:`12`},child:[]},{tag:`line`,attr:{x1:`12`,y1:`8`,x2:`12.01`,y2:`8`},child:[]}]})(e)}function he(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{x:`3`,y:`3`,width:`7`,height:`7`},child:[]},{tag:`rect`,attr:{x:`14`,y:`3`,width:`7`,height:`7`},child:[]},{tag:`rect`,attr:{x:`14`,y:`14`,width:`7`,height:`7`},child:[]},{tag:`rect`,attr:{x:`3`,y:`14`,width:`7`,height:`7`},child:[]}]})(e)}function ge(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z`},child:[]},{tag:`circle`,attr:{cx:`12`,cy:`12`,r:`3`},child:[]}]})(e)}function _e(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24`},child:[]},{tag:`line`,attr:{x1:`1`,y1:`1`,x2:`23`,y2:`23`},child:[]}]})(e)}function ve(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z`},child:[]}]})(e)}function ye(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`polyline`,attr:{points:`13 17 18 12 13 7`},child:[]},{tag:`polyline`,attr:{points:`6 17 11 12 6 7`},child:[]}]})(e)}function be(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`polyline`,attr:{points:`11 17 6 12 11 7`},child:[]},{tag:`polyline`,attr:{points:`18 17 13 12 18 7`},child:[]}]})(e)}function U(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`polyline`,attr:{points:`9 18 15 12 9 6`},child:[]}]})(e)}function xe(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`polyline`,attr:{points:`15 18 9 12 15 6`},child:[]}]})(e)}function Se(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`polyline`,attr:{points:`6 9 12 15 18 9`},child:[]}]})(e)}function Ce(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`polyline`,attr:{points:`20 6 9 17 4 12`},child:[]}]})(e)}function we(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M22 11.08V12a10 10 0 1 1-5.93-9.14`},child:[]},{tag:`polyline`,attr:{points:`22 4 12 14.01 9 11.01`},child:[]}]})(e)}function Te(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{x:`3`,y:`4`,width:`18`,height:`18`,rx:`2`,ry:`2`},child:[]},{tag:`line`,attr:{x1:`16`,y1:`2`,x2:`16`,y2:`6`},child:[]},{tag:`line`,attr:{x1:`8`,y1:`2`,x2:`8`,y2:`6`},child:[]},{tag:`line`,attr:{x1:`3`,y1:`10`,x2:`21`,y2:`10`},child:[]}]})(e)}function Ee(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{x:`2`,y:`7`,width:`20`,height:`14`,rx:`2`,ry:`2`},child:[]},{tag:`path`,attr:{d:`M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16`},child:[]}]})(e)}function De(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9`},child:[]},{tag:`path`,attr:{d:`M13.73 21a2 2 0 0 1-3.46 0`},child:[]}]})(e)}function W(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`line`,attr:{x1:`12`,y1:`19`,x2:`12`,y2:`5`},child:[]},{tag:`polyline`,attr:{points:`5 12 12 5 19 12`},child:[]}]})(e)}function Oe(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`line`,attr:{x1:`12`,y1:`5`,x2:`12`,y2:`19`},child:[]},{tag:`polyline`,attr:{points:`19 12 12 19 5 12`},child:[]}]})(e)}function ke(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z`},child:[]},{tag:`line`,attr:{x1:`12`,y1:`9`,x2:`12`,y2:`13`},child:[]},{tag:`line`,attr:{x1:`12`,y1:`17`,x2:`12.01`,y2:`17`},child:[]}]})(e)}function Ae(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`circle`,attr:{cx:`12`,cy:`12`,r:`10`},child:[]},{tag:`line`,attr:{x1:`12`,y1:`8`,x2:`12`,y2:`12`},child:[]},{tag:`line`,attr:{x1:`12`,y1:`16`,x2:`12.01`,y2:`16`},child:[]}]})(e)}var G=O(E(((e,t)=>{(function(){"use strict";var e={}.hasOwnProperty;function n(){for(var e=``,t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=i(e,r(n)))}return e}function r(t){if(typeof t==`string`||typeof t==`number`)return t;if(typeof t!=`object`)return``;if(Array.isArray(t))return n.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes(`[native code]`))return t.toString();var r=``;for(var a in t)e.call(t,a)&&t[a]&&(r=i(r,a));return r}function i(e,t){return t?e?e+` `+t:e+t:e}t!==void 0&&t.exports?(n.default=n,t.exports=n):typeof define==`function`&&typeof define.amd==`object`&&define.amd?define(`classnames`,[],function(){return n}):window.classNames=n})()}))(),1),K=({id:e,label:t,info:r,infoPlacement:i=`left`,error:a,required:o=!0,onRefresh:s,loading:c=!1,children:l})=>(0,n.jsxs)(`div`,{className:`grid gap-1.5`,children:[t&&(0,n.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,n.jsx)(`label`,{htmlFor:e,className:`sf-field-label`,children:t}),o&&(0,n.jsx)(`span`,{className:`sf-field-required`,children:`*`}),r&&(0,n.jsxs)(`span`,{className:`group relative inline-flex`,children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":r,className:`inline-flex h-4 w-4 items-center justify-center rounded-full text-slate-400 hover:text-slate-700 focus:outline-none focus:ring-2 focus:ring-slate-200`,children:(0,n.jsx)(me,{size:14})}),(0,n.jsx)(`span`,{role:`tooltip`,className:(0,G.default)(`pointer-events-none absolute top-full z-50 mt-1 hidden w-max max-w-[20rem] rounded-md bg-slate-900 px-2 py-1.5 text-xs font-normal leading-relaxed text-white shadow-md`,i===`right`?`right-0`:`left-0`,`group-hover:block group-focus-within:block`),children:r})]}),s&&(0,n.jsx)(`button`,{type:`button`,onClick:s,"aria-label":`Actualizar`,className:`inline-flex h-4 w-4 items-center justify-center rounded-full text-slate-400 hover:text-slate-700 focus:outline-none focus:ring-2 focus:ring-slate-200`,disabled:c,children:(0,n.jsx)(le,{size:14})})]}),l,a&&(0,n.jsx)(`p`,{className:`text-xs text-red-600`,children:a})]}),je=e=>/(^|\s)!?w-\S+/.test(e??``),q=({small:e,error:t,className:n,withRightIcon:r,disabled:i,readOnly:a})=>(0,G.default)(!je(n)&&`w-full`,`rounded-md border text-sm text-slate-900 shadow-sm outline-none`,`placeholder:text-slate-400 focus:border-slate-400 focus:ring-2 focus:ring-slate-200`,`disabled:cursor-not-allowed disabled:opacity-60`,e?`h-8 px-2`:`h-10 px-3`,r&&`pr-10`,i||a?`bg-slate-50`:`bg-white`,t?`border-red-500 focus:border-red-500 focus:ring-red-100`:`border-slate-300`,n),Me=`transition-[border-color,box-shadow,background-color] duration-200 ease-out`,Ne=({small:e,error:t,className:n})=>(0,G.default)(`sf-input`,`sf-input--textarea`,e&&`sf-input--sm`,t&&`sf-input--error`,n),Pe=({form:e,name:t,label:i,info:a,required:o,type:s=`text`,className:c,placeholder:l,readOnly:u,onChange:d,icon:f,small:p,onIconClick:m,onRefresh:h})=>{let g=(0,r.useController)({name:t,control:e.control}),_=String(t),v=g.fieldState.error,y=f??(m?V:void 0);return(0,n.jsx)(K,{id:_,label:i,info:a,required:o,onRefresh:h,error:v?.message?String(v.message):void 0,children:(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(`input`,{id:_,name:g.field.name,type:s,value:String(g.field.value??``),placeholder:l,readOnly:u,onBlur:()=>g.field.onBlur(),onChange:e=>{let t=e.target.value;g.field.onChange(t),d?.(t)},className:q({small:p,error:!!v,className:c,withRightIcon:!!y,readOnly:u})}),y&&(0,n.jsx)(`button`,{type:`button`,onClick:m,disabled:!m,className:(0,G.default)(`absolute right-2 top-1/2 -translate-y-1/2 rounded p-1 text-slate-500`,m&&`hover:text-slate-900`,!m&&`cursor-default`),children:(0,n.jsx)(y,{size:p?16:18})})]})})},Fe=({form:e,name:t,label:i,info:a,required:o,placeholder:s,readOnly:c,disabled:l,rows:u=3,maxLength:d,small:f,className:p,onChange:m,onRefresh:h})=>{let g=(0,r.useController)({name:t,control:e.control}),_=String(t),v=g.fieldState.error;return(0,n.jsx)(K,{id:_,label:i,info:a,required:o,onRefresh:h,error:v?.message?String(v.message):void 0,children:(0,n.jsx)(`textarea`,{id:_,name:g.field.name,rows:u,maxLength:d,value:String(g.field.value??``),placeholder:s,readOnly:c,disabled:l,onBlur:()=>g.field.onBlur(),onChange:e=>{let t=e.target.value;g.field.onChange(t),m?.(t)},className:Ne({small:f,error:!!v,className:p,readOnly:c,disabled:l})})})},Ie=({form:e,name:t,label:i,info:a,required:o,placeholder:s,readOnly:c,disabled:l,min:u,max:d,step:f,suffix:p,small:m,className:h,onChange:g,onRefresh:_})=>{let v=(0,r.useController)({name:t,control:e.control}),y=String(t),b=v.fieldState.error;return(0,n.jsx)(K,{id:y,label:i,info:a,required:o,onRefresh:_,error:b?.message?String(b.message):void 0,children:(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(`input`,{id:y,name:v.field.name,type:`number`,inputMode:`decimal`,value:v.field.value===void 0||v.field.value===null?``:String(v.field.value),placeholder:s,readOnly:c,disabled:l,min:u,max:d,step:f,onBlur:()=>v.field.onBlur(),onChange:e=>{let t=e.target.value;v.field.onChange(t),g?.(t)},className:q({small:m,error:!!b,className:h,withRightIcon:!!p,readOnly:c,disabled:l})}),p&&(0,n.jsx)(`span`,{className:(0,G.default)(`sf-input-affix`,m&&`sf-input-affix--sm`),children:p})]})})},Le=({form:e,name:t,label:i,info:a,required:o,kind:s=`date`,min:c,max:l,readOnly:u,disabled:d,small:f,className:p,onChange:m,onRefresh:h})=>{let g=(0,r.useController)({name:t,control:e.control}),_=String(t),v=g.fieldState.error;return(0,n.jsx)(K,{id:_,label:i,info:a,required:o,onRefresh:h,error:v?.message?String(v.message):void 0,children:(0,n.jsx)(`input`,{id:_,name:g.field.name,type:s,value:String(g.field.value??``),min:c,max:l,readOnly:u,disabled:d,onBlur:()=>g.field.onBlur(),onChange:e=>{let t=e.target.value;g.field.onChange(t),m?.(t)},className:q({small:f,error:!!v,className:p,readOnly:u,disabled:d})})})},Re=({trigger:e,children:r,align:i=`start`,side:a=`bottom`,open:o,onOpenChange:s,className:c,contentClassName:l,triggerId:u,triggerAriaLabel:d,triggerDisabled:f=!1,triggerAriaReadOnly:p})=>{let[m,h]=(0,t.useState)(!1),g=o??m,_=(0,t.useRef)(null),v=(0,t.useId)(),y=(0,t.useCallback)(e=>{o===void 0&&h(e),s?.(e)},[o,s]);(0,t.useEffect)(()=>{if(!g)return;let e=e=>{_.current?.contains(e.target)||y(!1)},t=e=>{e.key===`Escape`&&y(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[g,y]);let b=typeof e==`function`?e(g):e;return(0,n.jsxs)(`div`,{ref:_,className:(0,G.default)(`sf-popover`,c),children:[(0,n.jsx)(`button`,{id:u,type:`button`,"aria-haspopup":`dialog`,"aria-expanded":g,"aria-controls":v,"aria-label":d,"aria-readonly":p||void 0,disabled:f,onClick:()=>y(!g),className:`sf-popover__trigger`,children:b}),g&&(0,n.jsx)(`div`,{id:v,role:`dialog`,className:(0,G.default)(`sf-popover__content`,`sf-popover__content--${i}`,`sf-popover__content--${a}`,l),children:r})]})},ze=e=>{if(!e)return;let[t,n,r]=e.split(`-`).map(Number);if(!(!t||!n||!r))return new Date(t,n-1,r)},J=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,Y=e=>{let t=ze(e);return t?t.toLocaleDateString(`es-PE`,{day:`2-digit`,month:`short`,year:`numeric`}):e},Be=({form:e,name:a,label:o,info:s,required:c,className:l,placeholder:u=`Seleccionar fecha`,readOnly:d,disabled:f,small:p,min:m,max:h,onChange:g,onRefresh:_})=>{let v=(0,r.useController)({name:a,control:e.control}),[y,b]=(0,t.useState)(!1),x=String(a),S=v.fieldState.error,C=String(v.field.value??``),w=(0,t.useMemo)(()=>ze(C),[C]),T=d||f,E=(0,t.useMemo)(()=>{let e=[];if(m){let t=ze(m);t&&e.push({before:t})}if(h){let t=ze(h);t&&e.push({after:t})}return e.length>0?e:void 0},[m,h]);return(0,n.jsx)(K,{id:x,label:o,info:s,required:c,onRefresh:_,error:S?.message?String(S.message):void 0,children:(0,n.jsx)(Re,{open:T?!1:y,onOpenChange:e=>{T||b(e)},className:(0,G.default)(`sf-datepicker`,p&&`sf-datepicker--sm`,S&&`sf-datepicker--error`,d&&`sf-datepicker--readonly`,f&&`sf-datepicker--disabled`,l),contentClassName:`sf-datepicker__panel`,triggerId:x,triggerAriaLabel:o?void 0:u,triggerDisabled:f,triggerAriaReadOnly:d,trigger:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`span`,{className:(0,G.default)(C?`sf-datepicker__value`:`sf-datepicker__placeholder`),children:C?Y(C):u}),(0,n.jsx)(Te,{size:p?16:18,"aria-hidden":`true`})]}),children:(0,n.jsx)(i.DayPicker,{mode:`single`,selected:w,onSelect:e=>{let t=e?J(e):``;v.field.onChange(t),v.field.onBlur(),g?.(t),b(!1)},disabled:E,className:`sf-datepicker__calendar`})})})},Ve=e=>{if(!e)return{score:`weak`,label:`Sin contraseña`,percent:0};let t=0;return e.length>=8&&(t+=1),e.length>=12&&(t+=1),/[a-z]/.test(e)&&/[A-Z]/.test(e)&&(t+=1),/\d/.test(e)&&(t+=1),/[^a-zA-Z0-9]/.test(e)&&(t+=1),t<=1?{score:`weak`,label:`Débil`,percent:25}:t===2?{score:`fair`,label:`Regular`,percent:50}:t===3||t===4?{score:`good`,label:`Buena`,percent:75}:{score:`strong`,label:`Fuerte`,percent:100}},He=({form:e,name:i,label:a,info:o,required:s,className:c,placeholder:l,readOnly:u,small:d,showStrength:f=!1,onChange:p,onRefresh:m})=>{let h=(0,r.useController)({name:i,control:e.control}),[g,_]=(0,t.useState)(!1),v=String(i),y=h.fieldState.error,b=String(h.field.value??``),x=f?Ve(b):null;return(0,n.jsx)(K,{id:v,label:a,info:o,required:s,onRefresh:m,error:y?.message?String(y.message):void 0,children:(0,n.jsxs)(`div`,{className:`grid gap-2`,children:[(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(`input`,{id:v,name:h.field.name,type:g?`text`:`password`,value:b,placeholder:l,readOnly:u,autoComplete:`new-password`,onBlur:()=>h.field.onBlur(),onChange:e=>{let t=e.target.value;h.field.onChange(t),p?.(t)},className:q({small:d,error:!!y,className:c,withRightIcon:!0,readOnly:u})}),(0,n.jsx)(`button`,{type:`button`,"aria-label":g?`Ocultar contraseña`:`Mostrar contraseña`,onClick:()=>_(e=>!e),className:`sf-input-icon-btn`,children:g?(0,n.jsx)(_e,{size:d?16:18}):(0,n.jsx)(ge,{size:d?16:18})})]}),x&&(0,n.jsxs)(`div`,{className:`sf-password-strength`,"aria-live":`polite`,children:[(0,n.jsx)(`div`,{className:`sf-password-strength__track`,children:(0,n.jsx)(`div`,{className:(0,G.default)(`sf-password-strength__bar`,`sf-password-strength__bar--${x.score}`),style:{width:`${x.percent}%`}})}),(0,n.jsx)(`span`,{className:`sf-password-strength__label`,children:x.label})]})]})})},Ue=(e,t=0,n)=>{let r=[];for(let i of e)r.push({...i,depth:t,parentValue:n}),i.children?.length&&r.push(...Ue(i.children,t+1,i.value));return r},We=(e,t)=>{let n=t.trim().toLowerCase();if(!n)return e;let r=[];for(let i of e){let e=i.children?We(i.children,t):void 0;(i.label.toLowerCase().includes(n)||e&&e.length>0)&&r.push(e?{...i,children:e}:{...i})}return r},Ge=(e,t)=>{for(let n of e){if(n.value===t)return n;if(n.children){let e=Ge(n.children,t);if(e)return e}}},X=e=>{if(e==null)return[];if(Array.isArray(e))return e.flatMap(X);if(e instanceof Set)return[...e].flatMap(X);if(typeof e==`string`){let t=e.trim();return t?[t]:[]}return typeof e==`number`?Number.isFinite(e)?[String(e)]:[]:typeof e==`boolean`||typeof e==`bigint`?[String(e)]:[]},Ke=({form:e,name:i,treeData:a,label:o,info:s,required:c,multiple:l=!1,className:u,placeholder:d=`Seleccionar`,searchPlaceholder:f=`Buscar...`,emptyMessage:p=`No hay resultados`,readOnly:m,small:h,onChange:g,onRefresh:_})=>{let v=(0,r.useController)({name:i,control:e.control}),y=(0,t.useRef)(null),[b,x]=(0,t.useState)(!1),[S,C]=(0,t.useState)(``),[w,T]=(0,t.useState)(new Set),E=String(i),D=`${E}-tree-listbox`,O=v.fieldState.error,k=(0,t.useMemo)(()=>l?X(v.field.value):v.field.value?[String(v.field.value)]:[],[v.field.value,l]),A=(0,t.useMemo)(()=>We(a,S),[a,S]),j=(0,t.useMemo)(()=>Ue(A),[A]),M=(0,t.useMemo)(()=>{if(k.length===0)return``;let e=k.map(e=>Ge(a,e)?.label??e).filter(Boolean);return l?e.join(`, `):e[0]??``},[l,k,a]);(0,t.useEffect)(()=>{if(!b)return;let e=e=>{y.current?.contains(e.target)||x(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[b]),(0,t.useEffect)(()=>{if(!b)return;let e=e=>{e.key===`Escape`&&x(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[b]);let N=e=>{T(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},P=e=>{let t=j.find(t=>t.value===e.value)?.parentValue;for(;t;){if(w.has(t))return!0;t=j.find(e=>e.value===t)?.parentValue}return!1},F=e=>{let t=l?e:e[0]??``;v.field.onChange(t),l?g?.(e):g?.(e[0]??``),l||x(!1)},I=e=>{if(!m){if(l){F(k.includes(e)?k.filter(t=>t!==e):[...k,e]);return}F([e])}};return(0,n.jsx)(K,{id:E,label:o,info:s,required:c,onRefresh:_,error:O?.message?String(O.message):void 0,children:(0,n.jsxs)(`div`,{ref:y,className:(0,G.default)(`sf-tree-select`,u),children:[(0,n.jsxs)(`button`,{id:E,type:`button`,disabled:m,"aria-haspopup":`listbox`,"aria-expanded":b,"aria-controls":D,onClick:()=>x(e=>!e),className:q({small:h,error:!!O,className:`sf-tree-select__trigger`,readOnly:m}),children:[(0,n.jsx)(`span`,{className:(0,G.default)(`sf-tree-select__value`,!M&&`sf-tree-select__placeholder`),children:M||d}),(0,n.jsx)(Se,{size:h?16:18,"aria-hidden":`true`})]}),b&&(0,n.jsxs)(`div`,{className:`sf-tree-select__panel`,children:[(0,n.jsx)(`div`,{className:`sf-tree-select__search`,children:(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(V,{className:`pointer-events-none absolute left-2 top-1/2 -translate-y-1/2`,size:14,"aria-hidden":`true`}),(0,n.jsx)(`input`,{type:`search`,"aria-label":`Buscar en ${o??String(i)}`,value:S,placeholder:f,onChange:e=>C(e.target.value),className:q({small:!0,className:`pl-8`})})]})}),(0,n.jsxs)(`div`,{id:D,className:`sf-tree-select__list`,role:`listbox`,"aria-multiselectable":l||void 0,children:[j.length===0&&(0,n.jsx)(`p`,{className:`sf-transfer__empty`,children:p}),j.map(e=>{if(P(e))return null;let t=!!e.children?.length,r=!w.has(e.value),i=k.includes(e.value);return(0,n.jsxs)(`div`,{className:`flex items-center`,style:{paddingLeft:`${e.depth+.5}rem`},children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":r?`Contraer`:`Expandir`,"aria-expanded":t?r:void 0,onClick:()=>N(e.value),className:(0,G.default)(`sf-tree-select__toggle`,!t&&`sf-tree-select__toggle--placeholder`),tabIndex:t?0:-1,children:t?r?(0,n.jsx)(Se,{size:14}):(0,n.jsx)(U,{size:14}):null}),(0,n.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":i,disabled:e.disabled,onClick:()=>I(e.value),className:(0,G.default)(`sf-tree-select__row`,i&&`sf-tree-select__row--selected`),children:e.label})]},e.value)})]})]})]})})},Z=({variant:e=`primary`,size:t=`md`,className:n})=>(0,G.default)(`sf-btn`,t===`sm`?`sf-btn--sm`:`sf-btn--md`,e===`primary`&&`sf-btn--primary`,e===`secondary`&&`sf-btn--secondary`,e===`outline`&&`sf-btn--outline`,e===`danger`&&`sf-btn--danger`,e===`ghost`&&`sf-btn--ghost`,e===`accent`&&`sf-btn--accent`,n),Q=({variant:e=`primary`,size:t=`md`,loading:r=!1,disabled:i,icon:a,iconPosition:o=`start`,children:s,className:c,type:l=`button`,...u})=>{let d=i||r,f=o===`end`&&!r?a:void 0,p=o===`start`?r?void 0:a:void 0;return(0,n.jsxs)(`button`,{type:l,disabled:d,"aria-busy":r||void 0,className:Z({variant:e,size:t,className:c}),...u,children:[r?(0,n.jsx)(pe,{className:(0,G.default)(`animate-spin`,t===`sm`?`h-3.5 w-3.5`:`h-4 w-4`),"aria-hidden":`true`}):p,(0,n.jsx)(`span`,{children:s}),f]})},qe=({items:e,targetKeys:r,onChange:i,titles:a=[`Disponibles`,`Seleccionados`],searchable:o=!0,className:s})=>{let[c,l]=(0,t.useState)([]),[u,d]=(0,t.useState)([]),[f,p]=(0,t.useState)(``),[m,h]=(0,t.useState)(``),g=(0,t.useMemo)(()=>new Set(r),[r]),_=(0,t.useMemo)(()=>e.filter(e=>!g.has(e.key)),[e,g]),v=(0,t.useMemo)(()=>r.map(t=>e.find(e=>e.key===t)).filter(Boolean),[e,r]),y=(e,t)=>{let n=t.trim().toLowerCase();return n?e.filter(e=>e.title.toLowerCase().includes(n)||e.description?.toLowerCase().includes(n)):e},b=(0,t.useMemo)(()=>y(_,f),[_,f]),x=(0,t.useMemo)(()=>y(v,m),[v,m]),S=e=>{let t=[...r];for(let n of e)t.includes(n)||t.push(n);i(t),l([])},C=e=>{i(r.filter(t=>!e.includes(t))),d([])},w=(e,t)=>{(t===`source`?l:d)(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},T=(e,t,r)=>e.length===0?(0,n.jsx)(`p`,{className:`sf-transfer__empty`,children:`Sin elementos`}):e.map(e=>{let i=t.includes(e.key);return(0,n.jsx)(`button`,{type:`button`,disabled:e.disabled,role:`option`,"aria-selected":i,onClick:()=>w(e.key,r),className:(0,G.default)(`sf-transfer__item`,i&&`sf-transfer__item--selected`),children:(0,n.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,n.jsx)(`span`,{className:`sf-transfer__item-title`,children:e.title}),e.description&&(0,n.jsx)(`p`,{className:`sf-transfer__item-desc`,children:e.description})]})},e.key)});return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-transfer`,s),children:[(0,n.jsxs)(`div`,{className:`sf-transfer__panel`,children:[(0,n.jsx)(`div`,{className:`sf-transfer__header`,children:a[0]}),o&&(0,n.jsx)(`div`,{className:`sf-transfer__search`,children:(0,n.jsx)(`input`,{type:`search`,"aria-label":`Buscar en ${a[0]}`,value:f,placeholder:`Buscar...`,onChange:e=>p(e.target.value),className:q({small:!0})})}),(0,n.jsx)(`div`,{className:`sf-transfer__list`,role:`listbox`,"aria-label":a[0],"aria-multiselectable":`true`,children:T(b,c,`source`)})]}),(0,n.jsxs)(`div`,{className:`sf-transfer__actions`,children:[(0,n.jsx)(Q,{size:`sm`,variant:`outline`,"aria-label":`Mover seleccionados`,disabled:c.length===0,icon:(0,n.jsx)(U,{"aria-hidden":`true`}),onClick:()=>S(c),children:``}),(0,n.jsx)(Q,{size:`sm`,variant:`outline`,"aria-label":`Mover todos`,disabled:_.length===0,icon:(0,n.jsx)(ye,{"aria-hidden":`true`}),onClick:()=>S(_.map(e=>e.key)),children:``}),(0,n.jsx)(Q,{size:`sm`,variant:`outline`,"aria-label":`Quitar seleccionados`,disabled:u.length===0,icon:(0,n.jsx)(xe,{"aria-hidden":`true`}),onClick:()=>C(u),children:``}),(0,n.jsx)(Q,{size:`sm`,variant:`outline`,"aria-label":`Quitar todos`,disabled:r.length===0,icon:(0,n.jsx)(be,{"aria-hidden":`true`}),onClick:()=>C(r),children:``})]}),(0,n.jsxs)(`div`,{className:`sf-transfer__panel`,children:[(0,n.jsx)(`div`,{className:`sf-transfer__header`,children:a[1]}),o&&(0,n.jsx)(`div`,{className:`sf-transfer__search`,children:(0,n.jsx)(`input`,{type:`search`,"aria-label":`Buscar en ${a[1]}`,value:m,placeholder:`Buscar...`,onChange:e=>h(e.target.value),className:q({small:!0})})}),(0,n.jsx)(`div`,{className:`sf-transfer__list`,role:`listbox`,"aria-label":a[1],"aria-multiselectable":`true`,children:T(x,u,`target`)})]})]})},Je=({form:e,name:t,options:i,label:a,info:o,required:s,className:c,placeholder:l,readOnly:u,onChange:d,small:f,onRefresh:p})=>{let m=(0,r.useController)({name:t,control:e.control}),h=String(t),g=m.fieldState.error;return(0,n.jsx)(K,{id:h,label:a,info:o,required:s,onRefresh:p,error:g?.message?String(g.message):void 0,children:(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsxs)(`select`,{id:h,name:m.field.name,value:String(m.field.value??``),disabled:u,onBlur:()=>m.field.onBlur(),onChange:e=>{let t=e.target.value;m.field.onChange(t),d?.(t)},className:(0,G.default)(q({small:f,error:!!g,className:c,withRightIcon:!0,disabled:u}),`appearance-none sf-select`),children:[l&&(0,n.jsx)(`option`,{value:``,disabled:!0,children:l}),i.map(e=>(0,n.jsx)(`option`,{value:e.value,children:e.label},e.value))]}),(0,n.jsx)(Se,{size:f?16:18,className:`pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 text-slate-500`})]})})},Ye=({form:e,name:i,label:a,checkboxLabel:o,info:s,required:c,readOnly:l,disabled:u,className:d,onChange:f,onRefresh:p})=>{let m=(0,r.useController)({name:i,control:e.control}),h=(0,t.useId)(),g=`${String(i)}-${h}`,_=m.fieldState.error,v=!!m.field.value;return(0,n.jsx)(K,{id:g,label:a,info:s,required:c,onRefresh:p,error:_?.message?String(_.message):void 0,children:(0,n.jsxs)(`label`,{htmlFor:g,className:(0,G.default)(`sf-choice-label`,l||u?`sf-choice-label--disabled`:`sf-choice-label--interactive`,d),children:[(0,n.jsx)(`input`,{id:g,type:`checkbox`,checked:v,disabled:l||u,onBlur:()=>m.field.onBlur(),onChange:e=>{let t=e.target.checked;m.field.onChange(t),f?.(t)},className:`sf-choice-input`}),o&&(0,n.jsx)(`span`,{className:`select-none`,children:o})]})})},Xe=({form:e,name:i,label:a,info:o,required:s,options:c,readOnly:l,disabled:u,small:d,className:f,onChange:p,onRefresh:m})=>{let h=(0,r.useController)({name:i,control:e.control}),g=(0,t.useId)(),_=h.fieldState.error,v=Array.isArray(h.field.value)?h.field.value.map(String):[],y=e=>{let t=v.includes(e)?v.filter(t=>t!==e):[...v,e];h.field.onChange(t),p?.(t)};return(0,n.jsx)(K,{id:g,label:a,info:o,required:s,onRefresh:m,error:_?.message?String(_.message):void 0,children:(0,n.jsx)(`div`,{className:(0,G.default)(`flex flex-wrap gap-x-4 gap-y-2`,f),role:`group`,"aria-label":a??String(i),children:c.map(e=>{let t=`${g}-${String(e.value)}`,r=String(e.value),i=l||u;return(0,n.jsxs)(`label`,{htmlFor:t,className:(0,G.default)(`sf-choice-label`,d&&`sf-choice-label--sm`,i?`sf-choice-label--disabled`:`sf-choice-label--interactive`),children:[(0,n.jsx)(`input`,{id:t,type:`checkbox`,checked:v.includes(r),disabled:i,onBlur:()=>h.field.onBlur(),onChange:()=>y(r),className:`sf-choice-input`}),(0,n.jsx)(`span`,{className:`select-none`,children:e.label})]},r)})})})},Ze=({form:e,name:i,label:a,info:o,required:s,options:c,readOnly:l,disabled:u,small:d,className:f,onChange:p,onRefresh:m})=>{let h=(0,r.useController)({name:i,control:e.control}),g=(0,t.useId)(),_=h.fieldState.error,v=String(h.field.value??``);return(0,n.jsx)(K,{id:g,label:a,info:o,required:s,onRefresh:m,error:_?.message?String(_.message):void 0,children:(0,n.jsx)(`div`,{className:(0,G.default)(`flex flex-wrap gap-x-4 gap-y-2`,f),role:`radiogroup`,"aria-label":a??String(i),children:c.map(e=>{let t=`${g}-${String(e.value)}`,r=l||u;return(0,n.jsxs)(`label`,{htmlFor:t,className:(0,G.default)(`sf-choice-label`,d&&`sf-choice-label--sm`,r?`sf-choice-label--disabled`:`sf-choice-label--interactive`),children:[(0,n.jsx)(`input`,{id:t,type:`radio`,name:g,value:String(e.value),checked:v===String(e.value),disabled:r,onBlur:()=>h.field.onBlur(),onChange:()=>{let t=String(e.value);h.field.onChange(t),p?.(t)},className:`sf-choice-input`}),(0,n.jsx)(`span`,{className:`select-none`,children:e.label})]},String(e.value))})})})},Qe=({form:e,name:i,label:a,info:o,required:s,trueLabel:c,falseLabel:l,readOnly:u,disabled:d,small:f,className:p,onChange:m,onRefresh:h})=>{let g=(0,r.useController)({name:i,control:e.control}),_=(0,t.useId)(),v=`${String(i)}-${_}`,y=g.fieldState.error,b=!!g.field.value,x=c!==void 0||l!==void 0;return(0,n.jsx)(K,{id:v,label:a,info:o,required:s,onRefresh:h,error:y?.message?String(y.message):void 0,children:(0,n.jsxs)(`label`,{htmlFor:v,className:(0,G.default)(`sf-toggle`,u||d?`sf-toggle--disabled`:`sf-toggle--interactive`,p),children:[(0,n.jsx)(`input`,{id:v,type:`checkbox`,checked:b,disabled:u||d,onBlur:()=>g.field.onBlur(),onChange:e=>{let t=e.target.checked;g.field.onChange(t),m?.(t)},className:`sf-toggle__input`}),(0,n.jsx)(`span`,{"aria-hidden":`true`,className:(0,G.default)(`sf-toggle__track`,f?`sf-toggle__track--sm`:`sf-toggle__track--md`)}),x&&(0,n.jsx)(`span`,{className:(0,G.default)(`sf-toggle__label`,f&&`sf-toggle__label--sm`),children:b?c??`Sí`:l??`No`})]})})},$e=({checked:e,onChange:t,icon:r,title:i,description:a,disabled:o=!1})=>(0,n.jsxs)(`label`,{className:(0,G.default)(`sf-toggle-card`,e&&`sf-toggle-card--checked`,o&&`sf-toggle-card--disabled`),children:[(0,n.jsx)(`input`,{type:`checkbox`,role:`switch`,className:`sf-toggle__input`,checked:e,disabled:o,onChange:e=>t(e.target.checked)}),(0,n.jsx)(`span`,{"aria-hidden":`true`,className:`sf-toggle__track sf-toggle__track--md`}),(0,n.jsxs)(`span`,{className:`sf-toggle-card__body`,children:[(0,n.jsxs)(`span`,{className:`sf-toggle-card__title`,children:[r,i]}),a&&(0,n.jsx)(`span`,{className:`sf-toggle-card__description`,children:a})]})]}),et=({form:e,name:i,label:a,info:o,required:s,readOnly:c,className:l,onChange:u,onRefresh:d})=>{let f=(0,r.useController)({name:i,control:e.control}),p=(0,t.useId)(),m=`${String(i)}-${p}`,h=f.fieldState.error,g=!!f.field.value;return(0,n.jsx)(K,{id:m,label:a,info:o,required:s,onRefresh:d,error:h?.message?String(h.message):void 0,children:(0,n.jsxs)(`label`,{htmlFor:m,className:(0,G.default)(`flex items-center gap-2 rounded-md border px-3 py-2 text-sm`,h?`border-red-300`:`border-slate-200`,c?`bg-slate-50 text-slate-500`:`bg-white text-slate-700`,!c&&`hover:bg-slate-50`,l),children:[(0,n.jsx)(`input`,{id:m,type:`checkbox`,checked:g,disabled:c,onBlur:()=>f.field.onBlur(),onChange:e=>{let t=e.target.checked;f.field.onChange(t),u?.(t)},className:`h-4 w-4 accent-slate-900`}),(0,n.jsx)(`span`,{className:`select-none`,children:g?`Sí`:`No`})]})})},tt=({form:e,name:t,label:i,info:a,required:o,placeholder:s,readOnly:c,small:l,onChange:u,onRefresh:d,yesLabel:f=`Sí`,noLabel:p=`No`})=>{let m=(0,r.useController)({name:t,control:e.control}),h=String(t),g=m.fieldState.error,_=m.field.value,v=typeof _==`boolean`?_?`true`:`false`:``;return(0,n.jsx)(K,{id:h,label:i,info:a,required:o,onRefresh:d,error:g?.message?String(g.message):void 0,children:(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsxs)(`select`,{id:h,name:m.field.name,value:v,disabled:c,onBlur:()=>m.field.onBlur(),onChange:e=>{let t=e.target.value===`true`;m.field.onChange(t),u?.(t)},className:(0,G.default)(q({small:l,error:!!g,withRightIcon:!0,disabled:c}),`appearance-none sf-select`),children:[s&&(0,n.jsx)(`option`,{value:``,disabled:!0,children:s}),(0,n.jsx)(`option`,{value:`true`,children:f}),(0,n.jsx)(`option`,{value:`false`,children:p})]}),(0,n.jsx)(Se,{size:l?16:18,className:`pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 text-slate-500`})]})})},nt={PEN:`S/`,USD:`$`,EUR:`€`,CLP:`$`},rt=[{code:`PE`,label:`Perú`,prefix:`+51`},{code:`US`,label:`EE.UU.`,prefix:`+1`},{code:`CL`,label:`Chile`,prefix:`+56`},{code:`CO`,label:`Colombia`,prefix:`+57`},{code:`AR`,label:`Argentina`,prefix:`+54`},{code:`MX`,label:`México`,prefix:`+52`}],it=(e,t)=>{let n=e.replace(/\D/g,``);return t?n.slice(0,t):n},at=e=>{if(!/^\d{11}$/.test(e))return`El RUC debe tener 11 dígitos`;if(!e.startsWith(`10`)&&!e.startsWith(`20`))return`El RUC debe empezar con 10 o 20`;let t=11-[5,4,3,2,7,6,5,4,3,2].reduce((t,n,r)=>t+Number(e[r])*n,0)%11;return(t>=10?t-10:t)===Number(e[10])?null:`Dígito verificador inválido`},ot=e=>/^\d{8}$/.test(e)?null:`El DNI debe tener 8 dígitos`,st=({form:e,name:i,label:a,info:o,required:s,placeholder:c=`12345678`,readOnly:l,disabled:u,small:d,className:f,validateOnComplete:p=!0,onChange:m})=>{let h=(0,r.useController)({name:i,control:e.control}),[g,_]=(0,t.useState)(null),v=String(i),y=h.fieldState.error?.message,b=y?String(y):g??void 0,x=e=>{let t=it(e,8);h.field.onChange(t),p&&t.length===8?_(ot(t)):_(null),m?.(t)};return(0,n.jsx)(K,{id:v,label:a,info:o,required:s,error:b,children:(0,n.jsx)(`input`,{id:v,name:h.field.name,type:`text`,inputMode:`numeric`,maxLength:8,value:h.field.value===void 0||h.field.value===null?``:String(h.field.value),placeholder:c,readOnly:l,disabled:u,"aria-invalid":!!b||void 0,onBlur:()=>h.field.onBlur(),onChange:e=>x(e.target.value),className:q({small:d,error:!!b,className:f,readOnly:l,disabled:u})})})},ct=({form:e,name:i,label:a,info:o,required:s,placeholder:c=`20123456789`,readOnly:l,disabled:u,small:d,className:f,validateOnComplete:p=!0,onChange:m})=>{let h=(0,r.useController)({name:i,control:e.control}),[g,_]=(0,t.useState)(null),v=String(i),y=h.fieldState.error?.message,b=y?String(y):g??void 0,x=e=>{let t=it(e,11);h.field.onChange(t),p&&t.length===11?_(at(t)):_(null),m?.(t)};return(0,n.jsx)(K,{id:v,label:a,info:o,required:s,error:b,children:(0,n.jsx)(`input`,{id:v,name:h.field.name,type:`text`,inputMode:`numeric`,maxLength:11,value:h.field.value===void 0||h.field.value===null?``:String(h.field.value),placeholder:c,readOnly:l,disabled:u,"aria-invalid":!!b||void 0,onBlur:()=>h.field.onBlur(),onChange:e=>x(e.target.value),className:q({small:d,error:!!b,className:f,readOnly:l,disabled:u})})})},lt=rt.map(e=>(0,n.jsx)(`option`,{value:e.code,title:e.label,children:e.prefix},e.code)),ut=({form:e,name:i,label:a,info:o,required:s,placeholder:c=`999 000 000`,readOnly:l,disabled:u,small:d,className:f,defaultCountry:p=`PE`,onChange:m,onCountryChange:h})=>{let g=(0,r.useController)({name:i,control:e.control}),[_,v]=(0,t.useState)(p),y=(0,t.useMemo)(()=>rt.find(e=>e.code===_)??rt[0],[_]),b=String(i),x=g.fieldState.error?.message?String(g.fieldState.error.message):void 0,S=(0,t.useMemo)(()=>g.field.value===void 0||g.field.value===null?``:String(g.field.value),[g.field.value]),C=(0,t.useCallback)(e=>{v(e.target.value),h?.(e.target.value)},[h]),w=(0,t.useCallback)(e=>{let t=it(e.target.value,15);g.field.onChange(t),m?.(t)},[g.field,m]);return(0,n.jsxs)(K,{id:b,label:a,info:o,required:s,error:x,children:[(0,n.jsxs)(`div`,{className:(0,G.default)(`flex min-w-0 w-full gap-2`,f),children:[(0,n.jsx)(`select`,{value:y.code,disabled:u||l,"aria-label":`Código de país (${y.label})`,onChange:C,className:q({small:d,error:!!x,className:`w-[5.25rem] shrink-0 px-2`,readOnly:l,disabled:u}),children:lt}),(0,n.jsx)(`input`,{id:b,name:g.field.name,type:`tel`,inputMode:`tel`,value:S,placeholder:c,readOnly:l,disabled:u,"aria-invalid":!!x||void 0,onBlur:()=>g.field.onBlur(),onChange:w,className:q({small:d,error:!!x,className:`min-w-0 flex-1`,readOnly:l,disabled:u})})]}),(0,n.jsxs)(`p`,{className:`sf-document-hint`,children:[y.label,` · prefijo `,y.prefix]})]})},dt=(e,t,n)=>{let r=n&&e.trim().startsWith(`-`)?`-`:``,i=e.replace(/[^\d.]/g,``),[a=``,...o]=i.split(`.`),s=a.replace(/^0+(?=\d)/,``),c=o.join(``);return i?t<0?`${r}${s}${c?`.${c}`:``}`:e.includes(`.`)?`${r}${s}.${c.slice(0,t)}`:`${r}${s}`:r},ft=({form:e,name:t,label:i,info:a,required:o,placeholder:s=`0.00`,readOnly:c,disabled:l,small:u,className:d,currency:f=`PEN`,decimals:p=2,allowNegative:m=!1,suffix:h,onChange:g})=>{let _=(0,r.useController)({name:t,control:e.control}),v=String(t),y=_.fieldState.error?.message?String(_.fieldState.error.message):void 0,b=nt[f],x=_.field.value===void 0||_.field.value===null?``:String(_.field.value),S=(0,G.default)(`pl-10`,h&&`pr-16`,d);return(0,n.jsx)(K,{id:v,label:i,info:a,required:o,error:y,children:(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(`span`,{className:(0,G.default)(`sf-currency-affix sf-currency-affix--left`,u&&`sf-currency-affix--sm`),children:b}),(0,n.jsx)(`input`,{id:v,name:_.field.name,type:`text`,inputMode:`decimal`,value:x,placeholder:s,readOnly:c,disabled:l,"aria-label":`${i??String(t)} (${f})`,"aria-invalid":!!y||void 0,onBlur:()=>_.field.onBlur(),onChange:e=>{let t=dt(e.target.value,p,m);_.field.onChange(t),g?.(t)},className:q({small:u,error:!!y,className:S,withRightIcon:!!h,readOnly:c,disabled:l})}),h&&(0,n.jsx)(`span`,{className:(0,G.default)(`sf-currency-affix sf-currency-affix--right`,u&&`sf-currency-affix--sm`),children:h})]})})},pt=e=>{switch(e.kind){case`text`:return(0,n.jsx)(Pe,{...e});case`textarea`:return(0,n.jsx)(Fe,{...e});case`number`:return(0,n.jsx)(Ie,{...e});case`yesNo`:return(0,n.jsx)(tt,{...e});case`dni`:return(0,n.jsx)(st,{...e});case`ruc`:return(0,n.jsx)(ct,{...e});case`phone`:return(0,n.jsx)(ut,{...e});case`currency`:return(0,n.jsx)(ft,{...e});default:return null}},mt=49,ht=40,gt=6,_t=({form:e,name:i,options:a,label:o,info:s,required:c,multiple:l=!1,className:u,placeholder:d=`Seleccionar`,searchPlaceholder:f=`Buscar...`,emptyMessage:p=`No hay resultados`,readOnly:m,small:h,maxChips:g=3,onChange:_,onRefresh:v,onOpen:y,loading:b=!1})=>{let x=(0,r.useController)({name:i,control:e.control}),S=String(i),C=x.fieldState.error,w=(0,t.useRef)(null),T=(0,t.useRef)(null),[E,D]=(0,t.useState)(!1),[O,k]=(0,t.useState)(``),[A,j]=(0,t.useState)(),[M,N]=(0,t.useState)(0),P=(0,t.useRef)(null),F=(0,t.useMemo)(()=>l?X(x.field.value):x.field.value?[String(x.field.value)]:[],[x.field.value,l]),I=(0,t.useMemo)(()=>{let e=new Map;for(let t of a)e.set(t.value,t);return e},[a]),L=(0,t.useMemo)(()=>{let e=[];for(let t of F){let n=I.get(t);n&&e.push(n)}return e},[I,F]),R=(0,t.useMemo)(()=>{let e=O.trim().toLowerCase();return e?a.filter(t=>t.label.toLowerCase().includes(e)):a},[a,O]);(0,t.useEffect)(()=>{E&&(P.current?.scrollTo({top:0}),queueMicrotask(()=>{N(P.current?.scrollTop??0)}))},[E,O]);let ee=e=>{x.field.onChange(e),_?.(e)},te=()=>{D(!1),k(``),j(void 0)},z=e=>{if(!m){if(!l){ee(e),te();return}ee(F.includes(e)?F.filter(t=>t!==e):[...F,e])}},ne=e=>{if(!m){if(!l){ee(``);return}ee(F.filter(t=>t!==e))}},re=()=>{m||ee(l?[]:``)},ie=()=>{let e=T.current;if(!e)return;let t=e.getBoundingClientRect(),n=window.innerHeight-t.bottom-12-4,r=t.top-12-4,i=r>n&&n<120?`top`:`bottom`,a=Math.max(120,Math.min(288,i===`top`?r:n));j({left:t.left,width:t.width,maxHeight:a,direction:i,top:i===`bottom`?t.bottom+4:void 0,bottom:i===`top`?window.innerHeight-t.top+4:void 0})};(0,t.useLayoutEffect)(()=>{E&&ie()},[E]),(0,t.useEffect)(()=>{if(!E)return;let e=()=>ie();return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[E]),(0,t.useEffect)(()=>{let e=e=>{let t=e.target;w.current?.contains(t)||te()};return document.addEventListener(`pointerdown`,e),()=>{document.removeEventListener(`pointerdown`,e)}},[]);let ae=(0,n.jsxs)(`div`,{className:(0,G.default)(`flex shrink-0 items-center gap-2 px-3 py-2`,A?.direction===`top`?`border-t border-slate-200`:`border-b border-slate-200`),children:[(0,n.jsx)(V,{size:16,className:`text-slate-400`}),(0,n.jsx)(`input`,{value:O,placeholder:f,onChange:e=>k(e.target.value),className:`h-8 w-full bg-transparent text-sm text-slate-900 outline-none placeholder:text-slate-400`})]}),oe=(0,n.jsx)(`div`,{ref:P,className:`overflow-auto py-1`,style:{maxHeight:Math.max(72,(A?.maxHeight??288)-mt)},onScroll:e=>{N(e.currentTarget.scrollTop)},children:R.length?(()=>{let e=Math.max(72,(A?.maxHeight??288)-mt),t=Math.max(1,Math.ceil(e/ht)),r=Math.max(0,Math.floor(M/ht)-gt),i=Math.min(R.length,r+t+gt*2),a=r*ht,o=Math.max(0,(R.length-i)*ht),s=R.slice(r,i);return(0,n.jsxs)(n.Fragment,{children:[a>0&&(0,n.jsx)(`div`,{style:{height:a}}),s.map(e=>{let t=F.includes(e.value);return(0,n.jsxs)(`button`,{type:`button`,onClick:()=>z(e.value),className:(0,G.default)(`flex h-10 w-full items-center gap-2 px-3 text-left text-sm hover:bg-slate-50`,t?`text-slate-900`:`text-slate-700`),children:[(0,n.jsx)(`span`,{className:(0,G.default)(`flex h-4 w-4 items-center justify-center border`,l?`rounded`:`rounded-full`,t?`border-slate-900 bg-slate-900 text-white`:`border-slate-300 bg-white`),children:t&&(0,n.jsx)(Ce,{size:12})}),(0,n.jsx)(`span`,{className:`truncate`,children:e.label})]},e.value)}),o>0&&(0,n.jsx)(`div`,{style:{height:o}})]})})():(0,n.jsx)(`div`,{className:`px-3 py-2 text-sm text-slate-500`,children:p})});return(0,n.jsx)(K,{id:S,label:o,info:s,required:c,onRefresh:v,error:C?.message?String(C.message):void 0,loading:b,children:(0,n.jsxs)(`div`,{ref:w,className:`relative`,children:[(0,n.jsxs)(`button`,{ref:T,id:S,type:`button`,disabled:m,onBlur:()=>x.field.onBlur(),onClick:()=>{m||D(e=>{let t=!e;return t?y?.():(k(``),j(void 0)),t})},className:(0,G.default)(q({small:h,error:!!C,className:u,withRightIcon:!0,disabled:m}),`flex items-center gap-1.5 text-left`,l&&L.length>1&&`h-auto min-h-[2.5rem] py-2`),children:[(0,n.jsx)(`span`,{className:`flex min-w-0 flex-1 flex-wrap items-center gap-1`,children:L.length?l?(0,n.jsxs)(n.Fragment,{children:[L.slice(0,Math.max(0,g)).map(e=>(0,n.jsxs)(`span`,{className:`inline-flex max-w-full items-center gap-1 rounded bg-slate-100 px-1.5 py-0.5 text-xs text-slate-700`,children:[(0,n.jsx)(`span`,{className:`truncate`,children:e.label}),!m&&(0,n.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),ne(e.value)},className:`rounded text-slate-400 hover:text-slate-700`,children:(0,n.jsx)(B,{size:12})})]},e.value)),L.length>g&&(0,n.jsxs)(`span`,{className:`inline-flex items-center rounded bg-slate-100 px-1.5 py-0.5 text-xs text-slate-500`,children:[`+`,L.length-g]})]}):(0,n.jsx)(`span`,{className:`truncate`,children:L[0]?.label}):(0,n.jsx)(`span`,{className:`text-slate-400`,children:d})}),(0,n.jsxs)(`span`,{className:`flex items-center gap-1`,children:[L.length>0&&!m&&(0,n.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),re()},className:`rounded p-0.5 text-slate-400 hover:text-slate-700`,children:(0,n.jsx)(B,{size:14})}),(0,n.jsx)(Se,{size:h?16:18,className:(0,G.default)(`text-slate-500 transition-transform`,E&&`rotate-180`)})]})]}),E&&(0,n.jsx)(`div`,{className:`fixed z-50 flex flex-col overflow-hidden rounded-md border border-slate-200 bg-white shadow-lg`,style:{top:A?.top,bottom:A?.bottom,left:A?.left??0,width:A?.width??0,maxHeight:A?.maxHeight??0,visibility:A?`visible`:`hidden`},children:A?.direction===`top`?(0,n.jsxs)(n.Fragment,{children:[oe,ae]}):(0,n.jsxs)(n.Fragment,{children:[ae,oe]})})]})})},vt=({loadOptions:e,loadOnMount:n=!0,loadOnInitialValue:r=!1,hasInitialValue:i=!1,errorMessage:a=`No se pudieron cargar las opciones`})=>{let[o,s]=(0,t.useState)([]),[c,l]=(0,t.useState)(!1),[u,d]=(0,t.useState)(),[f,p]=(0,t.useState)(!1),m=(0,t.useCallback)(()=>{p(!0),d(void 0),(async()=>{try{s(await e()),l(!0)}catch{d(a)}finally{p(!1)}})()},[a,e]);return(0,t.useEffect)(()=>{if(!(c||f)){if(n){m();return}r&&i&&queueMicrotask(()=>{m()})}},[i,f,r,n,c,m]),{options:o,loaded:c,error:u,isPending:f,refresh:m}},yt=({form:e,name:i,loadOptions:a,label:o,info:s,required:c,multiple:l=!1,className:u,placeholder:d=`Seleccionar`,searchPlaceholder:f,emptyMessage:p=`No hay resultados`,readOnly:m,small:h,onChange:g})=>{let _=(0,r.useWatch)({control:e.control,name:i}),{options:v,loaded:y,error:b,isPending:x,refresh:S}=vt({loadOptions:a,loadOnMount:!1,loadOnInitialValue:!0,hasInitialValue:(l?X(_):_?[String(_)]:[]).length>0}),C=(0,t.useCallback)(()=>{y||x||S()},[y,x,S]);return(0,n.jsx)(_t,{form:e,name:i,options:v,label:o,info:s,required:c,multiple:l,className:u,placeholder:x&&v.length===0?`Cargando...`:d,searchPlaceholder:f,emptyMessage:b??p,readOnly:m,small:h,onChange:g,onRefresh:S,onOpen:C,loading:x})},bt=({form:e,name:t,options:i,label:a,info:o,required:s,multiple:c=!1,readOnly:l,loading:u=!1,onChange:d,onRefresh:f,className:p})=>{let m=(0,r.useController)({name:t,control:e.control}),h=String(t),g=m.fieldState.error,_=c?X(m.field.value):m.field.value?[String(m.field.value)]:[],v=e=>{m.field.onChange(e),d?.(e)},y=e=>{if(!(l||u)){if(!c){v(_.includes(e)?``:e),m.field.onBlur();return}v(_.includes(e)?_.filter(t=>t!==e):[..._,e]),m.field.onBlur()}};return(0,n.jsx)(K,{id:h,label:a,info:o,required:s,onRefresh:f,error:g?.message?String(g.message):void 0,loading:u,children:(0,n.jsx)(`div`,{role:c?`group`:`radiogroup`,"aria-labelledby":a?h:void 0,className:(0,G.default)(`flex flex-wrap gap-2`,p),children:i.map(e=>{let t=_.includes(e.value);return(0,n.jsx)(`button`,{type:`button`,disabled:l||u,onClick:()=>y(e.value),className:(0,G.default)(`inline-flex items-center rounded-lg border px-3 py-2 text-sm transition`,`focus:outline-none focus:ring-2 focus:ring-slate-200 disabled:cursor-not-allowed disabled:opacity-60`,t?`border-slate-900 bg-slate-900 text-white`:`border-slate-200 bg-white text-slate-700 hover:border-slate-300 hover:bg-slate-50`),"aria-pressed":t,children:e.label},e.value)})})})},xt=({form:e,name:t,loadOptions:i,label:a,info:o,required:s,multiple:c=!1,readOnly:l,onChange:u,className:d,loadOnMount:f=!0})=>{let p=(0,r.useWatch)({control:e.control,name:t}),m=(c?X(p):p?[String(p)]:[]).length>0,{options:h,error:g,isPending:_,refresh:v}=vt({loadOptions:i,loadOnMount:f,loadOnInitialValue:!f,hasInitialValue:m});return(0,n.jsx)(bt,{form:e,name:t,options:h,label:a,info:g??o,required:s,multiple:c,readOnly:l,loading:_,onChange:u,onRefresh:v,className:d})},St=[`label`],Ct=({form:e,name:i,options:o,columns:s,searchKeys:c=St,label:l,info:u,required:d,multiple:f=!1,emptyMessage:p=`No hay resultados`,readOnly:m,loading:h=!1,pageSize:g=5,onChange:_,onRefresh:v})=>{let y=(0,r.useController)({name:i,control:e.control}),b=String(i),x=y.fieldState.error,[S,C]=(0,t.useState)(``),[w,T]=(0,t.useState)({pageIndex:0,pageSize:g}),E=(0,t.useMemo)(()=>f?X(y.field.value):y.field.value?[String(y.field.value)]:[],[y.field.value,f]),D=(0,t.useMemo)(()=>o.filter(e=>E.includes(e.value)),[o,E]),O=e=>{y.field.onChange(e),_?.(e)},k=e=>{if(!(m||h)){if(!f){O(e),y.field.onBlur();return}O(E.includes(e)?E.filter(t=>t!==e):[...E,e]),y.field.onBlur()}},A=e=>{if(!(m||h)){if(!f){O(``),y.field.onBlur();return}O(E.filter(t=>t!==e)),y.field.onBlur()}},j=()=>{m||h||(O(f?[]:``),y.field.onBlur())},M=(0,a.useReactTable)({data:o,columns:(0,t.useMemo)(()=>[{id:`selected`,header:``,cell:({row:e})=>{let t=E.includes(e.original.value);return(0,n.jsx)(`input`,{type:f?`checkbox`:`radio`,checked:t,disabled:m,readOnly:!0,tabIndex:-1,className:`h-4 w-4 accent-slate-900`})},size:40,enableGlobalFilter:!1},{accessorKey:`label`,header:``,cell:({row:e})=>(0,n.jsx)(`span`,{className:`block truncate`,children:e.original.label})},...s??[]],[s,f,m,E]),state:{globalFilter:S,pagination:w},onGlobalFilterChange:e=>{C(String(e)),T(e=>({...e,pageIndex:0}))},onPaginationChange:T,getCoreRowModel:(0,a.getCoreRowModel)(),getFilteredRowModel:(0,a.getFilteredRowModel)(),getPaginationRowModel:(0,a.getPaginationRowModel)(),globalFilterFn:(e,t,n)=>{let r=String(n).trim().toLowerCase();return r?c.some(t=>{let n=e.original[t];return n==null?!1:String(n).toLowerCase().includes(r)}):!0}}),N=M.getRowModel().rows,P=M.getFilteredRowModel().rows.length,F=Math.max(0,g-N.length),I=M.getState().pagination.pageIndex+1,L=Math.max(1,M.getPageCount()),R=M.getAllLeafColumns().length;return(0,n.jsx)(K,{id:b,label:l,info:u,required:d,onRefresh:v,error:x?.message?String(x.message):void 0,loading:h,children:(0,n.jsxs)(`div`,{className:(0,G.default)(`overflow-hidden rounded-md border bg-white shadow-sm`,x?`border-red-300`:`border-slate-200`,m&&`bg-slate-50`),children:[(0,n.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-slate-200 px-3 py-2`,children:[(0,n.jsx)(V,{size:16,className:`shrink-0 text-slate-400`}),(0,n.jsx)(`input`,{id:`${b}-search`,type:`text`,value:S,disabled:m||h,placeholder:h?`Cargando...`:`Buscar...`,onBlur:()=>y.field.onBlur(),onChange:e=>M.setGlobalFilter(e.target.value),className:`h-8 w-full bg-transparent text-sm text-slate-900 outline-none placeholder:text-slate-400 disabled:cursor-not-allowed`})]}),(0,n.jsxs)(`div`,{className:`flex min-h-[2.5rem] items-center justify-between gap-3 border-b border-slate-200 bg-slate-50/70 px-3 py-2`,children:[(0,n.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,n.jsx)(`span`,{className:`shrink-0 text-xs font-medium text-slate-500`,children:D.length===0?`Sin selección`:D.length===1?`1 seleccionado`:`${D.length} seleccionados`}),D.length>0&&(0,n.jsxs)(`div`,{className:`flex min-w-0 flex-1 gap-1 overflow-hidden`,children:[D.slice(0,3).map(e=>(0,n.jsxs)(`span`,{className:`inline-flex min-w-0 max-w-[9rem] items-center gap-1 rounded-full border border-slate-200 bg-white px-2 py-0.5 text-xs text-slate-700`,children:[(0,n.jsx)(`span`,{className:`truncate`,children:e.label}),!m&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>A(e.value),className:`shrink-0 rounded text-slate-400 hover:text-slate-700`,children:(0,n.jsx)(B,{size:12})})]},e.value)),D.length>3&&(0,n.jsxs)(`span`,{className:`shrink-0 rounded-full border border-slate-200 bg-white px-2 py-0.5 text-xs text-slate-500`,children:[`+`,D.length-3]})]})]}),D.length>0&&!m&&!h&&(0,n.jsx)(`button`,{type:`button`,onClick:j,className:`shrink-0 text-xs font-medium text-slate-500 hover:text-slate-900`,children:`Limpiar`})]}),(0,n.jsx)(`table`,{className:`w-full table-fixed border-collapse text-sm`,children:(0,n.jsx)(`tbody`,{children:N.length?(0,n.jsxs)(n.Fragment,{children:[N.map(e=>{let t=E.includes(e.original.value);return(0,n.jsx)(`tr`,{onClick:()=>k(e.original.value),className:(0,G.default)(`h-10 border-b border-slate-100 last:border-b-0`,m||h?`cursor-default`:`cursor-pointer hover:bg-slate-50`,t&&`bg-slate-50`),children:e.getVisibleCells().map(e=>(0,n.jsx)(`td`,{className:(0,G.default)(`px-3 py-2 align-middle text-slate-700`,e.column.id===`selected`&&`w-10`),children:(0,a.flexRender)(e.column.columnDef.cell,e.getContext())},e.id))},e.id)}),Array.from({length:F}).map((e,t)=>(0,n.jsx)(`tr`,{className:`h-10 border-b border-slate-100 last:border-b-0`,children:Array.from({length:R}).map((e,t)=>(0,n.jsx)(`td`,{className:(0,G.default)(`px-3 py-2 align-middle`,t===0&&`w-10`),children:`\xA0`},t))},`empty-${t}`))]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`tr`,{className:`h-10 border-b border-slate-100`,children:(0,n.jsx)(`td`,{colSpan:R,className:`px-3 py-3 text-sm text-slate-500`,children:h?`Cargando...`:p})}),Array.from({length:Math.max(0,g-1)}).map((e,t)=>(0,n.jsx)(`tr`,{className:`h-10 border-b border-slate-100 last:border-b-0`,children:Array.from({length:R}).map((e,t)=>(0,n.jsx)(`td`,{className:(0,G.default)(`px-3 py-2 align-middle`,t===0&&`w-10`),children:`\xA0`},t))},`empty-${t}`))]})})}),(0,n.jsxs)(`div`,{className:`flex items-center justify-between border-t border-slate-200 bg-slate-50/70 px-3 py-2`,children:[(0,n.jsxs)(`span`,{className:`text-xs text-slate-500`,children:[P,` resultado`,P===1?``:`s`]}),(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,n.jsx)(`button`,{type:`button`,disabled:m||h||!M.getCanPreviousPage(),onClick:()=>M.previousPage(),className:`rounded border border-slate-300 bg-white px-2 py-1 text-xs text-slate-700 disabled:cursor-not-allowed disabled:opacity-50`,children:`Anterior`}),(0,n.jsxs)(`span`,{className:`text-xs text-slate-500`,children:[I,` / `,L]}),(0,n.jsx)(`button`,{type:`button`,disabled:m||h||!M.getCanNextPage(),onClick:()=>M.nextPage(),className:`rounded border border-slate-300 bg-white px-2 py-1 text-xs text-slate-700 disabled:cursor-not-allowed disabled:opacity-50`,children:`Siguiente`})]})]})]})})},wt=({form:e,name:t,loadOptions:i,columns:a,searchKeys:o,label:s,info:c,required:l,multiple:u=!1,emptyMessage:d,readOnly:f,pageSize:p,onChange:m,loadOnMount:h=!0})=>{let g=(0,r.useWatch)({control:e.control,name:t}),_=(u?X(g):g?[String(g)]:[]).length>0,{options:v,error:y,isPending:b,refresh:x}=vt({loadOptions:i,loadOnMount:h,loadOnInitialValue:!h,hasInitialValue:_});return(0,n.jsx)(Ct,{form:e,name:t,options:v,columns:a,searchKeys:o,label:s,info:y??c,required:l,multiple:u,emptyMessage:y??d,readOnly:f,loading:b,pageSize:p,onChange:m,onRefresh:x})},Tt=e=>{switch(e.kind){case`select`:return(0,n.jsx)(Je,{...e});case`searchSelect`:return(0,n.jsx)(_t,{...e});case`asyncSearchSelect`:return(0,n.jsx)(yt,{...e});case`cardSelect`:return(0,n.jsx)(bt,{...e});case`asyncCardSelect`:return(0,n.jsx)(xt,{...e});case`searchTableSelect`:return(0,n.jsx)(Ct,{...e});case`asyncSearchTableSelect`:return(0,n.jsx)(wt,{...e});default:return null}},Et=(e=new Date)=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,Dt=e=>{if(!e)return!1;let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!t)return!1;let[,n,r,i]=t,a=Number(n),o=Number(r),s=Number(i),c=new Date(a,o-1,s);return c.getFullYear()===a&&c.getMonth()===o-1&&c.getDate()===s},Ot=e=>e?new Date(`${e}T00:00:00`).toISOString():``,kt=e=>{if(!e)return``;try{return new Date(e).toISOString().split(`T`)[0]??``}catch{return``}},At=e=>{if(typeof e!=`object`||!e)return{start:``,end:``};let t=e;return{start:typeof t.start==`string`?t.start:``,end:typeof t.end==`string`?t.end:``}},jt=e=>{if(typeof e!=`object`||!e)return{start:``,end:``};let t=e;return{start:typeof t.start==`string`?t.start:``,end:typeof t.end==`string`?t.end:``}},Mt=(e,t)=>{if(!e||!t)return``;let[n,r]=e.split(`:`).map(Number),[i,a]=t.split(`:`).map(Number);if([n,r,i,a].some(e=>Number.isNaN(e)))return``;let o=i*60+a-(n*60+r);if(o<=0)return``;let s=Math.floor(o/60),c=o%60,l=[];return s>0&&l.push(`${s}h`),c>0&&l.push(`${c}min`),l.length?`Duración: ${l.join(` `)}`:``},Nt=({form:e,name:t,label:i,info:a,required:o,min:s,max:c,readOnly:l,disabled:u,small:d,className:f,utc:p=!1,onChange:m,onRefresh:h})=>{let g=(0,r.useController)({name:t,control:e.control}),_=At(g.field.value),v=String(t),y=g.fieldState.error?.message?String(g.fieldState.error.message):void 0,b=e=>p?kt(e):e,x=e=>p?Ot(e):e,S=e=>{g.field.onChange(e),m?.(e)},C=e=>{e&&!Dt(e)||S({start:x(e),end:_.end})},w=e=>{e&&!Dt(e)||S({start:_.start,end:x(e)})},T=b(_.start),E=b(_.end);return(0,n.jsx)(K,{id:v,label:i,info:a,required:o,onRefresh:h,error:y,children:(0,n.jsxs)(`div`,{className:(0,G.default)(`flex items-center gap-2`,f),role:`group`,"aria-label":i??String(t),children:[(0,n.jsx)(`input`,{id:v,type:`date`,value:T,min:s,max:E||c,readOnly:l,disabled:u,"aria-invalid":!!y||void 0,onBlur:()=>g.field.onBlur(),onChange:e=>C(e.target.value),"aria-label":i?`${i} inicio`:`Fecha inicio`,className:q({small:d,error:!!y,className:`min-w-0 flex-1`,readOnly:l,disabled:u})}),(0,n.jsx)(`span`,{className:`sf-range-sep`,"aria-hidden":`true`,children:`→`}),(0,n.jsx)(`input`,{id:`${v}-end`,type:`date`,value:E,min:T||s,max:c,readOnly:l,disabled:u,"aria-invalid":!!y||void 0,onBlur:()=>g.field.onBlur(),onChange:e=>w(e.target.value),"aria-label":i?`${i} fin`:`Fecha fin`,className:q({small:d,error:!!y,className:`min-w-0 flex-1`,readOnly:l,disabled:u})})]})})},Pt=({form:e,name:t,label:i,info:a,required:o,readOnly:s,disabled:c,small:l,className:u,showDuration:d=!0,onChange:f,onRefresh:p})=>{let m=(0,r.useController)({name:t,control:e.control}),h=jt(m.field.value),g=String(t),_=m.fieldState.error?.message?String(m.fieldState.error.message):void 0,v=d?Mt(h.start,h.end):``,y=e=>{m.field.onChange(e),f?.(e)};return(0,n.jsxs)(K,{id:g,label:i,info:a,required:o,onRefresh:p,error:_,children:[(0,n.jsxs)(`div`,{className:(0,G.default)(`flex items-center gap-2`,u),role:`group`,"aria-label":i??String(t),children:[(0,n.jsx)(`input`,{id:g,type:`time`,value:h.start,max:h.end||void 0,readOnly:s,disabled:c,"aria-invalid":!!_||void 0,onBlur:()=>m.field.onBlur(),onChange:e=>y({start:e.target.value,end:h.end}),"aria-label":i?`${i} inicio`:`Hora inicio`,className:q({small:l,error:!!_,className:`min-w-0 flex-1`,readOnly:s,disabled:c})}),(0,n.jsx)(`span`,{className:`sf-range-sep`,"aria-hidden":`true`,children:`→`}),(0,n.jsx)(`input`,{id:`${g}-end`,type:`time`,value:h.end,min:h.start||void 0,readOnly:s,disabled:c,"aria-invalid":!!_||void 0,onBlur:()=>m.field.onBlur(),onChange:e=>y({start:h.start,end:e.target.value}),"aria-label":i?`${i} fin`:`Hora fin`,className:q({small:l,error:!!_,className:`min-w-0 flex-1`,readOnly:s,disabled:c})})]}),v&&(0,n.jsx)(`p`,{className:`sf-range-hint`,"aria-live":`polite`,children:v})]})},Ft=e=>{switch(e.kind){case`date`:case`time`:case`datetime-local`:case`month`:return(0,n.jsx)(Le,{...e,kind:e.kind});case`dateRange`:return(0,n.jsx)(Nt,{...e});case`timeRange`:return(0,n.jsx)(Pt,{...e});default:return null}},It=e=>e.length===0?`Ningún archivo seleccionado`:e.length===1?e[0].name:`${e.length} archivos seleccionados`,Lt=(e,t)=>{if(!t)return!0;let n=t.replace(/\s/g,``).split(`,`).filter(Boolean);if(n.length===0)return!0;let r=`.${e.name.split(`.`).pop()?.toLowerCase()??``}`,i=e.type.toLowerCase();return n.some(e=>{let t=e.toLowerCase();if(t.startsWith(`.`))return r===t;if(t.endsWith(`/*`)){let e=t.slice(0,-1);return i.startsWith(e)}return i===t})},Rt=({form:e,name:i,label:a,info:o,required:s,accept:c,multiple:l=!1,maxSizeMb:u=10,maxFiles:d=10,buttonLabel:f=`Seleccionar archivo`,readOnly:p,disabled:m,small:h,className:g,onChange:_,onRefresh:v})=>{let y=(0,t.useRef)(null),b=(0,r.useController)({name:i,control:e.control}),x=String(i),S=b.fieldState.error,[C,w]=(0,t.useState)(null),T=(0,t.useMemo)(()=>S?.message?String(S.message):C??void 0,[C,S?.message]),E=p||m,D=`${x}-files`,O=(()=>{let e=b.field.value;return e?Array.isArray(e)?e:[e]:[]})(),k=e=>{if(e.some(e=>!Lt(e,c))){w(`Hay archivos con tipo no permitido.`);return}let t=u*1024*1024;if(e.some(e=>e.size>t)){w(`Hay archivos que superan ${u} MB.`);return}if(l&&e.length>d){w(`Solo se permiten ${d} archivos.`);return}w(null);let n=l?e:e.slice(0,1);b.field.onChange(l?n:n[0]??null),_?.(n)};return(0,n.jsx)(K,{id:x,label:a,info:o,required:s,onRefresh:v,error:T,children:(0,n.jsxs)(`div`,{className:(0,G.default)(`grid gap-2`,g),children:[(0,n.jsx)(`input`,{ref:y,id:x,type:`file`,accept:c,multiple:l,disabled:E,"aria-invalid":!!T||void 0,"aria-describedby":O.length>0?D:void 0,className:`sr-only`,onBlur:()=>b.field.onBlur(),onChange:e=>{k(Array.from(e.target.files??[])),e.target.value=``}}),(0,n.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,n.jsx)(`button`,{type:`button`,disabled:E,onClick:()=>y.current?.click(),className:(0,G.default)(`sf-file-input-btn`,h?`sf-file-input-btn--sm`:`sf-file-input-btn--md`),children:f}),(0,n.jsx)(`span`,{className:(0,G.default)(`sf-file-input-name`,h&&`sf-file-input-name--sm`),children:It(O)})]}),O.length>0&&(0,n.jsx)(`ul`,{id:D,className:`sf-file-list`,"aria-label":`Archivos seleccionados`,children:O.map(e=>(0,n.jsxs)(`li`,{className:`truncate`,children:[e.name,` (`,Math.ceil(e.size/1024),` KB)`]},`${e.name}-${e.lastModified}`))}),(0,n.jsxs)(`p`,{className:`sf-file-hint`,children:[`Máximo `,u,` MB por archivo.`]})]})})},zt=(e,t)=>e==null||e===``?t:Array.isArray(e)?e.length>0?e.join(`, `):t:String(e),Bt=({form:e,name:t,label:i,info:a,required:o,format:s,emptyText:c=`—`,small:l,className:u,onRefresh:d})=>{let f=(0,r.useController)({name:t,control:e.control}),p=String(t),m=s?s(f.field.value):zt(f.field.value,c);return(0,n.jsx)(K,{id:p,label:i,info:a,required:o,onRefresh:d,children:(0,n.jsx)(`output`,{id:p,className:q({small:l,readOnly:!0,className:(0,G.default)(`sf-display-field`,u)}),children:m})})};function Vt(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{fill:`none`,d:`M0 0h24v24H0z`},child:[]},{tag:`path`,attr:{d:`M17.65 6.35A7.958 7.958 0 0 0 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0 1 12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z`},child:[]}]})(e)}function Ht(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{fill:`none`,d:`M0 0h24v24H0z`},child:[]},{tag:`path`,attr:{d:`M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z`},child:[]}]})(e)}function Ut(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{fill:`none`,d:`M0 0h24v24H0z`},child:[]},{tag:`path`,attr:{d:`M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z`},child:[]}]})(e)}function Wt(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{fill:`none`,d:`M0 0h24v24H0z`},child:[]},{tag:`path`,attr:{d:`M3 18h6v-2H3v2zM3 6v2h18V6H3zm0 7h12v-2H3v2z`},child:[]}]})(e)}function Gt(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{fill:`none`,d:`M0 0h24v24H0z`},child:[]},{tag:`path`,attr:{d:`M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z`},child:[]}]})(e)}function Kt(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{fill:`none`,d:`M0 0h24v24H0V0z`},child:[]},{tag:`path`,attr:{d:`M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z`},child:[]}]})(e)}var qt=(e=window.localStorage)=>({getItem:async t=>e.getItem(t),setItem:async(t,n)=>{e.setItem(t,n)},removeItem:async t=>{e.removeItem(t)}});function Jt(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`polyline`,attr:{fill:`none`,strokeWidth:`2`,points:`9 6 15 12 9 18`,transform:`matrix(-1 0 0 1 24 0)`},child:[]}]})(e)}function Yt(e){return z({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`polyline`,attr:{fill:`none`,strokeWidth:`2`,points:`9 6 15 12 9 18`},child:[]}]})(e)}var Xt=/^[1-9]\d*\s*-\s*[1-9]\d*$/,Zt=({limit:e,offset:t},n)=>n<=0?`0-0`:`${Math.min(t+1,n)}-${Math.min(t+e,n)}`,Qt=({pageData:e,maxItemsRange:r,onChange:i,divRef:a})=>{let o=(0,t.useRef)(null),s=(0,t.useRef)(Math.max(1,Math.min(e.limitItems||1,Math.max(1,r||1)))),[c,l]=(0,t.useState)(null),u=Math.max(1,r||1),d=(0,t.useMemo)(()=>Zt({limit:e.limitItems,offset:e.offsetItems},e.totalItems),[e.limitItems,e.offsetItems,e.totalItems]),f=c??d;(0,t.useEffect)(()=>{let t=Math.max(0,Math.min(e.limitItems,Math.max(e.totalItems-e.offsetItems,0)));!(e.totalItems>0&&t>0&&t<s.current&&(e.offsetItems===0||e.offsetItems+t>=e.totalItems))&&e.limitItems>0&&(s.current=Math.max(1,Math.min(e.limitItems,u)))},[e.limitItems,e.offsetItems,e.totalItems,u]),(0,t.useEffect)(()=>{o.current!=null&&(o.current.style.width=`${(f.length+1)*6.3+8}px`)},[f]);let p=t=>{if(e.totalItems<=0)return{value:`0-0`,offset:0,limit:0};let n=Xt.test(t)?t.replace(/\s+/g,``):d,[r,i]=n.split(`-`).map(Number);return(Number.isNaN(r)||Number.isNaN(i))&&(n=d,[r,i]=n.split(`-`).map(Number)),r<1&&(r=1),r>e.totalItems?(n=d,[r,i]=n.split(`-`).map(Number)):(i<r&&(i=r),i-r+1>u&&(i=r+u-1),i>e.totalItems&&(i=e.totalItems),n=`${r}-${i}`),{value:n,offset:r-1,limit:i-r+1}},m=()=>{let{value:e,limit:t,offset:n}=p(f.trim().replaceAll(` `,``));l(null),d!==e&&i?.(t,n)};return(0,n.jsxs)(`div`,{ref:a,className:`sf-table-pagination`,children:[(0,n.jsxs)(`div`,{className:`sf-table-pagination__range`,children:[(0,n.jsx)(`input`,{ref:o,className:`sf-table-pagination__input`,onChange:({target:e})=>l(e.value),onBlur:m,onKeyDown:({key:e})=>{e===`Enter`&&(m(),o.current?.blur())},value:f,type:`text`,autoCorrect:`off`,autoComplete:`off`}),(0,n.jsx)(`p`,{className:`sf-table-pagination__total`,children:`/`}),(0,n.jsx)(`p`,{className:`sf-table-pagination__total`,children:e.totalItems})]}),(0,n.jsx)(`button`,{type:`button`,className:`sf-table-pagination__nav sf-table-pagination__nav--prev`,onClick:()=>{if(e.totalItems<=0)return;let t=Math.max(1,Math.min(s.current,u)),n=e.offsetItems+1-1;if(n<1)return;let r=Math.max(n-t+1,1),a=r-1,o=n-r+1;l(null),i?.(o,a)},children:(0,n.jsx)(Jt,{className:`w-5 h-5`})}),(0,n.jsx)(`button`,{type:`button`,className:`sf-table-pagination__nav sf-table-pagination__nav--next`,onClick:()=>{if(e.totalItems<=0)return;let t=Math.max(1,Math.min(s.current,u)),n=Math.min(e.offsetItems+e.limitItems,e.totalItems),r=n+1;if(r>e.totalItems)return;let a=Math.min(n+t,e.totalItems),o=r-1,c=a-r+1;l(null),i?.(c,o)},children:(0,n.jsx)(Yt,{className:`w-5 h-5`})})]})},$t=[`contains`,`equals`,`notContains`,`startsWith`,`endsWith`],en=[`eq`,`gt`,`gte`,`lt`,`lte`],tn=e=>{if(typeof e!=`object`||!e)return!1;let t=e;return t.type===`string`?typeof t.value==`string`&&typeof t.op==`string`:t.type===`number`?(typeof t.value==`number`||t.value==null)&&typeof t.op==`string`:t.type===`boolean`?(typeof t.value==`boolean`||t.value==null)&&t.op===`is`:!1},nn=e=>e===`number`?{type:`number`,op:`gt`,value:null}:e===`boolean`?{type:`boolean`,op:`is`,value:null}:{type:`string`,op:`contains`,value:``};function rn(e,t,n){let r=e.getValue(t);if(n.type===`string`){let e=String(r??``).toLowerCase(),t=String(n.value??``).toLowerCase();return t.length===0?!0:n.op===`contains`?e.includes(t):n.op===`notContains`?!e.includes(t):n.op===`equals`?e===t:n.op===`startsWith`?e.startsWith(t):n.op===`endsWith`?e.endsWith(t):!0}if(n.type===`number`){let e=Number(r);return Number.isFinite(e)?n.value==null?!0:n.op===`eq`?e===n.value:n.op===`gt`?e>n.value:n.op===`gte`?e>=n.value:n.op===`lt`?e<n.value:n.op===`lte`?e<=n.value:!0:!1}let i=!!r;return n.value==null?!0:i===n.value}function an({open:e,onClose:t,columnsMeta:r,headerLabelById:i,columnTypeById:a,columnFilters:o,table:s,markUserEdit:c}){return e?(0,n.jsxs)(`div`,{className:`fixed inset-0 z-50`,children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Cerrar panel`,onClick:t,className:`sf-table-panel-scrim`}),(0,n.jsxs)(`aside`,{className:`sf-table-panel`,children:[(0,n.jsxs)(`div`,{className:`sf-table-panel__header`,children:[(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`p`,{className:`sf-table-panel__title`,children:`Filters`}),(0,n.jsx)(`p`,{className:`sf-table-panel__subtitle`,children:`Por columna, por tipo`})]}),(0,n.jsx)(`button`,{type:`button`,onClick:t,className:`sf-table-panel__close`,children:`Ocultar`})]}),(0,n.jsxs)(`section`,{className:`sf-table-panel__section`,children:[(0,n.jsxs)(`div`,{className:`sf-table-panel-section-header`,children:[(0,n.jsx)(`p`,{className:`sf-table-panel__section-title`,children:`Filters`}),o.length>0&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>{c(),s.resetColumnFilters()},className:`sf-table-panel-btn-sm`,children:`Clear`})]}),(0,n.jsxs)(`div`,{className:`sf-table-panel-stack sf-table-panel-stack--tight`,children:[(0,n.jsxs)(`select`,{className:`sf-table-panel-field`,defaultValue:``,onChange:e=>{let t=e.target.value;if(!t)return;e.currentTarget.value=``;let n=nn(a.get(t)??`string`);c(),s.setColumnFilters(e=>e.some(e=>e.id===t)?e:[...e,{id:t,value:n}])},children:[(0,n.jsx)(`option`,{value:``,disabled:!0,children:`+ Add filter`}),r.map(e=>(0,n.jsx)(`option`,{value:e.id,children:e.headerLabel},e.id))]}),o.length===0?(0,n.jsx)(`div`,{className:`sf-table-panel-empty`,children:`No hay filtros`}):o.map(e=>{let t=e.id,r=i.get(t)??t,o=a.get(t)??`string`,l=tn(e.value)?e.value:nn(o),u=e=>{c(),s.setColumnFilters(n=>n.map(n=>n.id===t?{...n,value:e}:n))};return(0,n.jsxs)(`div`,{className:`sf-table-panel-row sf-table-panel-row--grid`,children:[(0,n.jsxs)(`div`,{className:`min-w-0`,children:[(0,n.jsx)(`div`,{className:`sf-table-panel-row__label`,children:r}),(0,n.jsxs)(`div`,{className:`mt-1 flex items-center gap-2`,children:[l.type===`string`&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`select`,{className:`sf-table-panel-field sf-table-panel-field--compact`,value:$t.includes(l.op)?l.op:`contains`,onChange:e=>{let t=e.target.value;u({type:`string`,op:t,value:l.value??``})},children:[(0,n.jsx)(`option`,{value:`contains`,children:`contains`}),(0,n.jsx)(`option`,{value:`equals`,children:`equals`}),(0,n.jsx)(`option`,{value:`notContains`,children:`not contains`}),(0,n.jsx)(`option`,{value:`startsWith`,children:`starts with`}),(0,n.jsx)(`option`,{value:`endsWith`,children:`ends with`})]}),(0,n.jsx)(`input`,{className:`sf-table-panel-field`,value:l.value??``,onChange:e=>{u({type:`string`,op:$t.includes(l.op)?l.op:`contains`,value:e.target.value})},placeholder:`value`})]}),l.type===`number`&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`select`,{className:`sf-table-panel-field sf-table-panel-field--compact`,value:en.includes(l.op)?l.op:`gt`,onChange:e=>{let t=e.target.value;u({type:`number`,op:t,value:l.value??null})},children:[(0,n.jsx)(`option`,{value:`eq`,children:`=`}),(0,n.jsx)(`option`,{value:`gt`,children:`>`}),(0,n.jsx)(`option`,{value:`gte`,children:`>=`}),(0,n.jsx)(`option`,{value:`lt`,children:`<`}),(0,n.jsx)(`option`,{value:`lte`,children:`<=`})]}),(0,n.jsx)(`input`,{className:`sf-table-panel-field`,value:l.value??``,onChange:e=>{let t=e.target.value,n=t.trim()===``?null:Number(t);u({type:`number`,op:en.includes(l.op)?l.op:`gt`,value:Number.isFinite(n)?n:null})},inputMode:`decimal`,placeholder:`number`})]}),l.type===`boolean`&&(0,n.jsxs)(`select`,{className:`sf-table-panel-field sf-table-panel-field--compact`,value:l.value==null?``:l.value?`true`:`false`,onChange:e=>{let t=e.target.value;u({type:`boolean`,op:`is`,value:t===``?null:t===`true`})},children:[(0,n.jsx)(`option`,{value:``,children:`any`}),(0,n.jsx)(`option`,{value:`true`,children:`true`}),(0,n.jsx)(`option`,{value:`false`,children:`false`})]})]})]}),(0,n.jsx)(`button`,{type:`button`,className:`sf-table-panel-btn-sm`,onClick:()=>{c(),s.setColumnFilters(e=>e.filter(e=>e.id!==t))},children:`X`})]},t)})]})]})]})]}):null}function on({open:e,onClose:t,columnsMeta:r,headerLabelById:i,sorting:a,table:o,markUserEdit:s}){return e?(0,n.jsxs)(`div`,{className:`fixed inset-0 z-50`,children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Cerrar panel`,onClick:t,className:`sf-table-panel-scrim`}),(0,n.jsxs)(`aside`,{className:`sf-table-panel`,children:[(0,n.jsxs)(`div`,{className:`sf-table-panel__header`,children:[(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`p`,{className:`sf-table-panel__title`,children:`Sorting`}),(0,n.jsx)(`p`,{className:`sf-table-panel__subtitle`,children:`Orden por columna`})]}),(0,n.jsx)(`button`,{type:`button`,onClick:t,className:`sf-table-panel__close`,children:`Ocultar`})]}),(0,n.jsxs)(`section`,{className:`sf-table-panel__section`,children:[(0,n.jsxs)(`div`,{className:`sf-table-panel-section-header`,children:[(0,n.jsx)(`p`,{className:`sf-table-panel__section-title`,children:`Sorting`}),a.length>0&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>{s(),o.resetSorting()},className:`sf-table-panel-btn-sm`,children:`Clear`})]}),(0,n.jsxs)(`div`,{className:`sf-table-panel-stack sf-table-panel-stack--tight`,children:[(0,n.jsxs)(`select`,{className:`sf-table-panel-field`,defaultValue:``,onChange:e=>{let t=e.target.value;t&&(e.currentTarget.value=``,o.getColumn(t)?.getCanSort()&&(s(),o.setSorting(e=>e.some(e=>e.id===t)?e:[...e,{id:t,desc:!1}])))},children:[(0,n.jsx)(`option`,{value:``,disabled:!0,children:`+ Add sort`}),r.filter(e=>o.getColumn(e.id)?.getCanSort()).map(e=>(0,n.jsx)(`option`,{value:e.id,children:e.headerLabel},e.id))]}),a.length===0?(0,n.jsx)(`div`,{className:`sf-table-panel-empty`,children:`No hay ordenamiento`}):a.map(e=>(0,n.jsxs)(`div`,{className:`sf-table-panel-row`,children:[(0,n.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:i.get(e.id)??e.id}),(0,n.jsxs)(`select`,{className:`sf-table-panel-field sf-table-panel-field--compact`,value:e.desc?`desc`:`asc`,onChange:t=>{let n=t.target.value===`desc`;s(),o.setSorting(t=>t.map(t=>t.id===e.id?{...t,desc:n}:t))},children:[(0,n.jsx)(`option`,{value:`asc`,children:`asc`}),(0,n.jsx)(`option`,{value:`desc`,children:`desc`})]}),(0,n.jsx)(`button`,{type:`button`,className:`sf-table-panel-link`,onClick:()=>{s(),o.setSorting(t=>t.filter(t=>t.id!==e.id))},children:`Quitar`})]},e.id))]})]})]})]}):null}function sn({row:e,actions:r,open:i,onOpenChange:a}){let s=(0,t.useRef)(null),c=(0,t.useRef)(null),[l,u]=(0,t.useState)(null);return(0,t.useLayoutEffect)(()=>{if(!i||!s.current){u(null);return}let e=s.current.getBoundingClientRect();u({top:e.bottom+4,right:window.innerWidth-e.right})},[i]),(0,t.useEffect)(()=>{if(!i)return;let e=()=>a(!1),t=t=>{let n=t.target;s.current?.contains(n)||c.current?.contains(n)||e()},n=t=>{t.key===`Escape`&&e()};return window.addEventListener(`scroll`,e,!0),window.addEventListener(`resize`,e),document.addEventListener(`mousedown`,t),document.addEventListener(`keydown`,n),()=>{window.removeEventListener(`scroll`,e,!0),window.removeEventListener(`resize`,e),document.removeEventListener(`mousedown`,t),document.removeEventListener(`keydown`,n)}},[i,a]),(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(`button`,{ref:s,type:`button`,"aria-label":`Acciones`,className:`sf-table-row-action-trigger`,onClick:()=>a(!i),children:(0,n.jsx)(Ht,{className:`h-4 w-4`,"aria-hidden":`true`})}),i&&l!=null&&(0,o.createPortal)((0,n.jsx)(`div`,{ref:c,className:`sf-table-row-action-menu sf-table-row-action-menu--floating min-w-[10rem]`,style:{top:l.top,right:l.right},role:`menu`,children:r.map(t=>(0,n.jsxs)(`button`,{type:`button`,role:`menuitem`,disabled:t.disabled,onClick:()=>{a(!1),t.onSelect(e)},children:[t.icon?(0,n.jsx)(t.icon,{className:`h-4 w-4 sf-table-row-action-menu__icon`,"aria-hidden":`true`}):null,(0,n.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t.label})]},t.label))}),document.body)]})}var cn=(e,t)=>typeof e==`string`?e:typeof e==`number`?String(e):t,ln=e=>`CustomTableState:${e}`,un=[`sum`,`min`,`max`,`mean`,`median`,`count`];function dn(e,t){return e.map(e=>{let n=e.id??e.accessorKey;if(!n)throw Error(`CustomTable column requires either id or accessorKey`);return e.columns&&e.columns.length>0?{id:n,header:()=>e.header,columns:dn(e.columns,t),enableHiding:!1}:{id:n,...e.accessorKey?{accessorKey:e.accessorKey}:{accessorFn:e=>e[n]},header:()=>e.header,cell:t=>{let n=t.row.original,r=t.getValue();return e.cell?e.cell(r,n):String(r??``)},...e.aggregatedCell?{aggregatedCell:t=>{let n=t.getValue();return e.aggregatedCell(n)}}:null,aggregationFn:((...r)=>{let i=t?.[n]??e.aggregationFn;if(!i)return;if(typeof i==`function`)return i(...r);let[o,s,c]=r;return a.aggregationFns[i]?.(o,s,c)}),filterFn:`columnFilter`,enableGrouping:e.enableGrouping??!0,enableSorting:e.enableSorting??!0,enableHiding:e.enableHiding??!0,size:e.size}})}function fn(e){let t=[],n=e=>{if(e.columns&&e.columns.length>0){for(let t of e.columns)n(t);return}let r=e.id??e.accessorKey;r&&t.push({id:r,header:e.header})};for(let t of e)n(t);return t}var pn=e=>{let t=e.dataTransfer.getData(`text/plain`);if(t)try{let e=JSON.parse(t);if(e?.type===`column`&&e.id)return e.id}catch{}},mn=(e,t,n)=>{if(t===n||t<0||t>=e.length||n<0||n>=e.length)return e;let r=e.slice(),[i]=r.splice(t,1);return r.splice(n,0,i),r},hn=(e,t)=>{if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0};function gn({id:e,stateStore:r,data:i,columns:o,grouping:s,defaultGrouping:c=[],enableGrouping:l=!0,enableSorting:u=!0,enableFiltering:d=!0,enablePagination:f=!1,pageSize:p=20,fillParentHeight:m=!1,maxBodyHeightPx:h,className:g=``,emptyMessage:_=`No hay datos`,title:v=`Tabla`,subtitle:y,sidePanel:b=!1,onGroupingChange:x,toolbarSlot:S,belowToolbarSlot:C,loading:w=!1,loadingMessage:T=`Cargando...`,isFetching:E=!1,error:D,onRetry:O,onRefresh:k,onRowClick:A,enableRowSelection:j=!0,getRowActions:M,getBulkActions:N,bulkActionsSlot:P,onSelectionChange:F,headerVariant:I=`default`,embedded:L=!1,controller:R}){let[ee,te]=(0,t.useState)(c),[z,ne]=(0,t.useState)(()=>c.length>0?{}:!0),[B,re]=(0,t.useState)([]),[ie,ae]=(0,t.useState)(``),[oe,se]=(0,t.useState)([]),[V,ce]=(0,t.useState)({}),[le,ue]=(0,t.useState)({}),[de,fe]=(0,t.useState)(()=>fn(o).map(e=>e.id)),[H,pe]=(0,t.useState)({}),[me,he]=(0,t.useState)({pageIndex:0,pageSize:p}),[ge,_e]=(0,t.useState)(!1),[ve,ye]=(0,t.useState)(!1),[be,U]=(0,t.useState)(!1),[xe,Se]=(0,t.useState)(null),[Ce,we]=(0,t.useState)(!1),Te=(0,t.useMemo)(()=>{let e=[];return j&&e.push(`__select`),M&&e.push(`__actions`),e},[j,M]),Ee=(0,t.useMemo)(()=>{if(e)return r??qt()},[e,r]),De=(0,t.useRef)(!1),W=(0,t.useRef)(!1),Oe=(0,t.useRef)(void 0),ke=(0,t.useRef)(null),Ae=(0,t.useRef)(void 0),K=s??ee,je=(0,t.useMemo)(()=>y??(!l||K.length===0?null:`Agrupado por: ${K.join(` → `)}`),[y,l,K]),q=I===`brand`,Me=(0,t.useMemo)(()=>fn(o).map(e=>({id:e.id,headerLabel:cn(e.header,e.id)})).filter(e=>!!e),[o]),Ne=(0,t.useMemo)(()=>{let e=new Map;for(let t of Me)e.set(t.id,t.headerLabel);return e},[Me]),Pe=(0,t.useMemo)(()=>{let e=new Map,t=fn(o);for(let n of t){let t=n.id,r=`string`;for(let e of i){let n=e[t];if(n!=null){r=typeof n==`number`?`number`:typeof n==`boolean`?`boolean`:`string`;break}}e.set(t,r)}return e},[o,i]),Fe=(0,t.useMemo)(()=>dn(o,H),[H,o]),Ie=(0,t.useMemo)(()=>{let e=[];return j&&e.push(`__select`),e.push(...de),M&&e.push(`__actions`),e},[de,j,M]),Le=(0,t.useMemo)(()=>{let e={id:`__select`,size:44,enableSorting:!1,enableGrouping:!1,enableHiding:!1,header:({table:e})=>(0,n.jsx)(`input`,{type:`checkbox`,"aria-label":`Seleccionar pagina`,checked:e.getIsAllPageRowsSelected(),ref:t=>{t&&(t.indeterminate=e.getIsSomePageRowsSelected())},onChange:t=>e.toggleAllPageRowsSelected(t.target.checked)}),cell:({row:e})=>(0,n.jsx)(`input`,{type:`checkbox`,"aria-label":`Seleccionar fila`,checked:e.getIsSelected(),disabled:!e.getCanSelect(),ref:t=>{t&&(t.indeterminate=e.getIsSomeSelected())},onChange:e.getToggleSelectedHandler()})},t=M==null?null:{id:`__actions`,size:36,enableSorting:!1,enableGrouping:!1,enableHiding:!1,header:()=>null,cell:({row:e})=>{let t=M(e.original);if(!t||t.length===0)return null;let r=e.id;return(0,n.jsx)(sn,{row:e.original,actions:t,open:xe===r,onOpenChange:e=>Se(e?r:null)})}};return[...j?[e]:[],...Fe,...t?[t]:[]]},[Fe,j,M,xe]),Re=(0,t.useMemo)(()=>{let e=Object.entries(H).sort(([e],[t])=>e.localeCompare(t));return JSON.stringify(e)},[H]),ze=(0,t.useMemo)(()=>{if(l)return(0,a.getGroupedRowModel)()},[l,Re]);(0,t.useEffect)(()=>{if(!e||!Ee)return;let t=!1;return(async()=>{let n=await Ee.getItem(ln(e));if(t||!n){De.current=!0;return}try{let e=JSON.parse(n);if(W.current)return;s==null&&Array.isArray(e.grouping)&&te(e.grouping),e.expanded!=null&&(e.expanded===!0&&Array.isArray(e.grouping)&&e.grouping.length>0?ne({}):ne(e.expanded)),e.sorting&&re(e.sorting),typeof e.globalFilter==`string`&&ae(e.globalFilter),e.columnFilters&&se(e.columnFilters),e.columnVisibility&&ce(e.columnVisibility),e.columnOrder&&fe(e.columnOrder),e.columnAggregations&&pe(e.columnAggregations),e.pagination&&he(e.pagination)}catch{}finally{De.current=!0}})(),()=>{t=!0}},[s,e,Ee]),(0,t.useEffect)(()=>{let e=fn(o).map(e=>e.id);fe(t=>{let n=t.filter(t=>e.includes(t));for(let t of e)n.includes(t)||n.push(t);return n})},[o]),(0,t.useEffect)(()=>{if(!e||!Ee||!De.current)return;let t={grouping:s==null?K:void 0,expanded:z,sorting:B,globalFilter:ie,columnFilters:oe,columnVisibility:V,columnOrder:de,columnAggregations:H,pagination:me};return window.clearTimeout(Oe.current),Oe.current=window.setTimeout(()=>{Ee.setItem(ln(e),JSON.stringify(t)).catch(()=>{})},250),()=>{window.clearTimeout(Oe.current)}},[oe,H,de,V,z,ie,s,e,me,K,Ee,B]);let J=(0,a.useReactTable)({data:i,columns:Le,debugTable:!1,state:{grouping:K,expanded:z,sorting:B,globalFilter:ie,columnFilters:oe,columnVisibility:V,columnOrder:Ie,pagination:me,rowSelection:le},onGroupingChange:e=>{W.current=!0;let t=typeof e==`function`?e(K):e;te(e=>hn(e,t)?e:t),hn(K,t)||x?.(t)},onExpandedChange:e=>{W.current=!0,ne(e)},onSortingChange:e=>{W.current=!0,re(e)},onGlobalFilterChange:e=>{W.current=!0,ae(e)},onColumnFiltersChange:e=>{W.current=!0,se(e)},onColumnVisibilityChange:e=>{W.current=!0,ce(e)},onRowSelectionChange:e=>{W.current=!0,ue(e)},onColumnOrderChange:e=>{W.current=!0,fe((typeof e==`function`?e(Ie):e).filter(e=>!Te.includes(e)))},onPaginationChange:e=>{W.current=!0,he(e)},autoResetExpanded:!1,autoResetPageIndex:!1,enableGrouping:l,enableSorting:u,paginateExpandedRows:K.length===0,groupedColumnMode:`reorder`,getCoreRowModel:(0,a.getCoreRowModel)(),getFilteredRowModel:d?(0,a.getFilteredRowModel)():void 0,getGroupedRowModel:ze,getSortedRowModel:u?(0,a.getSortedRowModel)():void 0,getExpandedRowModel:(0,a.getExpandedRowModel)(),getSubRows:e=>e.subRows,getPaginationRowModel:f?(0,a.getPaginationRowModel)():void 0,filterFns:{columnFilter:rn},enableRowSelection:j});ke.current=J;let Y=J.getSelectedRowModel().flatRows.map(e=>e.original);return(0,t.useEffect)(()=>{Y.length===0&&we(!1)},[Y.length]),(0,t.useEffect)(()=>{J.setOptions(e=>({...e,columns:Le}))},[Le,J,Re]),(0,t.useEffect)(()=>{F?.(J.getSelectedRowModel().flatRows.map(e=>e.original))},[F,le,J]),(0,t.useEffect)(()=>{R&&R.register({selection:{selectRowFn:e=>{let t=Array.isArray(e)?e:[e];for(let e of t){let t=J.getPrePaginationRowModel().flatRows.find(t=>t.original===e);t&&t.toggleSelected(!0)}},cleanSelectionFn:()=>{J.resetRowSelection()},getSelectedRowsFn:()=>J.getSelectedRowModel().flatRows.map(e=>e.original)},row:{selectRowFn:e=>{Ae.current=e,J.resetRowSelection();let t=J.getPrePaginationRowModel().flatRows.find(t=>t.original===e);t&&t.toggleSelected(!0)},cleanSelectionFn:()=>{Ae.current=void 0,J.resetRowSelection()},getSelectedRowFn:()=>Ae.current}})},[R,le,J]),(0,t.useEffect)(()=>{l&&K.length!==0&&J.setGrouping(K)},[l,K,J,Re]),(0,n.jsxs)(`div`,{className:m?`flex h-full w-full min-h-0 flex-col`:`flex w-full min-h-0 flex-col`,style:m?void 0:{maxHeight:`100dvh`},children:[b&&ge&&(0,n.jsxs)(`div`,{className:`fixed inset-0 z-50`,children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Cerrar panel`,onClick:()=>_e(!1),className:`sf-table-panel-scrim`}),(0,n.jsxs)(`aside`,{className:`sf-table-panel`,children:[(0,n.jsxs)(`div`,{className:`sf-table-panel__header`,children:[(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`p`,{className:`sf-table-panel__title`,children:`Panel`}),(0,n.jsx)(`p`,{className:`sf-table-panel__subtitle`,children:`Columns, Group By, Aggregations`})]}),(0,n.jsx)(`button`,{type:`button`,onClick:()=>_e(!1),className:`sf-table-panel__close`,children:`Ocultar`})]}),(0,n.jsxs)(`div`,{className:`sf-table-panel-stack`,children:[(0,n.jsxs)(`section`,{className:`sf-table-panel__section`,children:[(0,n.jsx)(`p`,{className:`sf-table-panel__section-title`,children:`Columns`}),(0,n.jsx)(`div`,{className:`sf-table-panel-stack sf-table-panel-stack--tight`,children:de.map(e=>J.getColumn(e)).filter(Boolean).map((e,t)=>{let r=e.id,i=e.getCanHide?.()??!0,a=e.getIsVisible(),o=Ne.get(r)??r;return(0,n.jsxs)(`div`,{draggable:!0,onDragStart:e=>{e.dataTransfer.setData(`text/plain`,JSON.stringify({type:`column`,id:r})),e.dataTransfer.effectAllowed=`move`},onDragOver:e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},onDrop:e=>{e.preventDefault();let n=pn(e);if(!n||n===r)return;let i=de.indexOf(n),a=t;i!==-1&&J.setColumnOrder(mn(de,i,a))},className:`sf-table-column-row`,children:[(0,n.jsxs)(`span`,{className:`sf-table-column-row__label`,children:[(0,n.jsx)(Kt,{className:`sf-table-column-row__drag`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`min-w-0 truncate`,children:o})]}),(0,n.jsxs)(`label`,{className:`sf-table-column-row__toggle`,children:[(0,n.jsx)(`span`,{children:a?`on`:`off`}),(0,n.jsx)(`input`,{type:`checkbox`,disabled:!i,checked:a,onChange:()=>e.toggleVisibility()})]})]},r)})})]}),(0,n.jsxs)(`section`,{className:`sf-table-panel__section`,onDragOver:e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},onDrop:e=>{e.preventDefault();let t=pn(e);if(!t)return;let n=J.getColumn(t);if(!n||!n.getCanGroup())return;n.getIsVisible()||n.toggleVisibility(!0);let r=K.includes(t)?K:[...K,t];J.setGrouping(r)},children:[(0,n.jsxs)(`div`,{className:`sf-table-panel-section-header`,children:[(0,n.jsx)(`p`,{className:`sf-table-panel__section-title`,children:`Group By`}),K.length>0&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>J.resetGrouping(),className:`sf-table-panel-btn-sm`,children:`Clear`})]}),(0,n.jsx)(`div`,{className:`sf-table-panel-stack sf-table-panel-stack--tight`,children:K.length===0?(0,n.jsx)(`div`,{className:`sf-table-panel-empty`,children:`Arrastra columnas aquí`}):K.map(e=>J.getColumn(e)?(0,n.jsxs)(`div`,{className:`sf-table-panel-row`,children:[(0,n.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:Ne.get(e)??e}),(0,n.jsx)(`button`,{type:`button`,onClick:()=>J.setGrouping(K.filter(t=>t!==e)),className:`sf-table-panel-link`,children:`Quitar`})]},e):null)})]}),(0,n.jsxs)(`section`,{className:`sf-table-panel__section`,onDragOver:e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},onDrop:e=>{e.preventDefault();let t=pn(e);t&&J.getColumn(t)&&pe(e=>(W.current=!0,e[t]?e:{...e,[t]:`sum`}))},children:[(0,n.jsxs)(`div`,{className:`sf-table-panel-section-header`,children:[(0,n.jsx)(`p`,{className:`sf-table-panel__section-title`,children:`Aggregations`}),Object.keys(H).length>0&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>{W.current=!0,pe({})},className:`sf-table-panel-btn-sm`,children:`Clear`})]}),(0,n.jsxs)(`div`,{className:`sf-table-panel-stack sf-table-panel-stack--tight`,children:[(0,n.jsx)(`p`,{className:`sf-table-panel__subtitle`,children:`Nota: solo se ve el resultado cuando la tabla está agrupada.`}),Object.keys(H).length===0?(0,n.jsx)(`div`,{className:`sf-table-panel-empty`,children:`Arrastra columnas aquí`}):Object.entries(H).map(([e,t])=>(0,n.jsxs)(`div`,{className:`sf-table-panel-row`,children:[(0,n.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:Ne.get(e)??e}),(0,n.jsx)(`select`,{value:t,onChange:t=>{let n=t.target.value;W.current=!0,pe(t=>({...t,[e]:n}))},className:`sf-table-panel-field sf-table-panel-field--compact`,children:un.map(e=>(0,n.jsx)(`option`,{value:e,children:e},e))}),(0,n.jsx)(`button`,{type:`button`,onClick:()=>pe(t=>{W.current=!0;let n={...t};return delete n[e],n}),className:`sf-table-panel-link`,children:`Quitar`})]},e))]})]})]})]})]}),b&&ve&&(0,n.jsx)(an,{open:ve,onClose:()=>ye(!1),columnsMeta:Me,headerLabelById:Ne,columnTypeById:Pe,columnFilters:oe,table:J,markUserEdit:()=>{W.current=!0}}),b&&be&&(0,n.jsx)(on,{open:be,onClose:()=>U(!1),columnsMeta:Me,headerLabelById:Ne,sorting:B,table:J,markUserEdit:()=>{W.current=!0}}),(0,n.jsxs)(`div`,{className:(0,G.default)(L?`sf-table--embedded w-full`:`sf-table-shell w-full`,g),children:[!L&&(0,n.jsxs)(`div`,{className:`sf-table-toolbar`,children:[(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`h2`,{className:`sf-table-title`,children:v}),je!=null&&je!==``&&(0,n.jsx)(`p`,{className:`sf-table-subtitle`,children:je})]}),(0,n.jsxs)(`div`,{className:`sf-table-toolbar-actions`,children:[(E||k)&&(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[E&&(0,n.jsxs)(`span`,{className:`sf-table-toolbar-status`,children:[(0,n.jsx)(`span`,{className:`sf-table-spinner sf-table-spinner--sm`,"aria-hidden":`true`}),`Actualizando`]}),k&&(0,n.jsx)(`button`,{type:`button`,"aria-label":`Refrescar`,className:`sf-table-toolbar-btn`,disabled:E,onClick:k,children:(0,n.jsx)(Vt,{className:`h-5 w-5`,"aria-hidden":`true`})})]}),b&&(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,n.jsx)(`button`,{type:`button`,onClick:()=>{ye(!1),U(!1),_e(!0)},"aria-label":`Abrir panel de tabla`,className:`sf-table-toolbar-btn`,children:(0,n.jsx)(Ut,{className:`h-5 w-5`,"aria-hidden":`true`})}),d&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>{_e(!1),U(!1),ye(!0)},"aria-label":`Abrir panel de filtros`,className:`sf-table-toolbar-btn`,children:(0,n.jsx)(Gt,{className:`h-5 w-5`,"aria-hidden":`true`})}),u&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>{_e(!1),ye(!1),U(!0)},"aria-label":`Abrir panel de ordenamiento`,className:`sf-table-toolbar-btn`,children:(0,n.jsx)(Wt,{className:`h-5 w-5`,"aria-hidden":`true`})})]}),d&&(0,n.jsx)(`input`,{value:ie,onChange:e=>{W.current=!0,ae(e.target.value)},placeholder:`Buscar...`,className:`sf-table-search`}),l&&K.length>0&&(0,n.jsx)(`div`,{className:`sf-table-group-hint`,children:`Agrupado`}),typeof S==`function`?S(Y,{clearSelection:()=>J.resetRowSelection()}):S,j&&Y.length>0&&(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(()=>{let e=N?.(Y,{clearSelection:()=>J.resetRowSelection()})??[];return e.length===0?null:(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Acciones`,className:`sf-table-row-action-trigger`,onClick:()=>we(e=>!e),children:(0,n.jsx)(Ht,{className:`h-4 w-4`,"aria-hidden":`true`})}),Ce&&(0,n.jsx)(`div`,{className:`sf-table-row-action-menu min-w-[12.5rem]`,children:e.map(e=>(0,n.jsxs)(`button`,{type:`button`,disabled:e.disabled,onClick:()=>{we(!1),e.onSelect(Y,{clearSelection:()=>J.resetRowSelection()})},children:[e.icon?(0,n.jsx)(`span`,{className:`sf-table-row-action-menu__icon`,children:e.icon}):null,(0,n.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label})]},e.label))})]})})(),P?.(Y,{clearSelection:()=>J.resetRowSelection()})]})]})]}),D!=null&&(0,n.jsxs)(`div`,{className:`sf-table-error`,children:[(0,n.jsx)(`div`,{children:D}),O&&(0,n.jsx)(`button`,{type:`button`,className:`sf-table-error__retry`,onClick:O,children:`Reintentar`})]}),C!=null&&(0,n.jsx)(`div`,{className:`mb-3`,children:typeof C==`function`?C(Y,{clearSelection:()=>J.resetRowSelection()}):C}),(0,n.jsx)(`div`,{className:`min-h-0 flex-1`,style:h==null?m?void 0:{maxHeight:`100dvh`}:{maxHeight:h},children:(0,n.jsx)(`div`,{className:`sf-table-scroll h-full`,children:(0,n.jsxs)(`table`,{className:(0,G.default)(`sf-table min-w-max w-full border-collapse text-sm`,q&&`sf-table--brand-header`),children:[(0,n.jsx)(`thead`,{className:(0,G.default)(q&&`sf-table__head--brand`),children:J.getHeaderGroups().map(e=>(0,n.jsx)(`tr`,{children:e.headers.map(e=>(0,n.jsx)(`th`,{colSpan:e.colSpan,style:e.colSpan>1?void 0:{width:e.getSize()},className:(0,G.default)(q&&`sf-table__th--brand`,e.column.id===`__actions`&&`right-0 z-2`),children:e.isPlaceholder?null:(0,n.jsx)(`div`,{className:`flex items-center gap-2`,children:e.column.getCanSort()?(0,n.jsxs)(`button`,{type:`button`,onClick:e.column.getToggleSortingHandler(),className:`font-semibold`,children:[(0,a.flexRender)(e.column.columnDef.header,e.getContext()),e.column.getIsSorted()===`asc`&&` ▲`,e.column.getIsSorted()===`desc`&&` ▼`]}):(0,n.jsx)(`div`,{className:`font-semibold`,children:(0,a.flexRender)(e.column.columnDef.header,e.getContext())})})},e.id))},e.id))}),(0,n.jsx)(`tbody`,{children:w?(0,n.jsx)(`tr`,{children:(0,n.jsx)(`td`,{colSpan:J.getAllLeafColumns().length,className:`sf-table-loading-cell`,children:(0,n.jsxs)(`div`,{className:`sf-table-loading-cell__inner`,children:[(0,n.jsx)(`span`,{className:`sf-table-spinner`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{children:T})]})})}):J.getRowModel().rows.length===0?(0,n.jsx)(`tr`,{children:(0,n.jsx)(`td`,{colSpan:J.getAllLeafColumns().length,className:`sf-table-empty`,children:_})}):(0,n.jsx)(n.Fragment,{children:J.getRowModel().rows.map(e=>(0,n.jsx)(`tr`,{className:(0,G.default)(`sf-table-row`,e.getIsGrouped()&&`sf-table-row--group`,A&&!e.getIsGrouped()&&`sf-table-row--clickable`),onClick:A&&!e.getIsGrouped()?t=>{t.target.closest(`button, a, input, select, label, [role="button"]`)||A(e.original)}:void 0,children:e.getVisibleCells().map(t=>{let r=t.getIsGrouped(),i=t.getIsAggregated(),o=t.getIsPlaceholder();return(0,n.jsx)(`td`,{className:(0,G.default)(t.column.id===`__actions`&&`sf-table-td--sticky`),children:r?(0,n.jsxs)(`button`,{type:`button`,onClick:e.getToggleExpandedHandler(),className:`sf-table-group-toggle`,children:[(0,n.jsx)(`span`,{children:e.getIsExpanded()?`▾`:`▸`}),(0,n.jsx)(`span`,{children:(0,a.flexRender)(t.column.columnDef.cell,t.getContext())}),(0,n.jsxs)(`span`,{className:`sf-table-group-count`,children:[`(`,e.subRows.length,`)`]})]}):i?H[t.column.id]==null?null:(0,a.flexRender)(t.column.columnDef.aggregatedCell??t.column.columnDef.cell,t.getContext()):o?null:(0,a.flexRender)(t.column.columnDef.cell,t.getContext())},t.id)})},e.id))})})]})})}),f&&(0,n.jsxs)(`div`,{className:`sf-table-footer`,children:[(0,n.jsxs)(`div`,{className:`sf-table-footer__meta`,children:[J.getState().pagination.pageIndex+1,` / `,Math.max(1,J.getPageCount())]}),(()=>{let e=J.getPrePaginationRowModel().rows.length,t=J.getState().pagination.pageSize;return(0,n.jsx)(Qt,{pageData:{totalItems:e,limitItems:t,offsetItems:J.getState().pagination.pageIndex*t},maxItemsRange:Math.max(1,e),onChange:(e,t)=>{let n=Math.max(1,e),r=Math.floor(Math.max(0,t)/n);J.setPageSize(n),J.setPageIndex(r)}})})()]})]})]})}function _n({queryKey:e,queryFn:t,queryOptions:r,loadingMessage:i=`Cargando...`,errorMessage:a,emptyMessage:o=`No hay datos`,...c}){let l=(0,s.useQuery)({queryKey:e,queryFn:t,...r});return(0,n.jsx)(gn,{...c,loading:l.isLoading,loadingMessage:i,isFetching:l.isFetching,error:l.isError?a?a(l.error):`Error cargando datos`:void 0,onRetry:()=>void l.refetch(),onRefresh:()=>void l.refetch(),data:l.data??[],emptyMessage:o})}var vn=e=>{let n=(0,t.useRef)(void 0),r=(0,t.useRef)(void 0),i=(0,t.useRef)(void 0),a=(0,t.useRef)(void 0),o=(0,t.useRef)(void 0),s=(0,t.useRef)(void 0);return{register:e=>{e.selection!=null&&(n.current=e.selection.selectRowFn,r.current=e.selection.cleanSelectionFn,i.current=e.selection.getSelectedRowsFn),e.row!=null&&(a.current=e.row.selectRowFn,o.current=e.row.cleanSelectionFn,s.current=e.row.getSelectedRowFn)},events:{selection:{changeRowsSelection:t=>e?.selection?.onChange?.(t)},row:{changeRowSelection:t=>e?.row?.onChange?.(t)}},selection:{appendSelectRows:e=>n.current?.(e),replaceSelection:e=>{r.current?.(),setTimeout(()=>n.current?.(e),2)},cleanSelection:()=>r.current?.(),getSelectedRows:()=>i.current?.()??[]},row:{selectRow:e=>a.current?.(e),replaceSelection:e=>{o.current?.(),setTimeout(()=>a.current?.(e),2)},cleanSelection:()=>o.current?.(),getSelectedRow:()=>s.current?.()}}},yn=(e,t,n)=>{let r=[...e],[i]=r.splice(t,1);return r.splice(n,0,i),r},bn=(e,t)=>{if(t?.length){let n=new Set(e.map(e=>e.id)),r=t.filter(e=>n.has(e)),i=e.map(e=>e.id).filter(e=>!r.includes(e));return[...r,...i]}return e.map(e=>e.id)},xn=e=>{let t={};for(let n of e)n.defaultVisible===!1&&(t[n.id]=!1);return t},Sn=e=>{if(!e||typeof window>`u`)return null;try{let t=window.localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}},Cn=({columns:e,defaultOrder:n,persistKey:r})=>{let i=(0,t.useMemo)(()=>Sn(r),[r]),[a,o]=(0,t.useState)(()=>i?.columnOrder?.length?bn(e,i.columnOrder):bn(e,n)),[s,c]=(0,t.useState)(()=>i?.columnVisibility?i.columnVisibility:xn(e)),l=(0,t.useMemo)(()=>bn(e,a),[e,a]);(0,t.useEffect)(()=>{!r||typeof window>`u`||window.localStorage.setItem(r,JSON.stringify({columnOrder:l,columnVisibility:s}))},[s,l,r]);let u=(0,t.useMemo)(()=>new Map(e.map(e=>[e.id,e.label])),[e]),d=(0,t.useMemo)(()=>new Map(e.map(e=>[e.id,e.canHide!==!1])),[e]);return{columnOrder:l,columnVisibility:s,setColumnOrder:o,setColumnVisibility:c,items:(0,t.useMemo)(()=>l.filter(e=>u.has(e)).map(e=>({id:e,label:u.get(e)??e,visible:s[e]!==!1,canHide:d.get(e)??!0})),[d,s,l,u]),toggleVisibility:(0,t.useCallback)(e=>{c(t=>{let n=t[e]!==!1;return{...t,[e]:!n}})},[]),setVisible:(0,t.useCallback)((e,t)=>{c(n=>({...n,[e]:t}))},[]),reorder:(0,t.useCallback)((t,n)=>{o(r=>yn(bn(e,r),t,n))},[e]),reset:(0,t.useCallback)(()=>{o(bn(e,n)),c(xn(e))},[e,n])}},wn=e=>{try{return JSON.parse(e.dataTransfer.getData(`text/plain`)).id??null}catch{return null}},Tn=({open:e,onClose:r,items:i,onReorder:a,onToggleVisibility:s,onReset:c,title:l=`Columnas`,subtitle:u=`Visibilidad y orden`,className:d})=>{let f=(0,t.useId)();return(0,t.useEffect)(()=>{if(!e)return;let t=e=>{e.key===`Escape`&&r()};document.addEventListener(`keydown`,t);let n=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.removeEventListener(`keydown`,t),document.body.style.overflow=n}},[e,r]),e?(0,o.createPortal)((0,n.jsxs)(`div`,{className:(0,G.default)(`fixed inset-0 z-50`,d),children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Cerrar panel`,onClick:r,className:`sf-table-panel-overlay`}),(0,n.jsxs)(`aside`,{role:`dialog`,"aria-modal":`true`,"aria-labelledby":f,className:`sf-table-panel`,children:[(0,n.jsxs)(`div`,{className:`sf-table-panel__header`,children:[(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`p`,{id:f,className:`sf-table-panel__title`,children:l}),(0,n.jsx)(`p`,{className:`sf-table-panel__subtitle`,children:u})]}),(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[c&&(0,n.jsx)(`button`,{type:`button`,onClick:c,className:`sf-table-panel__close`,children:`Reset`}),(0,n.jsx)(`button`,{type:`button`,onClick:r,className:`sf-table-panel__close`,children:`Ocultar`})]})]}),(0,n.jsxs)(`section`,{className:`sf-table-panel__section`,children:[(0,n.jsx)(`p`,{className:`sf-table-panel__section-title`,children:`Columnas visibles`}),(0,n.jsx)(`div`,{className:`grid gap-1`,children:i.map((e,t)=>(0,n.jsxs)(`div`,{draggable:!0,onDragStart:t=>{t.dataTransfer.setData(`text/plain`,JSON.stringify({id:e.id})),t.dataTransfer.effectAllowed=`move`},onDragOver:e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},onDrop:n=>{n.preventDefault();let r=wn(n);if(!r||r===e.id)return;let o=i.findIndex(e=>e.id===r);o!==-1&&a(o,t)},className:`sf-table-column-row`,children:[(0,n.jsxs)(`span`,{className:`sf-table-column-row__label`,children:[(0,n.jsx)(Kt,{className:`sf-table-column-row__drag`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`truncate`,children:e.label})]}),(0,n.jsxs)(`label`,{className:`sf-table-column-row__toggle`,children:[(0,n.jsx)(`span`,{children:e.visible?`on`:`off`}),(0,n.jsx)(`input`,{type:`checkbox`,"aria-label":`Mostrar columna ${e.label}`,disabled:!e.canHide,checked:e.visible,onChange:()=>s(e.id)})]})]},e.id))})]})]})]}),document.body):null},En=({filters:e,onRemove:t,onClearAll:r,label:i=`Filtros:`,emptyLabel:a=`Sin filtros activos`,className:o})=>(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-active-filters`,o),role:`list`,"aria-label":`Filtros activos`,children:[(0,n.jsx)(`span`,{className:`sf-active-filters__label`,children:i}),e.length===0?(0,n.jsx)(`span`,{className:`sf-active-filters__empty`,children:a}):(0,n.jsxs)(n.Fragment,{children:[e.map(e=>(0,n.jsxs)(`span`,{className:`sf-active-filters__chip`,role:`listitem`,children:[(0,n.jsxs)(`span`,{children:[(0,n.jsxs)(`span`,{className:`sf-active-filters__chip-label`,children:[e.label,`:`]}),` `,e.valueLabel]}),(0,n.jsx)(`button`,{type:`button`,className:`sf-active-filters__chip-remove`,"aria-label":`Quitar filtro ${e.label}`,onClick:()=>t(e.id),children:`×`})]},e.id)),r&&e.length>1&&(0,n.jsx)(`button`,{type:`button`,className:`sf-active-filters__clear`,onClick:r,children:`Limpiar todo`})]})]}),Dn={contains:`contiene`,equals:`igual`,notContains:`no contiene`,startsWith:`empieza con`,endsWith:`termina con`,eq:`=`,gt:`>`,gte:`≥`,lt:`<`,lte:`≤`,is:`es`},On=e=>{if(e.type===`string`)return`${Dn[e.op]??e.op} "${e.value}"`;if(e.type===`number`){let t=Dn[e.op]??e.op;return e.value==null?t:`${t} ${e.value}`}return e.value==null?`cualquiera`:e.value?`sí`:`no`},kn=(e,t)=>{let n=e=>t instanceof Map?t.get(e)??e:t[e]??e;return e.filter(e=>tn(e.value)).map(e=>({id:e.id,label:n(e.id),valueLabel:On(e.value)}))},An=({data:e,columns:r,rowKey:i,onChange:a,className:o})=>{let[s,c]=(0,t.useState)(null),[l,u]=(0,t.useState)(null),d=(0,t.useMemo)(()=>e.map((e,t)=>({row:e,originalIndex:t,rowId:String(e[i])})),[e,i]),f=(0,t.useMemo)(()=>{if(!l)return d;let e=[...d];return e.sort((e,t)=>{let n=e.row[l.columnId],r=t.row[l.columnId];if(typeof n==`number`&&typeof r==`number`)return l.direction===`asc`?n-r:r-n;let i=String(n??``).toLowerCase(),a=String(r??``).toLowerCase(),o=i.localeCompare(a,`es`);return l.direction===`asc`?o:-o}),e},[d,l]),p=(t,n,r,i)=>{let o=e.map((e,n)=>{if(n!==t)return e;let a=e[r];if(typeof a==`number`){let t=Number(i);return{...e,[r]:Number.isFinite(t)?t:a}}return{...e,[r]:i}});a?.(o),c(e=>e?.rowId===n&&e.columnId===r?null:e)};return(0,n.jsx)(`div`,{className:(0,G.default)(`sf-editable-grid-wrap`,o),children:(0,n.jsxs)(`table`,{className:`sf-editable-grid`,children:[(0,n.jsx)(`thead`,{children:(0,n.jsx)(`tr`,{children:r.map(e=>(0,n.jsx)(`th`,{className:(0,G.default)(`sf-editable-grid__th`,e.align===`right`&&`sf-editable-grid__th--right`,e.sortable!==!1&&`cursor-pointer select-none`),role:e.sortable===!1?void 0:`button`,tabIndex:e.sortable===!1?void 0:0,"aria-label":e.sortable===!1?void 0:`Ordenar por ${e.header}`,onClick:()=>{e.sortable!==!1&&u(t=>!t||t.columnId!==e.id?{columnId:e.id,direction:`asc`}:t.direction===`asc`?{columnId:e.id,direction:`desc`}:null)},onKeyDown:t=>{e.sortable!==!1&&(t.key!==`Enter`&&t.key!==` `||(t.preventDefault(),u(t=>!t||t.columnId!==e.id?{columnId:e.id,direction:`asc`}:t.direction===`asc`?{columnId:e.id,direction:`desc`}:null)))},children:(0,n.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[e.header,l?.columnId===e.id&&(0,n.jsx)(`span`,{"aria-hidden":`true`,children:l.direction===`asc`?`▲`:`▼`})]})},e.id))})}),(0,n.jsx)(`tbody`,{children:f.map(({row:e,originalIndex:t,rowId:i})=>{let a=i;return(0,n.jsx)(`tr`,{className:`sf-editable-grid__row`,children:r.map(r=>{let i=e[r.id],o=s?.rowId===a&&s.columnId===r.id,l=r.editable!==!1,u=()=>{l&&c({rowId:a,columnId:r.id})};return(0,n.jsx)(`td`,{className:(0,G.default)(`sf-editable-grid__td`,r.align===`right`&&`sf-editable-grid__td--right`,l&&`sf-editable-grid__td--editable`),role:l?`button`:void 0,tabIndex:l?0:void 0,"aria-label":l?`Editar ${r.header}`:void 0,onDoubleClick:u,onKeyDown:e=>{!l||o||e.key!==`Enter`&&e.key!==` `&&e.key!==`F2`||(e.preventDefault(),u())},children:o?(0,n.jsx)(`input`,{autoFocus:!0,defaultValue:String(i??``),className:q({small:!0}),"aria-label":`Valor de ${r.header}`,onBlur:e=>p(t,a,r.id,e.target.value),onKeyDown:e=>{e.key===`Enter`&&p(t,a,r.id,e.currentTarget.value),e.key===`Escape`&&c(null)}}):String(i??``)},r.id)})},a)})})]})})},jn=(e,t,n)=>{let r=e.includes(t);return n===`single`?r?[]:[t]:r?e.filter(e=>e!==t):[...e,t]},Mn=e=>e.content?e.content:e.table?(0,n.jsx)(gn,{embedded:!0,data:e.table.data,columns:e.table.columns,headerVariant:e.table.headerVariant??`default`,enableRowSelection:!1,enableGrouping:!1,enableSorting:!1,enableFiltering:!1,enablePagination:e.table.enablePagination??!1,pageSize:e.table.pageSize,emptyMessage:e.table.emptyMessage}):null,Nn=({items:e,type:r=`single`,className:i,ariaLabel:a=`Sección expandible`})=>{let[o,s]=(0,t.useState)(()=>e.filter(e=>e.defaultOpen).map(e=>e.id)),c=(0,t.useCallback)((e,t)=>{t||s(t=>jn(t,e,r))},[r]);return(0,n.jsx)(`section`,{className:(0,G.default)(`sf-expandable-table-section`,i),"aria-label":a,children:e.map(e=>{let t=o.includes(e.id),r=Mn(e);return(0,n.jsxs)(`div`,{className:`sf-expandable-table-section__item`,children:[(0,n.jsxs)(`button`,{type:`button`,className:(0,G.default)(`sf-expandable-table-section__trigger`,t&&`sf-expandable-table-section__trigger--open`),"aria-expanded":t,disabled:e.disabled,onClick:()=>c(e.id,e.disabled),children:[(0,n.jsx)(`span`,{className:`sf-expandable-table-section__header`,children:e.header}),e.trailing&&(0,n.jsx)(`span`,{className:`sf-expandable-table-section__trailing`,children:e.trailing}),(0,n.jsx)(`span`,{className:`sf-expandable-table-section__chevron`,"aria-hidden":`true`,children:`▾`})]}),t&&r!=null&&(0,n.jsx)(`div`,{className:`sf-expandable-table-section__content`,children:r})]},e.id)})})},Pn=({children:e,className:t})=>(0,n.jsx)(`div`,{className:(0,G.default)(`flex flex-wrap items-center gap-3`,t),children:e}),Fn=({selected:e=!1,small:t=!1,icon:r,label:i,loading:a=!1,disabled:o,className:s,type:c=`button`,...l})=>(0,n.jsxs)(`button`,{type:c,disabled:o||a,"aria-label":l[`aria-label`]??i,"aria-busy":a||void 0,className:(0,G.default)(`sf-toolbar-btn`,t?`sf-toolbar-btn--sm`:`sf-toolbar-btn--md`,e?`sf-toolbar-btn--selected`:`sf-toolbar-btn--idle`,s),...l,children:[a?(0,n.jsx)(pe,{className:(0,G.default)(`animate-spin`,t?`h-3.5 w-3.5`:`h-4 w-4`),"aria-hidden":`true`}):(0,n.jsx)(`span`,{className:`sf-toolbar-btn__icon`,children:r}),i&&(0,n.jsx)(`span`,{className:`sf-toolbar-btn__label`,children:i})]}),In=({onEdit:e,onDelete:t,disabled:r=!1,editLabel:i=`Editar`,deleteLabel:a=`Eliminar`,className:o})=>(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-row-actions`,o),children:[(0,n.jsx)(`button`,{type:`button`,disabled:r||!e,onClick:e,"aria-label":i,title:i,className:`sf-row-action sf-row-action--edit`,children:(0,n.jsx)(ve,{className:`h-4 w-4`,"aria-hidden":`true`})}),(0,n.jsx)(`button`,{type:`button`,disabled:r||!t,onClick:t,"aria-label":a,title:a,className:`sf-row-action sf-row-action--delete`,children:(0,n.jsx)(ae,{className:`h-4 w-4`,"aria-hidden":`true`})})]}),Ln=(0,t.memo)(({cancelLabel:e=`Cancelar`,saveLabel:t=`Guardar`,onCancel:r,onSave:i,cancelLoading:a=!1,saveLoading:o=!1,hideSave:s=!1,className:c})=>(0,n.jsxs)(Pn,{className:(0,G.default)(`justify-end`,c),children:[(0,n.jsx)(Q,{type:`button`,variant:`outline`,loading:a,icon:a?void 0:(0,n.jsx)(B,{className:`h-4 w-4`,"aria-hidden":`true`}),onClick:r,children:e}),!s&&(0,n.jsx)(Q,{type:`button`,loading:o,icon:o?void 0:(0,n.jsx)(ce,{className:`h-4 w-4`,"aria-hidden":`true`}),onClick:i,children:t})]})),Rn={primary:Z({variant:`primary`,size:`sm`}),secondary:Z({variant:`secondary`,size:`sm`}),outline:Z({variant:`outline`,size:`sm`}),danger:Z({variant:`danger`,size:`sm`}),ghost:Z({variant:`ghost`,size:`sm`}),accent:Z({variant:`accent`,size:`sm`}),success:(0,G.default)(Z({size:`sm`}),`sf-btn--success`),warning:(0,G.default)(Z({size:`sm`}),`sf-btn--warning`),info:(0,G.default)(Z({size:`sm`}),`sf-btn--info`)},zn=({children:e,loading:t=!1,disabled:r,icon:i,variant:a=`primary`,className:o,type:s=`button`,...c})=>(0,n.jsxs)(`button`,{type:s,disabled:r||t,"aria-busy":t||void 0,className:(0,G.default)(Rn[a],o),...c,children:[e,t?(0,n.jsx)(pe,{className:`h-3.5 w-3.5 animate-spin`,"aria-hidden":`true`}):i]}),Bn={info:`ℹ`,success:`✓`,warning:`⚠`,danger:`✕`},Vn=({variant:e=`info`,title:r,message:i,dismissible:a=!1,onDismiss:o,icon:s,className:c})=>{let[l,u]=(0,t.useState)(!0);return l?(0,n.jsxs)(`div`,{role:`alert`,className:(0,G.default)(`sf-alert`,`sf-alert--${e}`,c),children:[(0,n.jsx)(`span`,{className:`sf-alert__icon`,"aria-hidden":`true`,children:s??Bn[e]}),(0,n.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[r&&(0,n.jsx)(`p`,{className:`sf-alert__title`,children:r}),(0,n.jsx)(`div`,{className:`sf-alert__message`,children:i})]}),a&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>{u(!1),o?.()},"aria-label":`Cerrar alerta`,className:`sf-alert__dismiss`,children:`✕`})]}):null},Hn=({message:e=`No se encontraron resultados.`,actionLabel:t,onAction:r,icon:i})=>(0,n.jsxs)(`div`,{className:`sf-empty-state`,children:[i??(0,n.jsx)(`svg`,{className:`sf-empty-state__icon`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,"aria-hidden":`true`,children:(0,n.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.5,d:`M9.172 16.172a4 4 0 015.656 0M9 10h.01M15 10h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z`})}),(0,n.jsx)(`p`,{className:`sf-empty-state__message`,children:e}),t&&r&&(0,n.jsx)(Q,{onClick:r,children:t})]}),Un=e=>typeof e==`string`?e:e instanceof DOMException&&e.name===`AbortError`?`La solicitud fue cancelada.`:e instanceof Error?e.message:`No se pudo conectar al servidor. Verifica tu conexión.`,Wn=({error:e,message:t,onRetry:r,retryLabel:i=`Reintentar`})=>{let a=t??(e==null?`Ocurrió un error inesperado.`:Un(e));return(0,n.jsxs)(`div`,{className:`sf-error-view`,children:[(0,n.jsx)(`svg`,{className:`sf-error-view__icon`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,"aria-hidden":`true`,children:(0,n.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.5,d:`M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z`})}),(0,n.jsx)(`p`,{className:`sf-error-view__message`,children:a}),r&&(0,n.jsx)(Q,{onClick:r,children:i})]})},Gn={xs:`sf-spinner--xs`,sm:`sf-spinner--sm`,md:`sf-spinner--md`,lg:`sf-spinner--lg`},Kn=({size:e=`md`,className:t})=>(0,n.jsxs)(`div`,{role:`status`,className:(0,G.default)(`inline-flex`,t),children:[(0,n.jsxs)(`svg`,{"aria-hidden":`true`,className:(0,G.default)(`sf-spinner animate-spin`,Gn[e]),viewBox:`0 0 100 101`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,n.jsx)(`path`,{d:`M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z`,fill:`currentColor`}),(0,n.jsx)(`path`,{d:`M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z`,fill:`currentFill`})]}),(0,n.jsx)(`span`,{className:`sr-only`,children:`Cargando...`})]}),qn=({message:e=`Cargando...`})=>(0,n.jsxs)(`div`,{className:`sf-loading-view`,role:`status`,"aria-live":`polite`,children:[(0,n.jsx)(Kn,{size:`lg`}),(0,n.jsx)(`p`,{className:`sf-loading-view__message`,children:e})]}),Jn=({children:e,isError:t=!1,isLoading:r=!1,error:i,onRetry:a,className:o})=>{let s=t&&!r;return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-retry-block`,o),"aria-busy":r||void 0,children:[e,r&&(0,n.jsx)(`div`,{className:`sf-retry-block__overlay`,role:`status`,"aria-live":`polite`,children:(0,n.jsx)(Kn,{size:`lg`})}),s&&(0,n.jsx)(`div`,{className:`sf-retry-block__overlay sf-retry-block__overlay--error`,role:`alert`,children:(0,n.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-4 text-center`,children:[(0,n.jsxs)(`button`,{type:`button`,onClick:a,disabled:!a,className:`sf-retry-block__retry`,children:[(0,n.jsx)(le,{className:`h-8 w-8`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`sf-retry-block__retry-label`,children:`Reintentar`})]}),i?.message&&(0,n.jsx)(`p`,{className:`sf-retry-block__error-detail`,children:i.message})]})})]})},Yn=({title:e=`Acceso denegado`,message:t=`No tienes permisos para acceder a esta sección.`,onBack:r,backLabel:i=`Volver atrás`,className:a})=>(0,n.jsx)(`div`,{className:(0,G.default)(`sf-access-denied`,a),role:`alert`,"aria-live":`assertive`,children:(0,n.jsxs)(`div`,{className:`sf-access-denied__card`,children:[(0,n.jsx)(`h2`,{className:`sf-access-denied__title`,children:e}),(0,n.jsx)(`p`,{className:`sf-access-denied__message`,children:t}),r&&(0,n.jsx)(`button`,{type:`button`,onClick:r,className:`sf-access-denied__back`,children:i})]})}),Xn={text:`sf-skeleton--text`,block:`sf-skeleton--block`,circle:`sf-skeleton--circle`},Zn=({variant:e=`text`,width:t,height:r,className:i})=>(0,n.jsx)(`div`,{"aria-hidden":`true`,className:(0,G.default)(`sf-skeleton`,Xn[e],i),style:{width:t,height:r}}),Qn=(0,t.createContext)(null),$n={default:`●`,info:`ℹ`,success:`✓`,warning:`⚠`,danger:`✕`},er=()=>typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`toast-${Date.now()}-${Math.random().toString(36).slice(2,9)}`,tr=({toast:e,onDismiss:t})=>{let r=e.variant??`default`;return(0,n.jsxs)(`div`,{role:r===`danger`||r===`warning`?`alert`:`status`,className:(0,G.default)(`sf-toast`,`sf-toast--${r}`),children:[(0,n.jsx)(`span`,{className:`sf-toast__icon`,"aria-hidden":`true`,children:$n[r]}),(0,n.jsxs)(`div`,{className:`sf-toast__body`,children:[e.title&&(0,n.jsx)(`p`,{className:`sf-toast__title`,children:e.title}),e.message&&(0,n.jsx)(`div`,{className:`sf-toast__message`,children:e.message}),e.action&&(0,n.jsx)(`div`,{className:`sf-toast__actions`,children:(0,n.jsx)(`button`,{type:`button`,className:`sf-toast__action`,onClick:e.action.onClick,children:e.action.label})})]}),(0,n.jsx)(`button`,{type:`button`,className:`sf-toast__close`,"aria-label":`Cerrar`,onClick:()=>t(e.id),children:`✕`})]})},nr=({toasts:e,position:t,onDismiss:r})=>e.length===0?null:(0,o.createPortal)((0,n.jsx)(`div`,{className:(0,G.default)(`sf-toast-viewport`,`sf-toast-viewport--${t}`),"aria-live":`polite`,children:e.map(e=>(0,n.jsx)(tr,{toast:e,onDismiss:r},e.id))}),document.body),rr=({children:e,position:r=`bottom-right`})=>{let[i,a]=(0,t.useState)([]),o=(0,t.useRef)(new Map),s=(0,t.useCallback)(e=>{let t=o.current.get(e);t&&(clearTimeout(t),o.current.delete(e)),a(t=>t.filter(t=>t.id!==e))},[]),c=(0,t.useCallback)(()=>{o.current.forEach(e=>clearTimeout(e)),o.current.clear(),a([])},[]),l=(0,t.useCallback)(e=>{let t=e.id??er(),n={...e,id:t},r=o.current.get(t);r&&(clearTimeout(r),o.current.delete(t)),a(e=>[...e.filter(e=>e.id!==t),n]);let i=e.duration??4e3;if(i>0){let e=setTimeout(()=>s(t),i);o.current.set(t,e)}return t},[s]);(0,t.useEffect)(()=>()=>{o.current.forEach(e=>clearTimeout(e)),o.current.clear()},[]);let u=(0,t.useMemo)(()=>({toast:l,dismiss:s,dismissAll:c}),[l,s,c]);return(0,n.jsxs)(Qn.Provider,{value:u,children:[e,(0,n.jsx)(nr,{toasts:i,position:r,onDismiss:s})]})},ir=()=>{let e=(0,t.useContext)(Qn);if(!e)throw Error(`useToast debe usarse dentro de ToastProvider`);return e},ar={sm:`sf-modal--sm`,md:`sf-modal--md`,lg:`sf-modal--lg`,xl:`sf-modal--xl`},or=({open:e,onClose:r,title:i,subtitle:a,icon:s,children:c,footer:l,subheader:u,size:d=`md`,maxWidth:f,width:p,headerVariant:m=`default`,hideHeader:h=!1,closeOnOverlay:g=!0,className:_})=>{let v=(0,t.useId)(),y=p!=null||f!=null?{width:p,maxWidth:f}:void 0,b=m===`brand`,x=m===`dark`,S=m===`danger`,C=b||x||S;return(0,t.useEffect)(()=>{if(!e)return;let t=e=>{e.key===`Escape`&&r()};document.addEventListener(`keydown`,t);let n=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.removeEventListener(`keydown`,t),document.body.style.overflow=n}},[e,r]),e?(0,o.createPortal)((0,n.jsxs)(`div`,{className:`sf-modal-root`,children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Cerrar modal`,className:`sf-modal-overlay`,onClick:g?r:void 0}),(0,n.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-labelledby":!h&&i?v:void 0,className:(0,G.default)(`sf-modal`,ar[d],_),style:y,children:[!h&&(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-modal-header`,b&&`sf-modal-header--brand`,x&&`sf-modal-header--brand sf-modal-header--dark`,S&&`sf-modal-header--brand sf-modal-header--danger`),children:[(0,n.jsxs)(`div`,{className:`sf-modal-header__main`,children:[s&&(0,n.jsx)(`span`,{className:`sf-modal-header__icon`,"aria-hidden":`true`,children:s}),(0,n.jsxs)(`div`,{className:`sf-modal-header__text`,children:[i?(0,n.jsx)(`h2`,{id:v,className:`sf-modal-title`,children:i}):(0,n.jsx)(`span`,{}),a!=null&&a!==``&&(0,n.jsx)(`p`,{className:`sf-modal-header__subtitle`,children:a})]})]}),(0,n.jsx)(`button`,{type:`button`,onClick:r,"aria-label":`Cerrar`,className:`sf-modal-close`,children:(0,n.jsx)(B,{className:`h-5 w-5`,"aria-hidden":`true`})})]}),u&&(0,n.jsx)(`div`,{className:`sf-modal-subheader`,children:u}),(0,n.jsx)(`div`,{className:`sf-modal-body`,children:c}),l&&(0,n.jsx)(`div`,{className:(0,G.default)(`sf-modal-footer`,C&&`sf-modal-footer--brand`),children:l})]})]}),document.body):null},sr=e=>{let[n,r]=(0,t.useState)({open:!1}),i=(0,t.useCallback)(t=>{r({open:!0,data:t}),e?.onOpen?.()},[e]),a=(0,t.useCallback)(()=>{r(e=>({...e,open:!1})),e?.onClose?.()},[e]);return{isOpen:n.open,open:i,close:a,data:n.data}},cr=({open:e,title:t=`Confirmar acción`,message:r=`¿Estás seguro de continuar?`,confirmLabel:i=`Confirmar`,cancelLabel:a=`Cancelar`,onConfirm:o,onCancel:s,loading:c=!1,danger:l=!0})=>(0,n.jsx)(or,{open:e,onClose:s,title:t,size:`sm`,footer:(0,n.jsxs)(Pn,{className:`justify-end`,children:[(0,n.jsx)(Q,{variant:`outline`,onClick:s,disabled:c,children:a}),(0,n.jsx)(Q,{variant:l?`danger`:`primary`,onClick:o,loading:c,children:i})]}),children:(0,n.jsx)(`p`,{className:`sf-modal-body-text`,children:r})}),lr={info:{icon:(0,n.jsx)(me,{className:`h-6 w-6`,"aria-hidden":`true`}),iconWrap:`bg-blue-50 text-blue-600`,button:`primary`},success:{icon:(0,n.jsx)(we,{className:`h-6 w-6`,"aria-hidden":`true`}),iconWrap:`bg-emerald-50 text-emerald-600`,button:`primary`},warning:{icon:(0,n.jsx)(ke,{className:`h-6 w-6`,"aria-hidden":`true`}),iconWrap:`bg-amber-50 text-amber-600`,button:`primary`},danger:{icon:(0,n.jsx)(Ae,{className:`h-6 w-6`,"aria-hidden":`true`}),iconWrap:`bg-red-50 text-red-600`,button:`danger`}},ur=({open:e,onClose:t,variant:r=`info`,title:i,message:a,actionLabel:o=`Entendido`})=>{let s=lr[r];return(0,n.jsx)(or,{open:e,onClose:t,size:`sm`,footer:(0,n.jsx)(`div`,{className:`flex justify-end`,children:(0,n.jsx)(Q,{variant:s.button,onClick:t,children:o})}),children:(0,n.jsxs)(`div`,{className:`flex flex-col items-start gap-3`,children:[(0,n.jsx)(`span`,{className:(0,G.default)(`flex h-12 w-12 items-center justify-center rounded-xl`,s.iconWrap),children:s.icon}),i&&(0,n.jsx)(`h3`,{className:`text-base font-semibold text-slate-900`,children:i}),a&&(0,n.jsx)(`div`,{className:`sf-modal-body-text text-sm`,children:a})]})})},dr=(0,t.createContext)(()=>void 0),fr=()=>(0,t.useContext)(dr),pr=({trigger:e,children:r,align:i=`end`,widthClassName:a=`w-52`,className:o})=>{let[s,c]=(0,t.useState)(!1),l=(0,t.useRef)(null),u=(0,t.useId)(),d=()=>c(!1);(0,t.useEffect)(()=>{if(!s)return;let e=e=>{l.current?.contains(e.target)||d()},t=e=>{e.key===`Escape`&&d()};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[s]);let f=typeof e==`function`?e(s):e;return(0,n.jsxs)(`div`,{ref:l,className:(0,G.default)(`relative inline-flex`,o),children:[(0,n.jsx)(`button`,{type:`button`,"aria-haspopup":`menu`,"aria-expanded":s,"aria-controls":u,onClick:()=>c(e=>!e),className:`inline-flex`,children:f}),s&&(0,n.jsx)(dr.Provider,{value:d,children:(0,n.jsx)(`div`,{id:u,role:`menu`,className:(0,G.default)(`sf-dropdown-panel`,a,i===`end`?`sf-dropdown-panel--end`:`sf-dropdown-panel--start`),children:r})})]})},mr=({label:e,onClick:t,icon:r,disabled:i=!1,danger:a=!1})=>{let o=fr();return(0,n.jsxs)(`button`,{type:`button`,role:`menuitem`,disabled:i,onClick:()=>{i||(t(),o())},className:(0,G.default)(`sf-dropdown-item`,a&&`sf-dropdown-item--danger`),children:[r&&(0,n.jsx)(r,{className:`h-4 w-4 shrink-0`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`truncate`,children:e})]})},hr=({title:e,selected:t=!1,icon:r,disabled:i,onClick:a,role:o,className:s})=>(0,n.jsxs)(`button`,{type:`button`,role:o,disabled:i,"aria-pressed":t,onClick:a,className:(0,G.default)(`sf-option-item`,t?`sf-option-item--selected`:`sf-option-item--idle`,s),children:[r&&(0,n.jsx)(`span`,{className:`sf-option-item__icon`,children:r}),(0,n.jsx)(`span`,{className:`truncate`,children:e})]}),gr=({label:e,icon:t,selected:r,className:i})=>(0,n.jsxs)(`span`,{className:(0,G.default)(`sf-tab-menu-option`,r?`sf-tab-menu-option--selected`:`sf-tab-menu-option--idle`,i),children:[t?typeof t==`string`?(0,n.jsx)(`img`,{src:t,alt:``,className:`h-5 w-5 object-contain`}):typeof t==`function`?(0,n.jsx)(t,{className:`sf-tab-menu-option__icon`,"aria-hidden":`true`}):t:null,(0,n.jsx)(`span`,{children:e})]}),_r=e=>{let n=(0,t.useRef)(null),r=(0,t.useRef)(e);return(0,t.useLayoutEffect)(()=>{r.current=e}),(0,t.useEffect)(()=>{let e=e=>{let t=n.current;t&&!t.contains(e.target)&&r.current(e)};return document.addEventListener(`mousedown`,e),document.addEventListener(`touchstart`,e),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`touchstart`,e)}},[]),n},vr=(0,t.createContext)(()=>void 0),yr=240,br=32,xr=({children:e})=>{let[r,i]=(0,t.useState)({items:[],isVisible:!1}),a=_r(()=>i({items:[],isVisible:!1}));(0,t.useEffect)(()=>{if(!r.isVisible)return;let e=e=>{e.key===`Escape`&&i({items:[],isVisible:!1})};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[r.isVisible]);let o={x:r.event?.pageX??0,y:r.event?.pageY??0},s=r.items.length*br+8;return typeof window<`u`&&(o.x+yr>=window.innerWidth&&(o.x-=yr),o.y+s>=window.innerHeight&&(o.y-=s),o.y<0&&(o.y=0),o.x<0&&(o.x=0)),(0,n.jsxs)(vr.Provider,{value:i,children:[r.isVisible&&r.event&&r.items.length>0&&(0,n.jsx)(`div`,{ref:a,role:`menu`,className:`sf-context-menu`,style:{top:o.y,left:o.x,width:yr},onContextMenu:e=>e.preventDefault(),children:r.items.map(e=>{let t=typeof e.icon==`function`?e.icon:null;return(0,n.jsxs)(`button`,{type:`button`,role:`menuitem`,disabled:e.disabled,className:`sf-context-menu__item`,onClick:()=>{e.onClick?.(r.ctxValue),i({items:[],isVisible:!1})},children:[typeof e.icon==`string`?(0,n.jsx)(`img`,{src:e.icon,alt:``,className:`h-4 w-4 object-contain`}):t?(0,n.jsx)(t,{className:`sf-context-menu__item-icon`,"aria-hidden":`true`}):null,(0,n.jsx)(`span`,{children:e.label})]},e.id)})}),e]})},Sr=(e,t)=>{let n=[];for(let r of e){let e=typeof r==`function`?r(t):r;e&&n.push(e)}return n},Cr=e=>{let n=(0,t.useContext)(vr);return(0,t.useCallback)((t,r)=>{t.preventDefault(),t.stopPropagation();let i=Sr(e,r);i.length!==0&&n({items:i,isVisible:!0,event:t,ctxValue:r})},[e,n])},wr=({open:e,onClose:r,value:i,title:a=`Código QR`,size:o=192,ariaLabel:s})=>{let l=(0,t.useId)();return(0,n.jsx)(or,{open:e,onClose:r,title:a,size:`sm`,children:(0,n.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-2`,children:[(0,n.jsx)(`div`,{role:`img`,"aria-label":s??`Código QR para ${i||`valor vacío`}`,"aria-describedby":i?l:void 0,children:(0,n.jsx)(c.default,{value:i||` `,size:o})}),i&&(0,n.jsx)(`p`,{id:l,className:`sf-qr-caption`,children:i})]})})},Tr=e=>e<=0?``:e>9?`+9`:String(e),Er=({items:e,onItemClick:t,emptyLabel:r=`Sin notificaciones`,className:i})=>{let a=Tr(e.length),o=e.length===1?`Notificaciones, 1 pendiente`:`Notificaciones, ${e.length} pendientes`;return(0,n.jsx)(pr,{className:i,widthClassName:`w-72`,align:`end`,trigger:(0,n.jsxs)(`span`,{className:`sf-notification-bell__trigger`,children:[(0,n.jsx)(De,{className:`h-5 w-5`,"aria-hidden":`true`}),a&&(0,n.jsx)(`span`,{className:`sf-notification-bell__badge`,children:a}),(0,n.jsx)(`span`,{className:`sr-only`,children:o})]}),children:(0,n.jsx)(`div`,{className:`py-1`,children:e.length===0?(0,n.jsx)(`p`,{className:`sf-notification-bell__empty`,role:`status`,children:r}):e.map(e=>(0,n.jsx)(hr,{title:e.title,role:`menuitem`,icon:(0,n.jsx)(De,{className:`h-4 w-4`,"aria-hidden":`true`}),onClick:()=>t?.(e),className:`rounded-none px-3`},e.id))})})},Dr=({content:e,children:r,placement:i=`top`,className:a,contentClassName:o})=>{let s=(0,t.useId)(),c=(0,t.isValidElement)(r)?(0,t.cloneElement)(r,{"aria-describedby":s,tabIndex:r.props.tabIndex??0}):r;return(0,n.jsxs)(`span`,{className:(0,G.default)(`sf-tooltip`,a),children:[c,(0,n.jsx)(`span`,{id:s,role:`tooltip`,className:(0,G.default)(`sf-tooltip__content`,`sf-tooltip__content--${i}`,o),children:e})]})},Or={left:{width:360},right:{width:360},top:{height:`40vh`},bottom:{height:`40vh`}},kr=({open:e,onClose:r,side:i=`right`,title:a,subtitle:s,icon:c,children:l,footer:u,subheader:d,width:f,height:p,headerVariant:m=`default`,closeOnOverlay:h=!0,className:g})=>{let _=(0,t.useId)(),v=m===`brand`;if((0,t.useEffect)(()=>{if(!e)return;let t=e=>{e.key===`Escape`&&r()};document.addEventListener(`keydown`,t);let n=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.removeEventListener(`keydown`,t),document.body.style.overflow=n}},[e,r]),!e)return null;let y={...Or[i],...i===`left`||i===`right`?{width:f??Or[i].width}:{},...i===`top`||i===`bottom`?{height:p??Or[i].height}:{}};return(0,o.createPortal)((0,n.jsxs)(`div`,{className:`sf-drawer-root`,children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Cerrar panel`,className:`sf-drawer-overlay`,onClick:h?r:void 0}),(0,n.jsxs)(`aside`,{role:`dialog`,"aria-modal":`true`,"aria-labelledby":a?_:void 0,className:(0,G.default)(`sf-drawer`,`sf-drawer--${i}`,g),style:y,children:[(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-drawer__header`,v&&`sf-drawer__header--brand`),children:[(0,n.jsxs)(`div`,{className:`sf-modal-header__main`,children:[c&&(0,n.jsx)(`span`,{className:`sf-modal-header__icon`,"aria-hidden":`true`,children:c}),(0,n.jsxs)(`div`,{className:`sf-modal-header__text`,children:[a?(0,n.jsx)(`h2`,{id:_,className:`sf-drawer__title`,children:a}):(0,n.jsx)(`span`,{}),s&&(0,n.jsx)(`p`,{className:`sf-modal-header__subtitle`,children:s})]})]}),(0,n.jsx)(`button`,{type:`button`,onClick:r,"aria-label":`Cerrar`,className:`sf-drawer__close`,children:(0,n.jsx)(B,{className:`h-5 w-5`,"aria-hidden":`true`})})]}),d&&(0,n.jsx)(`div`,{className:`sf-drawer-subheader`,children:d}),(0,n.jsx)(`div`,{className:`sf-drawer__body`,children:l}),u&&(0,n.jsx)(`div`,{className:(0,G.default)(`sf-drawer__footer`,v&&`sf-drawer__footer--brand`),children:u})]})]}),document.body)},Ar=kr,jr=typeof navigator<`u`&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Mr=({onOpenChange:e,items:r,placeholder:i,emptyMessage:a,className:o})=>{let s=(0,t.useRef)(null),[c,l]=(0,t.useState)(``),[u,d]=(0,t.useState)(0),f=(0,t.useMemo)(()=>{let e=c.trim().toLowerCase();return e?r.filter(t=>`${t.label} ${t.group??``} ${t.keywords??``}`.toLowerCase().includes(e)):r},[r,c]),p=f.length===0?0:Math.min(u,f.length-1);(0,t.useEffect)(()=>{let t=window.setTimeout(()=>s.current?.focus(),0),n=t=>{t.key===`Escape`&&e(!1)};document.addEventListener(`keydown`,n);let r=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{window.clearTimeout(t),document.removeEventListener(`keydown`,n),document.body.style.overflow=r}},[e]);let m=t=>{t.onSelect(),e(!1)};return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-command-palette-root`,o),children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Cerrar paleta`,className:`sf-command-palette-overlay`,onClick:()=>e(!1)}),(0,n.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-label":`Paleta de comandos`,className:`sf-command-palette`,children:[(0,n.jsxs)(`div`,{className:`sf-command-palette__input-wrap`,children:[(0,n.jsx)(`input`,{ref:s,type:`search`,value:c,placeholder:i,onChange:e=>{l(e.target.value),d(0)},onKeyDown:e=>{f.length!==0&&(e.key===`ArrowDown`?(e.preventDefault(),d(e=>(e+1)%f.length)):e.key===`ArrowUp`?(e.preventDefault(),d(e=>(e-1+f.length)%f.length)):e.key===`Enter`&&(e.preventDefault(),m(f[p])))},className:`sf-command-palette__input`}),(0,n.jsx)(`span`,{className:`sf-command-palette__hint`,children:jr?`⌘K`:`Ctrl+K`})]}),(0,n.jsx)(`div`,{className:`sf-command-palette__list`,role:`listbox`,children:f.length===0?(0,n.jsx)(`p`,{className:`sf-command-palette__empty`,children:a}):f.map((e,t)=>(0,n.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":t===p,onMouseEnter:()=>d(t),onClick:()=>m(e),className:(0,G.default)(`sf-command-palette__item`,t===p&&`sf-command-palette__item--active`),children:[(0,n.jsx)(`span`,{children:e.label}),e.group&&(0,n.jsx)(`span`,{className:`sf-command-palette__group`,children:e.group})]},e.id))})]})]})},Nr=({open:e,onOpenChange:r,items:i,placeholder:a=`Buscar acción…`,emptyMessage:s=`Sin resultados`,enableShortcut:c=!0,className:l})=>((0,t.useEffect)(()=>{if(!c)return;let t=t=>{(t.metaKey||t.ctrlKey)&&t.key.toLowerCase()===`k`&&(t.preventDefault(),r(!e))};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[c,r,e]),e?(0,o.createPortal)((0,n.jsx)(Mr,{onOpenChange:r,items:i,placeholder:a,emptyMessage:s,className:l}),document.body):null),Pr=(e,t)=>{switch(t){case`top`:return{top:e.top-12,left:e.left+e.width/2,transform:`translate(-50%, -100%)`};case`left`:return{top:e.top+e.height/2,left:e.left-12,transform:`translate(-100%, -50%)`};case`right`:return{top:e.top+e.height/2,left:e.left+e.width+12,transform:`translateY(-50%)`};default:return{top:e.top+e.height+12,left:e.left+e.width/2,transform:`translateX(-50%)`}}},Fr=({open:e,onOpenChange:r,steps:i,stepIndex:a,onStepChange:s,className:c})=>{let[l,u]=(0,t.useState)(0),[d,f]=(0,t.useState)(null),p=a??l,m=i[p],h=(0,t.useCallback)(e=>{a===void 0&&u(e),s?.(e)},[a,s]),g=(0,t.useCallback)(()=>{if(!m){f(null);return}let e=document.querySelector(m.target);if(!e){f(null);return}let t=e.getBoundingClientRect();f({top:t.top,left:t.left,width:t.width,height:t.height})},[m]);if((0,t.useLayoutEffect)(()=>{if(!e)return;let t=window.requestAnimationFrame(()=>g());return()=>window.cancelAnimationFrame(t)},[g,e,p]),(0,t.useEffect)(()=>{if(!e)return;let t=()=>g();return window.addEventListener(`resize`,t),window.addEventListener(`scroll`,t,!0),()=>{window.removeEventListener(`resize`,t),window.removeEventListener(`scroll`,t,!0)}},[g,e]),(0,t.useEffect)(()=>{if(!e)return;let t=e=>{e.key===`Escape`&&r(!1)};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[r,e]),!e||!m)return null;let _=p>=i.length-1,v=d?Pr(d,m.placement??`bottom`):void 0;return(0,o.createPortal)((0,n.jsxs)(`div`,{className:(0,G.default)(`sf-product-tour-root`,c),children:[(0,n.jsx)(`div`,{className:`sf-product-tour-overlay`}),d&&(0,n.jsx)(`div`,{className:`sf-product-tour-spotlight`,style:{top:d.top-4,left:d.left-4,width:d.width+8,height:d.height+8}}),(0,n.jsxs)(`div`,{className:`sf-product-tour-card`,style:v,children:[(0,n.jsxs)(`p`,{className:`sf-product-tour-card__step`,children:[`Paso `,p+1,` de `,i.length]}),(0,n.jsx)(`h3`,{className:`sf-product-tour-card__title`,children:m.title}),m.description&&(0,n.jsx)(`p`,{className:`sf-product-tour-card__desc`,children:m.description}),(0,n.jsxs)(`div`,{className:`sf-product-tour-card__actions`,children:[(0,n.jsx)(Q,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>r(!1),children:`Omitir`}),_?(0,n.jsx)(Q,{type:`button`,size:`sm`,onClick:()=>r(!1),children:`Finalizar`}):(0,n.jsx)(Q,{type:`button`,size:`sm`,onClick:()=>h(p+1),children:`Siguiente`})]})]})]}),document.body)},Ir=({children:e,className:t,padded:r=!0})=>(0,n.jsx)(`div`,{className:(0,G.default)(`sf-page-container`,r&&`sf-page-container--padded`,t),children:e}),Lr=({children:e,className:t,padded:r=!0})=>(0,n.jsx)(`div`,{className:(0,G.default)(`sf-table-page-layout`,r&&`sf-table-page-layout--padded`,t),children:e}),Rr=({title:e,subtitle:t,eyebrow:r,icon:i,actions:a,className:o,tone:s=`default`,sticky:c=!0})=>(0,n.jsxs)(`header`,{className:(0,G.default)(`sf-page-header`,s===`app`&&`sf-page-header--app`,!c&&`sf-page-header--static`,o),children:[(0,n.jsxs)(`div`,{className:`sf-page-header__main`,children:[i&&(0,n.jsx)(`span`,{className:`sf-page-header__icon`,children:i}),(0,n.jsxs)(`div`,{className:`min-w-0`,children:[r&&(0,n.jsx)(`p`,{className:`sf-page-header__eyebrow`,children:r}),(0,n.jsx)(`h1`,{className:`sf-page-header__title`,children:e}),t&&(0,n.jsx)(`p`,{className:`sf-page-header__subtitle`,children:t})]})]}),a&&(0,n.jsx)(`div`,{className:`sf-page-header__actions`,children:a})]}),zr=({open:e,title:t,subtitle:r,onClose:i,width:a=420,side:o=`right`,children:s,footer:c,className:l})=>(0,n.jsxs)(`aside`,{"aria-hidden":!e,className:(0,G.default)(`sf-side-panel`,o===`right`?`sf-side-panel--right`:`sf-side-panel--left`,e?`sf-side-panel--open`:`sf-side-panel--closed`,l),style:{width:e?a:0},children:[(t||r||i)&&(0,n.jsxs)(`div`,{className:`sf-side-panel__header`,children:[(0,n.jsxs)(`div`,{className:`sf-side-panel__heading`,children:[t?(0,n.jsx)(`h2`,{className:`sf-side-panel__title`,children:t}):null,r?(0,n.jsx)(`p`,{className:`sf-side-panel__subtitle`,children:r}):null]}),i&&(0,n.jsx)(`button`,{type:`button`,onClick:i,"aria-label":`Cerrar panel`,className:`sf-side-panel__close`,children:(0,n.jsx)(B,{className:`h-4 w-4`,"aria-hidden":`true`})})]}),(0,n.jsx)(`div`,{className:`sf-side-panel__body`,children:s}),c&&(0,n.jsx)(`div`,{className:`sf-side-panel__footer`,children:c})]}),Br=({tabs:e,value:t,onChange:r,className:i,variant:a=`underline`})=>{let o=a===`segmented`,s=a===`accentUnderline`;return(0,n.jsx)(`div`,{className:(0,G.default)(`sf-tabs`,o&&`sf-tabs--segmented`,s&&`sf-tabs--accent-underline`,i),role:`tablist`,children:e.map(e=>{let i=e.id===t;return(0,n.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":i,disabled:e.disabled,onClick:()=>r(e.id),className:(0,G.default)(`sf-tab`,i&&`sf-tab--active`,o&&`sf-tab--segmented`,s&&`sf-tab--accent-underline`),children:[e.icon&&(0,n.jsx)(`span`,{className:(0,G.default)(`sf-tab__icon`,i&&`sf-tab__icon--active`),"aria-hidden":`true`,children:e.icon}),(0,n.jsx)(`span`,{className:`sf-tab__label`,children:e.label}),e.count!=null&&e.count!==``&&(0,n.jsx)(`span`,{className:(0,G.default)(`sf-tab__count`,i&&`sf-tab__count--active`),children:e.count})]},e.id)})})},Vr=(e=!1)=>{let[n,r]=(0,t.useState)(e);return{isOpen:n,openPanel:(0,t.useCallback)(()=>r(!0),[]),closePanel:(0,t.useCallback)(()=>r(!1),[]),toggle:(0,t.useCallback)(()=>r(e=>!e),[])}},Hr=(0,t.createContext)({isOpen:!1,openPanel:()=>void 0,closePanel:()=>void 0,toggle:()=>void 0}),Ur=()=>(0,t.useContext)(Hr),Wr=e=>typeof e==`number`?`${e}px`:e==null?`420px`:String(e),Gr=({children:e,panel:r,width:i=`420px`,handle:a,closeOnClickOutside:o=!1,ariaLabel:s=`Panel lateral`,className:c})=>{let l=Vr(),{isOpen:u,openPanel:d,closePanel:f,toggle:p}=a??l,m=_r(()=>{o&&u&&f()}),h=Wr(i),g=typeof r==`function`?r(u):r,_=(0,t.useMemo)(()=>({isOpen:u,openPanel:d,closePanel:f,toggle:p}),[u,d,f,p]);return(0,t.useEffect)(()=>{if(!u)return;let e=e=>{e.key===`Escape`&&f()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[f,u]),(0,n.jsx)(Hr.Provider,{value:_,children:(0,n.jsxs)(`div`,{className:(0,G.default)(`relative h-full overflow-hidden`,c),children:[(0,n.jsx)(`div`,{className:`h-full min-w-0`,children:e}),(0,n.jsx)(`div`,{ref:m,"aria-hidden":!u,role:`dialog`,"aria-modal":`false`,"aria-label":s,className:(0,G.default)(`sf-side-panel-container__panel`,!u&&`sf-side-panel-container__panel--closed`),style:{width:h,right:0,transform:u?`translateX(0)`:`translateX(calc(100% + 1px))`},onClick:e=>e.stopPropagation(),children:g})]})})},Kr=(0,t.createContext)(null),qr=({height:e,children:t})=>(0,n.jsx)(Kr.Provider,{value:e,children:t}),Jr=()=>(0,t.useContext)(Kr),Yr=({visible:e,children:t,className:r})=>(0,n.jsx)(`div`,{className:(0,G.default)(!e&&`hidden`,r),children:t}),Xr=Yr,Zr=({orientation:e=`horizontal`,className:t})=>(0,n.jsx)(`div`,{role:`separator`,"aria-orientation":e,className:(0,G.default)(`sf-separator`,`sf-separator--${e}`,t)}),Qr=({items:e,separator:t=`/`,className:r,ariaLabel:i=`Ruta de navegación`})=>e.length===0?null:(0,n.jsx)(`nav`,{"aria-label":i,className:(0,G.default)(`sf-breadcrumb`,r),children:(0,n.jsx)(`ol`,{className:`sf-breadcrumb__list`,children:e.map((r,i)=>{let a=i===e.length-1,o=r.current??a;return(0,n.jsxs)(`li`,{className:`sf-breadcrumb__item`,children:[i>0&&(0,n.jsx)(`span`,{className:`sf-breadcrumb__separator`,"aria-hidden":`true`,children:t}),o?(0,n.jsx)(`span`,{className:`sf-breadcrumb__current`,"aria-current":`page`,children:r.label}):r.href?(0,n.jsx)(`a`,{href:r.href,className:`sf-breadcrumb__link`,children:r.label}):r.onClick?(0,n.jsx)(`button`,{type:`button`,className:`sf-breadcrumb__link`,onClick:r.onClick,children:r.label}):(0,n.jsx)(`span`,{children:r.label})]},i)})})}),$r=(e,t,n)=>{let r=e.includes(t);return n===`single`?r?[]:[t]:r?e.filter(e=>e!==t):[...e,t]},ei=({items:e,type:r=`single`,defaultValue:i=[],value:a,onChange:o,className:s})=>{let c=(0,t.useId)(),[l,u]=(0,t.useState)(i),d=a??l,f=(0,t.useCallback)((e,t)=>{if(t)return;let n=$r(d,e,r);a===void 0&&u(n),o?.(n)},[d,o,r,a]);return(0,n.jsx)(`div`,{className:(0,G.default)(`sf-accordion`,s),children:e.map(e=>{let t=d.includes(e.id),r=`${c}-${e.id}-trigger`,i=`${c}-${e.id}-panel`;return(0,n.jsxs)(`div`,{className:`sf-accordion__item`,children:[(0,n.jsxs)(`button`,{type:`button`,id:r,"aria-expanded":t,"aria-controls":i,disabled:e.disabled,onClick:()=>f(e.id,e.disabled),className:(0,G.default)(`sf-accordion__trigger`,t&&`sf-accordion__trigger--open`),children:[(0,n.jsx)(`span`,{children:e.title}),(0,n.jsx)(`span`,{className:`sf-accordion__chevron`,"aria-hidden":`true`,children:`▾`})]}),t&&(0,n.jsx)(`div`,{id:i,role:`region`,"aria-labelledby":r,className:`sf-accordion__panel`,children:(0,n.jsx)(`div`,{className:`sf-accordion__content`,children:e.content})})]},e.id)})})},ti=({children:e,maxHeight:t,maxWidth:r,className:i,ariaLabel:a})=>(0,n.jsx)(`div`,{className:(0,G.default)(`sf-scroll-area`,i),style:{maxHeight:t,maxWidth:r},tabIndex:0,role:a?`region`:void 0,"aria-label":a,children:e}),ni=({label:e,value:t,className:r})=>(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-summary-item`,r),children:[(0,n.jsx)(`p`,{className:`sf-summary-item__label`,children:e}),(0,n.jsx)(`p`,{className:`sf-summary-item__value`,children:t})]}),ri=(e,t,n,r)=>{if(e.status)return e.status;if(!t)return n===0?`active`:`pending`;let i=r.findIndex(e=>e.key===t);return n<i?`completed`:n===i?`active`:`pending`},ii={completed:`sf-step__circle--completed`,active:`sf-step__circle--active`,pending:`sf-step__circle--pending`,error:`sf-step__circle--error`},ai={completed:`sf-step__label--completed`,active:`sf-step__label--active`,pending:`sf-step__label--pending`,error:`sf-step__label--error`},oi=(e,t)=>e===`completed`?`✓`:e===`error`?`✕`:String(t+1),si=({status:e,index:t,label:r,size:i,onClick:a})=>{let o=(0,G.default)(`sf-step__circle`,i===`sm`?`sf-step__circle--sm`:`sf-step__circle--md`,ii[e],a?`sf-step__circle--clickable`:`sf-step__circle--default`),s=`Paso ${t+1}: ${r}`;return a?(0,n.jsx)(`button`,{type:`button`,onClick:a,"aria-label":s,"aria-current":e===`active`?`step`:void 0,className:o,children:oi(e,t)}):(0,n.jsx)(`span`,{className:o,"aria-label":s,"aria-current":e===`active`?`step`:void 0,children:oi(e,t)})},ci=({done:e,orientation:t})=>(0,n.jsx)(`div`,{"aria-hidden":`true`,className:(0,G.default)(`sf-step__connector`,t===`horizontal`?`sf-step__connector--horizontal`:`sf-step__connector--vertical`,e?`sf-step__connector--done`:`sf-step__connector--pending`)}),li=({steps:e,activeKey:t,orientation:r=`horizontal`,size:i=`md`,variant:a=`default`,onStepClick:o,className:s})=>{let c=a===`accentUnderline`;if(r===`horizontal`&&a===`inline`){let r=i===`sm`?`1.5rem`:`1.875rem`;return(0,n.jsx)(`div`,{className:(0,G.default)(`sf-stepper sf-stepper--inline`,s),style:{"--sf-step-circle-size":r},role:`list`,"aria-label":`Progreso`,children:e.map((r,a)=>{let s=ri(r,t,a,e),c=a===e.length-1;return(0,n.jsxs)(`div`,{className:`sf-stepper__inline-group`,role:`listitem`,children:[(0,n.jsxs)(`div`,{className:`sf-stepper__inline-item`,children:[(0,n.jsx)(si,{status:s,index:a,label:r.label,size:i,onClick:s===`completed`&&o?()=>o(r.key):void 0}),(0,n.jsx)(`span`,{className:(0,G.default)(`sf-stepper__inline-label`,ai[s]),children:r.label})]}),!c&&(0,n.jsx)(`div`,{"aria-hidden":`true`,className:(0,G.default)(`sf-stepper__inline-connector`,s===`completed`&&`sf-stepper__inline-connector--done`)})]},r.key)})})}if(r===`horizontal`){let r=i===`sm`?`1.5rem`:`2rem`;return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-stepper sf-stepper--horizontal`,c&&`sf-stepper--accent-underline`,s),style:{"--sf-step-circle-size":r},role:`list`,"aria-label":`Progreso`,children:[(0,n.jsx)(`div`,{className:`sf-stepper__track`,children:e.map((r,a)=>{let s=ri(r,t,a,e),c=a>0?ri(e[a-1],t,a-1,e):null,l=a===e.length-1;return(0,n.jsx)(`div`,{className:(0,G.default)(`sf-stepper__segment`,a>0&&c===`completed`&&`sf-stepper__segment--before-done`,!l&&s===`completed`&&`sf-stepper__segment--after-done`),role:`listitem`,children:(0,n.jsx)(si,{status:s,index:a,label:r.label,size:i,onClick:s===`completed`&&o?()=>o(r.key):void 0})},r.key)})}),(0,n.jsx)(`div`,{className:`sf-stepper__labels`,style:{gridTemplateColumns:`repeat(${e.length}, minmax(0, 1fr))`},children:e.map((r,i)=>{let a=ri(r,t,i,e);return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-stepper__label-col`,c&&a===`active`&&`sf-stepper__label-col--active`),children:[(0,n.jsx)(`p`,{className:(0,G.default)(`sf-stepper__label`,ai[a]),children:r.label}),r.sublabel&&(0,n.jsx)(`p`,{className:`sf-stepper__sublabel`,children:r.sublabel})]},r.key)})})]})}return(0,n.jsx)(`div`,{className:(0,G.default)(`sf-stepper sf-stepper--vertical`,s),role:`list`,"aria-label":`Progreso`,children:e.map((r,a)=>{let s=ri(r,t,a,e),c=a===e.length-1,l=ri(e[a],t,a,e)===`completed`;return(0,n.jsxs)(`div`,{className:`sf-stepper__step-row`,role:`listitem`,children:[(0,n.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,n.jsx)(si,{status:s,index:a,label:r.label,size:i,onClick:s===`completed`&&o?()=>o(r.key):void 0}),!c&&(0,n.jsx)(ci,{done:l,orientation:`vertical`})]}),(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-stepper__vertical-body`,c&&`sf-stepper__vertical-body--last`),children:[(0,n.jsx)(`p`,{className:(0,G.default)(`mt-1 text-sm leading-tight`,ai[s]),children:r.label}),r.sublabel&&(0,n.jsx)(`p`,{className:`sf-stepper__sublabel`,children:r.sublabel})]})]},r.key)})})},ui=(0,n.jsx)(U,{"aria-hidden":`true`}),di=({steps:e,activeKey:r,defaultActiveKey:i,onActiveKeyChange:a,onFinish:o,nextLabel:s=`Siguiente`,prevLabel:c=`Anterior`,finishLabel:l=`Finalizar`,showStepProgress:u=!1,stepperVariant:d=`default`,footerVariant:f=`default`,hidePrevOnFirst:p=!0,nextIcon:m=ui,primaryVariant:h=`primary`,orientation:g=`horizontal`})=>{let _=e[0]?.key??``,[v,y]=(0,t.useState)(i??_),[b,x]=(0,t.useState)(new Set),[S,C]=(0,t.useState)(!1),w=r??v,T=(0,t.useCallback)(e=>{r===void 0&&y(e),a?.(e)},[r,a]),E=(0,t.useMemo)(()=>Math.max(0,e.findIndex(e=>e.key===w)),[w,e]),D=e[E],O=E===0,k=E===e.length-1,A=(0,t.useMemo)(()=>e.map((e,t)=>{let n;return b.has(e.key)?n=`error`:t<E?n=`completed`:t===E&&(n=`active`),{key:e.key,label:e.label,sublabel:e.sublabel,status:n}}),[E,b,e]),j=(0,t.useCallback)(async t=>{if(t===`prev`){if(O)return;T(e[E-1].key);return}let n=D?.validate;if(n){C(!0);try{if(!await n()){x(e=>new Set(e).add(D.key));return}}finally{C(!1)}}if(x(e=>{if(!e.has(D.key))return e;let t=new Set(e);return t.delete(D.key),t}),k){o?.();return}T(e[E+1].key)},[E,D,O,k,o,T,e]),M=(0,n.jsx)(li,{steps:A,activeKey:w,orientation:g,variant:d,onStepClick:t=>{let n=e.findIndex(e=>e.key===t);n>=0&&n<E&&T(t)}}),N=D?.content??null,P=!(p&&O);return{activeKey:w,activeIndex:E,stepper:M,content:N,footer:(0,n.jsxs)(`div`,{className:[`sf-form-wizard__footer`,f===`brand`&&`sf-form-wizard__footer--brand`,`sf-form-wizard__footer--end`].filter(Boolean).join(` `),children:[u&&e.length>0&&(0,n.jsxs)(`p`,{className:`sf-form-wizard__progress`,"aria-live":`polite`,children:[`Paso `,E+1,` de `,e.length]}),(0,n.jsxs)(Pn,{className:`sf-form-wizard__actions`,children:[P&&(0,n.jsx)(Q,{type:`button`,variant:`outline`,disabled:O||S,onClick:()=>j(`prev`),children:c}),(0,n.jsx)(Q,{type:`button`,variant:h,loading:S,icon:S?void 0:m,iconPosition:`end`,onClick:()=>j(`next`),children:k?l:s})]})]}),isFirst:O,isLast:k,goToStep:j}},fi=({contentBorderless:e=!1,hideFooter:t=!1,className:r,...i})=>{let a=di(i);return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-form-wizard`,r),children:[a.stepper,(0,n.jsx)(`div`,{className:(0,G.default)(`sf-form-wizard__content`,e&&`sf-form-wizard__content--borderless`),children:a.content}),!t&&a.footer]})},pi=({title:e,subtitle:t,meta:r,status:i,icon:a,active:o=!1,onClick:s,className:c})=>(0,n.jsxs)(s?`button`:`article`,{type:s?`button`:void 0,onClick:s,className:(0,G.default)(`sf-master-detail-list-item`,o&&`sf-master-detail-list-item--active`,s&&`sf-master-detail-list-item--interactive`,c),children:[a&&(0,n.jsx)(`span`,{className:`sf-master-detail-list-item__icon`,children:a}),(0,n.jsxs)(`span`,{className:`sf-master-detail-list-item__body`,children:[(0,n.jsx)(`span`,{className:`sf-master-detail-list-item__title`,children:e}),t&&(0,n.jsx)(`span`,{className:`sf-master-detail-list-item__subtitle`,children:t}),r&&(0,n.jsx)(`span`,{className:`sf-master-detail-list-item__meta`,children:r})]}),i&&(0,n.jsx)(`span`,{className:`sf-master-detail-list-item__status`,children:i})]}),mi=({listHeader:e,list:t,detail:r,listWidth:i=`18rem`,className:a,ariaLabel:o=`Vista maestro detalle`})=>(0,n.jsxs)(`section`,{className:(0,G.default)(`sf-master-detail-layout`,a),"aria-label":o,children:[(0,n.jsxs)(`aside`,{className:`sf-master-detail-layout__list`,style:{width:i},children:[e&&(0,n.jsx)(`div`,{className:`sf-master-detail-layout__list-header`,children:e}),(0,n.jsx)(`div`,{className:`sf-master-detail-layout__list-body`,children:t})]}),(0,n.jsx)(`div`,{className:`sf-master-detail-layout__detail`,children:r})]}),hi=({children:e,onApply:t,applyLabel:r=`Aplicar`,applyLoading:i=!1,className:a,ariaLabel:o=`Filtros`})=>(0,n.jsxs)(`section`,{className:(0,G.default)(`sf-filter-bar`,a),"aria-label":o,children:[(0,n.jsx)(`div`,{className:`sf-filter-bar__fields`,children:e}),t&&(0,n.jsx)(`div`,{className:`sf-filter-bar__actions`,children:(0,n.jsx)(Q,{type:`button`,size:`sm`,loading:i,onClick:t,children:r})})]}),gi=({label:e,children:t,className:r})=>(0,n.jsxs)(`label`,{className:(0,G.default)(`sf-filter-bar__field`,r),children:[(0,n.jsx)(`span`,{className:`sf-filter-bar__label`,children:e}),(0,n.jsx)(`div`,{className:`sf-filter-bar__control`,children:t})]}),_i=({value:e,defaultValue:t,onChange:r,disabled:i,className:a,id:o,"aria-label":s})=>(0,n.jsx)(`input`,{type:`date`,id:o,"aria-label":s,value:e,defaultValue:e===void 0?t:void 0,disabled:i,className:(0,G.default)(`sf-filter-bar__input`,a),onChange:r?e=>r(e.target.value):void 0}),vi=({value:e,defaultValue:t,onChange:r,options:i,placeholder:a,disabled:o,className:s,id:c,"aria-label":l})=>(0,n.jsxs)(`select`,{id:c,"aria-label":l,value:e,defaultValue:e===void 0?t:void 0,disabled:o,className:(0,G.default)(`sf-filter-bar__input`,s),onChange:r?e=>r(e.target.value):void 0,children:[a&&(0,n.jsx)(`option`,{value:``,disabled:!0,children:a}),i.map(e=>(0,n.jsx)(`option`,{value:e.value,disabled:e.disabled,children:e.label},e.value))]}),yi=({value:e,defaultValue:t,onChange:r,placeholder:i,disabled:a,className:o,id:s,"aria-label":c})=>(0,n.jsx)(`input`,{type:`search`,id:s,"aria-label":c??i,placeholder:i,value:e,defaultValue:e===void 0?t:void 0,disabled:a,className:(0,G.default)(`sf-filter-bar__input`,o),onChange:r?e=>r(e.target.value):void 0}),bi=({title:e,searchValue:t=``,onSearchChange:r,searchPlaceholder:i=`Buscar en todos los campos…`,onNew:a,newLabel:o=`Nuevo`,actions:s,children:c,footer:l,className:u,ariaLabel:d=`Listado maestro`})=>(0,n.jsxs)(`section`,{className:(0,G.default)(`sf-maestro-layout`,u),"aria-label":d,children:[(0,n.jsxs)(`header`,{className:`sf-maestro-layout__toolbar`,children:[(0,n.jsx)(`h2`,{className:`sf-maestro-layout__title`,children:e}),(0,n.jsxs)(`div`,{className:`sf-maestro-layout__actions`,children:[r&&(0,n.jsxs)(`div`,{className:`sf-maestro-layout__search`,children:[(0,n.jsx)(V,{className:`sf-maestro-layout__search-icon`,"aria-hidden":`true`}),(0,n.jsx)(yi,{value:t,onChange:r,placeholder:i,"aria-label":i})]}),s,a&&(0,n.jsx)(Q,{type:`button`,size:`sm`,icon:(0,n.jsx)(ue,{"aria-hidden":`true`}),onClick:a,children:o})]})]}),(0,n.jsx)(`div`,{className:`sf-maestro-layout__body`,children:c}),l&&(0,n.jsx)(`footer`,{className:`sf-maestro-layout__footer`,children:l})]}),xi=({stops:e,originLabel:t,destinationLabel:r})=>(0,n.jsxs)(`div`,{className:`sf-itinerary-editor__map`,"aria-hidden":`true`,children:[(0,n.jsx)(`div`,{className:`sf-itinerary-editor__map-grid`}),e.length>=2&&(0,n.jsx)(`div`,{className:`sf-itinerary-editor__map-path`}),e.map((t,r)=>(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-itinerary-editor__map-pin`,r===0&&`sf-itinerary-editor__map-pin--origin`,r===e.length-1&&e.length>1&&`sf-itinerary-editor__map-pin--destination`),style:{left:`${12+r/Math.max(e.length-1,1)*76}%`,top:r%2==0?`38%`:`58%`},children:[(0,n.jsx)(H,{}),(0,n.jsxs)(`span`,{children:[t.order,`. `,t.name]})]},t.id)),e.length===0&&(0,n.jsxs)(`p`,{className:`sf-itinerary-editor__map-empty`,children:[t,` → `,r]})]}),Si=({eyebrow:e,title:t=`Itinerario de paradas`,action:r,originLabel:i,destinationLabel:a,stops:o,mapSlot:s,className:c})=>(0,n.jsxs)(`section`,{className:(0,G.default)(`sf-itinerary-editor`,c),"aria-label":t,children:[(0,n.jsxs)(`div`,{className:`sf-itinerary-editor__header`,children:[(0,n.jsxs)(`div`,{children:[e&&(0,n.jsx)(`p`,{className:`sf-itinerary-editor__eyebrow`,children:e}),(0,n.jsx)(`h3`,{className:`sf-itinerary-editor__title`,children:t})]}),r]}),(0,n.jsxs)(`div`,{className:`sf-itinerary-editor__summary`,children:[(0,n.jsx)(`span`,{className:`sf-itinerary-editor__summary-dot sf-itinerary-editor__summary-dot--origin`}),(0,n.jsx)(`span`,{children:i}),(0,n.jsx)(`span`,{className:`sf-itinerary-editor__summary-arrow`,"aria-hidden":`true`,children:`→`}),(0,n.jsx)(`span`,{className:`sf-itinerary-editor__summary-dot sf-itinerary-editor__summary-dot--destination`}),(0,n.jsx)(`span`,{children:a})]}),s??(0,n.jsx)(xi,{stops:o,originLabel:i,destinationLabel:a}),(0,n.jsx)(`ol`,{className:`sf-itinerary-editor__stops`,children:o.map((e,t)=>(0,n.jsxs)(`li`,{className:`sf-itinerary-editor__stop`,children:[t!==o.length-1&&(0,n.jsx)(`span`,{className:`sf-itinerary-editor__stop-line`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`sf-itinerary-editor__stop-marker`,children:e.order}),(0,n.jsxs)(`article`,{className:`sf-itinerary-editor__stop-card`,children:[(0,n.jsxs)(`div`,{className:`sf-itinerary-editor__stop-content`,children:[(0,n.jsx)(`p`,{className:`sf-itinerary-editor__stop-name`,children:e.name}),e.subtitle&&(0,n.jsx)(`p`,{className:`sf-itinerary-editor__stop-subtitle`,children:e.subtitle})]}),(0,n.jsxs)(`div`,{className:`sf-itinerary-editor__stop-actions`,children:[e.onGps&&(0,n.jsx)(Q,{type:`button`,variant:`outline`,size:`sm`,onClick:e.onGps,children:`GPS`}),e.onRemove&&(0,n.jsx)(`button`,{type:`button`,className:`sf-itinerary-editor__stop-remove`,"aria-label":`Eliminar parada ${e.name}`,onClick:e.onRemove,children:(0,n.jsx)(ae,{"aria-hidden":`true`})})]})]})]},e.id))})]}),Ci=e=>{let t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?`?`:t.length===1?t[0].slice(0,2):`${t[0][0]??``}${t[1][0]??``}`},wi=({src:e,alt:r=``,fallback:i,size:a=`md`,variant:o=`default`,shape:s=`circle`,className:c,imgProps:l})=>{let[u,d]=(0,t.useState)(!1),f=!!e&&!u;return(0,n.jsx)(`span`,{className:(0,G.default)(`sf-avatar`,`sf-avatar--${a}`,o===`accent`&&`sf-avatar--accent`,s===`rounded`&&`sf-avatar--rounded`,c),children:f?(0,n.jsx)(`img`,{...l,src:e,alt:r,className:`sf-avatar__image`,onError:()=>d(!0)}):(0,n.jsx)(`span`,{className:`sf-avatar__fallback`,"aria-hidden":!!(i??r),children:i??Ci(r||`?`)})})},Ti=({children:e,max:r=4,size:i=`md`,className:a})=>{let o=t.Children.toArray(e).filter(t.isValidElement),s=r>0?o.slice(0,r):o,c=o.length-s.length;return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-avatar-group`,a),children:[c>0&&(0,n.jsxs)(`span`,{className:(0,G.default)(`sf-avatar-group__overflow`,`sf-avatar-group__overflow--${i}`),children:[`+`,c]}),s.map((e,t)=>(0,n.jsx)(`span`,{className:`sf-avatar-group__item`,children:e},t))]})},Ei=({variant:e=`neutral`,size:t=`sm`,shape:n=`pill`,className:r})=>(0,G.default)(`sf-badge`,t===`sm`?`sf-badge--sm`:`sf-badge--md`,n===`circle`&&`sf-badge--circle`,e===`neutral`&&`sf-badge--neutral`,e===`primary`&&`sf-badge--primary`,e===`success`&&`sf-badge--success`,e===`warning`&&`sf-badge--warning`,e===`danger`&&`sf-badge--danger`,e===`info`&&`sf-badge--info`,r),Di=e=>(0,G.default)(`sf-badge-dot`,e===`neutral`&&`sf-badge-dot--neutral`,e===`primary`&&`sf-badge-dot--primary`,e===`success`&&`sf-badge-dot--success`,e===`warning`&&`sf-badge-dot--warning`,e===`danger`&&`sf-badge-dot--danger`,e===`info`&&`sf-badge-dot--info`),Oi=({label:e,variant:t=`neutral`,dot:r=!1,size:i=`sm`,shape:a=`pill`,className:o})=>a===`circle`?(0,n.jsx)(`span`,{className:Ei({variant:t,size:i,shape:`circle`,className:o}),children:e}):(0,n.jsxs)(`span`,{className:Ei({variant:t,size:i,className:o}),children:[r&&(0,n.jsx)(`span`,{className:Di(t),"aria-hidden":`true`}),e]}),ki=({size:e=15})=>(0,n.jsx)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2.6,children:(0,n.jsx)(`path`,{d:`M20 6 9 17l-5-5`})}),Ai=({size:e=14})=>(0,n.jsx)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2.6,children:(0,n.jsx)(`path`,{d:`M18 6 6 18M6 6l12 12`})}),ji={display:`flex`,alignItems:`center`,gap:11,padding:`7px 8px`,borderRadius:9},Mi=(e,t)=>({width:30,height:30,borderRadius:`50%`,background:e??`var(--sf-surface-alt, #EEF0F2)`,color:t??`var(--sf-text, #1B2A38)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontWeight:800,fontSize:10,flex:`none`}),Ni={fontSize:12.5,fontWeight:700,color:`var(--sf-text, #1B2A38)`,whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`},Pi={fontSize:10.5,fontWeight:600,color:`var(--sf-text-subtle, #8A98A4)`,fontVariantNumeric:`tabular-nums`},Fi=({initials:e,name:t,subtitle:r,avatarBg:i,avatarFg:a,onRemove:o,onBoard:s,onAbsent:c,boardLabel:l,className:u})=>(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-passenger-board-card sf-passenger-board-card--rich`,u),style:ji,children:[(0,n.jsx)(`div`,{style:Mi(i,a),children:e}),(0,n.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,n.jsx)(`div`,{style:Ni,children:t}),r!=null&&(0,n.jsx)(`div`,{style:Pi,children:r})]}),o&&(0,n.jsx)(`button`,{type:`button`,onClick:o,title:`Quitar de la unidad`,style:{width:30,height:30,border:`1.5px solid #2E9E5B`,borderRadius:8,background:`#2E9E5B`,color:`#fff`,cursor:`pointer`,display:`flex`,alignItems:`center`,justifyContent:`center`,flex:`none`},children:(0,n.jsx)(ki,{})}),s&&(0,n.jsxs)(`button`,{type:`button`,onClick:s,title:l?`Subir a ${l}`:`Subir`,style:{height:30,padding:`0 11px`,border:`1.5px solid #2E9E5B`,borderRadius:8,background:`var(--sf-card-bg, #fff)`,color:`#2E9E5B`,cursor:`pointer`,display:`inline-flex`,alignItems:`center`,gap:5,fontFamily:`inherit`,fontSize:11.5,fontWeight:800,flex:`none`},children:[(0,n.jsx)(ki,{size:13}),`Subir`]}),c&&(0,n.jsx)(`button`,{type:`button`,onClick:c,title:`Ausente`,style:{width:30,height:30,border:`1.5px solid var(--sf-border, #DCE3E7)`,borderRadius:8,background:`var(--sf-card-bg, #fff)`,color:`#D9A3A3`,cursor:`pointer`,display:`flex`,alignItems:`center`,justifyContent:`center`,flex:`none`},children:(0,n.jsx)(Ai,{})})]}),Ii=e=>{let{initials:t,name:r,subtitle:i,onboard:a=!1,badge:o,onToggle:s,onRemove:c,onBoard:l,onAbsent:u,className:d}=e;if(c||l||u)return(0,n.jsx)(Fi,{...e});let f=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(wi,{fallback:t,size:`sm`,variant:a?`accent`:`default`,shape:`rounded`,className:(0,G.default)(!a&&`sf-passenger-board-card__avatar--pending`)}),(0,n.jsxs)(`div`,{className:`sf-passenger-board-card__content`,children:[(0,n.jsx)(`p`,{className:`sf-passenger-board-card__name`,children:r}),i&&(0,n.jsx)(`p`,{className:`sf-passenger-board-card__subtitle`,children:i})]}),o??(a?(0,n.jsx)(Oi,{label:`A bordo`,variant:`success`,dot:!0}):(0,n.jsx)(`span`,{className:`sf-passenger-board-card__pending`,children:`Pendiente`}))]});return s?(0,n.jsx)(`button`,{type:`button`,className:(0,G.default)(`sf-passenger-board-card`,a&&`sf-passenger-board-card--onboard`,d),onClick:s,children:f}):(0,n.jsx)(`article`,{className:(0,G.default)(`sf-passenger-board-card`,`sf-passenger-board-card--static`,a&&`sf-passenger-board-card--onboard`,d),children:f})},Li=()=>(0,n.jsx)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#2E9E5B`,strokeWidth:`2`,children:(0,n.jsx)(`path`,{d:`M4 17V7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10M4 17h16M7 11h10`})}),Ri=()=>(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,children:[(0,n.jsx)(`path`,{d:`M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z`}),(0,n.jsx)(`path`,{d:`M12 9v4M12 17h.01`})]}),zi=()=>(0,n.jsx)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.4`,children:(0,n.jsx)(`path`,{d:`M12 5v14M5 12h14`})}),Bi=()=>(0,n.jsxs)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,children:[(0,n.jsx)(`path`,{d:`M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z`}),(0,n.jsx)(`path`,{d:`M14 2v6h6M9 15l2 2 4-4`})]}),Vi=()=>(0,n.jsxs)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,children:[(0,n.jsx)(`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}),(0,n.jsx)(`circle`,{cx:`9`,cy:`7`,r:`4`})]}),Hi={display:`grid`,gridTemplateColumns:`repeat(auto-fill, minmax(480px, 1fr))`,gap:10,alignContent:`start`},Ui={display:`flex`,alignItems:`center`,gap:11,padding:`11px 14px`,cursor:`pointer`,width:`100%`,border:`none`,background:`transparent`,textAlign:`left`,fontFamily:`inherit`},Wi={display:`inline-flex`,alignItems:`center`,gap:5,padding:`2px 8px`,borderRadius:7,background:`var(--sf-surface-alt, #EEF0F2)`,border:`1px solid var(--sf-border, #E2E8EC)`,fontSize:11.5,fontWeight:800,color:`var(--sf-text, #1B2A38)`,flex:`none`},Gi=e=>({fontSize:9.5,fontWeight:800,letterSpacing:`.08em`,textTransform:`uppercase`,color:e,padding:`6px 8px 4px`}),Ki={display:`flex`,gap:8,padding:`10px 12px`,borderTop:`1px solid var(--sf-border, #E2E8EC)`,background:`var(--sf-surface-alt, #EEF0F2)`},qi=e=>e>=100?`#1F8A4C`:e>=60?`#2E9E5B`:e>0?`#C76A12`:`var(--sf-text-subtle,#8A98A4)`,Ji=({routes:e,openRouteId:r,defaultOpenRouteId:i,onOpenRouteChange:a,onPassengerRemove:o,onPassengerBoard:s,onPassengerAbsent:c,onAddPassenger:l,onEvento:u,onCloseManifest:d,className:f,ariaLabel:p=`Torre de control`})=>{let[m,h]=(0,t.useState)(i??e.find(e=>e.defaultOpen)?.id??e[0]?.id??null),[g,_]=(0,t.useState)({}),v=r===void 0?m:r,y=(0,t.useCallback)(e=>{let t=v===e?null:e;a?a(t):h(t)},[a,v]),b=(0,t.useMemo)(()=>e.map(e=>{let t=e.passengers.filter(e=>e.onboard),n=e.passengers.filter(e=>!e.onboard),r=e.capacity??e.units.reduce((e,t)=>e+(t.capacity||0),0),i=e.onboardCount??t.length;return{route:e,onboard:t,pending:n,cap:r,onboardCount:i,pct:r>0?Math.min(100,Math.round(i/r*100)):0}}),[e]);return(0,n.jsx)(`section`,{className:(0,G.default)(`sf-live-route-board`,f),"aria-label":p,style:Hi,children:b.map(({route:e,onboard:t,pending:r,cap:i,onboardCount:a,pct:f})=>{let p=v===e.id,m=qi(f),h=!!g[e.id],b=e.plate;return(0,n.jsxs)(`div`,{style:{background:`var(--sf-card-bg, #fff)`,border:`1px solid var(--sf-border, #E2E8EC)`,borderLeft:`4px solid ${e.accentColor??`#2E9E5B`}`,borderRadius:12,boxShadow:`0 1px 3px rgba(12,33,49,.06)`,overflow:`hidden`,alignSelf:`start`},children:[(0,n.jsxs)(`button`,{type:`button`,style:Ui,"aria-expanded":p,onClick:()=>y(e.id),children:[(0,n.jsx)(`span`,{style:{width:9,height:9,borderRadius:`50%`,background:e.statusColor??`#3DBA6E`,flex:`none`}}),(0,n.jsxs)(`div`,{style:{flex:1,minWidth:0,display:`flex`,alignItems:`center`,gap:9},children:[(0,n.jsx)(`span`,{style:{fontSize:14.5,fontWeight:800,color:`var(--sf-text, #1B2A38)`,whiteSpace:`nowrap`},children:e.route}),b!=null&&(0,n.jsxs)(`span`,{style:Wi,children:[(0,n.jsx)(Li,{}),b]}),(e.driver!=null||e.departure!=null)&&(0,n.jsxs)(`span`,{style:{fontSize:11.5,fontWeight:600,color:`var(--sf-text-subtle, #8A98A4)`,whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`},children:[e.driver,e.driver!=null&&e.departure!=null?` · `:``,e.departure]}),e.meta!=null&&e.driver==null&&e.departure==null&&(0,n.jsx)(`span`,{style:{fontSize:11.5,fontWeight:600,color:`var(--sf-text-subtle, #8A98A4)`},children:e.meta})]}),(0,n.jsx)(`div`,{style:{width:64,height:6,borderRadius:999,background:`var(--sf-border, #E2E8EC)`,overflow:`hidden`,flex:`none`},children:(0,n.jsx)(`div`,{style:{width:`${f}%`,height:`100%`,background:m}})}),(0,n.jsxs)(`div`,{style:{fontSize:16,fontWeight:800,color:m,flex:`none`,fontVariantNumeric:`tabular-nums`,minWidth:52,textAlign:`right`},children:[a,(0,n.jsxs)(`span`,{style:{fontSize:12,color:`var(--sf-text-subtle, #8A98A4)`},children:[`/`,i]})]}),(0,n.jsx)(`svg`,{width:`17`,height:`17`,viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--sf-text-subtle, #8A98A4)`,strokeWidth:`2.4`,style:{flex:`none`,transform:p?`rotate(180deg)`:`none`,transition:`transform .2s`},children:(0,n.jsx)(`path`,{d:`M6 9l6 6 6-6`})})]}),p&&(0,n.jsxs)(`div`,{style:{borderTop:`1px solid var(--sf-border, #E2E8EC)`},children:[(0,n.jsxs)(`div`,{style:{padding:`6px 10px`,maxHeight:320,overflow:`auto`},children:[t.length>0?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`div`,{style:Gi(`#1F8A4C`),children:[`A bordo · `,a]}),t.map(t=>(0,n.jsx)(Ii,{initials:t.initials,name:t.name,subtitle:t.subtitle,avatarBg:t.avatarBg,avatarFg:t.avatarFg,onRemove:o?()=>o(e.id,t.id):void 0},t.id))]}):(0,n.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`center`,gap:8,padding:`14px 12px`,color:`var(--sf-text-subtle, #8A98A4)`},children:[(0,n.jsx)(Vi,{}),(0,n.jsx)(`span`,{style:{fontSize:12,fontWeight:700},children:`Aún nadie a bordo`})]}),h&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`div`,{style:{...Gi(`var(--sf-text-subtle, #8A98A4)`),display:`flex`,alignItems:`center`,justifyContent:`space-between`,padding:`10px 8px 4px`},children:[(0,n.jsxs)(`span`,{children:[`Sube a `,b]}),(0,n.jsxs)(`span`,{style:{color:`#1E6FA3`},children:[r.length,` en padrón`]})]}),r.map(t=>(0,n.jsx)(Ii,{initials:t.initials,name:t.name,subtitle:t.subtitle,avatarBg:t.avatarBg,avatarFg:t.avatarFg,boardLabel:typeof b==`string`?b:void 0,onBoard:s?()=>s(e.id,t.id):void 0,onAbsent:c?()=>c(e.id,t.id):void 0},t.id))]})]}),(0,n.jsxs)(`div`,{style:Ki,children:[(0,n.jsxs)(`button`,{type:`button`,onClick:()=>{_(t=>({...t,[e.id]:!t[e.id]})),l?.(e.id)},style:{flex:1,height:36,border:`none`,borderRadius:8,background:`#2E9E5B`,color:`#fff`,fontFamily:`inherit`,fontSize:12.5,fontWeight:800,cursor:`pointer`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,gap:7},children:[(0,n.jsx)(zi,{}),`Subir pasajero`]}),u&&(0,n.jsxs)(`button`,{type:`button`,onClick:()=>u(e.id),style:{height:36,padding:`0 12px`,border:`1.5px solid var(--sf-border, #DCE3E7)`,borderRadius:8,background:`var(--sf-card-bg, #fff)`,color:`#C76A12`,fontFamily:`inherit`,fontSize:12.5,fontWeight:800,cursor:`pointer`,display:`inline-flex`,alignItems:`center`,gap:6},children:[(0,n.jsx)(Ri,{}),`Evento`]}),d&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>d(e.id),title:`Cerrar manifiesto`,style:{width:36,height:36,border:`1.5px solid var(--sf-border, #DCE3E7)`,borderRadius:8,background:`var(--sf-card-bg, #fff)`,color:`var(--sf-text-subtle, #5C7180)`,cursor:`pointer`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,n.jsx)(Bi,{})})]})]})]},e.id)})})},Yi=({label:e=`Abordar a`,value:t,options:r,onChange:i,className:a,ariaLabel:o=`Seleccionar unidad`})=>(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-unit-selector`,a),role:`group`,"aria-label":o,children:[e&&(0,n.jsx)(`span`,{className:`sf-unit-selector__label`,children:e}),(0,n.jsx)(`div`,{className:`sf-unit-selector__options`,children:r.map(e=>{let r=e.id===t;return(0,n.jsxs)(`button`,{type:`button`,className:(0,G.default)(`sf-unit-selector__option`,r&&`sf-unit-selector__option--active`),"aria-pressed":r,onClick:()=>i(e.id),children:[(0,n.jsx)(`span`,{className:`sf-unit-selector__option-label`,children:e.label}),e.detail&&(0,n.jsx)(`span`,{className:`sf-unit-selector__option-detail`,children:e.detail})]},e.id)})})]}),Xi=[`DOM`,`LUN`,`MAR`,`MIÉ`,`JUE`,`VIE`,`SÁB`],Zi=[`ENE`,`FEB`,`MAR`,`ABR`,`MAY`,`JUN`,`JUL`,`AGO`,`SEP`,`OCT`,`NOV`,`DIC`],Qi=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,$i=e=>{let t=new Date(e),n=t.getDay(),r=n===0?-6:1-n;return t.setDate(t.getDate()+r),t.setHours(0,0,0,0),t},ea={display:`inline-flex`,alignItems:`center`,gap:6,background:`var(--sf-card-bg, #ffffff)`,border:`1px solid var(--sf-border, #E2E8EC)`,borderRadius:12,padding:5,boxShadow:`0 1px 3px rgba(12,33,49,.06)`,flex:`none`},ta={width:34,height:34,border:`none`,borderRadius:8,background:`transparent`,color:`var(--sf-text-subtle, #5C7180)`,cursor:`pointer`,display:`flex`,alignItems:`center`,justifyContent:`center`,flex:`none`},na=({dir:e})=>(0,n.jsx)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.4`,children:(0,n.jsx)(`path`,{d:e===`left`?`M15 18l-6-6 6-6`:`M9 18l6-6-6-6`})}),ra=({selectedDate:e,onSelectedDateChange:r,todayIso:i,dayLabels:a=Xi,monthLabels:o=Zi,todayLabel:s=`Hoy`,className:c})=>{let l=(0,t.useMemo)(()=>i??Qi(new Date),[i]),u=(0,t.useMemo)(()=>$i(new Date(`${e}T12:00:00`)),[e]),d=(0,t.useMemo)(()=>Array.from({length:7},(e,t)=>{let n=new Date(u);return n.setDate(n.getDate()+t),Qi(n)}),[u]),f=t=>{let n=new Date(`${e}T12:00:00`);n.setDate(n.getDate()+t*7),r(Qi(n))};return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-date-week-strip`,c),style:ea,children:[(0,n.jsx)(`button`,{type:`button`,style:ta,onClick:()=>f(-1),"aria-label":`Semana anterior`,children:(0,n.jsx)(na,{dir:`left`})}),d.map(t=>{let i=new Date(`${t.slice(0,10)}T12:00:00`),c=a[i.getDay()],u=String(i.getDate()).padStart(2,`0`),d=i.getDate()===1?o[i.getMonth()]:void 0,f=t===e;return(0,n.jsxs)(`button`,{type:`button`,onClick:()=>r(t),style:{minWidth:54,height:48,border:`none`,borderRadius:9,background:f?`var(--sf-primary, #0C2131)`:`transparent`,color:f?`#ffffff`:`var(--sf-text-subtle, #5C7180)`,fontFamily:`inherit`,cursor:`pointer`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:2,flex:`none`},children:[(0,n.jsx)(`span`,{style:{fontSize:10,fontWeight:700,letterSpacing:`.05em`,textTransform:`uppercase`,opacity:.8},children:c}),(0,n.jsx)(`span`,{style:{fontSize:17,fontWeight:800,lineHeight:1},children:u}),d&&(0,n.jsx)(`span`,{style:{fontSize:9,fontWeight:800,textTransform:`uppercase`,opacity:f?.9:.7},children:d}),t===l&&!d&&(0,n.jsx)(`span`,{style:{fontSize:9,fontWeight:800,textTransform:`uppercase`,color:f?`rgba(255,255,255,.9)`:`#2E9E5B`},children:s})]},t)}),(0,n.jsx)(`button`,{type:`button`,style:ta,onClick:()=>f(1),"aria-label":`Semana siguiente`,children:(0,n.jsx)(na,{dir:`right`})})]})},ia=[{value:1,label:`L`},{value:2,label:`M`},{value:3,label:`M`},{value:4,label:`J`},{value:5,label:`V`},{value:6,label:`S`},{value:0,label:`D`}],aa={display:`block`,fontSize:10,fontWeight:800,letterSpacing:`.09em`,textTransform:`uppercase`,color:`var(--sf-text-subtle, #5C7180)`,margin:`0 0 8px 2px`},oa=({selected:e,onChange:t,label:r,days:i=ia,className:a})=>(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-weekday-toggle-strip`,a),children:[r&&(0,n.jsx)(`span`,{style:aa,children:r}),(0,n.jsx)(`div`,{style:{display:`flex`,gap:7},children:i.map((r,i)=>{let a=e.has(r.value);return(0,n.jsxs)(`button`,{type:`button`,"aria-pressed":a,"aria-label":`Día ${r.label}`,onClick:()=>{let n=new Set(e);n.has(r.value)?n.delete(r.value):n.add(r.value),t(n)},style:{flex:1,height:46,border:`1.5px solid ${a?`#2E9E5B`:`var(--sf-border, #E2E8EC)`}`,borderRadius:9,background:a?`#EAF5EE`:`var(--sf-card-bg, #fff)`,color:a?`#2E9E5B`:`var(--sf-text, #1B2A38)`,fontFamily:`inherit`,cursor:`pointer`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:3,transition:`all .14s`},children:[(0,n.jsx)(`span`,{style:{fontSize:13,fontWeight:800},children:r.label}),(0,n.jsx)(`span`,{style:{width:5,height:5,borderRadius:`50%`,background:a?`#2E9E5B`:`var(--sf-border, #DCE3E7)`}})]},`${r.value}-${i}`)})})]}),sa=(e,t)=>e.find(e=>e.items.some(e=>e.id===t)),ca=e=>{let t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?`US`:t.length===1?t[0].slice(0,2).toUpperCase():`${t[0][0]??``}${t[1][0]??``}`.toUpperCase()},la=({categories:e,activeItemId:r,onChange:i,brand:a,topBar:o,children:s,submenuCollapsed:c=!1,onSubmenuCollapsedChange:l,submenuFooter:u,showSubmenuHeader:d=!1,showDefaultTopBar:f=!1,topBarContext:p,branchSelector:m,themeToggle:h,notifications:g,moduleLauncher:_,userMenu:v,helpAction:y,exitToModulesAction:b,className:x,contentClassName:S})=>{let C=(0,t.useMemo)(()=>sa(e,r)??e[0],[e,r]),w=C?.id,T=C?.items??[],E=T.find(e=>e.id===r),D=e=>{l?.(e)},O={section:p?.section??C?.label,title:p?.title??E?.label,icon:p?.icon??C?.icon},k=!!m||!!h||!!g||!!y||!!_||!!v,A=v?v.initials??ca(v.fullName):``,j=e=>{let t=e.items[0];t&&(i(t.id),D(!1))},M=(0,n.jsxs)(`div`,{className:`sf-app-shell-default-topbar`,children:[(0,n.jsxs)(`div`,{className:`sf-app-shell-default-topbar__left`,children:[O.icon&&(0,n.jsx)(`span`,{className:`sf-app-shell-default-topbar__context-icon`,children:O.icon}),(O.section||O.title)&&(0,n.jsxs)(`div`,{className:`sf-app-shell-default-topbar__context-text`,children:[O.section&&(0,n.jsx)(`span`,{className:`sf-app-shell-default-topbar__section`,children:O.section}),O.title&&(0,n.jsx)(`span`,{className:`sf-app-shell-default-topbar__title`,children:O.title})]})]}),k&&(0,n.jsxs)(`div`,{className:`sf-app-shell-default-topbar__right`,children:[m&&(0,n.jsx)(`label`,{className:`sf-app-shell-default-topbar__branch`,"aria-label":`Seleccionar sucursal`,children:(0,n.jsx)(`select`,{className:`sf-app-shell-default-topbar__branch-select`,value:m.value,onChange:e=>m.onChange(e.target.value),children:m.options.map(e=>(0,n.jsx)(`option`,{value:e.value,children:e.label},e.value))})}),h&&(0,n.jsx)(`button`,{type:`button`,className:`sf-app-shell-default-topbar__icon-btn`,"aria-label":h.mode===`dark`?`Cambiar a modo claro`:`Cambiar a modo oscuro`,onClick:h.onToggle,children:h.mode===`dark`?(0,n.jsx)(oe,{"aria-hidden":`true`}):(0,n.jsx)(de,{"aria-hidden":`true`})}),g&&(0,n.jsx)(Er,{className:`sf-app-shell-default-topbar__notification`,items:g.items,onItemClick:g.onItemClick}),y&&(0,n.jsx)(`button`,{type:`button`,className:`sf-app-shell-default-topbar__icon-btn`,"aria-label":y.ariaLabel??`Información`,onClick:y.onClick,children:y.icon??(0,n.jsx)(me,{"aria-hidden":`true`})}),_&&(0,n.jsx)(pr,{align:`end`,widthClassName:`w-[27rem] max-w-[calc(100vw-1.5rem)]`,trigger:(0,n.jsx)(`span`,{className:`sf-app-shell-default-topbar__icon-btn`,"aria-hidden":`true`,children:(0,n.jsx)(he,{})}),children:(0,n.jsxs)(`div`,{className:`sf-app-shell-module-launcher`,children:[(0,n.jsxs)(`header`,{className:`sf-app-shell-module-launcher__header`,children:[(0,n.jsx)(`p`,{className:`sf-app-shell-module-launcher__title`,children:_.title??`Cambiar de módulo`}),(0,n.jsx)(`p`,{className:`sf-app-shell-module-launcher__subtitle`,children:_.subtitle??`Ecosistema SARK`})]}),_.items.length===0?(0,n.jsx)(`p`,{className:`sf-notification-bell__empty sf-app-shell-module-launcher__empty`,role:`status`,children:`Sin módulos`}):(0,n.jsx)(`div`,{className:`sf-app-shell-module-launcher__grid`,role:`group`,"aria-label":`Módulos disponibles`,children:_.items.map(e=>(0,n.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`sf-app-shell-module-launcher__item`,onClick:e.onClick,children:[(0,n.jsx)(`span`,{className:`sf-app-shell-module-launcher__item-icon`,"aria-hidden":`true`,children:e.icon??(0,n.jsx)(he,{})}),(0,n.jsx)(`span`,{className:`sf-app-shell-module-launcher__item-label`,children:e.label})]},e.id))})]})}),v&&(0,n.jsx)(pr,{align:`end`,widthClassName:`w-72`,trigger:(0,n.jsxs)(`span`,{className:`sf-app-shell-default-topbar__icon-btn sf-app-shell-default-topbar__profile-btn`,children:[(0,n.jsx)(wi,{alt:v.fullName,fallback:A,size:`sm`}),(0,n.jsxs)(`span`,{className:`sf-app-shell-default-topbar__profile-text`,children:[(0,n.jsx)(`span`,{className:`sf-app-shell-default-topbar__profile-name`,children:v.fullName}),v.subtitle&&(0,n.jsx)(`span`,{className:`sf-app-shell-default-topbar__profile-subtitle`,"aria-hidden":`true`,children:v.subtitle})]})]}),children:(0,n.jsxs)(`div`,{className:`sf-app-shell-user-menu`,children:[(v.fullName||v.subtitle)&&(0,n.jsxs)(`div`,{className:`sf-app-shell-user-menu__header`,children:[(0,n.jsx)(`p`,{className:`sf-app-shell-user-menu__name`,children:v.fullName}),v.subtitle&&(0,n.jsx)(`p`,{className:`sf-app-shell-user-menu__subtitle`,children:v.subtitle})]}),v.actions.length===0?(0,n.jsx)(`p`,{className:`sf-notification-bell__empty`,role:`status`,children:`Sin acciones de perfil`}):(0,n.jsx)(`div`,{className:`sf-app-shell-user-menu__actions`,children:v.actions.map(e=>(0,n.jsxs)(`button`,{type:`button`,role:`menuitem`,className:(0,G.default)(`sf-app-shell-user-menu__action`,e.danger&&`sf-app-shell-user-menu__action--danger`),onClick:e.onClick,children:[e.icon?(0,n.jsx)(`span`,{className:`sf-app-shell-user-menu__action-icon`,children:e.icon}):null,(0,n.jsx)(`span`,{className:`truncate`,children:e.label})]},e.label))})]})})]})]}),N=o??(f?M:null);return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-app-shell`,x),children:[(0,n.jsxs)(`aside`,{className:`sf-app-shell__category-rail`,children:[(0,n.jsx)(`div`,{className:`sf-app-shell__brand-wrap`,children:(0,n.jsx)(`button`,{type:`button`,className:`sf-app-shell__brand-button`,onClick:()=>D(!c),"aria-label":`Mostrar u ocultar submenú`,children:a})}),(0,n.jsx)(`div`,{className:`sf-app-shell__categories`,children:e.map(e=>{let t=w===e.id;return(0,n.jsxs)(`button`,{type:`button`,title:e.label,onClick:()=>j(e),className:(0,G.default)(`sf-app-shell__category-btn`,t&&`sf-app-shell__category-btn--active`),children:[(0,n.jsx)(`span`,{className:`sf-app-shell__category-accent`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`sf-app-shell__category-icon`,"aria-hidden":`true`,children:e.icon}),(0,n.jsx)(`span`,{className:`sf-app-shell__category-label`,children:e.label})]},e.id)})}),b&&(0,n.jsx)(`div`,{className:`sf-app-shell__rail-exit-wrap`,children:(0,n.jsx)(`button`,{type:`button`,className:`sf-app-shell__rail-exit-btn`,onClick:b.onClick,"aria-label":b.ariaLabel??`Volver a lista de módulos`,title:b.label??`Volver a módulos`,children:(0,n.jsx)(`span`,{className:`sf-app-shell__rail-exit-icon`,"aria-hidden":`true`,children:b.icon??(0,n.jsx)(xe,{})})})})]}),(0,n.jsxs)(`div`,{className:`sf-app-shell__workspace`,children:[N&&(0,n.jsx)(`header`,{className:`sf-app-shell__topbar`,children:N}),(0,n.jsxs)(`div`,{className:`sf-app-shell__workspace-body`,children:[(0,n.jsxs)(`aside`,{className:(0,G.default)(`sf-app-shell__submenu`,c&&`sf-app-shell__submenu--collapsed`),children:[d&&(0,n.jsx)(`div`,{className:`sf-app-shell__submenu-header`,children:!c&&(0,n.jsx)(`span`,{className:`sf-app-shell__submenu-title`,children:C?.label})}),(0,n.jsx)(`div`,{className:`sf-app-shell__submenu-items`,children:T.map((e,a)=>{let o=e.id===r;return(0,n.jsxs)(t.Fragment,{children:[e.dividerBefore&&a>0&&(0,n.jsx)(`span`,{className:`sf-app-shell__submenu-divider`,role:`separator`,"aria-orientation":`horizontal`}),(0,n.jsxs)(`button`,{type:`button`,title:e.label,onClick:()=>i(e.id),className:(0,G.default)(`sf-app-shell__submenu-btn`,o&&`sf-app-shell__submenu-btn--active`),children:[(0,n.jsx)(`span`,{className:`sf-app-shell__submenu-accent`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`sf-app-shell__submenu-icon`,"aria-hidden":`true`,children:e.icon}),!c&&(0,n.jsx)(`span`,{className:`sf-app-shell__submenu-label`,children:e.label}),e.badge!=null&&e.badge!==``&&(0,n.jsx)(`span`,{className:`sf-app-shell__submenu-badge`,"aria-label":`${e.badge} pendientes`,children:e.badge})]})]},e.id)})}),!c&&u&&(0,n.jsx)(`div`,{className:`sf-app-shell__submenu-footer`,children:u})]}),(0,n.jsx)(`section`,{className:`sf-app-shell__main`,children:(0,n.jsx)(`main`,{className:(0,G.default)(`sf-app-shell__content`,S),children:s})})]})]})]})},ua=la,da=new Set([`script`,`iframe`,`object`,`embed`,`link`,`meta`,`style`]),fa=new Set([`href`,`src`,`xlink:href`,`formaction`]),pa=e=>/^\s*javascript:/i.test(e),ma=e=>e.replace(/<\s*script[^>]*>[\s\S]*?<\s*\/\s*script\s*>/gi,``).replace(/\son\w+\s*=\s*(".*?"|'.*?'|[^\s>]+)/gi,``).replace(/\s(href|src|xlink:href|formaction)\s*=\s*("javascript:[^"]*"|'javascript:[^']*'|javascript:[^\s>]+)/gi,``),ha=e=>{let t=String(e??``);if(!t)return``;if(typeof window>`u`||typeof DOMParser>`u`)return ma(t);let n=new DOMParser().parseFromString(t,`text/html`),r=Array.from(n.body.querySelectorAll(`*`));for(let e of r){let t=e.tagName.toLowerCase();if(da.has(t)){e.remove();continue}for(let t of Array.from(e.attributes)){let n=t.name.toLowerCase(),r=t.value;if(n.startsWith(`on`)){e.removeAttribute(t.name);continue}fa.has(n)&&pa(r)&&e.removeAttribute(t.name)}}return n.body.innerHTML},ga=[{cmd:`bold`,label:`B`,title:`Negrita`},{cmd:`italic`,label:`I`,title:`Cursiva`},{cmd:`underline`,label:`U`,title:`Subrayado`},{cmd:`insertUnorderedList`,label:`•`,title:`Lista`},{cmd:`insertOrderedList`,label:`1.`,title:`Numerada`},{cmd:`undo`,label:`↩`,title:`Deshacer`},{cmd:`redo`,label:`↪`,title:`Rehacer`}],_a=({form:e,name:i,label:a,info:o,required:s,readOnly:c,disabled:l,height:u=180,className:d,onChange:f,onRefresh:p})=>{let m=(0,t.useRef)(null),h=(0,r.useController)({name:i,control:e.control}),g=String(i),_=h.fieldState.error,v=c||l;(0,t.useEffect)(()=>{let e=ha(h.field.value);m.current&&m.current.innerHTML!==e&&(m.current.innerHTML=e)},[]);let y=(0,t.useCallback)(()=>{let e=m.current?.innerHTML??``,t=ha(e);m.current&&t!==e&&(m.current.innerHTML=t),h.field.onChange(t),f?.(t)},[h.field,f]),b=(0,t.useCallback)(e=>{document.execCommand(e,!1),m.current?.focus(),y()},[y]),x=(0,t.useCallback)(e=>{e.preventDefault();let t=e.clipboardData.getData(`text/plain`);document.execCommand(`insertText`,!1,t),y()},[y]),S=(0,t.useMemo)(()=>ga.map(({cmd:e,label:t,title:r})=>(0,n.jsx)(`button`,{type:`button`,title:r,"aria-label":r,onMouseDown:e=>e.preventDefault(),onClick:()=>b(e),className:`sf-rich-editor__toolbar-btn`,children:t},e)),[b]);return(0,n.jsx)(K,{id:g,label:a,info:o,required:s,onRefresh:p,error:_?.message?String(_.message):void 0,children:(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-rich-editor`,_&&`sf-rich-editor--error`,v&&`sf-rich-editor--disabled`,d),children:[!v&&(0,n.jsx)(`div`,{className:`sf-rich-editor__toolbar`,children:S}),(0,n.jsx)(`div`,{id:g,ref:m,contentEditable:!v,role:`textbox`,"aria-multiline":`true`,"aria-readonly":c||void 0,"aria-disabled":l||void 0,"aria-invalid":!!_||void 0,suppressContentEditableWarning:!0,onInput:y,onPaste:x,onBlur:()=>h.field.onBlur(),style:{minHeight:u},className:(0,G.default)(`sf-rich-editor__body`,v&&`sf-rich-editor__body--readonly`)})]})})},va=()=>()=>void 0,ya=()=>(0,t.useSyncExternalStore)(va,()=>!0,()=>!1),ba=({small:e,error:t,className:n})=>(0,G.default)(`sf-input`,`sf-input--textarea`,`sf-input--code`,e&&`sf-input--sm`,t&&`sf-input--error`,n),xa=e=>{switch(e){case`javascript`:return[(0,d.javascript)()];case`json`:return[(0,f.json)()];case`html`:return[(0,u.html)()];case`sql`:return[(0,p.sql)()];default:return[]}},Sa={javascript:`JavaScript`,json:`JSON`,html:`HTML`,sql:`SQL`,text:`Texto`},Ca=({form:e,name:i,label:a,info:o,required:s,language:c=`javascript`,highlighted:u=!0,readOnly:d,disabled:f,rows:p=8,small:m,className:h,onChange:g,onRefresh:_})=>{let v=ya(),y=(0,r.useController)({name:i,control:e.control}),b=String(i),x=y.fieldState.error,S=String(y.field.value??``),C=d||f,w=`${p*(m?1.25:1.5)}rem`,T=(0,t.useCallback)(e=>{y.field.onChange(e),g?.(e)},[y.field,g]);return(0,n.jsx)(K,{id:b,label:a,info:o,required:s,onRefresh:_,error:x?.message?String(x.message):void 0,children:(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-code-editor`,x&&`sf-code-editor--error`,h),"aria-invalid":!!x||void 0,children:[(0,n.jsx)(`div`,{className:`sf-code-editor__header`,children:Sa[c]}),v&&u&&c!==`text`?(0,n.jsx)(l.default,{id:b,value:S,height:w,extensions:xa(c),editable:!C,readOnly:C,"aria-label":a??String(i),basicSetup:{lineNumbers:!0,foldGutter:!0,highlightActiveLine:!C},onBlur:()=>y.field.onBlur(),onChange:e=>T(e),className:(0,G.default)(`sf-code-editor__codemirror`,m&&`sf-code-editor__codemirror--sm`,C&&`sf-code-editor__codemirror--disabled`)}):(0,n.jsx)(`textarea`,{id:b,name:y.field.name,rows:p,spellCheck:!1,value:S,readOnly:d,disabled:f,"aria-invalid":!!x||void 0,onBlur:()=>y.field.onBlur(),onChange:e=>T(e.target.value),className:ba({small:m,error:!!x,readOnly:d,disabled:f,className:`rounded-none border-0 shadow-none focus:ring-0`})})]})})},wa=({target:e,zoom:n=16})=>{let r=(0,m.useMap)();return(0,t.useEffect)(()=>{e&&r.setView([e.lat,e.lng],n,{animate:!0})},[e,n,r]),null},Ta=3,Ea=async(e,t=5)=>{let n=e.trim();if(n.length<3)return[];let r=await fetch(`https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(n)}&limit=${t}&addressdetails=0`,{headers:{"Accept-Language":`es`}});return r.ok?(await r.json()).map(e=>({lat:Number.parseFloat(e.lat),lng:Number.parseFloat(e.lon),label:e.display_name})).filter(e=>Number.isFinite(e.lat)&&Number.isFinite(e.lng)):[]},Da=(e,t=3)=>e.split(`,`).slice(0,t).join(`, `).trim(),Oa=({onSelect:e,placeholder:r=`Buscar direccion...`,className:i,disabled:a})=>{let[o,s]=(0,t.useState)(``),[c,l]=(0,t.useState)(!1),[u,d]=(0,t.useState)([]),[f,p]=(0,t.useState)(!1),m=(0,t.useRef)(null),h=(0,t.useId)(),g=`${h}-results`,_=(0,t.useCallback)(async e=>{let t=e.trim();if(!t){d([]),p(!1);return}l(!0);try{let e=await Ea(t);d(e),p(e.length>0)}catch{d([]),p(!1)}finally{l(!1)}},[]);(0,t.useEffect)(()=>()=>{m.current&&clearTimeout(m.current)},[]);let v=e=>{s(e),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>_(e),500)},y=t=>{e(t),s(Da(t.label,2)),d([]),p(!1)};return(0,n.jsxs)(`div`,{className:(0,G.default)(`w-[220px]`,i),children:[(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(`input`,{id:h,value:o,disabled:a,onChange:e=>v(e.target.value),onKeyDown:e=>{if(e.key===`Escape`){p(!1);return}e.key===`Enter`&&f&&u[0]&&(e.preventDefault(),y(u[0]))},placeholder:r,className:`sf-geocoder-input`,role:`combobox`,"aria-label":`Buscar direccion en el mapa`,"aria-autocomplete":`list`,"aria-expanded":f,"aria-controls":g,"aria-busy":c||void 0,onFocus:()=>u.length>0&&p(!0),onBlur:()=>setTimeout(()=>p(!1),200)}),(0,n.jsx)(`span`,{className:`sf-geocoder-icon`,children:c?`...`:(0,n.jsx)(V,{"aria-hidden":`true`,className:`h-3.5 w-3.5`})})]}),f&&u.length>0&&(0,n.jsx)(`ul`,{id:g,className:`sf-geocoder-results`,role:`listbox`,"aria-label":`Resultados de direcciones`,children:u.map((e,t)=>(0,n.jsx)(`li`,{role:`presentation`,children:(0,n.jsx)(`button`,{type:`button`,id:`${g}-${t}`,role:`option`,"aria-selected":!1,className:`sf-geocoder-result`,onMouseDown:()=>y(e),children:Da(e.label)})},`${e.lat}-${e.lng}-${e.label}`))})]})},ka=h.default.divIcon({className:``,html:`<div class="sf-map-picker-marker"></div>`,iconSize:[14,14],iconAnchor:[7,7]}),Aa={lat:`-12.0464`,lng:`-77.0428`},ja=(e,t)=>{let n=Number.parseFloat(e.trim().replace(`,`,`.`));return Number.isFinite(n)?n:t},Ma=e=>e.toFixed(6),Na={enableHighAccuracy:!0,maximumAge:0,timeout:15e3},Pa=e=>e>=1e3?`Ubicación aproximada (~${(e/1e3).toFixed(1)} km). Ajusta el marcador en el mapa si no coincide.`:e>=200?`Precisión moderada (~${Math.round(e)} m). Verifica en el mapa.`:null,Fa=e=>{switch(e){case GeolocationPositionError.PERMISSION_DENIED:return`Permiso de ubicación denegado.`;case GeolocationPositionError.POSITION_UNAVAILABLE:return`Ubicación no disponible en este dispositivo.`;case GeolocationPositionError.TIMEOUT:return`Tiempo agotado. Intenta de nuevo o marca el punto en el mapa.`;default:return`No se pudo obtener la ubicación.`}},Ia=e=>e&&typeof e==`object`&&`lat`in e&&`lng`in e?{lat:String(e.lat??Aa.lat),lng:String(e.lng??Aa.lng)}:{...Aa},La=`© <a href="https://www.openstreetmap.org/copyright" target="_blank" rel="noreferrer">OpenStreetMap</a>`,Ra=({lat:e,lng:n})=>{let r=(0,m.useMap)();return(0,t.useEffect)(()=>{r.setView([e,n],r.getZoom(),{animate:!0})},[e,n,r]),null},za=({readOnly:e,onPick:t})=>((0,m.useMapEvents)({click(n){e||t(Ma(n.latlng.lat),Ma(n.latlng.lng))}}),null),Ba=({lat:e,lng:r,zoom:i=13,readOnly:a,showGeocoder:o=!0,onPick:s})=>{let c=[e,r],[l,u]=(0,t.useState)(null);return(0,n.jsxs)(`div`,{className:`relative h-40 w-full`,children:[!a&&o&&(0,n.jsx)(Oa,{className:`absolute left-2 top-2 z-[1000]`,onSelect:e=>{u({lat:e.lat,lng:e.lng}),s(Ma(e.lat),Ma(e.lng))}}),(0,n.jsxs)(m.MapContainer,{center:c,zoom:i,scrollWheelZoom:!a,className:`sf-map-frame`,children:[(0,n.jsx)(m.TileLayer,{attribution:La,url:`https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png`}),(0,n.jsx)(wa,{target:l}),(0,n.jsx)(Ra,{lat:e,lng:r}),(0,n.jsx)(za,{readOnly:a,onPick:s}),(0,n.jsx)(m.Marker,{position:c,icon:ka,draggable:!a,eventHandlers:{dragend:e=>{let t=e.target.getLatLng();s(Ma(t.lat),Ma(t.lng))}}})]})]})},Va={lat:ja(Aa.lat,-12.0464),lng:ja(Aa.lng,-77.0428)},Ha=({form:e,name:i,label:a,info:o,required:s,zoom:c=13,readOnly:l,disabled:u,showGeocoder:d=!0,className:f,onChange:p,onRefresh:m})=>{let h=ya(),[g,_]=(0,t.useState)(!1),[v,y]=(0,t.useState)(null),b=(0,r.useController)({name:i,control:e.control}),x=String(i),S=b.fieldState.error,C=!!S,w=l||u,T=b.field.onBlur,E=(0,t.useMemo)(()=>Ia(b.field.value),[b.field.value]),D=(0,t.useMemo)(()=>ja(E.lat,Va.lat),[E.lat]),O=(0,t.useMemo)(()=>ja(E.lng,Va.lng),[E.lng]),k=(0,t.useCallback)(e=>{let t={...E,...e};b.field.onChange(t),p?.(t)},[b.field,p,E]),A=(0,t.useCallback)((e,t)=>{y(null),k({lat:e,lng:t}),T()},[T,k]),j=(0,t.useCallback)(()=>{!navigator.geolocation||g||(_(!0),y(null),navigator.geolocation.getCurrentPosition(e=>{k({lat:Ma(e.coords.latitude),lng:Ma(e.coords.longitude)});let t=Pa(e.coords.accuracy);y(t?{tone:`warning`,message:t}:null),_(!1)},e=>{y({tone:`error`,message:Fa(e.code)}),_(!1)},Na))},[g,k]);return(0,n.jsx)(K,{id:x,label:a,info:o,required:s,onRefresh:m,error:S?.message?String(S.message):void 0,children:(0,n.jsxs)(`div`,{className:(0,G.default)(`grid gap-3`,f),children:[(0,n.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`label`,{htmlFor:`${x}-lat`,className:`sf-map-label`,children:`Latitud`}),(0,n.jsx)(`input`,{id:`${x}-lat`,type:`text`,inputMode:`decimal`,value:E.lat,readOnly:w,disabled:u,"aria-invalid":C||void 0,onBlur:()=>b.field.onBlur(),onChange:e=>k({lat:e.target.value}),className:q({error:!!S,readOnly:l,disabled:u,small:!0})})]}),(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`label`,{htmlFor:`${x}-lng`,className:`sf-map-label`,children:`Longitud`}),(0,n.jsx)(`input`,{id:`${x}-lng`,type:`text`,inputMode:`decimal`,value:E.lng,readOnly:w,disabled:u,"aria-invalid":C||void 0,onBlur:()=>b.field.onBlur(),onChange:e=>k({lng:e.target.value}),className:q({error:!!S,readOnly:l,disabled:u,small:!0})})]})]}),!w&&(0,n.jsx)(`button`,{type:`button`,onClick:j,disabled:g,"aria-busy":g||void 0,className:(0,G.default)(`sf-map-action-btn`,g&&`cursor-wait opacity-70`),children:g?`Obteniendo ubicación…`:`Usar mi ubicación`}),v&&(0,n.jsx)(`p`,{className:(0,G.default)(`sf-map-feedback`,v.tone===`error`?`sf-map-feedback--error`:`sf-map-feedback--warning`),role:`status`,children:v.message}),h?(0,n.jsx)(Ba,{lat:D,lng:O,zoom:c,readOnly:w,showGeocoder:d,onPick:A}):(0,n.jsx)(`div`,{className:`sf-map-placeholder sf-map-placeholder--picker`,role:`status`,children:`Cargando mapa…`}),(0,n.jsx)(`p`,{className:`sf-map-hint`,children:`Haz clic en el mapa o arrastra el marcador para ajustar la ubicación.`})]})})},Ua={emerald:`sf-kpi-card--accent-emerald`,blue:`sf-kpi-card--accent-blue`,amber:`sf-kpi-card--accent-amber`,red:`sf-kpi-card--accent-red`,teal:`sf-kpi-card--accent-teal`,slate:`sf-kpi-card--accent-slate`},Wa=e=>`${e>0?`+`:``}${e}%`,Ga=({label:e,value:t,sublabel:r,icon:i,iconClassName:a,trend:o,trendLabel:s,accentTone:c,className:l,onClick:u})=>{let d=o!=null,f=d&&o>=0;return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-card p-4`,c&&`sf-kpi-card`,c&&Ua[c],u&&`sf-card--interactive`,l),onClick:u,onKeyDown:e=>{u&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),u())},role:u?`button`:void 0,tabIndex:u?0:void 0,children:[(0,n.jsxs)(`div`,{className:`mb-2 flex items-start justify-between gap-2`,children:[(0,n.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[i&&(0,n.jsx)(`span`,{className:(0,G.default)(`sf-card-icon`,a),"aria-hidden":`true`,children:i}),(0,n.jsx)(`span`,{className:`truncate text-sm font-medium sf-card-subtitle`,children:e})]}),d&&(0,n.jsxs)(`span`,{className:(0,G.default)(`flex shrink-0 items-center gap-0.5 text-xs font-semibold tabular-nums`,f?`text-[var(--sf-success)]`:`text-[var(--sf-danger)]`),children:[(0,n.jsx)(`span`,{"aria-hidden":`true`,children:f?`↑`:`↓`}),Wa(o)]})]}),(0,n.jsx)(`p`,{className:`text-2xl font-semibold tabular-nums sf-card-title`,children:typeof t==`number`?t.toLocaleString(`es-PE`):t}),(r||s)&&(0,n.jsxs)(`div`,{className:`mt-1.5 flex items-center justify-between gap-2`,children:[r&&(0,n.jsx)(`span`,{className:`text-xs sf-card-muted`,children:r}),s&&(0,n.jsx)(`span`,{className:`ml-auto text-xs sf-card-muted`,children:s})]})]})},Ka={2:`grid-cols-1 sm:grid-cols-2`,3:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-3`,4:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-4`,5:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-5`},qa=({children:e,cols:t=4,className:r})=>(0,n.jsx)(`div`,{className:(0,G.default)(`grid gap-4`,Ka[t],r),children:e}),Ja={slate:`sf-metric-row__fill--slate`,emerald:`sf-metric-row__fill--emerald`,amber:`sf-metric-row__fill--amber`,red:`sf-metric-row__fill--red`,blue:`sf-metric-row__fill--blue`},Ya=({item:e,small:t=!1})=>{let r=Math.max(0,Math.min(100,e.value)),i=e.tone??`slate`;return(0,n.jsxs)(`div`,{className:`w-full`,children:[(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-metric-row__labels`,t&&`sf-metric-row__labels--sm`),children:[(0,n.jsx)(`span`,{className:`sf-metric-row__label`,children:e.label}),(0,n.jsxs)(`span`,{className:`sf-metric-row__value`,children:[r,`%`]})]}),(0,n.jsx)(`div`,{className:(0,G.default)(`sf-metric-row__track`,t&&`sf-metric-row__track--sm`),children:(0,n.jsx)(`div`,{className:(0,G.default)(`sf-metric-row__fill`,Ja[i]),style:{width:`${r}%`,height:t?2:4,...e.inverse?{marginLeft:`${100-r}%`}:{}}})})]})},Xa=({metrics:e,small:t=!1,className:r})=>(0,n.jsx)(`div`,{className:(0,G.default)(`flex w-full flex-col gap-1.5`,r),children:e.map((e,r)=>(0,n.jsx)(Ya,{item:e,small:t},`${e.label}-${r}`))}),Za={default:`sf-entity-card--default`,featured:`sf-entity-card--featured`,warning:`sf-entity-card--warning`},Qa={default:null,featured:`★`,warning:`!`},$a=e=>e.split(` `).map(e=>e[0]).join(``).slice(0,2).toUpperCase(),eo=e=>e>=90?`sf-entity-score--high`:e>=70?`sf-entity-score--mid`:`sf-entity-score--low`,to=e=>t=>{e&&(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e())},no=({photo:e,photoIcon:t,name:r})=>(0,n.jsx)(`div`,{className:`sf-entity-photo`,children:e?(0,n.jsx)(`img`,{src:e,alt:r,className:`h-full w-full object-cover`,loading:`lazy`}):(0,n.jsx)(`span`,{className:`sf-entity-photo__initials`,"aria-hidden":`true`,children:t??$a(r)})}),ro=({name:e,subtitle:t,sublabel:r,photo:i,photoIcon:a,status:o=`default`,metrics:s=[],actionLabel:c,onAction:l,onClick:u,className:d})=>{let f=Qa[o];return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-entity-card sf-entity-card--full`,Za[o],u&&`sf-entity-card--interactive`,d),onClick:u,onKeyDown:to(u),role:u?`button`:void 0,tabIndex:u?0:void 0,children:[(0,n.jsx)(no,{photo:i,photoIcon:a,name:e}),f&&(0,n.jsx)(`div`,{className:`sf-entity-badge`,"aria-hidden":`true`,children:f}),(0,n.jsxs)(`div`,{className:`flex flex-1 flex-col gap-2 p-3`,children:[(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`p`,{className:`text-sm font-semibold sf-card-title`,children:e}),t&&(0,n.jsx)(`p`,{className:`mt-0.5 text-xs sf-card-subtitle`,children:t}),r&&(0,n.jsx)(`p`,{className:`mt-0.5 font-mono text-[11px] sf-card-muted`,children:r})]}),s.length>0&&(0,n.jsx)(Xa,{metrics:s}),c&&(0,n.jsx)(Q,{type:`button`,variant:`outline`,size:`sm`,className:`mt-auto w-full`,onClick:e=>{e.stopPropagation(),l?.()},children:c})]})]})},io=({name:e,subtitle:t,sublabel:r,photo:i,photoIcon:a,score:o,status:s=`default`,metrics:c=[],onClick:l,className:u})=>{let d=Qa[s];return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-entity-card sf-entity-card--compact`,l&&`sf-entity-card--interactive`,u),onClick:l,onKeyDown:to(l),role:l?`button`:void 0,tabIndex:l?0:void 0,children:[(0,n.jsxs)(`div`,{className:`sf-entity-photo sf-entity-photo--avatar`,children:[i?(0,n.jsx)(`img`,{src:i,alt:e,className:`h-full w-full object-cover`}):(0,n.jsx)(`span`,{className:`sf-entity-photo__initials sf-entity-photo__initials--sm`,children:a??$a(e)}),d&&(0,n.jsx)(`span`,{className:`sf-entity-badge sf-entity-badge--inline`,children:d})]}),(0,n.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,n.jsx)(`p`,{className:`truncate text-sm font-semibold sf-card-title`,children:e}),t&&(0,n.jsx)(`p`,{className:`truncate text-xs sf-card-subtitle`,children:t}),r&&(0,n.jsx)(`p`,{className:`truncate font-mono text-[11px] sf-card-muted`,children:r}),c.length>0&&(0,n.jsx)(`div`,{className:`mt-1 flex flex-col gap-0.5`,children:c.map((e,t)=>(0,n.jsx)(Ya,{item:e,small:!0},`${e.label}-${t}`))})]}),o!==void 0&&(0,n.jsx)(`div`,{className:(0,G.default)(`sf-entity-score`,eo(o)),children:o})]})},ao=({name:e,subtitle:t,sublabel:r,groupIcon:i=`👥`,groupIconClassName:a,metrics:o=[],actionLabel:s,onAction:c,onClick:l,className:u})=>(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-entity-card sf-entity-card--group`,l&&`sf-entity-card--interactive`,u),onClick:l,onKeyDown:to(l),role:l?`button`:void 0,tabIndex:l?0:void 0,children:[(0,n.jsx)(`div`,{className:(0,G.default)(`sf-entity-group-icon`,a),children:i}),(0,n.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,n.jsx)(`p`,{className:`text-sm font-semibold sf-card-title`,children:e}),t&&(0,n.jsx)(`p`,{className:`mt-0.5 text-xs sf-card-subtitle`,children:t}),r&&(0,n.jsx)(`p`,{className:`mt-0.5 font-mono text-[11px] sf-card-subtitle`,children:r}),o.length>0&&(0,n.jsx)(Xa,{metrics:o,small:!0,className:`mt-2`}),s&&(0,n.jsxs)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),c?.()},className:`sf-entity-action-link`,children:[s,` →`]})]})]}),oo=e=>e.compact?(0,n.jsx)(io,{...e}):e.variant===`group`?(0,n.jsx)(ao,{...e}):(0,n.jsx)(ro,{...e}),so={2:`grid-cols-1 sm:grid-cols-2`,3:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-3`,4:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-4`,5:`grid-cols-2 sm:grid-cols-3 lg:grid-cols-5`},co=({children:e,cols:t=3,className:r})=>(0,n.jsx)(`div`,{className:(0,G.default)(`grid gap-3`,so[t],r),children:e}),lo={alta:`danger`,media:`warning`,baja:`success`},uo={alto:`Impacto alto`,medio:`Impacto medio`,bajo:`Impacto bajo`},fo=({title:e,description:t,tags:r=[],priority:i=`media`,impact:a=`medio`,confidence:o,actionLabel:s,onAction:c,className:l})=>(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-card flex items-start gap-3 p-3`,l),children:[(0,n.jsx)(`div`,{className:`mt-0.5 shrink-0`,children:(0,n.jsx)(Oi,{label:i,variant:lo[i],size:`md`})}),(0,n.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,n.jsx)(`p`,{className:`text-sm font-semibold sf-card-title`,children:e}),(0,n.jsx)(`p`,{className:`mt-0.5 text-xs leading-snug sf-card-subtitle`,children:t}),r.length>0&&(0,n.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1`,children:r.map(e=>(0,n.jsx)(`span`,{className:`sf-card-tag`,children:e},e))})]}),(0,n.jsxs)(`div`,{className:`flex shrink-0 flex-col items-end gap-1`,children:[o!==void 0&&(0,n.jsxs)(`div`,{className:`text-center`,children:[(0,n.jsx)(`span`,{className:`text-lg font-bold tabular-nums sf-card-title`,children:o}),(0,n.jsx)(`span`,{className:`text-[10px] sf-card-muted`,children:`%`}),(0,n.jsx)(`p`,{className:`text-[10px] sf-card-muted`,children:`Confianza`})]}),(0,n.jsx)(`span`,{className:`text-[11px] font-medium sf-card-muted`,children:uo[a]}),s&&(0,n.jsxs)(`button`,{type:`button`,onClick:c,className:`text-[11px] font-semibold sf-card-subtitle hover:underline`,children:[s,` →`]})]})]}),po=e=>e.trim().charAt(0).toUpperCase(),mo=({active:e})=>(0,n.jsx)(`svg`,{className:(0,G.default)(`sf-module-card__favorite-icon`,e?`sf-module-card__favorite-icon--active`:`sf-module-card__favorite-icon--idle`),width:16,height:16,viewBox:`0 0 24 24`,strokeWidth:1.6,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,n.jsx)(`path`,{d:`M12 3l2.6 5.3 5.9.85-4.25 4.15 1 5.8L12 18.6 6.75 19.05l1-5.8L3.5 9.15l5.9-.85z`})}),ho=({title:e,subtitle:r,icon:i,logoUrl:a,iconAccent:o,badge:s,isNew:c,favorite:l=!1,onFavoriteToggle:u,onClick:d,variant:f=`tile`,density:p=`comfortable`,enterAnimation:m=!1,enterAnimationOnce:h=!1,enterDelay:g,className:_,"aria-label":v})=>{let[y,b]=(0,t.useState)(!1),x=m&&(!h||!y),S={...o?{"--sf-module-accent":o}:{},...x&&g!=null?{animationDelay:`${g}s`}:{}},C=f===`tile`&&u!=null,w=f===`row`&&r;return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-module-card`,f===`tile`?`sf-module-card--tile`:`sf-module-card--row`,p===`compact`&&`sf-module-card--compact`,x&&`sf-module-card--enter`,d&&`sf-module-card--interactive`,_),style:Object.keys(S).length>0?S:void 0,role:d?`button`:void 0,tabIndex:d?0:void 0,"aria-label":v??e,onClick:d,onKeyDown:e=>{d&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),d())},onAnimationEnd:e=>{h&&e.currentTarget===e.target&&b(!0)},children:[C&&(0,n.jsx)(`button`,{type:`button`,className:`sf-module-card__favorite`,title:l?`Quitar de favoritos`:`Agregar a favoritos`,"aria-label":l?`Quitar ${e} de favoritos`:`Agregar ${e} a favoritos`,"aria-pressed":l,onClick:e=>{e.stopPropagation(),u?.()},children:(0,n.jsx)(mo,{active:l})}),(0,n.jsxs)(`div`,{className:`sf-module-card__icon-shell`,children:[(0,n.jsx)(`div`,{className:(0,G.default)(`sf-module-card__icon-wrap`,a&&`sf-module-card__icon-wrap--logo`,!a&&(o||!i)&&`sf-module-card__icon-wrap--accent`),children:a?(0,n.jsx)(`img`,{src:a,alt:``}):i||(0,n.jsx)(`span`,{className:`sf-module-card__icon-fallback`,children:po(e)})}),s!=null&&s>0&&(0,n.jsx)(`span`,{className:`sf-module-card__badge`,children:s})]}),(0,n.jsxs)(`div`,{className:`sf-module-card__body`,children:[(0,n.jsx)(`p`,{className:`sf-module-card__title`,children:e}),w&&(0,n.jsx)(`p`,{className:`sf-module-card__subtitle`,children:r}),f===`tile`&&(c?(0,n.jsx)(`span`,{className:`sf-module-card__new`,children:`Nuevo`}):(0,n.jsx)(`span`,{className:`sf-module-card__new sf-module-card__new--placeholder`,"aria-hidden":`true`,children:`Nuevo`}))]})]})},go=({children:e,variant:t=`tile`,density:r=`comfortable`,className:i})=>(0,n.jsx)(`div`,{className:(0,G.default)(t===`tile`?`sf-module-grid`:`sf-module-row-grid`,t===`tile`&&r===`compact`&&`sf-module-grid--compact`,t===`tile`&&r===`comfortable`&&`sf-module-grid--comfortable`,i),children:e}),_o=({tipo:e,hora:t,cupos:r,apto:i=!1,aptoLabel:a=`Unidad apta`,children:o})=>(0,n.jsxs)(`div`,{className:`sf-tramo-card`,children:[(0,n.jsxs)(`div`,{className:`sf-tramo-card__header`,children:[(0,n.jsxs)(`div`,{className:`sf-tramo-card__heading`,children:[(0,n.jsx)(`span`,{className:`sf-tramo-card__icon sf-tramo-card__icon--${e}`,children:e===`ida`?(0,n.jsx)(Oe,{size:14,"aria-hidden":`true`}):(0,n.jsx)(W,{size:14,"aria-hidden":`true`})}),(0,n.jsx)(`span`,{className:`sf-tramo-card__title`,children:e===`ida`?`Ida`:`Retorno`}),t&&(0,n.jsx)(`span`,{className:`sf-tramo-card__hora`,children:t})]}),r!=null&&r>0&&(0,n.jsxs)(`span`,{className:`sf-tramo-card__cupos`,children:[r,` cupos`]})]}),(0,n.jsxs)(`div`,{className:`sf-tramo-card__body`,children:[o,i&&(0,n.jsx)(`div`,{className:`sf-tramo-card__apto`,children:(0,n.jsxs)(`span`,{className:`sf-tramo-card__apto-badge`,children:[(0,n.jsx)(se,{size:13,"aria-hidden":`true`}),a]})})]})]}),vo=[`Enero`,`Febrero`,`Marzo`,`Abril`,`Mayo`,`Junio`,`Julio`,`Agosto`,`Septiembre`,`Octubre`,`Noviembre`,`Diciembre`],yo=[`L`,`M`,`X`,`J`,`V`,`S`,`D`],bo=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,xo=e=>{let[t,n,r]=e.split(`-`).map(Number);return new Date(t,n-1,r)},So=(e,t)=>{let n=(new Date(e,t,1).getDay()+6)%7,r=new Date(e,t+1,0).getDate(),i=[];for(let e=0;e<n;e+=1)i.push(null);for(let n=1;n<=r;n+=1)i.push(new Date(e,t,n));for(;i.length%7!=0;)i.push(null);return i},Co={primary:`sf-calendar__badge--primary`,warning:`sf-calendar__badge--warning`,danger:`sf-calendar__badge--danger`,success:`sf-calendar__badge--success`,neutral:`sf-calendar__badge--neutral`},wo=(e,t)=>{let n=`${e.getDate()} de ${vo[e.getMonth()]} de ${e.getFullYear()}`;return!t||t.count<=0?n:`${n}, ${t.count} evento${t.count===1?``:`s`}`},To=({value:e,onChange:r,badges:i=[],compact:a=!1,className:o})=>{let s=bo(new Date),c=e?xo(e):new Date,[l,u]=(0,t.useState)(c.getFullYear()),[d,f]=(0,t.useState)(c.getMonth()),p=new Map(i.map(e=>[e.date,e])),m=So(l,d),h=a?`h-8`:`h-10`;return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-calendar`,a?`sf-calendar--compact`:`sf-calendar--default`,o),children:[(0,n.jsxs)(`div`,{className:`sf-calendar__nav`,children:[(0,n.jsx)(`button`,{type:`button`,onClick:()=>{d===0?(u(e=>e-1),f(11)):f(e=>e-1)},"aria-label":`Mes anterior`,className:`sf-calendar__nav-btn`,children:`‹`}),(0,n.jsxs)(`span`,{className:`sf-calendar__title`,children:[vo[d],` `,l]}),(0,n.jsx)(`button`,{type:`button`,onClick:()=>{d===11?(u(e=>e+1),f(0)):f(e=>e+1)},"aria-label":`Mes siguiente`,className:`sf-calendar__nav-btn`,children:`›`})]}),(0,n.jsx)(`div`,{className:`mb-0.5 grid grid-cols-7`,role:`row`,children:yo.map(e=>(0,n.jsx)(`div`,{className:`sf-calendar__weekday`,role:`columnheader`,"aria-label":e,children:e},e))}),(0,n.jsx)(`div`,{className:`grid grid-cols-7 gap-y-0.5`,role:`grid`,"aria-label":`Calendario de ${vo[d]} ${l}`,children:m.map((t,i)=>{if(!t)return(0,n.jsx)(`div`,{className:h,role:`gridcell`,"aria-hidden":`true`},`empty-${i}`);let a=bo(t),o=a===e,c=a===s,l=p.get(a);return(0,n.jsxs)(`button`,{type:`button`,role:`gridcell`,onClick:()=>r?.(a),"aria-label":wo(t,l),"aria-pressed":o,"aria-current":c?`date`:void 0,className:(0,G.default)(`sf-calendar__day`,h,o&&`sf-calendar__day--selected`,!o&&c&&`sf-calendar__day--today`,!o&&!c&&`sf-calendar__day--default`),children:[(0,n.jsx)(`span`,{className:`leading-none`,children:t.getDate()}),l&&l.count>0&&(0,n.jsx)(`span`,{className:(0,G.default)(`sf-calendar__badge`,o?`sf-calendar__badge--on-selected`:Co[l.variant??`primary`]),children:l.count>99?`99+`:l.count})]},a)})})]})},Eo={xs:56,sm:80,md:110,lg:150},Do={xs:13,sm:18,md:24,lg:34},Oo={xs:8,sm:10,md:11,lg:13},ko={xs:7,sm:9,md:10,lg:12},Ao={xs:6,sm:8,md:10,lg:13},jo=`var(--sf-success)`,Mo=`var(--sf-warning)`,No=`var(--sf-danger)`,Po=(e,t,n)=>{let{warning:r,critical:i}=n;return t?e>=i?jo:e>=r?Mo:No:e<r?jo:e<i?Mo:No},Fo=({value:e,label:t,sublabel:r,size:i=`md`,color:a,thresholds:o={warning:70,critical:90},inverse:s=!1,showValue:c=!0,strokeWidth:l,className:u})=>{let d=Math.max(0,Math.min(100,e)),f=Eo[i],p=l??Ao[i],m=(f-p)/2,h=f/2,g=2*Math.PI*m,_=g*(1-d/100),v=a??Po(d,s,o);return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-donut-gauge`,u),children:[(0,n.jsxs)(`div`,{className:`relative`,style:{width:f,height:f},children:[(0,n.jsxs)(`svg`,{width:f,height:f,viewBox:`0 0 ${f} ${f}`,className:`-rotate-90`,"aria-label":t??`Indicador`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":d,role:`progressbar`,children:[(0,n.jsx)(`circle`,{cx:h,cy:h,r:m,fill:`none`,stroke:`var(--sf-gauge-track)`,strokeWidth:p}),(0,n.jsx)(`circle`,{cx:h,cy:h,r:m,fill:`none`,stroke:v,strokeWidth:p,strokeLinecap:`round`,strokeDasharray:g,strokeDashoffset:_,style:{transition:`stroke-dashoffset 0.5s ease, stroke 0.3s ease`}})]}),c&&(0,n.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,n.jsxs)(`span`,{className:`sf-donut-gauge__value`,style:{fontSize:Do[i]},children:[d,(0,n.jsx)(`span`,{style:{fontSize:Do[i]*.55},children:`%`})]})})]}),t&&(0,n.jsx)(`span`,{className:`sf-donut-gauge__label`,style:{fontSize:Oo[i]},children:t}),r&&(0,n.jsx)(`span`,{className:`sf-donut-gauge__sublabel`,style:{fontSize:ko[i]},children:r})]})},Io=({gauges:e,size:t=`sm`,className:r})=>(0,n.jsx)(`div`,{className:(0,G.default)(`flex flex-wrap items-start gap-4`,r),children:e.map((e,r)=>(0,n.jsx)(Fo,{...e,size:e.size??t},r))}),Lo={success:`sf-event-log__dot--success`,warning:`sf-event-log__dot--warning`,danger:`sf-event-log__dot--danger`,info:`sf-event-log__dot--info`,default:`sf-event-log__dot--default`},Ro={success:`sf-event-log__icon-wrap--success`,warning:`sf-event-log__icon-wrap--warning`,danger:`sf-event-log__icon-wrap--danger`,info:`sf-event-log__icon-wrap--info`,default:`sf-event-log__icon-wrap--default`},zo={success:`sf-alert-row-list__meta--success`,warning:`sf-alert-row-list__meta--warning`,danger:`sf-alert-row-list__meta--danger`,info:`sf-alert-row-list__meta--info`,default:`sf-alert-row-list__meta--default`},Bo=(e,t)=>{t&&(e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),t()))},Vo=({events:e,title:t,maxHeight:r,compact:i=!1,showTimeline:a=!0,viewAllLabel:o,onViewAll:s,className:c})=>{let l=i?`text-[11px]`:`text-xs`,u=i?`text-[10px]`:`text-[11px]`,d=i?`text-[9px]`:`text-[10px]`,f=i?`py-1.5`:`py-2.5`;return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-event-log`,c),children:[(t||o)&&(0,n.jsxs)(`div`,{className:`sf-event-log__header`,children:[t&&(0,n.jsx)(`span`,{className:`sf-event-log__title`,children:t}),o&&(0,n.jsx)(`button`,{type:`button`,onClick:s,className:`sf-event-log__view-all`,children:o})]}),(0,n.jsxs)(`div`,{className:(0,G.default)(!r&&`overflow-y-visible`,r&&`overflow-y-auto`),style:r?{maxHeight:r,overscrollBehavior:`contain`}:void 0,role:`list`,"aria-label":t??`Eventos`,children:[e.length===0&&(0,n.jsx)(`p`,{className:(0,G.default)(`sf-event-log__empty`,u,f),role:`status`,children:`Sin eventos`}),e.map((t,r)=>{let i=t.status??`default`,o=r===e.length-1;return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-event-log__item`,f),role:`listitem`,children:[a&&!o&&(0,n.jsx)(`div`,{className:`sf-event-log__timeline`,style:{bottom:0},"aria-hidden":`true`}),(0,n.jsx)(`div`,{className:`mt-0.5 shrink-0`,children:t.icon?(0,n.jsx)(`div`,{className:(0,G.default)(`sf-event-log__icon-wrap`,Ro[i]),"aria-hidden":`true`,children:t.icon}):(0,n.jsx)(`div`,{className:(0,G.default)(`sf-event-log__dot`,Lo[i]),"aria-hidden":`true`})}),(0,n.jsxs)(`div`,{className:`sf-event-log__body`,children:[(0,n.jsxs)(`div`,{className:`sf-event-log__row`,children:[(0,n.jsx)(`span`,{className:(0,G.default)(`sf-event-log__label`,l),children:t.label}),t.actionLabel&&(0,n.jsx)(`button`,{type:`button`,onClick:t.onAction,className:(0,G.default)(`sf-event-log__action`,d),children:t.actionLabel})]}),t.description&&(0,n.jsx)(`p`,{className:(0,G.default)(`sf-event-log__description`,u),children:t.description}),(0,n.jsx)(`span`,{className:(0,G.default)(`sf-event-log__time`,d),children:t.time})]})]},t.id??r)})]})]})},Ho=({items:e,maxHeight:t,className:r})=>(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-alert-row-list sf-alert-row-list--divided`,r),style:t?{maxHeight:t,overflowY:`auto`}:void 0,role:`list`,"aria-label":`Alertas`,children:[e.length===0&&(0,n.jsx)(`p`,{className:`sf-event-log__empty`,role:`status`,children:`Sin alertas`}),e.map((e,t)=>{let r=e.status??`default`;return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-alert-row-list__row`,e.onClick&&`sf-alert-row-list__row--clickable`),role:e.onClick?`button`:`listitem`,tabIndex:e.onClick?0:void 0,onClick:e.onClick,onKeyDown:t=>Bo(t,e.onClick),children:[(0,n.jsx)(`span`,{className:(0,G.default)(`sf-event-log__dot`,Lo[r]),"aria-hidden":`true`}),(0,n.jsxs)(`span`,{className:`sf-alert-row-list__label`,children:[e.icon&&(0,n.jsx)(`span`,{className:`mr-1`,children:e.icon}),e.label]}),e.meta&&(0,n.jsx)(`span`,{className:(0,G.default)(`sf-alert-row-list__meta`,zo[r]),children:e.meta}),e.time&&(0,n.jsx)(`span`,{className:`sf-alert-row-list__time`,children:e.time})]},t)})]}),Uo={success:{color:`#1F8A4C`,halo:`#EAF5EE`},warning:{color:`#C76A12`,halo:`#FDF0E4`},danger:{color:`#C0392B`,halo:`#FBEDED`},info:{color:`#1E6FA3`,halo:`#E7F1F8`},default:{color:`var(--sf-text-subtle, #5C7180)`,halo:`var(--sf-surface-alt, #EEF0F2)`}},Wo={display:`flex`,gap:12,flexWrap:`wrap`},Go=({items:e,className:t})=>(0,n.jsx)(`div`,{className:(0,G.default)(`sf-alert-lane`,t),style:Wo,role:`list`,"aria-label":`Alertas`,children:e.map((e,t)=>{let r=Uo[e.status??`default`],i=e.color??r.color,a=e.halo??r.halo;return(0,n.jsxs)(`div`,{role:`listitem`,style:{flex:1,minWidth:260,display:`flex`,alignItems:`center`,gap:13,padding:`13px 16px`,borderRadius:13,background:`var(--sf-card-bg, #fff)`,border:`1px solid var(--sf-border, #E2E8EC)`,borderLeft:`4px solid ${i}`,boxShadow:`0 1px 3px rgba(12,33,49,.06)`},children:[e.icon&&(0,n.jsx)(`div`,{style:{width:38,height:38,borderRadius:11,background:a,color:i,display:`flex`,alignItems:`center`,justifyContent:`center`,flex:`none`},children:e.icon}),(0,n.jsxs)(`div`,{style:{flex:1},children:[(0,n.jsx)(`div`,{style:{fontSize:13,fontWeight:800,color:`var(--sf-text, #1B2A38)`},children:e.title}),e.detail!=null&&(0,n.jsx)(`div`,{style:{fontSize:11.5,fontWeight:600,color:`var(--sf-text-subtle, #5C7180)`,marginTop:2},children:e.detail})]}),e.cta!=null&&(0,n.jsx)(`button`,{type:`button`,onClick:e.onCta,style:{height:30,padding:`0 12px`,border:`1.5px solid var(--sf-border, #DCE3E7)`,borderRadius:8,background:`var(--sf-card-bg, #fff)`,color:i,fontFamily:`inherit`,fontSize:12,fontWeight:800,cursor:`pointer`,flex:`none`},children:e.cta})]},e.id??t)})}),Ko={default:``,accent:`sf-card--accent`,critical:`sf-card--critical`,warning:`sf-card--warning`,success:`sf-card--success`},qo={1:`col-span-1`,2:`col-span-1 sm:col-span-2`,3:`col-span-1 sm:col-span-2 lg:col-span-3`,4:`col-span-1 sm:col-span-2 lg:col-span-4`},Jo={none:``,sm:`p-3`,md:`p-4`,lg:`p-5`},Yo=({title:e,subtitle:t,icon:r,headerAction:i,variant:a=`default`,span:o=1,padding:s=`md`,className:c,children:l})=>(0,n.jsxs)(`div`,{role:e?`region`:void 0,"aria-label":e,className:(0,G.default)(`sf-card flex flex-col overflow-hidden`,Ko[a],qo[o],c),children:[(e||r||i)&&(0,n.jsxs)(`div`,{className:`sf-card-header`,children:[r&&(0,n.jsx)(`span`,{className:`shrink-0 text-base sf-card-subtitle`,"aria-hidden":`true`,children:r}),(0,n.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[e&&(0,n.jsx)(`span`,{className:`block truncate text-xs font-semibold sf-card-title`,children:e}),t&&(0,n.jsx)(`span`,{className:`block truncate text-[10px] sf-card-muted`,children:t})]}),i&&(0,n.jsx)(`div`,{className:`shrink-0`,children:i})]}),(0,n.jsx)(`div`,{className:(0,G.default)(`flex-1`,Jo[s]),children:l})]}),Xo={2:`grid-cols-1 sm:grid-cols-2`,3:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-3`,4:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-4`,5:`grid-cols-2 sm:grid-cols-3 lg:grid-cols-5`,6:`grid-cols-2 sm:grid-cols-3 lg:grid-cols-6`},Zo={sm:`gap-2`,md:`gap-3`,lg:`gap-5`},Qo=({cols:e=4,gap:t=`md`,className:r,children:i})=>(0,n.jsx)(`div`,{className:(0,G.default)(`grid`,Xo[e],Zo[t],r),children:i}),$o=({title:e,subtitle:t,action:r,className:i,children:a})=>(0,n.jsxs)(`section`,{className:(0,G.default)(`flex flex-col gap-3`,i),"aria-label":e,children:[(0,n.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`h2`,{className:`text-sm font-bold sf-card-title`,children:e}),t&&(0,n.jsx)(`p`,{className:`mt-0.5 text-[11px] sf-card-muted`,children:t})]}),r&&(0,n.jsx)(`div`,{className:`shrink-0`,children:r})]}),a]}),es={slate:`sf-stat-tone--slate`,emerald:`sf-stat-tone--emerald`,amber:`sf-stat-tone--amber`,red:`sf-stat-tone--red`,blue:`sf-stat-tone--blue`},ts=({items:e,className:t})=>(0,n.jsx)(`div`,{role:`list`,"aria-label":`Resumen de métricas`,className:(0,G.default)(`flex flex-wrap items-center gap-5 border-t border-[var(--sf-border)] bg-[var(--sf-card-bg)] px-4 py-2`,t),children:e.map((e,t)=>(0,n.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,role:`listitem`,children:[e.tone&&(0,n.jsx)(`span`,{className:(0,G.default)(`h-1.5 w-1.5 shrink-0 rounded-full`,es[e.tone]),"aria-hidden":`true`}),(0,n.jsxs)(`span`,{className:`text-[10px] sf-card-muted`,children:[e.label,`:`]}),(0,n.jsx)(`span`,{className:`text-[11px] font-semibold tabular-nums sf-card-title`,children:e.value})]},t))}),ns=({header:e,sidebar:t,statBar:r,className:i,children:a})=>(0,n.jsxs)(`div`,{className:`sf-card flex min-h-[480px] flex-col overflow-hidden bg-[var(--sf-page-bg)]`,role:`region`,"aria-label":`Dashboard`,children:[e&&(0,n.jsx)(`header`,{className:`border-b border-[var(--sf-border)] bg-[var(--sf-card-bg)] px-4 py-3`,children:e}),(0,n.jsxs)(`div`,{className:`flex min-h-0 flex-1`,children:[t&&(0,n.jsx)(`aside`,{className:`w-48 shrink-0 border-r border-[var(--sf-border)] bg-[var(--sf-card-bg)] p-3 text-sm sf-card-subtitle`,"aria-label":`Navegación dashboard`,children:t}),(0,n.jsx)(`main`,{className:(0,G.default)(`min-w-0 flex-1 overflow-auto p-4`,i),children:a})]}),r&&(0,n.jsx)(`footer`,{className:`shrink-0`,children:r})]}),rs=({small:e,error:t})=>(0,G.default)(`sf-input`,`sf-input--otp`,e&&`sf-input--sm`,t&&`sf-input--error`),is=(e,t)=>{let n=it(String(e??``),t);return Array.from({length:t},(e,t)=>n[t]??``)},as=({form:e,name:i,label:a,info:o,required:s,disabled:c,small:l,className:u,length:d=6,onChange:f})=>{let p=(0,r.useController)({name:i,control:e.control}),m=(0,t.useRef)([]),[h,g]=(0,t.useState)(()=>is(p.field.value,d)),[_,v]=(0,t.useState)(p.field.value);p.field.value!==_&&(v(p.field.value),g(is(p.field.value,d)));let y=String(i),b=p.fieldState.error?.message?String(p.fieldState.error.message):void 0,x=e=>{g(e);let t=e.join(``);p.field.onChange(t),f?.(t)},S=(e,t)=>{let n=it(t,d);if(n.length>1){let t=[...h];for(let r=0;r<n.length&&e+r<d;r++)t[e+r]=n[r];x(t),m.current[Math.min(e+n.length,d-1)]?.focus();return}let r=n.slice(-1),i=[...h];i[e]=r,x(i),r&&e<d-1&&m.current[e+1]?.focus()},C=(e,t)=>{t.key===`Backspace`&&!h[e]&&e>0&&m.current[e-1]?.focus(),t.key===`ArrowLeft`&&e>0&&m.current[e-1]?.focus(),t.key===`ArrowRight`&&e<d-1&&m.current[e+1]?.focus()};return(0,n.jsx)(K,{id:y,label:a,info:o,required:s,error:b,children:(0,n.jsx)(`div`,{className:(0,G.default)(`flex gap-2`,u),role:`group`,"aria-label":a??`Código OTP`,children:h.map((e,t)=>(0,n.jsx)(`input`,{id:t===0?y:`${y}-${t+1}`,ref:e=>{m.current[t]=e},type:`text`,inputMode:`numeric`,autoComplete:t===0?`one-time-code`:`off`,maxLength:1,value:e,disabled:c,"aria-invalid":!!b||void 0,"aria-label":`Dígito ${t+1}`,onBlur:()=>p.field.onBlur(),onChange:e=>S(t,e.target.value),onKeyDown:e=>C(t,e),className:rs({small:l,error:!!b,disabled:c})},t))})})},os=e=>(0,n.jsx)(Nt,{...e,utc:!0}),ss=()=>({start:``,end:``}),cs=()=>({start:``,end:``}),ls=0,us=()=>(ls+=1,`photo_${Date.now()}_${ls}`),ds=(e,t)=>{if(!t||t===`*`)return!0;let n=t.replace(/\s/g,``).split(`,`),r=`.${e.name.split(`.`).pop()?.toLowerCase()??``}`,i=e.type.toLowerCase();return n.some(e=>{let t=e.toLowerCase().trim();if(t.startsWith(`.`))return r===t;if(t.endsWith(`/*`)){let e=t.replace(`/*`,``);return i.startsWith(`${e}/`)}return i===t})},fs=(e,t=!1)=>new Promise(n=>{let r=document.createElement(`input`);r.type=`file`,r.accept=e,r.multiple=t,r.style.display=`none`,r.onchange=()=>{n(Array.from(r.files??[])),r.remove()},document.body.appendChild(r),r.click()}),ps=e=>({id:us(),preview:URL.createObjectURL(e),file:e}),ms=e=>{URL.revokeObjectURL(e.preview)},hs=e=>{e.forEach(ms)},gs=e=>Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&typeof e.id==`string`&&typeof e.preview==`string`&&e.file instanceof File):[],_s=(e,t=.92)=>new Promise((n,r)=>{let i=URL.createObjectURL(e),a=new Image;a.onload=()=>{let o=Math.min(a.width,a.height),s=(a.width-o)/2,c=(a.height-o)/2,l=document.createElement(`canvas`);l.width=o,l.height=o;let u=l.getContext(`2d`);if(!u){URL.revokeObjectURL(i),r(Error(`Canvas no disponible`));return}u.drawImage(a,s,c,o,o,0,0,o,o),l.toBlob(t=>{if(URL.revokeObjectURL(i),!t){r(Error(`No se pudo recortar la imagen`));return}n(new File([t],e.name.replace(/\.\w+$/,``)+`-crop.jpg`,{type:`image/jpeg`,lastModified:Date.now()}))},`image/jpeg`,t)},a.onerror=()=>{URL.revokeObjectURL(i),r(Error(`Imagen inválida`))},a.src=i}),vs=e=>e.length===0?`Arrastra archivos o haz clic`:e.length===1?e[0].name:`${e.length} archivos seleccionados`,ys=e=>`${e.name}-${e.lastModified}-${e.size}`,bs=({form:e,name:i,label:a,info:o,required:s,accept:c=`*`,multiple:l=!1,maxSizeMb:u=10,dropLabel:d,readOnly:f,disabled:p,small:m,className:h,onChange:g,onUpload:_,onRefresh:v})=>{let y=(0,t.useRef)(null),b=(0,r.useController)({name:i,control:e.control}),[x,S]=(0,t.useState)(!1),[C,w]=(0,t.useState)({}),[T,E]=(0,t.useState)(new Set),[D,O]=(0,t.useState)(null),k=String(i),A=b.fieldState.error?.message,j=A?String(A):D??void 0,M=f||p,N=`${k}-files`,P=(()=>{let e=b.field.value;return e?Array.isArray(e)?e:[e]:[]})(),F=async e=>{if(_)for(let t of e){let e=ys(t);E(t=>new Set(t).add(e)),w(t=>({...t,[e]:0}));try{await _(t,t=>{w(n=>({...n,[e]:Math.max(0,Math.min(100,t))}))}),w(t=>({...t,[e]:100}))}catch{O(`No se pudo cargar ${t.name}.`)}finally{E(t=>{let n=new Set(t);return n.delete(e),n})}}},I=e=>{let t=u*1024*1024,n=e.filter(e=>e.size<=t&&ds(e,c)),r=e.length-n.length;if(O(r>0?`${r} archivo(s) no cumplen tipo o tamaño máximo.`:null),l){let e=[...P,...n];b.field.onChange(e),g?.(e),F(n);return}let i=n[0]??null;b.field.onChange(i),g?.(i?[i]:[]),i&&F([i])};return(0,n.jsx)(K,{id:k,label:a,info:o,required:s,onRefresh:v,error:j,children:(0,n.jsxs)(`div`,{className:(0,G.default)(`grid gap-2`,h),children:[(0,n.jsx)(`input`,{ref:y,id:k,type:`file`,accept:c,multiple:l,disabled:M,"aria-describedby":P.length>0?N:void 0,"aria-invalid":!!j||void 0,className:`sr-only`,onBlur:()=>b.field.onBlur(),onChange:e=>{I(Array.from(e.target.files??[])),e.target.value=``}}),(0,n.jsxs)(`div`,{role:`button`,"aria-label":d??a??String(i),"aria-disabled":M||void 0,"aria-invalid":!!j||void 0,tabIndex:M?-1:0,onKeyDown:e=>{M||(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),y.current?.click())},onClick:()=>!M&&y.current?.click(),onDragOver:e=>{e.preventDefault(),M||S(!0)},onDragLeave:()=>S(!1),onDrop:e=>{e.preventDefault(),e.stopPropagation(),S(!1),!M&&I(Array.from(e.dataTransfer.files??[]))},className:(0,G.default)(`sf-file-drop`,x&&`sf-file-drop--dragging`,!M&&`sf-file-drop--interactive`,M&&`sf-file-drop--disabled`,m?`sf-file-drop--sm`:`sf-file-drop--md`,j&&`sf-file-drop--error`),children:[(0,n.jsx)(`span`,{className:`sf-file-drop__title`,children:x?`Suelta aquí`:d??vs(P)}),(0,n.jsxs)(`span`,{className:`sf-file-drop__hint`,children:[`Drag & drop o clic · máx. `,u,` MB`]})]}),P.length>0&&(0,n.jsx)(`ul`,{id:N,className:`sf-file-list`,"aria-label":`Archivos seleccionados`,children:P.map(e=>{let t=ys(e),r=C[t],i=T.has(t);return(0,n.jsxs)(`li`,{className:`sf-file-list__item`,children:[(0,n.jsxs)(`span`,{className:`truncate`,children:[e.name,` (`,Math.ceil(e.size/1024),` KB)`]}),_&&(i||r!=null)&&(0,n.jsx)(`div`,{className:`sf-file-upload-progress`,role:`progressbar`,"aria-label":`Carga de ${e.name}`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.max(0,Math.min(100,r??0)),children:(0,n.jsx)(`div`,{className:`sf-file-upload-progress__bar`,style:{width:`${Math.max(0,Math.min(100,r??0))}%`}})})]},t)})})]})})},xs=({form:e,name:i,label:a,info:o,required:s,capture:c,maxSizeMb:l=5,readOnly:u,disabled:d,small:f,className:p,onChange:m,onRefresh:h})=>{let g=(0,t.useRef)(null),_=(0,r.useController)({name:i,control:e.control}),v=String(i),y=_.fieldState.error,[b,x]=(0,t.useState)(null),S=(0,t.useMemo)(()=>y?.message?String(y.message):b??void 0,[b,y?.message]),C=u||d,w=_.field.value??null,T=(0,t.useMemo)(()=>w?URL.createObjectURL(w):null,[w]);(0,t.useEffect)(()=>()=>{T&&URL.revokeObjectURL(T)},[T]);let E=(0,t.useCallback)(e=>{if(e&&e.size>l*1024*1024){x(`La imagen supera ${l} MB.`);return}x(null),_.field.onChange(e),m?.(e)},[_.field,l,m]);return(0,n.jsx)(K,{id:v,label:a,info:o,required:s,onRefresh:h,error:S,children:(0,n.jsxs)(`div`,{className:p,children:[(0,n.jsx)(`input`,{ref:g,id:v,type:`file`,accept:`image/*`,capture:c,disabled:C,"aria-invalid":!!S||void 0,className:`sr-only`,onBlur:()=>_.field.onBlur(),onChange:e=>{E(e.target.files?.[0]??null),e.target.value=``}}),T?(0,n.jsxs)(`div`,{className:`inline-block`,children:[(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(`img`,{src:T,alt:`Vista previa`,className:`sf-photo-preview sf-photo-preview--single`}),!C&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>E(null),"aria-label":`Quitar imagen`,className:`sf-photo-remove-btn`,children:`✕`})]}),!C&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>g.current?.click(),className:`sf-photo-link`,children:`Cambiar imagen`})]}):(0,n.jsxs)(`button`,{type:`button`,disabled:C,onClick:()=>g.current?.click(),className:(0,G.default)(`sf-photo-upload`,f?`sf-photo-upload--sm`:`sf-photo-upload--md`),children:[(0,n.jsx)(`span`,{className:`text-2xl`,"aria-hidden":`true`,children:c?`📷`:`🖼`}),(0,n.jsx)(`span`,{className:`mt-1 text-sm`,children:c?`Abrir cámara`:`Seleccionar imagen`})]}),(0,n.jsxs)(`p`,{className:`sf-photo-hint`,children:[`Imágenes hasta `,l,` MB.`]})]})})},Ss=({form:e,name:i,label:a,info:o,required:s,width:c=400,height:l=160,readOnly:u,disabled:d,className:f,onChange:p,onRefresh:m})=>{let h=(0,t.useRef)(null),g=(0,t.useRef)(!1),_=(0,t.useRef)(null),v=(0,t.useRef)(void 0),y=(0,r.useController)({name:i,control:e.control}),[b,x]=(0,t.useState)(!0),S=String(i),C=y.fieldState.error,w=u||d;(0,t.useEffect)(()=>{let e=String(y.field.value??``);if(!e||!h.current)return;let t=new Image;t.onload=()=>{let e=h.current?.getContext(`2d`);e&&(e.clearRect(0,0,c,l),e.drawImage(t,0,0),x(!1))},t.src=e},[]);let T=(0,t.useCallback)(e=>{let t=h.current.getBoundingClientRect();return`touches`in e?{x:e.touches[0].clientX-t.left,y:e.touches[0].clientY-t.top}:{x:e.clientX-t.left,y:e.clientY-t.top}},[]),E=(0,t.useCallback)(()=>{let e=h.current?.toDataURL(`image/png`)??``;y.field.onChange(e),p?.(e)},[y.field,p]),D=(0,t.useCallback)(e=>{w||(g.current=!0,_.current=T(e))},[T,w]),O=(0,t.useCallback)(e=>{if(!g.current||!h.current||!_.current)return;let t=h.current.getContext(`2d`);if(!t)return;let n=T(e);if(t.beginPath(),t.moveTo(_.current.x,_.current.y),t.lineTo(n.x,n.y),!v.current){let e=getComputedStyle(document.documentElement);v.current=e.getPropertyValue(`--sf-primary`).trim()||e.getPropertyValue(`--sf-text`).trim()}t.strokeStyle=v.current,t.lineWidth=2,t.lineCap=`round`,t.stroke(),_.current=n,x(!1)},[T]),k=(0,t.useCallback)(()=>{g.current&&(g.current=!1,_.current=null,E(),y.field.onBlur())},[y.field,E]),A=(0,t.useCallback)(()=>{let e=h.current?.getContext(`2d`);e&&e.clearRect(0,0,c,l),x(!0),y.field.onChange(``),p?.(``)},[y.field,l,p,c]);return(0,n.jsx)(K,{id:S,label:a,info:o,required:s,onRefresh:m,error:C?.message?String(C.message):void 0,children:(0,n.jsxs)(`div`,{className:f,children:[(0,n.jsxs)(`div`,{className:`relative inline-block`,children:[(0,n.jsx)(`canvas`,{ref:h,width:c,height:l,role:`img`,"aria-label":a?`${a} - área de firma`:`Área de firma`,"aria-disabled":w||void 0,"aria-invalid":!!C||void 0,onMouseDown:D,onMouseMove:O,onMouseUp:k,onMouseLeave:k,onTouchStart:D,onTouchMove:O,onTouchEnd:k,className:(0,G.default)(`sf-signature-canvas`,w?`sf-signature-canvas--disabled`:`sf-signature-canvas--active`)}),b&&(0,n.jsx)(`div`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center`,children:(0,n.jsx)(`span`,{className:`sf-signature-placeholder`,children:`Firma aquí`})})]}),!w&&(0,n.jsx)(`button`,{type:`button`,"aria-label":`Limpiar firma`,onClick:A,className:`sf-signature-clear`,children:`Limpiar firma`})]})})},Cs=({form:e,name:i,label:a,info:o,required:s,max:c=10,maxSizeMb:l=5,camera:u=!1,readOnly:d,disabled:f,small:p,className:m,onChange:h,onRefresh:g})=>{let _=(0,t.useRef)(null),v=(0,r.useController)({name:i,control:e.control}),y=String(i),b=v.fieldState.error?.message?String(v.fieldState.error.message):void 0,[x,S]=(0,t.useState)(null),C=b??x??void 0,w=d||f,T=(0,t.useMemo)(()=>gs(v.field.value),[v.field.value]),E=(0,t.useMemo)(()=>!w&&T.length<c,[w,c,T.length]),D=(0,t.useMemo)(()=>p?`h-16 w-16`:`h-20 w-20`,[p]),O=(0,t.useRef)(T);(0,t.useEffect)(()=>{O.current=T},[T]),(0,t.useEffect)(()=>()=>{for(let e of O.current)ms(e)},[]);let k=(0,t.useCallback)(e=>{v.field.onChange(e),h?.(e)},[v.field,h]),A=(0,t.useCallback)(e=>{if(!e)return;let t=l*1024*1024,n=Array.from(e);if(n.some(e=>!e.type.toLowerCase().startsWith(`image/`))){S(`Solo se permiten archivos de imagen.`);return}if(n.some(e=>e.size>t)){S(`Hay imágenes que superan ${l} MB.`);return}let r=c-T.length,i=n.slice(0,r).map(e=>ps(e));if(n.length>r){S(`Solo puedes agregar ${r} imagen(es) más.`);return}S(null),k([...T,...i])},[k,c,l,T]),j=(0,t.useCallback)(e=>{let t=T.find(t=>t.id===e);t&&ms(t),k(T.filter(t=>t.id!==e))},[k,T]);return(0,n.jsx)(K,{id:y,label:a,info:o,required:s,onRefresh:g,error:C,children:(0,n.jsxs)(`div`,{className:m,children:[(0,n.jsx)(`div`,{className:`mb-2 flex items-center justify-end`,children:(0,n.jsxs)(`span`,{className:`sf-multi-photo__counter`,children:[T.length,`/`,c]})}),(0,n.jsxs)(`div`,{className:`flex flex-wrap gap-2`,role:`list`,"aria-label":a??String(i),children:[T.map(e=>(0,n.jsxs)(`div`,{role:`listitem`,className:(0,G.default)(`sf-multi-photo__cell group`,D),children:[(0,n.jsx)(`img`,{src:e.preview,alt:e.file?.name??`Foto seleccionada`,className:`h-full w-full object-cover`,draggable:!1}),!w&&(0,n.jsx)(`button`,{type:`button`,"aria-label":`Eliminar foto`,onClick:()=>j(e.id),className:`sf-multi-photo__remove`,children:`✕`})]},e.id)),E&&(0,n.jsxs)(`button`,{type:`button`,"aria-label":`Agregar foto`,onClick:()=>_.current?.click(),className:(0,G.default)(`sf-multi-photo__add`,D),children:[(0,n.jsx)(`span`,{className:`text-lg leading-none`,children:u?`📷`:`+`}),(0,n.jsx)(`span`,{className:`text-[10px] leading-none`,children:u?`Cámara`:`Agregar`})]})]}),(0,n.jsx)(`input`,{ref:_,type:`file`,accept:`image/*`,multiple:!u,capture:u?`environment`:void 0,disabled:w,className:`sr-only`,onBlur:()=>v.field.onBlur(),onChange:e=>{A(e.target.files),e.target.value=``}})]})})},ws=e=>{switch(e.kind){case`photo`:return(0,n.jsx)(xs,{...e});case`multiPhoto`:return(0,n.jsx)(Cs,{...e});case`signature`:return(0,n.jsx)(Ss,{...e});case`file`:return(0,n.jsx)(Rt,{...e});default:return null}},Ts=e=>new Promise((t,n)=>{let r=new Image;r.addEventListener(`load`,()=>t(r)),r.addEventListener(`error`,()=>n(Error(`No se pudo cargar la imagen`))),r.setAttribute(`crossOrigin`,`anonymous`),r.src=e}),Es=async(e,t,n,r=`image/jpeg`)=>{let i=await Ts(e),a=document.createElement(`canvas`);a.width=t.width,a.height=t.height;let o=a.getContext(`2d`);if(!o)throw Error(`Canvas no disponible`);return o.drawImage(i,t.x,t.y,t.width,t.height,0,0,t.width,t.height),new Promise((e,t)=>{a.toBlob(i=>{if(!i){t(Error(`Recorte vacío`));return}e(new File([i],n,{type:r}))},r,.92)})},Ds=({imageUrl:e,fileName:r,aspect:i=1,onCancel:a,onConfirm:o,className:s})=>{let[c,l]=(0,t.useState)({x:0,y:0}),[u,d]=(0,t.useState)(1),[f,p]=(0,t.useState)(null),[m,h]=(0,t.useState)(!1),_=(0,t.useCallback)((e,t)=>{p(t)},[]),v=async()=>{if(f){h(!0);try{o(await Es(e,f,r,r.toLowerCase().endsWith(`.png`)?`image/png`:`image/jpeg`))}finally{h(!1)}}};return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-photo-crop-editor`,s),children:[(0,n.jsx)(`div`,{className:`sf-photo-crop-editor__stage`,children:(0,n.jsx)(g.default,{image:e,crop:c,zoom:u,aspect:i,onCropChange:l,onZoomChange:d,onCropComplete:_})}),(0,n.jsxs)(`label`,{className:`sf-photo-crop-editor__zoom`,children:[`Zoom`,(0,n.jsx)(`input`,{type:`range`,"aria-label":`Zoom del recorte`,min:1,max:3,step:.05,value:u,onChange:e=>d(Number(e.target.value))})]}),(0,n.jsxs)(`div`,{className:`sf-photo-crop-editor__actions`,children:[(0,n.jsx)(`button`,{type:`button`,className:`sf-photo-crop-editor__btn sf-photo-crop-editor__btn--ghost`,onClick:a,children:`Cancelar`}),(0,n.jsx)(`button`,{type:`button`,className:`sf-photo-crop-editor__btn sf-photo-crop-editor__btn--primary`,disabled:m||!f,"aria-busy":m||void 0,onClick:()=>void v(),children:m?`Recortando…`:`Aplicar recorte`})]})]})},Os=({form:e,name:i,label:a,info:o,required:s,maxSizeMb:c=5,interactive:l=!0,aspect:u=1,readOnly:d,disabled:f,small:p,className:m,onChange:h,onRefresh:g})=>{let _=(0,t.useRef)(null),v=(0,r.useController)({name:i,control:e.control}),[y,b]=(0,t.useState)(!1),[x,S]=(0,t.useState)(null),[C,w]=(0,t.useState)(null),T=String(i),E=v.fieldState.error?.message,D=E?String(E):C??void 0,O=d||f,k=v.field.value??null,A=(0,t.useMemo)(()=>k?URL.createObjectURL(k):null,[k]);(0,t.useEffect)(()=>()=>{A&&URL.revokeObjectURL(A)},[A]),(0,t.useEffect)(()=>()=>{x?.url&&URL.revokeObjectURL(x.url)},[x]);let j=e=>{v.field.onChange(e),h?.(e)},M=(0,t.useCallback)(()=>{x?.url&&URL.revokeObjectURL(x.url),S(null)},[x]),N=async e=>{if(e){if(e.size>c*1024*1024){w(`La imagen supera ${c} MB.`);return}if(w(null),l){M(),S({url:URL.createObjectURL(e),fileName:e.name});return}b(!0);try{j(await _s(e))}finally{b(!1)}}};return(0,t.useEffect)(()=>{if(!x)return;let e=e=>{e.key===`Escape`&&M()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[M,x]),(0,n.jsxs)(K,{id:T,label:a,info:o,required:s,onRefresh:g,error:D,children:[(0,n.jsxs)(`div`,{className:m,children:[(0,n.jsx)(`input`,{ref:_,id:T,type:`file`,accept:`image/*`,disabled:O||y,"aria-invalid":!!D||void 0,className:`sr-only`,onBlur:()=>v.field.onBlur(),onChange:e=>{N(e.target.files?.[0]??null),e.target.value=``}}),A?(0,n.jsxs)(`div`,{className:`inline-block`,children:[(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(`img`,{src:A,alt:`Vista previa recortada`,className:`sf-photo-preview sf-photo-preview--crop`}),!O&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>j(null),"aria-label":`Quitar imagen`,className:`sf-photo-remove-btn`,children:`✕`})]}),!O&&(0,n.jsx)(`button`,{type:`button`,disabled:y,"aria-busy":y||void 0,onClick:()=>_.current?.click(),className:`sf-photo-link`,children:y?`Recortando…`:`Cambiar y recortar`})]}):(0,n.jsxs)(`button`,{type:`button`,disabled:O||y,"aria-busy":y||void 0,onClick:()=>_.current?.click(),className:(0,G.default)(`sf-photo-upload`,p?`sf-photo-upload--sm`:`sf-photo-upload--md`),children:[(0,n.jsx)(`span`,{className:`text-2xl`,"aria-hidden":`true`,children:`✂️`}),(0,n.jsx)(`span`,{className:`mt-1 text-sm`,children:y?`Recortando…`:l?`Seleccionar y recortar`:`Seleccionar y recortar (cuadrado)`})]}),(0,n.jsx)(`p`,{className:`sf-photo-hint`,children:l?`Recorte interactivo · aspecto ${u===1?`1:1`:u.toFixed(2)} · hasta ${c} MB.`:`Recorte central cuadrado automático · hasta ${c} MB.`})]}),x&&(0,n.jsxs)(`div`,{className:`sf-photo-crop-modal`,children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Cerrar recorte`,className:`sf-photo-crop-modal__overlay`,onClick:M}),(0,n.jsx)(`div`,{className:`sf-photo-crop-modal__panel`,role:`dialog`,"aria-modal":`true`,"aria-label":`Editor de recorte`,children:(0,n.jsx)(Ds,{imageUrl:x.url,fileName:x.fileName,aspect:u,onCancel:M,onConfirm:e=>{j(e),M()}})})]})]})},ks=()=>[],As=({title:e,description:t,className:r,children:i})=>(0,n.jsxs)(`section`,{className:(0,G.default)(`sf-neutral-map-frame`,r),children:[(e||t)&&(0,n.jsxs)(`div`,{className:`sf-neutral-map-frame__header`,children:[e&&(0,n.jsx)(`h3`,{className:`sf-neutral-map-frame__title`,children:e}),t&&(0,n.jsx)(`p`,{className:`sf-neutral-map-frame__description`,children:t})]}),i]}),js=({tone:e=`info`,children:t})=>(0,n.jsx)(`p`,{className:(0,G.default)(`sf-neutral-map-status`,`sf-neutral-map-status--${e}`),role:e===`error`?`alert`:`status`,children:t}),Ms=`Maps config not found. Wrap your app with <SfProvider maps={...}>.`,Ns={lat:-12.0464,lng:-77.0428},Ps=13,Fs=`https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png`,Is=`© <a href="https://www.openstreetmap.org/copyright" target="_blank" rel="noreferrer">OpenStreetMap</a>`,Ls={drawing:`basic`,streetView:`none`,clustering:`none`,heatmap:`none`},Rs={drawing:`basic`,streetView:`interactive`,clustering:`client`,heatmap:`weighted`},zs=`sf-google-maps-script`,Bs=({apiKey:e,language:t=`es`,region:n=`PE`,libraries:r=[]})=>{let i=new URLSearchParams({key:e,language:t,region:n});return r.length>0&&i.set(`libraries`,r.join(`,`)),`https://maps.googleapis.com/maps/api/js?${i.toString()}`},Vs=e=>{let t=window;return t.google?.maps?Promise.resolve(t.google):(t.__sfGoogleMapsPromise||=new Promise((n,r)=>{let i=document.getElementById(zs);if(i){i.addEventListener(`load`,()=>n(t.google??{})),i.addEventListener(`error`,()=>r(Error(`No se pudo cargar Google Maps.`)));return}let a=document.createElement(`script`);a.id=zs,a.src=Bs(e),a.async=!0,a.defer=!0,a.addEventListener(`load`,()=>n(t.google??{})),a.addEventListener(`error`,()=>r(Error(`No se pudo cargar Google Maps.`))),document.head.appendChild(a)}),t.__sfGoogleMapsPromise)},Hs=(e,t=``)=>{let n=e.match(/^var\((--[^,)]+)\)$/);return!n||typeof document>`u`?t||e:getComputedStyle(document.documentElement).getPropertyValue(n[1]).trim()||t||e},Us=(e,t)=>({map:t,paths:e.points,strokeColor:e.color??Hs(`var(--sf-map-area-stroke)`),fillColor:e.fillColor??e.color??Hs(`var(--sf-map-area-fill)`),fillOpacity:.14,strokeWeight:2.5}),Ws=(e,t)=>({map:t,path:e.points,strokeColor:e.color??Hs(`var(--sf-map-route-stroke)`),strokeWeight:3.5}),Gs=(e,t,n)=>({map:t,position:e.position,title:e.title??e.label,label:e.label?e.label.slice(0,1).toUpperCase():void 0,draggable:!n&&e.options?.draggable}),Ks=({config:e,center:r=Ns,zoom:i=13,markers:a=[],routes:o=[],areas:s=[],height:c=320,className:l,readOnly:u,onClick:d,onMarkerClick:f,onMarkerDoubleClick:p,onMarkerDrag:m,onMarkerDragEnd:h})=>{let g=(0,t.useRef)(null),_=(0,t.useRef)(null),v=(0,t.useRef)(new Map),y=(0,t.useRef)(new Map),b=(0,t.useRef)(new Map),x=(0,t.useRef)({onMarkerClick:f,onMarkerDoubleClick:p,onMarkerDrag:m,onMarkerDragEnd:h}),S=(0,t.useRef)({center:r,zoom:i}),C=(0,t.useRef)(!1),[w,T]=(0,t.useState)(`idle`),[E,D]=(0,t.useState)(`Cargando Google Maps…`),O=typeof c==`number`?{height:`${c}px`}:{height:c};return(0,t.useEffect)(()=>{S.current={center:r,zoom:i}},[r,i]),(0,t.useEffect)(()=>{x.current={onMarkerClick:f,onMarkerDoubleClick:p,onMarkerDrag:m,onMarkerDragEnd:h}},[f,p,m,h]),(0,t.useEffect)(()=>{if(!e?.apiKey||!g.current){T(`error`),D(`Google Maps requiere apiKey en <SfProvider maps={...}>.`);return}let t=!1;return T(`loading`),Vs(e).then(n=>{t||!g.current||!n.maps?.Map||(_.current=new n.maps.Map(g.current,{center:Ns,zoom:13,mapId:e.mapId,disableDefaultUI:u}),T(`ready`))}).catch(e=>{t||(T(`error`),D(e.message))}),()=>{t=!0}},[e,u]),(0,t.useEffect)(()=>{w!==`ready`||!_.current||C.current||(C.current=!0,_.current.setCenter?.(S.current.center),_.current.setZoom?.(S.current.zoom))},[w]),(0,t.useEffect)(()=>()=>{v.current.forEach(e=>{e.listeners.forEach(e=>e.remove?.()),e.marker.setMap?.(null)}),v.current.clear(),y.current.clear(),b.current.forEach(e=>e.shape.setMap?.(null)),b.current.clear()},[]),(0,t.useEffect)(()=>{if(w!==`ready`||!e?.apiKey||!_.current)return;let t=!1;return Vs(e).then(e=>{if(t||!e.maps?.Marker)return;let n=new Set(a.map(e=>e.id));v.current.forEach((e,t)=>{n.has(t)||(e.listeners.forEach(e=>e.remove?.()),e.marker.setMap?.(null),v.current.delete(t),y.current.delete(t))}),a.forEach(t=>{y.current.set(t.id,t);let n=v.current.get(t.id);if(n){n.marker.setPosition?.(t.position),n.marker.setOptions?.(Gs(t,_.current,u));return}let r=new e.maps.Marker(Gs(t,_.current,u)),i=()=>y.current.get(t.id)??t,a=[r.addListener?.(`click`,()=>{x.current.onMarkerClick?.({marker:i()})}),r.addListener?.(`dblclick`,()=>{x.current.onMarkerDoubleClick?.({marker:i()})}),r.addListener?.(`drag`,()=>{let e=r.getPosition?.();e&&x.current.onMarkerDrag?.({marker:i(),location:{lat:e.lat(),lng:e.lng()}})}),r.addListener?.(`dragend`,()=>{let e=r.getPosition?.();e&&x.current.onMarkerDragEnd?.({marker:i(),location:{lat:e.lat(),lng:e.lng()}})})].filter(Boolean);v.current.set(t.id,{marker:r,listeners:a})})}),()=>{t=!0}},[e,a,u,w]),(0,t.useEffect)(()=>{if(w!==`ready`||!e?.apiKey||!_.current)return;let t=!1;return Vs(e).then(e=>{if(t||!e.maps?.Polyline||!e.maps.Polygon)return;let n=new Set([...s.map(e=>`area:${e.id}`),...o.map(e=>`route:${e.id}`)]);b.current.forEach((e,t)=>{n.has(t)||(e.shape.setMap?.(null),b.current.delete(t))}),s.forEach(t=>{let n=`area:${t.id}`,r=b.current.get(n);if(r?.kind===`area`){r.shape.setPaths?.(t.points),r.shape.setOptions?.(Us(t,_.current));return}r?.shape.setMap?.(null),b.current.set(n,{kind:`area`,shape:new e.maps.Polygon(Us(t,_.current))})}),o.forEach(t=>{let n=`route:${t.id}`,r=b.current.get(n);if(r?.kind===`route`){r.shape.setPath?.(t.points),r.shape.setOptions?.(Ws(t,_.current));return}r?.shape.setMap?.(null),b.current.set(n,{kind:`route`,shape:new e.maps.Polyline(Ws(t,_.current))})})}),()=>{t=!0}},[s,e,o,w]),(0,t.useEffect)(()=>{if(w!==`ready`||!e?.apiKey||!_.current||!d||u)return;let t=!1,n;return Vs(e).then(()=>{let e=_.current;t||!e?.addListener||(n=e.addListener(`click`,e=>{e.latLng&&d({location:{lat:e.latLng.lat(),lng:e.latLng.lng()}})}))}),()=>{t=!0,n?.remove?.()}},[e,d,u,w]),(0,n.jsx)(`div`,{className:l,style:O,children:w===`error`?(0,n.jsx)(`div`,{className:`sf-map-placeholder sf-map-placeholder--neutral`,role:`alert`,children:E}):(0,n.jsx)(`div`,{ref:g,className:`sf-map-frame`,"aria-busy":w!==`ready`||void 0})})},qs=e=>({id:`google`,capabilities:Rs,createRenderer:()=>t=>(0,n.jsx)(Ks,{...t,config:e})}),Js=e=>[e.lat,e.lng],Ys=e=>h.default.divIcon({className:``,html:`<div class="sf-neutral-map-marker" style="${e?`--sf-neutral-map-marker-bg:${e};`:``}"></div>`,iconSize:[18,18],iconAnchor:[9,9]}),Xs=({readOnly:e,onClick:t})=>((0,m.useMapEvents)({click(n){e||t?.({location:{lat:n.latlng.lat,lng:n.latlng.lng}})}}),null),Zs=({center:e=Ns,zoom:r=13,markers:i=[],routes:a=[],areas:o=[],height:s=320,className:c,readOnly:l,tileUrl:u=Fs,attribution:d=Is,onClick:f,onMarkerClick:p,onMarkerDoubleClick:h,onMarkerDrag:g,onMarkerDragEnd:_})=>{let v=ya(),y=(0,t.useMemo)(()=>Js(e),[e]),b=typeof s==`number`?{height:`${s}px`}:{height:s};return v?(0,n.jsx)(`div`,{className:c,style:b,children:(0,n.jsxs)(m.MapContainer,{center:y,zoom:r,scrollWheelZoom:!l,doubleClickZoom:!1,className:`sf-map-frame`,children:[(0,n.jsx)(m.TileLayer,{attribution:d,url:u}),(0,n.jsx)(Xs,{readOnly:l,onClick:f}),o.map(e=>(0,n.jsx)(m.Polygon,{positions:e.points.map(Js),pathOptions:{color:e.color??Hs(`var(--sf-map-area-stroke)`),fillColor:e.fillColor??e.color??Hs(`var(--sf-map-area-fill)`),fillOpacity:.14,weight:2.5}},e.id)),a.map(e=>(0,n.jsx)(m.Polyline,{positions:e.points.map(Js),pathOptions:{color:e.color??Hs(`var(--sf-map-route-stroke)`),weight:3.5}},e.id)),i.map(e=>(0,n.jsx)(m.Marker,{position:Js(e.position),icon:Ys(e.color),title:e.title??e.label,draggable:!l&&e.options?.draggable,bubblingMouseEvents:!1,eventHandlers:{click:()=>p?.({marker:e}),dblclick:()=>h?.({marker:e}),drag:t=>{let n=t.target.getLatLng();g?.({marker:e,location:{lat:n.lat,lng:n.lng}})},dragend:t=>{let n=t.target.getLatLng();_?.({marker:e,location:{lat:n.lat,lng:n.lng}})}}},e.id))]})}):(0,n.jsx)(`div`,{className:`sf-map-placeholder sf-map-placeholder--neutral`,role:`status`,style:b,children:`Cargando mapa…`})},Qs=e=>({id:`leaflet`,capabilities:Ls,createRenderer:()=>t=>(0,n.jsx)(Zs,{...t,tileUrl:e?.tileUrl,attribution:e?.attribution})}),$s=6371e3,ec=e=>e*Math.PI/180,tc=(e,t)=>{let n=ec(t.lat-e.lat),r=ec(t.lng-e.lng),i=ec(e.lat),a=ec(t.lat),o=Math.sin(n/2)**2+Math.sin(r/2)**2*Math.cos(i)*Math.cos(a);return 2*$s*Math.atan2(Math.sqrt(o),Math.sqrt(1-o))},nc=()=>({id:`basic`,capabilities:{distance:`point-to-point`,traffic:`none`},async calculateDistance(e){let t=e.origins[0],n=e.destinations[0];return{distanceMeters:t&&n?tc(t,n):0}}}),rc=e=>({lat:e.lat(),lng:e.lng()}),ic=e=>{let t=e.geometry?.location;if(!t)return null;let n=e.formatted_address??e.place_id??`Ubicación Google Maps`;return{id:e.place_id??n,label:n,address:e.formatted_address,location:rc(t),provider:`google`,raw:e}},ac=e=>({id:`google`,capabilities:{geocoding:`full`},async geocode(t){let n=(await Vs(e)).maps?.Geocoder;return n?new Promise(e=>{new n().geocode({address:t},t=>{e((t??[]).map(e=>ic(e)).filter(e=>!!e))})}):[]},async reverseGeocode(t){let n=(await Vs(e)).maps?.Geocoder;return n?new Promise(e=>{new n().geocode({location:t},t=>{e(ic(t?.[0]??{}))})}):null}}),$=e=>e.toFixed(6),oc=(e,t,n)=>Math.min(Math.max(e,t),n),sc=e=>oc(e,-90,90),cc=e=>oc(e,-180,180),lc=(e,t=0)=>{if(typeof e==`number`)return Number.isFinite(e)?e:t;let n=Number.parseFloat(e.trim().replace(`,`,`.`));return Number.isFinite(n)?n:t},uc=e=>`${$(e.lat)}, ${$(e.lng)}`,dc=(e,t)=>{if(!e||typeof e!=`object`||!(`lat`in e)||!(`lng`in e))return t;let n=lc(e.lat,t.lat),r=lc(e.lng,t.lng);return{lat:sc(n),lng:cc(r)}},fc=(e,t=`Ubicación`)=>({id:`${e.lat}:${e.lng}`,position:e,label:t}),pc=()=>({id:`nominatim`,capabilities:{geocoding:`basic`},async geocode(e){return(await Ea(e)).map(e=>({id:`${e.lat}:${e.lng}:${e.label}`,label:Da(e.label),address:e.label,location:{lat:e.lat,lng:e.lng},provider:`nominatim`,raw:e}))},async reverseGeocode(e){return{id:`${e.lat}:${e.lng}`,label:`${e.lat.toFixed(6)}, ${e.lng.toFixed(6)}`,location:e,provider:`nominatim`}}}),mc=e=>({id:e.id,capabilities:{places:e.capabilities.geocoding===`none`?`none`:`basic`},searchPlaces(t){return e.geocode(t)}}),hc=()=>({id:`basic`,capabilities:{routing:`basic`,traffic:`none`},async calculateRoute(e){return{origin:e.origin,destination:e.destination,waypoints:e.waypoints??[],polyline:[e.origin,...e.waypoints??[],e.destination]}}}),gc=(0,t.createContext)({}),_c=e=>{let t=e.services?.geocoding??e.defaultEngine,n=e.engines.google;return t===`google`&&n?ac(n):pc()},vc=e=>{let t=e.defaultEngine===`google`?qs(e.engines.google):Qs(e.engines.leaflet),n=_c(e);return{config:e,engine:t,geocodingService:n,placesService:mc(n),routingService:hc(),distanceService:nc()}},yc=({maps:e,children:r})=>{let i=(0,t.useMemo)(()=>({maps:e?vc(e):void 0}),[e]);return(0,n.jsx)(gc.Provider,{value:i,children:r})},bc=()=>(0,t.useContext)(gc),xc=()=>{let e=bc();if(!e.maps)throw Error(Ms);return e.maps},Sc=()=>{let e=xc(),[n,r]=(0,t.useState)(!1),[i,a]=(0,t.useState)([]),[o,s]=(0,t.useState)(null),c=(0,t.useRef)(0);return{loading:n,results:i,error:o,search:(0,t.useCallback)(async t=>{let n=t.trim();if(n.length<3)return a([]),s(null),[];if(n.length>256)return a([]),s(`Consulta demasiado larga.`),[];c.current+=1;let i=c.current;r(!0),s(null);try{let t=await e.geocodingService.geocode(n);return i===c.current?(a(t),t):[]}catch(e){if(i!==c.current)return[];let t=e instanceof Error?e.message:`No se pudo buscar direcciones.`;return a([]),s(t),[]}finally{i===c.current&&r(!1)}},[e.geocodingService])}},Cc=()=>{let e=xc();return(0,t.useMemo)(()=>({id:e.engine.id,capabilities:e.engine.capabilities,renderer:e.engine.createRenderer()}),[e.engine])},wc=()=>xc().config,Tc=e=>e&&typeof e==`object`&&`label`in e?String(e.label??``):``,Ec=({form:e,name:i,label:a,info:o,required:s,placeholder:c=`Buscar dirección`,readOnly:l,disabled:u,className:d,onChange:f,onRefresh:p})=>{let m=(0,r.useController)({name:i,control:e.control}),{loading:h,results:g,error:_,search:v}=Sc(),[y,b]=(0,t.useState)(()=>Tc(m.field.value)),x=String(i),S=m.fieldState.error?.message?String(m.fieldState.error.message):void 0,C=l||u,w=e=>{m.field.onChange(e),f?.(e)};return(0,n.jsx)(K,{id:x,label:a,info:o,required:s,onRefresh:p,error:S,children:(0,n.jsxs)(`div`,{className:(0,G.default)(`grid gap-2`,d),children:[(0,n.jsxs)(`div`,{className:`flex gap-2`,children:[(0,n.jsx)(`input`,{id:x,type:`search`,value:y,placeholder:c,readOnly:C,disabled:u,"aria-invalid":!!S||void 0,onBlur:()=>m.field.onBlur(),onChange:e=>b(e.target.value),className:q({error:!!S,readOnly:l,disabled:u,small:!0})}),(0,n.jsx)(`button`,{type:`button`,className:`sf-map-action-btn`,disabled:C||h||y.trim().length<3,"aria-busy":h||void 0,onClick:()=>void v(y),children:h?`Buscando…`:`Buscar`})]}),g.length>0&&!C&&(0,n.jsx)(`div`,{className:`sf-neutral-map-results`,role:`listbox`,"aria-label":`Resultados de direcciones`,children:g.map(e=>(0,n.jsxs)(`button`,{type:`button`,className:`sf-neutral-map-result`,onClick:()=>{b(e.label),w(e),m.field.onBlur()},children:[(0,n.jsx)(`span`,{className:`sf-neutral-map-result__label`,children:e.label}),(0,n.jsx)(`span`,{className:`sf-neutral-map-result__provider`,children:e.provider})]},e.id))}),_&&(0,n.jsx)(`p`,{className:`sf-neutral-map-status sf-neutral-map-status--error`,role:`alert`,children:_})]})})},Dc=({title:e,description:r,center:i=Ns,zoom:a=13,markers:o=[],routes:s=[],areas:c=[],height:l=360,className:u,readOnly:d,onClick:f,onMarkerClick:p,onMarkerDoubleClick:m,onMarkerDrag:h,onMarkerDragEnd:g})=>{let _=Cc();return(0,n.jsx)(As,{title:e,description:r,className:u,children:(0,t.useMemo)(()=>_.renderer,[_.renderer])({center:i,zoom:a,markers:o,routes:s,areas:c,height:l,readOnly:d,onClick:f,onMarkerClick:p,onMarkerDoubleClick:m,onMarkerDrag:h,onMarkerDragEnd:g})})},Oc=({form:e,name:i,label:a,info:o,required:s,zoom:c=13,readOnly:l,disabled:u,className:d,onChange:f,onRefresh:p})=>{let[m,h]=(0,t.useState)(!1),[g,_]=(0,t.useState)(null),v=(0,r.useController)({name:i,control:e.control}),y=String(i),b=v.fieldState.error?.message?String(v.fieldState.error.message):void 0,x=l||u,S=dc(v.field.value,Ns),C=e=>{v.field.onChange(e),f?.(e)},w=(e,t)=>{C({...S,[e]:lc(t,S[e])})};return(0,n.jsx)(K,{id:y,label:a,info:o,required:s,onRefresh:p,error:b,children:(0,n.jsxs)(`div`,{className:(0,G.default)(`grid gap-3`,d),children:[(0,n.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`label`,{htmlFor:`${y}-lat`,className:`sf-map-label`,children:`Latitud`}),(0,n.jsx)(`input`,{id:`${y}-lat`,type:`text`,inputMode:`decimal`,value:$(S.lat),readOnly:x,disabled:u,"aria-invalid":!!b||void 0,onBlur:()=>v.field.onBlur(),onChange:e=>w(`lat`,e.target.value),className:q({error:!!b,readOnly:l,disabled:u,small:!0})})]}),(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`label`,{htmlFor:`${y}-lng`,className:`sf-map-label`,children:`Longitud`}),(0,n.jsx)(`input`,{id:`${y}-lng`,type:`text`,inputMode:`decimal`,value:$(S.lng),readOnly:x,disabled:u,"aria-invalid":!!b||void 0,onBlur:()=>v.field.onBlur(),onChange:e=>w(`lng`,e.target.value),className:q({error:!!b,readOnly:l,disabled:u,small:!0})})]})]}),!x&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>{!navigator.geolocation||m||x||(h(!0),_(null),navigator.geolocation.getCurrentPosition(e=>{C({lat:Number($(e.coords.latitude)),lng:Number($(e.coords.longitude))}),_(e.coords.accuracy>200?`Precisión aproximada: ${Math.round(e.coords.accuracy)} m.`:null),h(!1)},()=>{_(`No se pudo obtener la ubicación. Marca el punto en el mapa.`),h(!1)},{enableHighAccuracy:!0,maximumAge:0,timeout:15e3}))},disabled:m,"aria-busy":m||void 0,className:(0,G.default)(`sf-map-action-btn`,m&&`cursor-wait opacity-70`),children:m?`Obteniendo ubicación…`:`Usar mi ubicación`}),g&&(0,n.jsx)(`p`,{className:`sf-map-feedback sf-map-feedback--warning`,role:`status`,children:g}),(0,n.jsx)(Dc,{center:S,zoom:c,height:220,readOnly:x,markers:[{id:`selected-location`,position:S,label:`Ubicación`}],onClick:e=>{C({lat:Number($(e.location.lat)),lng:Number($(e.location.lng))}),v.field.onBlur()}}),(0,n.jsx)(`p`,{className:`sf-map-hint`,children:`Haz clic en el mapa para ajustar la ubicación.`})]})})},kc=e=>(0,n.jsx)(Oc,{...e}),Ac=e=>Array.isArray(e)?e.map(e=>dc(e,Ns)):[],jc=e=>e.length===0?`Sin puntos`:e.length===1?`1 punto`:`${e.length} puntos`,Mc=`var(--sf-map-area-stroke)`,Nc=`var(--sf-map-area-fill)`,Pc=`var(--sf-map-route-stroke)`,Fc=({form:e,name:t,mode:i,label:a,info:o,required:s=!0,zoom:c=13,readOnly:l,disabled:u,className:d,onChange:f,onRefresh:p})=>{let m=i===`area`?3:2,h=`Dibuja al menos ${m} puntos para ${i===`area`?`un área`:`una ruta`}.`,g=(0,r.useController)({name:t,control:e.control,rules:{validate:e=>{let t=Ac(e).length;return t===0&&!s?!0:t<m?h:!0}}}),_=String(t),v=g.fieldState.error?.message?String(g.fieldState.error.message):void 0,y=l||u,b=Ac(g.field.value),x=b.at(-1)??Ns,S={id:`${_}-${i}`,points:b,color:i===`area`?Mc:Pc,fillColor:i===`area`?Nc:void 0},C=e=>{g.field.onChange(e),f?.(e)},w=()=>C(b.slice(0,-1)),T=()=>C([]),E=(e,t,n)=>e.map((e,r)=>r===t?n:e),D=e=>{let t=Number(e.slice(e.lastIndexOf(`-`)+1));return Number.isInteger(t)?t:-1},O=b.length>0&&b.length<m;return(0,n.jsx)(K,{id:_,label:a,info:o,required:s,onRefresh:p,error:v,children:(0,n.jsxs)(`div`,{className:(0,G.default)(`grid gap-3`,d),children:[!y&&(0,n.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,n.jsx)(`button`,{type:`button`,onClick:w,disabled:b.length===0,className:`sf-map-action-btn`,children:`Deshacer último`}),(0,n.jsx)(`button`,{type:`button`,onClick:T,disabled:b.length===0,className:`sf-map-action-btn sf-map-action-btn--danger`,children:`Limpiar`})]}),(0,n.jsx)(Dc,{center:x,zoom:c,height:260,readOnly:y,markers:b.map((e,t)=>({id:`${_}-point-${t}`,position:e,label:String(t+1),color:i===`area`?Mc:Pc,options:{draggable:!y}})),areas:i===`area`&&b.length>=3?[S]:[],routes:i===`route`&&b.length>=2?[S]:[],onClick:e=>{C([...b,e.location]),g.field.onBlur()},onMarkerDragEnd:e=>{if(y)return;let t=D(e.marker.id);t<0||(C(E(b,t,e.location)),g.field.onBlur())},onMarkerDoubleClick:e=>{if(y)return;let t=D(e.marker.id);t<0||(C(b.filter((e,n)=>n!==t)),g.field.onBlur())}}),(0,n.jsxs)(`p`,{className:`sf-map-hint`,"aria-live":`polite`,children:[jc(b),` · Clic para añadir. Arrastra un punto para moverlo. Doble clic para eliminar.`,` `,(0,n.jsx)(`span`,{className:O?`sf-map-hint--warning`:void 0,children:h})]})]})})},Ic=e=>(0,n.jsx)(Fc,{...e,mode:`area`}),Lc=e=>(0,n.jsx)(Fc,{...e,mode:`route`}),Rc=e=>{switch(e.kind){case`coordinates`:return(0,n.jsx)(kc,{...e});case`location`:return(0,n.jsx)(Oc,{...e});case`address`:return(0,n.jsx)(Ec,{...e});case`area`:return(0,n.jsx)(Ic,{...e});case`route`:return(0,n.jsx)(Lc,{...e});default:return null}},zc=/^#[0-9a-fA-F]{6}$/,Bc=`#`.padEnd(7,`0`),Vc=()=>{if(typeof document>`u`)return``;let e=getComputedStyle(document.documentElement).getPropertyValue(`--sf-primary`).trim();return zc.test(e)?e.toLowerCase():``},Hc=(e,t,n)=>Math.min(n,Math.max(t,e)),Uc=(e,t)=>t?.formatValue?t.formatValue(e):t?.suffix?`${e} ${t.suffix}`:String(e),Wc=()=>[],Gc=e=>Array.isArray(e)?e.map(e=>String(e??``).trim()).filter(Boolean):[],Kc=()=>[],qc=e=>Array.isArray(e)?e.map(e=>{if(typeof e!=`object`||!e)return null;let t=e;return{key:String(t.key??``),value:String(t.value??``)}}).filter(e=>e!=null):[],Jc=(e=0,t=100)=>({start:e,end:t}),Yc=(e,t=0,n=100)=>{if(e&&typeof e==`object`&&`start`in e&&`end`in e){let r=e,i=Hc(Number(r.start),t,n),a=Hc(Number(r.end),t,n);return i<=a?{start:i,end:a}:{start:a,end:i}}return Jc(t,n)},Xc=(e,t)=>{let n=Vc(),r=String(t??(n||Bc)).trim(),i=zc.test(r)?r.toLowerCase():Bc,a=String(e??i).trim();return zc.test(a)?a.toLowerCase():i},Zc=(e,t,n)=>n<=t?0:Math.round((Hc(e,t,n)-t)/(n-t)*100),Qc=e=>(0,G.default)(`sf-range-input`,e&&`pointer-events-none`),$c=({form:e,name:t,label:i,info:a,required:o,min:s=0,max:c=100,step:l=1,suffix:u,readOnly:d,disabled:f,className:p,formatValue:m,onChange:h,onRefresh:g})=>{let _=(0,r.useController)({name:t,control:e.control}),v=String(t),y=_.fieldState.error?.message?String(_.fieldState.error.message):void 0,b=d||f,x=Hc(Number(_.field.value??s),s,c),S=e=>{_.field.onChange(e),h?.(e)};return(0,n.jsx)(K,{id:v,label:i,info:a,required:o,onRefresh:g,error:y,children:(0,n.jsxs)(`div`,{className:(0,G.default)(`flex items-center gap-3`,p),children:[(0,n.jsx)(`input`,{id:v,type:`range`,min:s,max:c,step:l,value:x,disabled:b,"aria-label":i??String(t),"aria-invalid":!!y||void 0,onBlur:()=>_.field.onBlur(),onChange:e=>S(Number(e.target.value)),className:Qc(b)}),(0,n.jsx)(`span`,{className:`sf-slider__value`,children:Uc(x,{suffix:u,formatValue:m})})]})})},el={slate:{wrap:`border-slate-300 bg-white`,button:`bg-slate-50 text-slate-600 hover:bg-slate-100`,value:`text-slate-900`},emerald:{wrap:`border-emerald-200 bg-white`,button:`bg-emerald-50 text-emerald-700 hover:bg-emerald-100`,value:`text-emerald-700`},amber:{wrap:`border-amber-200 bg-amber-50/40`,button:`bg-amber-50 text-amber-700 hover:bg-amber-100`,value:`text-amber-700`},blue:{wrap:`border-blue-200 bg-white`,button:`bg-blue-50 text-blue-700 hover:bg-blue-100`,value:`text-blue-700`}},tl={sm:{button:`h-6 w-6`,icon:`h-3 w-3`,value:`min-w-[2rem] px-1 text-xs`},md:{button:`h-7 w-7`,icon:`h-3.5 w-3.5`,value:`min-w-[2.5rem] px-1.5 text-sm`}},nl=(e,t)=>{let n=(String(t).split(`.`)[1]??``).length;return Number(e.toFixed(n))},rl=({value:e,onChange:t,min:r=0,max:i=1/0,step:a=1,tone:o=`slate`,size:s=`md`,disabled:c=!1,readOnly:l=!1,ariaLabel:u,formatValue:d,className:f})=>{let p=el[o],m=tl[s],h=c||l,g=n=>{if(h)return;let o=Math.min(i,Math.max(r,nl(n,a)));o!==e&&t(o)},_=e<=r,v=e>=i,y=d?d(e):String(e),b=(0,G.default)(`flex items-center justify-center font-bold leading-none transition-colors disabled:cursor-not-allowed disabled:opacity-40`,p.button,m.button);return(0,n.jsxs)(`div`,{role:`group`,"aria-label":u,className:(0,G.default)(`inline-flex items-center overflow-hidden rounded-lg border`,p.wrap,h&&`opacity-60`,f),children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Disminuir`,disabled:h||_,onClick:()=>g(e-a),className:b,children:(0,n.jsx)(fe,{className:m.icon,"aria-hidden":`true`})}),(0,n.jsx)(`span`,{className:(0,G.default)(`text-center font-bold tabular-nums`,p.value,m.value),children:y}),(0,n.jsx)(`button`,{type:`button`,"aria-label":`Aumentar`,disabled:h||v,onClick:()=>g(e+a),className:b,children:(0,n.jsx)(ue,{className:m.icon,"aria-hidden":`true`})})]})},il=e=>(0,G.default)(`sf-range-input`,e&&`pointer-events-none`),al=({form:e,name:t,label:i,info:a,required:o,min:s=0,max:c=100,step:l=1,suffix:u,readOnly:d,disabled:f,className:p,formatValue:m,onChange:h,onRefresh:g})=>{let _=(0,r.useController)({name:t,control:e.control}),v=String(t),y=_.fieldState.error?.message?String(_.fieldState.error.message):void 0,b=d||f,x=Yc(_.field.value,s,c),S=e=>{_.field.onChange(e),h?.(e)},C={suffix:u,formatValue:m};return(0,n.jsx)(K,{id:v,label:i,info:a,required:o,onRefresh:g,error:y,children:(0,n.jsxs)(`div`,{className:(0,G.default)(`flex items-center gap-3`,p),children:[(0,n.jsx)(`span`,{className:`sf-slider__value sf-slider__value--sm`,children:Uc(x.start,C)}),(0,n.jsxs)(`div`,{className:`grid flex-1 gap-2`,children:[(0,n.jsx)(`input`,{id:v,type:`range`,min:s,max:x.end,step:l,value:x.start,disabled:b,"aria-label":i?`${i} mínimo`:`Valor mínimo`,"aria-invalid":!!y||void 0,onBlur:()=>_.field.onBlur(),onChange:e=>{let t=Number(e.target.value);S({start:t,end:Math.max(t,x.end)})},className:il(b)}),(0,n.jsx)(`input`,{id:`${v}-end`,type:`range`,min:x.start,max:c,step:l,value:x.end,disabled:b,"aria-label":i?`${i} máximo`:`Valor máximo`,"aria-invalid":!!y||void 0,onBlur:()=>_.field.onBlur(),onChange:e=>{let t=Number(e.target.value);S({start:Math.min(x.start,t),end:t})},className:il(b)})]}),(0,n.jsx)(`span`,{className:`sf-slider__value sf-slider__value--sm`,children:Uc(x.end,C)})]})})},ol=({form:e,name:t,label:i,info:a,required:o,min:s=0,max:c=100,suffix:l,className:u,formatValue:d,onRefresh:f})=>{let p=(0,r.useController)({name:t,control:e.control}),m=String(t),h=p.fieldState.error?.message?String(p.fieldState.error.message):void 0,g=Hc(Number(p.field.value??s),s,c),_=Zc(g,s,c);return(0,n.jsx)(K,{id:m,label:i,info:a,required:o,onRefresh:f,error:h,children:(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-progress-bar`,u),children:[(0,n.jsx)(`div`,{className:`sf-progress-bar__track`,children:(0,n.jsx)(`div`,{className:`sf-progress-bar__fill`,style:{width:`${_}%`},role:`progressbar`,"aria-label":i??String(t),"aria-valuenow":g,"aria-valuemin":s,"aria-valuemax":c})}),(0,n.jsx)(`span`,{className:`sf-progress-bar__value`,children:Uc(g,{suffix:l,formatValue:d})})]})})},sl={default:`sf-progress-bar-readonly__fill--default`,success:`sf-progress-bar-readonly__fill--success`,warning:`sf-progress-bar-readonly__fill--warning`,danger:`sf-progress-bar-readonly__fill--danger`,info:`sf-progress-bar-readonly__fill--info`},cl=({value:e,min:t=0,max:r=100,label:i,showValue:a=!0,suffix:o,formatValue:s,tone:c=`default`,size:l=`md`,className:u})=>{let d=Hc(e,t,r),f=Zc(d,t,r),p=Uc(d,{suffix:o,formatValue:s});return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-progress-bar-readonly`,l===`sm`&&`sf-progress-bar-readonly--sm`,u),children:[i&&(0,n.jsx)(`span`,{className:`sf-progress-bar-readonly__label`,children:i}),(0,n.jsx)(`div`,{className:`sf-progress-bar-readonly__track`,children:(0,n.jsx)(`div`,{className:(0,G.default)(`sf-progress-bar-readonly__fill`,sl[c]),style:{width:`${f}%`},role:`progressbar`,"aria-label":i??`Progreso`,"aria-valuenow":d,"aria-valuemin":t,"aria-valuemax":r})}),a&&(0,n.jsx)(`span`,{className:`sf-progress-bar-readonly__value`,children:p})]})},ll=({form:e,name:i,label:a,info:o,required:s,stars:c=5,readOnly:l,disabled:u,small:d,className:f,onChange:p,onRefresh:m})=>{let[h,g]=(0,t.useState)(0),_=(0,r.useController)({name:i,control:e.control}),v=String(i),y=_.fieldState.error?.message?String(_.fieldState.error.message):void 0,b=l||u,x=ul(Number(_.field.value??0),c),S=h||x,C=e=>{_.field.onChange(e),p?.(e),_.field.onBlur()},w=(e,t)=>{if(b)return;let n={ArrowLeft:Math.max(1,t-1),ArrowDown:Math.max(1,t-1),ArrowRight:Math.min(c,t+1),ArrowUp:Math.min(c,t+1),Home:1,End:c}[e.key];n!=null&&(e.preventDefault(),C(n))};return(0,n.jsx)(K,{id:v,label:a,info:o,required:s,onRefresh:m,error:y,children:(0,n.jsx)(`div`,{className:(0,G.default)(`flex gap-0.5`,f),role:`radiogroup`,"aria-label":a??`Calificación`,children:Array.from({length:c},(e,t)=>t+1).map(e=>(0,n.jsx)(`button`,{type:`button`,role:`radio`,disabled:b,"aria-checked":x===e,"aria-label":`${e} de ${c}`,onMouseEnter:()=>!b&&g(e),onMouseLeave:()=>g(0),onClick:()=>!b&&C(e),onKeyDown:t=>w(t,e),className:(0,G.default)(`leading-none transition-colors`,d?`text-lg`:`text-2xl`,e<=S?`sf-rating__star--active`:`sf-rating__star--idle`,b?`sf-rating__star--disabled`:`sf-rating__star--hover`),children:`★`},e))})})},ul=(e,t)=>!Number.isFinite(e)||e<0?0:Math.min(t,Math.round(e)),dl=({form:e,name:t,label:i,info:a,required:o,readOnly:s,disabled:c,small:l,className:u,onChange:d,onRefresh:f})=>{let p=(0,r.useController)({name:t,control:e.control}),m=String(t),h=p.fieldState.error?.message?String(p.fieldState.error.message):void 0,g=s||c,_=Xc(p.field.value),v=e=>{let t=Xc(e,_);p.field.onChange(t),d?.(t)};return(0,n.jsx)(K,{id:m,label:i,info:a,required:o,onRefresh:f,error:h,children:(0,n.jsxs)(`div`,{className:(0,G.default)(`flex items-center gap-3`,u),children:[(0,n.jsx)(`input`,{id:m,type:`color`,value:_,disabled:g,"aria-label":i?`${i} selector`:`Selector de color`,"aria-invalid":!!h||void 0,onBlur:()=>p.field.onBlur(),onChange:e=>v(e.target.value),className:(0,G.default)(`sf-color-input__picker`,l?`h-8 w-10`:`h-10 w-12`)}),(0,n.jsx)(`input`,{id:`${m}-hex`,type:`text`,value:_,readOnly:g,disabled:c,"aria-label":i?`${i} hexadecimal`:`Color hexadecimal`,"aria-invalid":!!h||void 0,onBlur:()=>p.field.onBlur(),onChange:e=>v(e.target.value),className:q({error:!!h,readOnly:s,disabled:c,small:l,className:`w-28 font-mono`}),spellCheck:!1})]})})},fl=({form:e,name:i,label:a,info:o,required:s,placeholder:c=`Escribe y presiona Enter`,maxItems:l,readOnly:u,disabled:d,className:f,onChange:p,onRefresh:m})=>{let[h,g]=(0,t.useState)(``),_=(0,r.useController)({name:i,control:e.control}),v=String(i),y=_.fieldState.error?.message?String(_.fieldState.error.message):void 0,b=u||d,x=Gc(_.field.value),S=l!=null&&x.length>=l,C=e=>{_.field.onChange(e),p?.(e)},w=()=>{let e=h.trim();!e||x.includes(e)||S||(C([...x,e]),g(``),_.field.onBlur())},T=e=>{C(x.filter(t=>t!==e)),_.field.onBlur()};return(0,n.jsx)(K,{id:v,label:a,info:o,required:s,onRefresh:m,error:y,children:(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-tags-input`,b&&`sf-tags-input--disabled`,f),role:`group`,"aria-label":a??String(i),"aria-invalid":!!y||void 0,children:[(0,n.jsx)(`span`,{className:`contents`,role:`list`,"aria-label":`Etiquetas actuales`,children:x.map(e=>(0,n.jsxs)(`span`,{className:`sf-tags-input__chip`,role:`listitem`,children:[e,!b&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>T(e),className:`sf-tags-input__remove`,"aria-label":`Quitar ${e}`,children:`×`})]},e))}),!b&&(0,n.jsx)(`input`,{id:v,value:h,onChange:e=>g(e.target.value),onKeyDown:e=>{(e.key===`Enter`||e.key===`,`)&&(e.preventDefault(),w()),e.key===`Backspace`&&!h&&x.length>0&&C(x.slice(0,-1))},onBlur:()=>{h.trim()&&w(),_.field.onBlur()},disabled:S,"aria-label":a?`${a} nueva etiqueta`:`Nueva etiqueta`,placeholder:x.length===0?c:``,className:`sf-tags-input__field`})]})})},pl=({form:e,name:t,label:i,info:a,required:o,readOnly:s,disabled:c,small:l,className:u,onChange:d,onRefresh:f})=>{let p=(0,r.useController)({name:t,control:e.control}),m=String(t),h=p.fieldState.error?.message?String(p.fieldState.error.message):void 0,g=s||c,_=qc(p.field.value),v=e=>{p.field.onChange(e),d?.(e)},y=(e,t,n)=>{v(_.map((r,i)=>i===e?{...r,[t]:n}:r))},b=()=>{v([..._,{key:``,value:``}]),p.field.onBlur()},x=e=>{v(_.filter((t,n)=>n!==e)),p.field.onBlur()};return(0,n.jsx)(K,{id:m,label:i,info:a,required:o,onRefresh:f,error:h,children:(0,n.jsxs)(`div`,{className:(0,G.default)(`grid gap-2`,u),role:`list`,"aria-label":i??String(t),"aria-invalid":!!h||void 0,children:[_.map((e,t)=>(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,role:`listitem`,children:[(0,n.jsx)(`input`,{value:e.key,readOnly:g,disabled:c,placeholder:`Clave`,"aria-label":`Clave ${t+1}`,"aria-invalid":!!h||void 0,onBlur:()=>p.field.onBlur(),onChange:e=>y(t,`key`,e.target.value),className:q({error:!!h,readOnly:s,disabled:c,small:l,className:`flex-1`})}),(0,n.jsx)(`span`,{className:`sf-kv-input__sep`,children:`:`}),(0,n.jsx)(`input`,{value:e.value,readOnly:g,disabled:c,placeholder:`Valor`,"aria-label":`Valor ${t+1}`,"aria-invalid":!!h||void 0,onBlur:()=>p.field.onBlur(),onChange:e=>y(t,`value`,e.target.value),className:q({error:!!h,readOnly:s,disabled:c,small:l,className:`flex-1`})}),!g&&(0,n.jsx)(`button`,{type:`button`,onClick:()=>x(t),className:`sf-kv-input__remove`,"aria-label":`Eliminar par ${t+1}`,children:`×`})]},t)),!g&&(0,n.jsx)(`button`,{type:`button`,onClick:b,className:`sf-kv-input__add`,children:`+ Agregar par`})]})})},ml=({items:e,onReorder:r,className:i})=>{let[a,o]=(0,t.useState)(null),s=t=>n=>{if(n.preventDefault(),!a)return;let i=e.findIndex(e=>e.id===a);i===-1||i===t||(r(i,t),o(null))};return(0,n.jsx)(`div`,{className:(0,G.default)(`sf-sortable-list`,i),children:e.map((e,t)=>(0,n.jsxs)(`div`,{draggable:!e.disabled,onDragStart:()=>o(e.id),onDragEnd:()=>o(null),onDragOver:e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},onDrop:s(t),className:(0,G.default)(`sf-sortable-list__item`,a===e.id&&`sf-sortable-list__item--dragging`,e.disabled&&`sf-sortable-list__item--disabled`),children:[(0,n.jsx)(Kt,{className:`sf-sortable-list__handle`,"aria-hidden":`true`}),(0,n.jsx)(`div`,{className:`sf-sortable-list__content`,children:e.content})]},e.id))})},hl=({value:e,onChange:t,options:r,name:i=`card-radio-group`,className:a,ariaLabel:o=`Opciones`})=>(0,n.jsx)(`div`,{className:(0,G.default)(`sf-card-radio-group`,a),role:`radiogroup`,"aria-label":o,children:r.map(r=>{let a=r.value===e,o=`${i}-${r.value}`;return(0,n.jsxs)(`label`,{htmlFor:o,className:(0,G.default)(`sf-card-radio-group__option`,a&&`sf-card-radio-group__option--active`,r.disabled&&`sf-card-radio-group__option--disabled`),children:[(0,n.jsx)(`input`,{id:o,type:`radio`,name:i,value:r.value,checked:a,disabled:r.disabled,className:`sf-card-radio-group__input`,onChange:()=>t(r.value)}),(0,n.jsx)(`span`,{className:`sf-card-radio-group__marker`,"aria-hidden":`true`}),(0,n.jsxs)(`span`,{className:`sf-card-radio-group__content`,children:[(0,n.jsx)(`span`,{className:`sf-card-radio-group__label`,children:r.label}),r.detail&&(0,n.jsx)(`span`,{className:`sf-card-radio-group__detail`,children:r.detail})]})]},r.value)})}),gl={group:{label:`Grupo / Entidad`,labelShort:`GRP`,rowClass:`sf-org-tree-row--group`,barClass:`sf-org-tree-bar--group`},unit:{label:`Unidad organizativa`,labelShort:`UO`,rowClass:`sf-org-tree-row--unit`,barClass:`sf-org-tree-bar--unit`},role:{label:`Puesto / posición`,labelShort:`PST`,rowClass:`sf-org-tree-row--role`,barClass:`sf-org-tree-bar--role`}},_l=e=>{let t=new Map,n=new Set(e.map(e=>e.id));for(let n of e){let e=n.parentId==null||n.parentId===``?null:n.parentId,r=t.get(e)??[];r.push(n),t.set(e,r)}for(let e of t.values())e.sort((e,t)=>(Number(e.order)||0)-(Number(t.order)||0)||e.id.localeCompare(t.id));let r=[],i=(e,n)=>{for(let a of t.get(e)??[]){let e=(t.get(a.id)??[]).length>0;r.push({...a,depth:n,hasChildren:e}),i(a.id,n+1)}},a=e.filter(e=>{let t=e.parentId==null||e.parentId===``?null:e.parentId;return t==null||!n.has(t)});if(a.length!==e.length)i(null,0);else for(let e of a)r.push({...e,depth:0,hasChildren:!1});return r},vl=(e,t=gl)=>t[e]??gl[e]??null,yl=e=>e.length,bl=e=>{let t=new Set(e.map(e=>e.id));return e.filter(e=>{let n=e.parentId==null||e.parentId===``?null:e.parentId;return n==null||!t.has(n)})},xl=({type:e,className:t})=>e===`group`?(0,n.jsx)(Ee,{className:t,"aria-hidden":`true`}):e===`role`?(0,n.jsx)(ie,{className:t,"aria-hidden":`true`}):(0,n.jsx)(re,{className:t,"aria-hidden":`true`}),Sl=({nodes:e,title:r=`Estructura`,subtitle:i,loading:a=!1,error:o=null,onRefresh:s,canEdit:c=!1,onAddNode:l,onEditNode:u,onDeleteNode:d,showLegend:f=!1,themes:p=gl,onRenderNode:m,maxHeight:h=480,className:g})=>{let[_,v]=(0,t.useState)(new Set),[y,b]=(0,t.useState)({visible:!1,x:0,y:0}),x=(0,t.useRef)(null);(0,t.useEffect)(()=>{if(!y.visible)return;let e=e=>{x.current&&!x.current.contains(e.target)&&b(e=>({...e,visible:!1}))},t=e=>{e.key===`Escape`&&b(e=>({...e,visible:!1}))};return window.addEventListener(`mousedown`,e),window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`mousedown`,e),window.removeEventListener(`keydown`,t)}},[y.visible]);let S=(0,t.useMemo)(()=>_l(e),[e]),C=(0,t.useCallback)(e=>{let t=e.parentId==null||e.parentId===``?null:e.parentId;for(;t!=null;){if(_.has(t))return!0;let e=S.find(e=>e.id===t);t=e?.parentId==null||e?.parentId===``?null:e?.parentId??null}return!1},[S,_]),w=(0,t.useMemo)(()=>S.filter(e=>!C(e)),[S,C]),T=e=>{v(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},E=(e,t)=>{c&&(e.preventDefault(),e.stopPropagation(),b({visible:!0,x:e.clientX,y:e.clientY,node:t}))};return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-org-tree`,g),role:`region`,"aria-label":r,"aria-busy":a||void 0,children:[(0,n.jsxs)(`div`,{className:`sf-org-tree__header`,children:[(0,n.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,n.jsx)(`span`,{className:`sf-org-tree__title`,children:r}),a&&(0,n.jsx)(Kn,{size:`sm`})]}),i&&(0,n.jsx)(`p`,{className:`sf-org-tree__subtitle`,children:i}),f&&(0,n.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:Object.entries(p).map(([e,t])=>(0,n.jsxs)(`span`,{className:(0,G.default)(`sf-org-tree__legend-chip`,t.rowClass),title:t.label,children:[(0,n.jsx)(`span`,{className:(0,G.default)(`h-2 w-2 shrink-0 rounded-sm`,t.barClass)}),t.labelShort]},e))})]}),(0,n.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[c&&l&&(0,n.jsx)(`button`,{type:`button`,title:`Nuevo nodo raíz`,"aria-label":`Nuevo nodo raíz`,onClick:()=>l(),className:`sf-org-tree__toolbar-btn sf-org-tree__toolbar-btn--primary`,children:(0,n.jsx)(ue,{className:`h-5 w-5`})}),s&&(0,n.jsx)(`button`,{type:`button`,title:`Actualizar`,disabled:a,"aria-label":`Actualizar`,"aria-busy":a||void 0,onClick:()=>!a&&s(),className:`sf-org-tree__toolbar-btn sf-org-tree__toolbar-btn--muted`,children:(0,n.jsx)(le,{className:(0,G.default)(`h-5 w-5`,a&&`animate-spin`)})})]})]}),o&&(0,n.jsx)(`div`,{className:`sf-org-tree__error`,role:`alert`,children:o.message}),(0,n.jsxs)(`ul`,{className:`flex-1 overflow-y-auto px-2 pb-2`,style:{maxHeight:h},role:`tree`,"aria-label":r,children:[w.length===0&&!a&&(0,n.jsx)(`li`,{className:`sf-org-tree__empty`,children:`Sin nodos`}),w.map(e=>{let t=vl(e.type,p);return(0,n.jsx)(`li`,{role:`treeitem`,"aria-level":e.depth+1,"aria-expanded":e.hasChildren?!_.has(e.id):void 0,children:(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-org-tree-row group`,t?.rowClass),style:{paddingLeft:`${e.depth*16+4}px`},onContextMenu:t=>E(t,e),children:[t&&(0,n.jsx)(`span`,{className:(0,G.default)(`sf-org-tree-row__bar`,t.barClass)}),(0,n.jsx)(`button`,{type:`button`,className:(0,G.default)(`sf-org-tree-row__toggle`,!e.hasChildren&&`sf-org-tree-row__toggle--hidden`),onClick:()=>T(e.id),"aria-label":_.has(e.id)?`Expandir`:`Contraer`,"aria-expanded":e.hasChildren?!_.has(e.id):void 0,tabIndex:e.hasChildren?0:-1,children:_.has(e.id)?(0,n.jsx)(U,{className:`h-4 w-4`}):(0,n.jsx)(Se,{className:`h-4 w-4`})}),(0,n.jsx)(xl,{type:e.type,className:`h-4 w-4 shrink-0 opacity-70`}),(0,n.jsx)(`div`,{className:`min-w-0 flex-1`,children:m?m(e):(0,n.jsx)(`p`,{className:`truncate text-sm font-medium`,title:e.shortLabel??e.label,children:e.label})}),c&&(u||d)&&(0,n.jsxs)(`div`,{className:`sf-org-tree-row__actions`,children:[u&&(0,n.jsx)(`button`,{type:`button`,title:`Editar`,"aria-label":`Editar ${e.label}`,onClick:()=>u(e),className:`sf-org-tree-row__action`,children:(0,n.jsx)(ve,{className:`h-3.5 w-3.5`})}),d&&(0,n.jsx)(`button`,{type:`button`,title:`Eliminar`,"aria-label":`Eliminar ${e.label}`,onClick:()=>d(e),className:`sf-org-tree-row__action sf-org-tree-row__action--danger`,children:(0,n.jsx)(ae,{className:`h-3.5 w-3.5`})})]})]})},e.id)})]}),y.visible&&y.node&&(0,n.jsxs)(`div`,{ref:x,className:`sf-org-tree-context`,style:{left:y.x,top:y.y},role:`menu`,"aria-label":`Acciones para ${y.node.label}`,children:[l&&(0,n.jsx)(`button`,{type:`button`,className:`sf-org-tree-context__item`,role:`menuitem`,onClick:()=>{l(y.node),b(e=>({...e,visible:!1}))},children:`Agregar hijo`}),u&&(0,n.jsx)(`button`,{type:`button`,className:`sf-org-tree-context__item`,role:`menuitem`,onClick:()=>{u(y.node),b(e=>({...e,visible:!1}))},children:`Editar`}),d&&(0,n.jsx)(`button`,{type:`button`,className:`sf-org-tree-context__item sf-org-tree-context__item--danger`,role:`menuitem`,onClick:()=>{d(y.node),b(e=>({...e,visible:!1}))},children:`Eliminar`})]})]})},Cl={street:{url:`https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png`,attribution:`© <a href="https://www.openstreetmap.org/copyright" target="_blank" rel="noreferrer">OpenStreetMap</a>`},satellite:{url:`https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}`,attribution:`Tiles © Esri — Source: Esri, Maxar, Earthstar Geographics, and the GIS User Community`}},wl={default:`Nodo`,nap:`NAP`,olt:`OLT`,splitter:`Splitter`},Tl={default:`var(--sf-accent)`,nap:`var(--sf-network-kind-nap)`,olt:`var(--sf-network-kind-olt)`,splitter:`var(--sf-network-kind-splitter)`},El={normal:`var(--sf-network-status-normal)`,warning:`var(--sf-network-status-warning)`,critical:`var(--sf-network-status-critical)`,maintenance:`var(--sf-network-status-maintenance)`},Dl={normal:`Normal`,warning:`Advertencia`,critical:`Crítico`,maintenance:`Mantenimiento`},Ol={backbone:{color:`var(--sf-network-edge-backbone)`,weight:2.5},distribution:{color:`var(--sf-network-edge-distribution)`,weight:2},maintenance:{color:`var(--sf-network-edge-maintenance)`,weight:1.5,dashArray:`6 4`}},kl=Hs,Al=e=>{if(!Array.isArray(e))return[];let t=[];for(let n of e){if(typeof n!=`object`||!n)continue;let e=n,r=String(e.id??``);if(!r)continue;let i=Number(e.lat),a=Number(e.lng);if(!Number.isFinite(i)||!Number.isFinite(a))continue;let o=String(e.status??`normal`),s=o in El?o:`normal`,c={id:r,label:String(e.label??``),lat:i,lng:a,status:s},l=e.kind==null?r.startsWith(`nap:`)?`nap`:`default`:String(e.kind);l in wl&&(c.kind=l),e.value!=null&&Number.isFinite(Number(e.value))&&(c.value=Number(e.value)),e.icon!=null&&(c.icon=String(e.icon)),t.push(c)}return t},jl=e=>{if(!Array.isArray(e))return[];let t=[];for(let n of e){if(typeof n!=`object`||!n)continue;let e=n,r=String(e.from??``),i=String(e.to??``);if(!r||!i)continue;let a=String(e.type??`backbone`),o=a in Ol?a:`backbone`;t.push({from:r,to:i,type:o})}return t},Ml=e=>{let t={normal:0,warning:0,critical:0,maintenance:0};for(let n of e)t[n.status]+=1;return t},Nl=e=>{if(e.length===0)return null;let t=e.map(e=>e.lat),n=e.map(e=>e.lng);return[[Math.min(...t),Math.min(...n)],[Math.max(...t),Math.max(...n)]]},Pl=e=>Object.fromEntries(e.map(e=>[e.id,[e.lat,e.lng]])),Fl=(e,t)=>e.flatMap(e=>{let n=t[e.from],r=t[e.to];return!n||!r?[]:[{edge:e,line:[n,r]}]}),Il=({nodes:e,edges:t=[],placement:r=`bottom-left`,className:i})=>{let a=Ml(e),o=Array.from(new Set(t.map(e=>e.type??`backbone`)));return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-network-legend`,r===`bottom-right`?`sf-network-legend--right`:`sf-network-legend--left`,i),role:`region`,"aria-label":`Leyenda del mapa de red`,children:[(0,n.jsx)(`p`,{className:`sf-network-legend__title`,children:`Estado`}),(0,n.jsx)(`ul`,{className:`space-y-1`,children:Object.keys(Dl).map(e=>(0,n.jsxs)(`li`,{className:`sf-network-legend__item`,children:[(0,n.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,n.jsx)(`span`,{className:`inline-block h-2.5 w-2.5 rounded-full`,style:{background:El[e]},"aria-hidden":`true`}),Dl[e]]}),(0,n.jsx)(`span`,{className:`sf-network-legend__count`,children:a[e]})]},e))}),o.length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`p`,{className:`sf-network-legend__title sf-network-legend__title--spaced`,children:`Enlaces`}),(0,n.jsx)(`ul`,{className:`space-y-1`,children:o.map(e=>{let t=Ol[e??`backbone`];return(0,n.jsxs)(`li`,{className:`sf-network-legend__item sf-network-legend__item--edge`,children:[(0,n.jsx)(`span`,{className:`inline-block h-0.5 w-4`,"aria-hidden":`true`,style:{background:t.color,borderBottom:t.dashArray?`2px dashed ${t.color}`:void 0}}),e]},e)})})]}),(0,n.jsxs)(`p`,{className:`sf-network-legend__footer`,children:[`Total nodos: `,e.length]})]})},Ll=[-12.0464,-77.0428],Rl=e=>e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`),zl=(e,t)=>{let n=e.status,r=e.kind??`default`,i=r===`nap`?`NAP`:e.value==null?e.icon??wl[r].slice(0,3).toUpperCase():`${e.value}%`,a=Rl(e.label.length>40?`${e.label.slice(0,37)}…`:e.label),o=t?` sf-network-marker--selected`:``;return h.default.divIcon({className:`sf-network-marker-root`,iconAnchor:[24,42],iconSize:[48,48],html:`<div class="sf-network-marker${o}">
|
|
2
2
|
<div class="sf-network-marker__label">${a}</div>
|
|
3
|
-
<div class="sf-network-marker__dot sf-network-marker__dot--status-${n} sf-network-marker__dot--kind-${r}">${
|
|
4
|
-
</div>`})},Fl=({nodes:e})=>{let n=(0,m.useMap)(),r=Ol(e);return(0,t.useEffect)(()=>{r&&n.fitBounds(r,{padding:[32,32],maxZoom:14})},[r,n,e]),null},Il=({nodes:e,edges:r=[],center:i=Ml,zoom:a=12,height:o=420,selectedNodeId:s,onNodeClick:c,showLegend:l=!0,fitBoundsToNodes:u=!0,basemap:d,onBasemapChange:f,showBasemapSwitcher:p=!1,ariaLabel:h=`Mapa de red`,className:g})=>{let _=ha(),[v,y]=(0,t.useState)(`street`),b=d??v,x=vl[b],S=(0,t.useMemo)(()=>kl(e),[e]),C=(0,t.useMemo)(()=>Al(r,S),[r,S]),w=e=>{d===void 0&&y(e),f?.(e)};return(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-network-map`,g),style:{height:o},role:`region`,"aria-label":h,children:[_?(0,n.jsxs)(m.MapContainer,{center:i,zoom:a,scrollWheelZoom:!0,className:`h-full w-full`,children:[(0,n.jsx)(m.TileLayer,{attribution:x.attribution,url:x.url}),u&&e.length>0&&(0,n.jsx)(Fl,{nodes:e}),C.map(({edge:e,line:t})=>{let r=Cl[e.type??`backbone`];return(0,n.jsx)(m.Polyline,{positions:t,pathOptions:{color:wl(r.color),weight:r.weight,dashArray:r.dashArray}},`${e.from}-${e.to}-${e.type??`backbone`}`)}),e.map(e=>(0,n.jsx)(m.Marker,{position:S[e.id],icon:Pl(e,e.id===s),title:e.label,alt:`${e.label}, estado ${e.status}`,keyboard:!!c,eventHandlers:{click:()=>c?.(e)}},e.id))]}):(0,n.jsx)(`div`,{className:`sf-network-map__loading`,role:`status`,children:`Cargando mapa…`}),p&&(0,n.jsx)(`div`,{className:`sf-network-map__basemap-switcher`,role:`group`,"aria-label":`Tipo de mapa`,children:[`street`,`satellite`].map(e=>(0,n.jsx)(`button`,{type:`button`,className:(0,U.default)(`sf-network-map__basemap-btn`,b===e&&`sf-network-map__basemap-btn--active`),"aria-pressed":b===e,onClick:()=>w(e),children:e===`street`?`Mapa`:`Satélite`},e))}),l&&e.length>0&&(0,n.jsx)(jl,{nodes:e,edges:r})]})},Ll={edit:`sf-audit-timeline__icon-wrap--edit`,sync:`sf-audit-timeline__icon-wrap--sync`,create:`sf-audit-timeline__icon-wrap--create`},Rl=({items:e,sectionTitle:t=`Historial de movimientos`,eventCountLabel:r,ariaLabel:i=`Historial de movimientos`,emptyMessage:a=`Sin eventos`,className:o})=>{let s=r??`${e.length} evento${e.length===1?``:`s`}`;return(0,n.jsxs)(`section`,{className:(0,U.default)(`sf-audit-timeline`,o),"aria-label":i,children:[(t||s)&&(0,n.jsxs)(`div`,{className:`sf-audit-timeline__section`,children:[(0,n.jsx)(`span`,{className:`sf-audit-timeline__section-title`,children:t}),(0,n.jsx)(`span`,{className:`sf-audit-timeline__section-line`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`sf-audit-timeline__section-count`,children:s})]}),(0,n.jsxs)(`ol`,{className:`sf-audit-timeline__list`,children:[e.length===0&&(0,n.jsx)(`li`,{className:`sf-timeline__empty`,role:`status`,children:a}),e.map((t,r)=>{let i=t.eventType??`edit`;return(0,n.jsxs)(`li`,{className:`sf-audit-timeline__item`,children:[r!==e.length-1&&(0,n.jsx)(`span`,{className:`sf-audit-timeline__line`,"aria-hidden":`true`}),(0,n.jsx)(`div`,{className:`sf-audit-timeline__marker`,children:t.icon?(0,n.jsx)(`span`,{className:(0,U.default)(`sf-audit-timeline__icon-wrap`,Ll[i]),"aria-hidden":`true`,children:t.icon}):(0,n.jsx)(`span`,{className:(0,U.default)(`sf-audit-timeline__icon-wrap`,Ll[i]),"aria-hidden":`true`})}),(0,n.jsxs)(`div`,{className:`sf-audit-timeline__body`,children:[(0,n.jsxs)(`p`,{className:`sf-audit-timeline__summary`,children:[(0,n.jsx)(`span`,{className:`sf-audit-timeline__actor`,children:t.actor}),` `,(0,n.jsx)(`span`,{className:`sf-audit-timeline__action`,children:t.action})]}),t.time&&(0,n.jsx)(`p`,{className:`sf-audit-timeline__time`,children:t.time}),t.detail&&(0,n.jsx)(`div`,{className:`sf-audit-timeline__detail`,children:t.detail})]})]},t.id??r)})]})]})},zl={info:`sf-record-list__icon--info`,warning:`sf-record-list__icon--warning`,success:`sf-record-list__icon--success`,neutral:`sf-record-list__icon--neutral`},Bl=({icon:e,iconTone:t=`info`,title:r,subtitle:i,badge:a,actions:o,className:s})=>(0,n.jsxs)(`article`,{className:(0,U.default)(`sf-record-list__item`,s),children:[e&&(0,n.jsx)(`span`,{className:(0,U.default)(`sf-record-list__icon`,zl[t]),"aria-hidden":`true`,children:e}),(0,n.jsxs)(`div`,{className:`sf-record-list__content`,children:[(0,n.jsx)(`p`,{className:`sf-record-list__title`,children:r}),i&&(0,n.jsx)(`p`,{className:`sf-record-list__subtitle`,children:i})]}),a&&(0,n.jsx)(wi,{label:a.label,variant:a.variant??`success`,dot:a.dot??!0,size:`sm`}),o&&(0,n.jsx)(`div`,{className:`sf-record-list__actions`,children:o})]}),Vl=({title:e,action:t,items:r,className:i,ariaLabel:a})=>(0,n.jsxs)(`section`,{className:(0,U.default)(`sf-record-list`,i),"aria-label":a??(typeof e==`string`?e:void 0),children:[(e||t)&&(0,n.jsxs)(`div`,{className:`sf-record-list__header`,children:[e&&(0,n.jsx)(`h3`,{className:`sf-record-list__heading`,children:e}),t&&(0,n.jsx)(`div`,{className:`sf-record-list__header-action`,children:t})]}),(0,n.jsx)(`div`,{className:`sf-record-list__items`,children:r.map((e,t)=>(0,n.jsx)(Bl,{...e},e.id??t))})]}),Hl=({label:e,pulse:t=!0,className:r})=>(0,n.jsxs)(`span`,{className:(0,U.default)(`sf-live-chip`,r),children:[(0,n.jsx)(`span`,{className:(0,U.default)(`sf-live-chip__dot`,t&&`sf-live-chip__dot--pulse`),"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`sf-live-chip__label`,children:e})]}),Ul={default:`var(--sf-text, #1B2A38)`,success:`#1F8A4C`,warning:`#C76A12`,danger:`#C0392B`},Wl={display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:16,flexWrap:`wrap`,padding:`11px 16px`,background:`var(--sf-card-bg, #ffffff)`,border:`1px solid var(--sf-border, #E2E8EC)`,borderRadius:13,boxShadow:`0 1px 3px rgba(12,33,49,.06), 0 1px 2px rgba(12,33,49,.04)`},Gl={display:`flex`,alignItems:`center`,gap:14,flexWrap:`wrap`},Kl={width:1,height:20,background:`var(--sf-border, #DCE3E7)`},ql={fontSize:13,fontWeight:600,color:`var(--sf-text-subtle, #8A98A4)`},Jl={fontSize:15,fontWeight:800,color:`var(--sf-text, #1B2A38)`,fontVariantNumeric:`tabular-nums`},Yl={fontSize:12.5,fontWeight:800,color:`#C76A12`},Xl={fontSize:13,fontWeight:700,color:`var(--sf-text-subtle, #5C7180)`},Zl={display:`flex`,alignItems:`center`,gap:22,margin:0},Ql={display:`flex`,alignItems:`baseline`,gap:6},$l={fontSize:10.5,fontWeight:700,letterSpacing:`.05em`,textTransform:`uppercase`,color:`var(--sf-text-subtle, #8A98A4)`},eu=({liveLabel:e,metrics:t,nextDeparture:r,className:i,ariaLabel:a=`Estado en vivo`})=>(0,n.jsxs)(`section`,{className:(0,U.default)(`sf-live-status-bar`,i),"aria-label":a,style:Wl,children:[(0,n.jsxs)(`div`,{style:Gl,children:[(0,n.jsx)(Hl,{label:`En vivo`}),(0,n.jsx)(`span`,{style:Xl,children:e}),r&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`span`,{style:Kl,"aria-hidden":`true`}),(0,n.jsx)(`span`,{style:ql,children:r.label??`Próxima salida`}),(0,n.jsx)(`span`,{style:Jl,children:r.time}),r.countdown!=null&&(0,n.jsx)(`span`,{style:Yl,children:r.countdown})]})]}),(0,n.jsx)(`dl`,{style:Zl,children:t.map((e,t)=>(0,n.jsxs)(`div`,{style:Ql,children:[(0,n.jsx)(`dd`,{style:{margin:0,fontSize:20,fontWeight:800,fontVariantNumeric:`tabular-nums`,color:Ul[e.accent??`default`]},children:e.value}),(0,n.jsx)(`dt`,{style:$l,children:e.label})]},e.id??`${e.label}-${t}`))})]}),tu={success:`sf-timeline__dot--success`,warning:`sf-timeline__dot--warning`,danger:`sf-timeline__dot--danger`,info:`sf-timeline__dot--info`,default:`sf-timeline__dot--default`},nu={success:`sf-timeline__icon-wrap--success`,warning:`sf-timeline__icon-wrap--warning`,danger:`sf-timeline__icon-wrap--danger`,info:`sf-timeline__icon-wrap--info`,default:`sf-timeline__icon-wrap--default`},ru=({items:e,ariaLabel:t=`Línea de tiempo`,emptyMessage:r=`Sin eventos`,className:i})=>(0,n.jsxs)(`ol`,{className:(0,U.default)(`sf-timeline`,i),"aria-label":t,children:[e.length===0&&(0,n.jsx)(`li`,{className:`sf-timeline__empty`,role:`status`,children:r}),e.map((t,r)=>{let i=t.status??`default`;return(0,n.jsxs)(`li`,{className:`sf-timeline__item`,children:[r!==e.length-1&&(0,n.jsx)(`span`,{className:`sf-timeline__line`,"aria-hidden":`true`}),(0,n.jsx)(`div`,{className:`sf-timeline__marker`,children:t.icon?(0,n.jsx)(`span`,{className:(0,U.default)(`sf-timeline__icon-wrap`,nu[i]),"aria-hidden":`true`,children:t.icon}):(0,n.jsx)(`span`,{className:(0,U.default)(`sf-timeline__dot`,tu[i]),"aria-hidden":`true`})}),(0,n.jsxs)(`div`,{className:`sf-timeline__body`,children:[(0,n.jsxs)(`div`,{className:`sf-timeline__header`,children:[(0,n.jsx)(`span`,{className:`sf-timeline__title`,children:t.title}),t.time&&(0,n.jsx)(`span`,{className:`sf-timeline__time`,children:t.time})]}),t.description&&(0,n.jsx)(`p`,{className:`sf-timeline__description`,children:t.description})]})]},t.id??r)})]}),iu=({items:e,autoPlay:r=!1,intervalMs:i=4e3,showDots:a=!0,showArrows:o=!0,className:s})=>{let c=(0,t.useRef)(null),[l,u]=(0,t.useState)(0),d=(0,t.useCallback)(t=>{let n=c.current;if(!n||e.length===0)return;let r=(t%e.length+e.length)%e.length;n.children.item(r)?.scrollIntoView({behavior:`smooth`,inline:`start`,block:`nearest`}),u(r)},[e.length]);return(0,t.useEffect)(()=>{if(!r||e.length<=1)return;let t=window.setInterval(()=>d(l+1),i);return()=>window.clearInterval(t)},[l,r,i,e.length,d]),e.length===0?null:(0,n.jsxs)(`div`,{className:(0,U.default)(`sf-carousel`,s),children:[o&&e.length>1&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Anterior`,className:`sf-carousel__arrow sf-carousel__arrow--prev`,onClick:()=>d(l-1),children:(0,n.jsx)(Se,{"aria-hidden":`true`})}),(0,n.jsx)(`button`,{type:`button`,"aria-label":`Siguiente`,className:`sf-carousel__arrow sf-carousel__arrow--next`,onClick:()=>d(l+1),children:(0,n.jsx)(xe,{"aria-hidden":`true`})})]}),(0,n.jsx)(`div`,{ref:c,className:`sf-carousel__track`,onScroll:()=>{let e=c.current;if(!e)return;let t=e.clientWidth;t<=0||u(Math.round(e.scrollLeft/t))},children:e.map((e,t)=>(0,n.jsx)(`div`,{className:`sf-carousel__slide`,children:e},t))}),a&&e.length>1&&(0,n.jsx)(`div`,{className:`sf-carousel__dots`,children:e.map((e,t)=>(0,n.jsx)(`button`,{type:`button`,"aria-label":`Ir a slide ${t+1}`,className:(0,U.default)(`sf-carousel__dot`,t===l&&`sf-carousel__dot--active`),onClick:()=>d(t)},t))})]})},au=[`var(--sf-chart-1)`,`var(--sf-chart-2)`,`var(--sf-chart-3)`,`var(--sf-chart-4)`,`var(--sf-chart-5)`],ou=(e,t)=>e.color??au[t%au.length],su={borderRadius:`0.375rem`,border:`1px solid var(--sf-chart-tooltip-border)`,background:`var(--sf-chart-tooltip-bg)`,fontSize:`0.75rem`,color:`var(--sf-chart-tooltip-text)`},cu={fill:`var(--sf-chart-axis)`,fontSize:11},lu={fontSize:`0.75rem`,color:`var(--sf-chart-axis)`},uu={top:8,right:8,left:0,bottom:0},du={bar:{Root:_.BarChart,renderSeries:e=>e.map((e,t)=>(0,n.jsx)(_.Bar,{dataKey:e.key,name:e.label??e.key,fill:ou(e,t),radius:[4,4,0,0]},e.key))},line:{Root:_.LineChart,renderSeries:e=>e.map((e,t)=>{let r=ou(e,t);return(0,n.jsx)(_.Line,{type:`monotone`,dataKey:e.key,name:e.label??e.key,stroke:r,strokeWidth:2,dot:{r:3,fill:r},activeDot:{r:5}},e.key)})},area:{Root:_.AreaChart,renderSeries:e=>e.map((e,t)=>{let r=ou(e,t);return(0,n.jsx)(_.Area,{type:`monotone`,dataKey:e.key,name:e.label??e.key,stroke:r,fill:r,fillOpacity:.15,strokeWidth:2},e.key)})}},fu=({type:e,data:t,xKey:r,series:i,height:a=280,ariaLabel:o,emptyMessage:s=`Sin datos para mostrar`,className:c,showGrid:l=!0,showTooltip:u=!0,showLegend:d=i.length>1})=>{let{Root:f,renderSeries:p}=du[e],m=t.length>0&&i.length>0;return(0,n.jsx)(`div`,{className:(0,U.default)(`sf-chart`,c),style:{height:a},role:`img`,"aria-label":o??`Gráfico ${e}`,children:m?(0,n.jsx)(_.ResponsiveContainer,{width:`100%`,height:`100%`,children:(0,n.jsxs)(f,{data:t,margin:uu,children:[l&&(0,n.jsx)(_.CartesianGrid,{strokeDasharray:`3 3`,vertical:!1}),(0,n.jsx)(_.XAxis,{dataKey:r,tick:cu,axisLine:{stroke:`var(--sf-chart-grid)`}}),(0,n.jsx)(_.YAxis,{tick:cu,axisLine:{stroke:`var(--sf-chart-grid)`},width:48}),u&&(0,n.jsx)(_.Tooltip,{contentStyle:su}),d&&(0,n.jsx)(_.Legend,{wrapperStyle:lu}),p(i)]})}):(0,n.jsx)(`div`,{className:`sf-chart__empty`,role:`status`,children:s})})},pu=({data:e,dataKey:r,height:i=40,width:a=`100%`,color:o,ariaLabel:s=`Tendencia`,emptyMessage:c=`Sin datos`,className:l})=>{let u=(0,t.useMemo)(()=>ou({color:o},0),[o]),d=e.length>0,f=(0,t.useMemo)(()=>({top:4,right:4,left:4,bottom:4}),[]);return(0,n.jsx)(`div`,{className:(0,U.default)(`sf-sparkline`,l),style:{height:i,width:a},role:`img`,"aria-label":s,children:d?(0,n.jsx)(_.ResponsiveContainer,{width:`100%`,height:`100%`,children:(0,n.jsx)(_.LineChart,{data:e,margin:f,children:(0,n.jsx)(_.Line,{type:`monotone`,dataKey:r,stroke:u,strokeWidth:2,dot:!1,isAnimationActive:!1})})}):(0,n.jsx)(`div`,{className:`sf-chart__empty sf-chart__empty--compact`,role:`status`,children:c})})},mu=({className:e})=>(0,n.jsx)(`svg`,{className:(0,U.default)(`inline-block h-[1em] w-[1em]`,e),stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`,children:(0,n.jsx)(`path`,{d:`M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z`})}),hu=(e,{initialPageSize:n=10}={})=>{let[r,i]=(0,t.useState)(``),[a,o]=(0,t.useState)(0),[s,c]=(0,t.useState)(n),l=(0,t.useMemo)(()=>{let t=r.trim().toLowerCase();return t?e.filter(e=>Object.values(e).some(e=>String(e??``).toLowerCase().includes(t))):e},[e,r]),u=l.length;return{query:r,setQuery:e=>{i(e),o(0)},pageIndex:a,setPageIndex:o,pageSize:s,setPageSize:e=>{c(Math.max(1,e)),o(0)},filteredRows:l,pageRows:(0,t.useMemo)(()=>{let e=a*s;return l.slice(e,e+s)},[l,a,s]),totalItems:u}},gu=e=>String(e??``).normalize(`NFD`).replace(/[\u0300-\u036f]/g,``).toLowerCase().trim(),_u=e=>typeof e==`string`||typeof e==`number`,vu=(e,t)=>{let n=gu(t);return typeof t==`number`&&(n=`#${n}`),e.toLowerCase().endsWith(`codigo`)&&!n.startsWith(`#`)&&(n=`.${n}`),n},yu=(e,t,n)=>{if(t?.length)return[...t];let r=new Set(n),i=[];for(let t in e)r.has(t)||_u(e[t])&&i.push(t);return i},bu=(e,t,n)=>{let r=``,i=yu(e,t,n);for(let t of i){let n=e[t];if(!_u(n))continue;let i=vu(t,n);i&&(r+=`${i} `)}return r},xu=e=>{let t=e.split(`;`),n=[];for(let e of t){let t=gu(e);t.length>=2&&n.push(t)}return n},Su=(e,n)=>{let[r,i]=(0,t.useState)(``),a=(0,t.useDeferredValue)(r),o=n?.filters,s=n?.searchableKeys,c=n?.ignoredKeys,l=(0,t.useMemo)(()=>xu(a),[a]),u=(0,t.useMemo)(()=>{if(!e?.length)return[];let t=[];for(let n of e)t.push({item:n,searchIndex:bu(n,s,c)});return t},[e,s,c]);return[(0,t.useMemo)(()=>{if(!e?.length)return[];let t=!!o?.length,n=l.length>0;if(!t&&!n)return e;let r=[];for(let{item:e,searchIndex:i}of u){if(t){let t=!0;for(let n of o)if(!n(e)){t=!1;break}if(!t)continue}if(n){let e=!0;for(let t of l)if(!i.includes(t)){e=!1;break}if(!e)continue}r.push(e)}return r},[e,u,o,l]),i]};function Cu(e,t,n){if(t<=0)return[];let r=Math.max(0,n);return r>=e.length?[]:e.slice(r,r+t)}var wu=(e,t,n)=>{let r=e?.[n],i=t?.[n];return r==null&&i==null?0:r==null?-1:i==null?1:typeof r==`boolean`&&typeof i==`boolean`?Number(r)-Number(i):typeof r==`number`&&typeof i==`number`?r-i:r instanceof Date&&i instanceof Date?r.getTime()-i.getTime():typeof r==`string`&&typeof i==`string`?r.localeCompare(i,void 0,{sensitivity:`base`}):String(r).localeCompare(String(i),void 0,{sensitivity:`base`})},Tu=(e,n)=>{let[r,i]=(0,t.useState)([]),[a,o]=(0,t.useState)(()=>({limit:Math.max(1,n?.limit??100),offset:0})),s=Math.max(1,a.limit),c=Math.max(0,a.offset),l=c>=e.length?0:c,u=({limit:e,offset:t})=>{o({limit:Math.max(1,e),offset:Math.max(0,t)})},d=(0,t.useMemo)(()=>{if(e.length===0)return[];let t=[...e];if(r.length>0){let e=n?.onSortFunc??wu,i=n?.strictSort??!1;t.sort((t,n)=>{for(let{id:a,desc:o}of r){if(i&&(!(typeof t==`object`&&t)||!(typeof n==`object`&&n)||!(a in t)||!(a in n)))continue;let r=e(t,n,a);if(r!==0)return o?-r:r}return 0})}return Cu(t,s,l)},[e,s,l,r,n?.onSortFunc,n?.strictSort]);return{pageConstraints:{limitItems:s,offsetItems:l,totalItems:e.length},setLimitOffset:u,onSortChange:i,pageData:d}},Eu=(e,t)=>{if(typeof window>`u`)return t;try{let n=window.localStorage.getItem(e);return n==null?t:JSON.parse(n)}catch{return t}},Du=(e,n)=>{let[r,i]=(0,t.useState)(()=>Eu(e,n));return[r,t=>{i(n=>{let r=typeof t==`function`?t(n):t;if(typeof window<`u`)try{window.localStorage.setItem(e,JSON.stringify(r))}catch{}return r})}]},Ou=e=>typeof window>`u`?null:new URL(window.location.href).searchParams.get(e),ku=(e,t)=>{if(typeof window>`u`)return;let n=new URL(window.location.href);t!=null&&t!==``?n.searchParams.set(e,t):n.searchParams.delete(e),window.history.replaceState(null,``,n.toString())},Au=e=>{ku(e,null)},ju=(e,n)=>{let[r,i]=(0,t.useState)(()=>{let t=typeof e==`function`?e():e;if(!n)return t;let r=Ou(n);return r==null||r===``?(ku(n,t),t):r});return[r,e=>{i(t=>{let r=typeof e==`function`?e(t):e;return n&&ku(n,r),r})}]},Mu=()=>{let e=globalThis.process?.env?.NODE_ENV;return e!=null&&e===`development`},Nu=(e,t)=>{let n=(0,r.useForm)({resolver:(0,v.yupResolver)(e),defaultValues:t?.defaultValues}),i=(e,t)=>n.handleSubmit(e,(e,n)=>{Mu()&&console.log(e),t?.(e,n)});return{...n,handleSubmit:i}},Pu=e=>{let t=String(e??``),n=0;for(;n<t.length&&t.charCodeAt(n)<=32;)n+=1;let r=t.slice(n);return/^[=+\-@]/.test(r)?`'${t}`:t},Fu=e=>{let t=Pu(e);return/[",\n\r]/.test(t)?`"${t.replace(/"/g,`""`)}"`:t},Iu=(e,t)=>{if(typeof document>`u`)return;let n=`\uFEFF${[t.columns.map(e=>Fu(e.header)).join(`,`),...e.map(e=>t.columns.map(t=>Fu(t.getValue(e))).join(`,`))].join(`
|
|
5
|
-
`)}`,r=new Blob([n],{type:`text/csv;charset=utf-8`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=t.filename??`export.csv`,a.click(),URL.revokeObjectURL(i)},
|
|
3
|
+
<div class="sf-network-marker__dot sf-network-marker__dot--status-${n} sf-network-marker__dot--kind-${r}">${Rl(String(i))}</div>
|
|
4
|
+
</div>`})},Bl=({nodes:e})=>{let n=(0,m.useMap)(),r=Nl(e);return(0,t.useEffect)(()=>{r&&n.fitBounds(r,{padding:[32,32],maxZoom:14})},[r,n,e]),null},Vl=({nodes:e,edges:r=[],center:i=Ll,zoom:a=12,height:o=420,selectedNodeId:s,onNodeClick:c,showLegend:l=!0,fitBoundsToNodes:u=!0,basemap:d,onBasemapChange:f,showBasemapSwitcher:p=!1,ariaLabel:h=`Mapa de red`,className:g})=>{let _=ya(),[v,y]=(0,t.useState)(`street`),b=d??v,x=Cl[b],S=(0,t.useMemo)(()=>Pl(e),[e]),C=(0,t.useMemo)(()=>Fl(r,S),[r,S]),w=e=>{d===void 0&&y(e),f?.(e)};return(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-network-map`,g),style:{height:o},role:`region`,"aria-label":h,children:[_?(0,n.jsxs)(m.MapContainer,{center:i,zoom:a,scrollWheelZoom:!0,className:`h-full w-full`,children:[(0,n.jsx)(m.TileLayer,{attribution:x.attribution,url:x.url}),u&&e.length>0&&(0,n.jsx)(Bl,{nodes:e}),C.map(({edge:e,line:t})=>{let r=Ol[e.type??`backbone`];return(0,n.jsx)(m.Polyline,{positions:t,pathOptions:{color:kl(r.color),weight:r.weight,dashArray:r.dashArray}},`${e.from}-${e.to}-${e.type??`backbone`}`)}),e.map(e=>(0,n.jsx)(m.Marker,{position:S[e.id],icon:zl(e,e.id===s),title:e.label,alt:`${e.label}, estado ${e.status}`,keyboard:!!c,eventHandlers:{click:()=>c?.(e)}},e.id))]}):(0,n.jsx)(`div`,{className:`sf-network-map__loading`,role:`status`,children:`Cargando mapa…`}),p&&(0,n.jsx)(`div`,{className:`sf-network-map__basemap-switcher`,role:`group`,"aria-label":`Tipo de mapa`,children:[`street`,`satellite`].map(e=>(0,n.jsx)(`button`,{type:`button`,className:(0,G.default)(`sf-network-map__basemap-btn`,b===e&&`sf-network-map__basemap-btn--active`),"aria-pressed":b===e,onClick:()=>w(e),children:e===`street`?`Mapa`:`Satélite`},e))}),l&&e.length>0&&(0,n.jsx)(Il,{nodes:e,edges:r})]})},Hl={edit:`sf-audit-timeline__icon-wrap--edit`,sync:`sf-audit-timeline__icon-wrap--sync`,create:`sf-audit-timeline__icon-wrap--create`},Ul=({items:e,sectionTitle:t=`Historial de movimientos`,eventCountLabel:r,ariaLabel:i=`Historial de movimientos`,emptyMessage:a=`Sin eventos`,className:o})=>{let s=r??`${e.length} evento${e.length===1?``:`s`}`;return(0,n.jsxs)(`section`,{className:(0,G.default)(`sf-audit-timeline`,o),"aria-label":i,children:[(t||s)&&(0,n.jsxs)(`div`,{className:`sf-audit-timeline__section`,children:[(0,n.jsx)(`span`,{className:`sf-audit-timeline__section-title`,children:t}),(0,n.jsx)(`span`,{className:`sf-audit-timeline__section-line`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`sf-audit-timeline__section-count`,children:s})]}),(0,n.jsxs)(`ol`,{className:`sf-audit-timeline__list`,children:[e.length===0&&(0,n.jsx)(`li`,{className:`sf-timeline__empty`,role:`status`,children:a}),e.map((t,r)=>{let i=t.eventType??`edit`;return(0,n.jsxs)(`li`,{className:`sf-audit-timeline__item`,children:[r!==e.length-1&&(0,n.jsx)(`span`,{className:`sf-audit-timeline__line`,"aria-hidden":`true`}),(0,n.jsx)(`div`,{className:`sf-audit-timeline__marker`,children:t.icon?(0,n.jsx)(`span`,{className:(0,G.default)(`sf-audit-timeline__icon-wrap`,Hl[i]),"aria-hidden":`true`,children:t.icon}):(0,n.jsx)(`span`,{className:(0,G.default)(`sf-audit-timeline__icon-wrap`,Hl[i]),"aria-hidden":`true`})}),(0,n.jsxs)(`div`,{className:`sf-audit-timeline__body`,children:[(0,n.jsxs)(`p`,{className:`sf-audit-timeline__summary`,children:[(0,n.jsx)(`span`,{className:`sf-audit-timeline__actor`,children:t.actor}),` `,(0,n.jsx)(`span`,{className:`sf-audit-timeline__action`,children:t.action})]}),t.time&&(0,n.jsx)(`p`,{className:`sf-audit-timeline__time`,children:t.time}),t.detail&&(0,n.jsx)(`div`,{className:`sf-audit-timeline__detail`,children:t.detail})]})]},t.id??r)})]})]})},Wl={info:`sf-record-list__icon--info`,warning:`sf-record-list__icon--warning`,success:`sf-record-list__icon--success`,neutral:`sf-record-list__icon--neutral`},Gl=({icon:e,iconTone:t=`info`,title:r,subtitle:i,badge:a,actions:o,className:s})=>(0,n.jsxs)(`article`,{className:(0,G.default)(`sf-record-list__item`,s),children:[e&&(0,n.jsx)(`span`,{className:(0,G.default)(`sf-record-list__icon`,Wl[t]),"aria-hidden":`true`,children:e}),(0,n.jsxs)(`div`,{className:`sf-record-list__content`,children:[(0,n.jsx)(`p`,{className:`sf-record-list__title`,children:r}),i&&(0,n.jsx)(`p`,{className:`sf-record-list__subtitle`,children:i})]}),a&&(0,n.jsx)(Oi,{label:a.label,variant:a.variant??`success`,dot:a.dot??!0,size:`sm`}),o&&(0,n.jsx)(`div`,{className:`sf-record-list__actions`,children:o})]}),Kl=({title:e,action:t,items:r,className:i,ariaLabel:a})=>(0,n.jsxs)(`section`,{className:(0,G.default)(`sf-record-list`,i),"aria-label":a??(typeof e==`string`?e:void 0),children:[(e||t)&&(0,n.jsxs)(`div`,{className:`sf-record-list__header`,children:[e&&(0,n.jsx)(`h3`,{className:`sf-record-list__heading`,children:e}),t&&(0,n.jsx)(`div`,{className:`sf-record-list__header-action`,children:t})]}),(0,n.jsx)(`div`,{className:`sf-record-list__items`,children:r.map((e,t)=>(0,n.jsx)(Gl,{...e},e.id??t))})]}),ql=({label:e,pulse:t=!0,className:r})=>(0,n.jsxs)(`span`,{className:(0,G.default)(`sf-live-chip`,r),children:[(0,n.jsx)(`span`,{className:(0,G.default)(`sf-live-chip__dot`,t&&`sf-live-chip__dot--pulse`),"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`sf-live-chip__label`,children:e})]}),Jl={default:`var(--sf-text, #1B2A38)`,success:`#1F8A4C`,warning:`#C76A12`,danger:`#C0392B`},Yl={display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:16,flexWrap:`wrap`,padding:`11px 16px`,background:`var(--sf-card-bg, #ffffff)`,border:`1px solid var(--sf-border, #E2E8EC)`,borderRadius:13,boxShadow:`0 1px 3px rgba(12,33,49,.06), 0 1px 2px rgba(12,33,49,.04)`},Xl={display:`flex`,alignItems:`center`,gap:14,flexWrap:`wrap`},Zl={width:1,height:20,background:`var(--sf-border, #DCE3E7)`},Ql={fontSize:13,fontWeight:600,color:`var(--sf-text-subtle, #8A98A4)`},$l={fontSize:15,fontWeight:800,color:`var(--sf-text, #1B2A38)`,fontVariantNumeric:`tabular-nums`},eu={fontSize:12.5,fontWeight:800,color:`#C76A12`},tu={fontSize:13,fontWeight:700,color:`var(--sf-text-subtle, #5C7180)`},nu={display:`flex`,alignItems:`center`,gap:22,margin:0},ru={display:`flex`,alignItems:`baseline`,gap:6},iu={fontSize:10.5,fontWeight:700,letterSpacing:`.05em`,textTransform:`uppercase`,color:`var(--sf-text-subtle, #8A98A4)`},au=({liveLabel:e,metrics:t,nextDeparture:r,className:i,ariaLabel:a=`Estado en vivo`})=>(0,n.jsxs)(`section`,{className:(0,G.default)(`sf-live-status-bar`,i),"aria-label":a,style:Yl,children:[(0,n.jsxs)(`div`,{style:Xl,children:[(0,n.jsx)(ql,{label:`En vivo`}),(0,n.jsx)(`span`,{style:tu,children:e}),r&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`span`,{style:Zl,"aria-hidden":`true`}),(0,n.jsx)(`span`,{style:Ql,children:r.label??`Próxima salida`}),(0,n.jsx)(`span`,{style:$l,children:r.time}),r.countdown!=null&&(0,n.jsx)(`span`,{style:eu,children:r.countdown})]})]}),(0,n.jsx)(`dl`,{style:nu,children:t.map((e,t)=>(0,n.jsxs)(`div`,{style:ru,children:[(0,n.jsx)(`dd`,{style:{margin:0,fontSize:20,fontWeight:800,fontVariantNumeric:`tabular-nums`,color:Jl[e.accent??`default`]},children:e.value}),(0,n.jsx)(`dt`,{style:iu,children:e.label})]},e.id??`${e.label}-${t}`))})]}),ou={success:`sf-timeline__dot--success`,warning:`sf-timeline__dot--warning`,danger:`sf-timeline__dot--danger`,info:`sf-timeline__dot--info`,default:`sf-timeline__dot--default`},su={success:`sf-timeline__icon-wrap--success`,warning:`sf-timeline__icon-wrap--warning`,danger:`sf-timeline__icon-wrap--danger`,info:`sf-timeline__icon-wrap--info`,default:`sf-timeline__icon-wrap--default`},cu=({items:e,ariaLabel:t=`Línea de tiempo`,emptyMessage:r=`Sin eventos`,className:i})=>(0,n.jsxs)(`ol`,{className:(0,G.default)(`sf-timeline`,i),"aria-label":t,children:[e.length===0&&(0,n.jsx)(`li`,{className:`sf-timeline__empty`,role:`status`,children:r}),e.map((t,r)=>{let i=t.status??`default`;return(0,n.jsxs)(`li`,{className:`sf-timeline__item`,children:[r!==e.length-1&&(0,n.jsx)(`span`,{className:`sf-timeline__line`,"aria-hidden":`true`}),(0,n.jsx)(`div`,{className:`sf-timeline__marker`,children:t.icon?(0,n.jsx)(`span`,{className:(0,G.default)(`sf-timeline__icon-wrap`,su[i]),"aria-hidden":`true`,children:t.icon}):(0,n.jsx)(`span`,{className:(0,G.default)(`sf-timeline__dot`,ou[i]),"aria-hidden":`true`})}),(0,n.jsxs)(`div`,{className:`sf-timeline__body`,children:[(0,n.jsxs)(`div`,{className:`sf-timeline__header`,children:[(0,n.jsx)(`span`,{className:`sf-timeline__title`,children:t.title}),t.time&&(0,n.jsx)(`span`,{className:`sf-timeline__time`,children:t.time})]}),t.description&&(0,n.jsx)(`p`,{className:`sf-timeline__description`,children:t.description})]})]},t.id??r)})]}),lu=({items:e,autoPlay:r=!1,intervalMs:i=4e3,showDots:a=!0,showArrows:o=!0,className:s})=>{let c=(0,t.useRef)(null),[l,u]=(0,t.useState)(0),d=(0,t.useCallback)(t=>{let n=c.current;if(!n||e.length===0)return;let r=(t%e.length+e.length)%e.length;n.children.item(r)?.scrollIntoView({behavior:`smooth`,inline:`start`,block:`nearest`}),u(r)},[e.length]);return(0,t.useEffect)(()=>{if(!r||e.length<=1)return;let t=window.setInterval(()=>d(l+1),i);return()=>window.clearInterval(t)},[l,r,i,e.length,d]),e.length===0?null:(0,n.jsxs)(`div`,{className:(0,G.default)(`sf-carousel`,s),children:[o&&e.length>1&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`button`,{type:`button`,"aria-label":`Anterior`,className:`sf-carousel__arrow sf-carousel__arrow--prev`,onClick:()=>d(l-1),children:(0,n.jsx)(xe,{"aria-hidden":`true`})}),(0,n.jsx)(`button`,{type:`button`,"aria-label":`Siguiente`,className:`sf-carousel__arrow sf-carousel__arrow--next`,onClick:()=>d(l+1),children:(0,n.jsx)(U,{"aria-hidden":`true`})})]}),(0,n.jsx)(`div`,{ref:c,className:`sf-carousel__track`,onScroll:()=>{let e=c.current;if(!e)return;let t=e.clientWidth;t<=0||u(Math.round(e.scrollLeft/t))},children:e.map((e,t)=>(0,n.jsx)(`div`,{className:`sf-carousel__slide`,children:e},t))}),a&&e.length>1&&(0,n.jsx)(`div`,{className:`sf-carousel__dots`,children:e.map((e,t)=>(0,n.jsx)(`button`,{type:`button`,"aria-label":`Ir a slide ${t+1}`,className:(0,G.default)(`sf-carousel__dot`,t===l&&`sf-carousel__dot--active`),onClick:()=>d(t)},t))})]})},uu=[`var(--sf-chart-1)`,`var(--sf-chart-2)`,`var(--sf-chart-3)`,`var(--sf-chart-4)`,`var(--sf-chart-5)`],du=(e,t)=>e.color??uu[t%uu.length],fu={borderRadius:`0.375rem`,border:`1px solid var(--sf-chart-tooltip-border)`,background:`var(--sf-chart-tooltip-bg)`,fontSize:`0.75rem`,color:`var(--sf-chart-tooltip-text)`},pu={fill:`var(--sf-chart-axis)`,fontSize:11},mu={fontSize:`0.75rem`,color:`var(--sf-chart-axis)`},hu={top:8,right:8,left:0,bottom:0},gu={bar:{Root:_.BarChart,renderSeries:e=>e.map((e,t)=>(0,n.jsx)(_.Bar,{dataKey:e.key,name:e.label??e.key,fill:du(e,t),radius:[4,4,0,0]},e.key))},line:{Root:_.LineChart,renderSeries:e=>e.map((e,t)=>{let r=du(e,t);return(0,n.jsx)(_.Line,{type:`monotone`,dataKey:e.key,name:e.label??e.key,stroke:r,strokeWidth:2,dot:{r:3,fill:r},activeDot:{r:5}},e.key)})},area:{Root:_.AreaChart,renderSeries:e=>e.map((e,t)=>{let r=du(e,t);return(0,n.jsx)(_.Area,{type:`monotone`,dataKey:e.key,name:e.label??e.key,stroke:r,fill:r,fillOpacity:.15,strokeWidth:2},e.key)})}},_u=({type:e,data:t,xKey:r,series:i,height:a=280,ariaLabel:o,emptyMessage:s=`Sin datos para mostrar`,className:c,showGrid:l=!0,showTooltip:u=!0,showLegend:d=i.length>1})=>{let{Root:f,renderSeries:p}=gu[e],m=t.length>0&&i.length>0;return(0,n.jsx)(`div`,{className:(0,G.default)(`sf-chart`,c),style:{height:a},role:`img`,"aria-label":o??`Gráfico ${e}`,children:m?(0,n.jsx)(_.ResponsiveContainer,{width:`100%`,height:`100%`,children:(0,n.jsxs)(f,{data:t,margin:hu,children:[l&&(0,n.jsx)(_.CartesianGrid,{strokeDasharray:`3 3`,vertical:!1}),(0,n.jsx)(_.XAxis,{dataKey:r,tick:pu,axisLine:{stroke:`var(--sf-chart-grid)`}}),(0,n.jsx)(_.YAxis,{tick:pu,axisLine:{stroke:`var(--sf-chart-grid)`},width:48}),u&&(0,n.jsx)(_.Tooltip,{contentStyle:fu}),d&&(0,n.jsx)(_.Legend,{wrapperStyle:mu}),p(i)]})}):(0,n.jsx)(`div`,{className:`sf-chart__empty`,role:`status`,children:s})})},vu=({data:e,dataKey:r,height:i=40,width:a=`100%`,color:o,ariaLabel:s=`Tendencia`,emptyMessage:c=`Sin datos`,className:l})=>{let u=(0,t.useMemo)(()=>du({color:o},0),[o]),d=e.length>0,f=(0,t.useMemo)(()=>({top:4,right:4,left:4,bottom:4}),[]);return(0,n.jsx)(`div`,{className:(0,G.default)(`sf-sparkline`,l),style:{height:i,width:a},role:`img`,"aria-label":s,children:d?(0,n.jsx)(_.ResponsiveContainer,{width:`100%`,height:`100%`,children:(0,n.jsx)(_.LineChart,{data:e,margin:f,children:(0,n.jsx)(_.Line,{type:`monotone`,dataKey:r,stroke:u,strokeWidth:2,dot:!1,isAnimationActive:!1})})}):(0,n.jsx)(`div`,{className:`sf-chart__empty sf-chart__empty--compact`,role:`status`,children:c})})},yu=({className:e})=>(0,n.jsx)(`svg`,{className:(0,G.default)(`inline-block h-[1em] w-[1em]`,e),stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`,children:(0,n.jsx)(`path`,{d:`M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z`})}),bu=(e,{initialPageSize:n=10}={})=>{let[r,i]=(0,t.useState)(``),[a,o]=(0,t.useState)(0),[s,c]=(0,t.useState)(n),l=(0,t.useMemo)(()=>{let t=r.trim().toLowerCase();return t?e.filter(e=>Object.values(e).some(e=>String(e??``).toLowerCase().includes(t))):e},[e,r]),u=l.length;return{query:r,setQuery:e=>{i(e),o(0)},pageIndex:a,setPageIndex:o,pageSize:s,setPageSize:e=>{c(Math.max(1,e)),o(0)},filteredRows:l,pageRows:(0,t.useMemo)(()=>{let e=a*s;return l.slice(e,e+s)},[l,a,s]),totalItems:u}},xu=e=>String(e??``).normalize(`NFD`).replace(/[\u0300-\u036f]/g,``).toLowerCase().trim(),Su=e=>typeof e==`string`||typeof e==`number`,Cu=(e,t)=>{let n=xu(t);return typeof t==`number`&&(n=`#${n}`),e.toLowerCase().endsWith(`codigo`)&&!n.startsWith(`#`)&&(n=`.${n}`),n},wu=(e,t,n)=>{if(t?.length)return[...t];let r=new Set(n),i=[];for(let t in e)r.has(t)||Su(e[t])&&i.push(t);return i},Tu=(e,t,n)=>{let r=``,i=wu(e,t,n);for(let t of i){let n=e[t];if(!Su(n))continue;let i=Cu(t,n);i&&(r+=`${i} `)}return r},Eu=e=>{let t=e.split(`;`),n=[];for(let e of t){let t=xu(e);t.length>=2&&n.push(t)}return n},Du=(e,n)=>{let[r,i]=(0,t.useState)(``),a=(0,t.useDeferredValue)(r),o=n?.filters,s=n?.searchableKeys,c=n?.ignoredKeys,l=(0,t.useMemo)(()=>Eu(a),[a]),u=(0,t.useMemo)(()=>{if(!e?.length)return[];let t=[];for(let n of e)t.push({item:n,searchIndex:Tu(n,s,c)});return t},[e,s,c]);return[(0,t.useMemo)(()=>{if(!e?.length)return[];let t=!!o?.length,n=l.length>0;if(!t&&!n)return e;let r=[];for(let{item:e,searchIndex:i}of u){if(t){let t=!0;for(let n of o)if(!n(e)){t=!1;break}if(!t)continue}if(n){let e=!0;for(let t of l)if(!i.includes(t)){e=!1;break}if(!e)continue}r.push(e)}return r},[e,u,o,l]),i]};function Ou(e,t,n){if(t<=0)return[];let r=Math.max(0,n);return r>=e.length?[]:e.slice(r,r+t)}var ku=(e,t,n)=>{let r=e?.[n],i=t?.[n];return r==null&&i==null?0:r==null?-1:i==null?1:typeof r==`boolean`&&typeof i==`boolean`?Number(r)-Number(i):typeof r==`number`&&typeof i==`number`?r-i:r instanceof Date&&i instanceof Date?r.getTime()-i.getTime():typeof r==`string`&&typeof i==`string`?r.localeCompare(i,void 0,{sensitivity:`base`}):String(r).localeCompare(String(i),void 0,{sensitivity:`base`})},Au=(e,n)=>{let[r,i]=(0,t.useState)([]),[a,o]=(0,t.useState)(()=>({limit:Math.max(1,n?.limit??100),offset:0})),s=Math.max(1,a.limit),c=Math.max(0,a.offset),l=c>=e.length?0:c,u=({limit:e,offset:t})=>{o({limit:Math.max(1,e),offset:Math.max(0,t)})},d=(0,t.useMemo)(()=>{if(e.length===0)return[];let t=[...e];if(r.length>0){let e=n?.onSortFunc??ku,i=n?.strictSort??!1;t.sort((t,n)=>{for(let{id:a,desc:o}of r){if(i&&(!(typeof t==`object`&&t)||!(typeof n==`object`&&n)||!(a in t)||!(a in n)))continue;let r=e(t,n,a);if(r!==0)return o?-r:r}return 0})}return Ou(t,s,l)},[e,s,l,r,n?.onSortFunc,n?.strictSort]);return{pageConstraints:{limitItems:s,offsetItems:l,totalItems:e.length},setLimitOffset:u,onSortChange:i,pageData:d}},ju=(e,t)=>{if(typeof window>`u`)return t;try{let n=window.localStorage.getItem(e);return n==null?t:JSON.parse(n)}catch{return t}},Mu=(e,n)=>{let[r,i]=(0,t.useState)(()=>ju(e,n));return[r,t=>{i(n=>{let r=typeof t==`function`?t(n):t;if(typeof window<`u`)try{window.localStorage.setItem(e,JSON.stringify(r))}catch{}return r})}]},Nu=e=>typeof window>`u`?null:new URL(window.location.href).searchParams.get(e),Pu=(e,t)=>{if(typeof window>`u`)return;let n=new URL(window.location.href);t!=null&&t!==``?n.searchParams.set(e,t):n.searchParams.delete(e),window.history.replaceState(null,``,n.toString())},Fu=e=>{Pu(e,null)},Iu=(e,n)=>{let[r,i]=(0,t.useState)(()=>{let t=typeof e==`function`?e():e;if(!n)return t;let r=Nu(n);return r==null||r===``?(Pu(n,t),t):r});return[r,e=>{i(t=>{let r=typeof e==`function`?e(t):e;return n&&Pu(n,r),r})}]},Lu=()=>{let e=globalThis.process?.env?.NODE_ENV;return e!=null&&e===`development`},Ru=(e,t)=>{let n=(0,r.useForm)({resolver:(0,v.yupResolver)(e),defaultValues:t?.defaultValues}),i=(e,t)=>n.handleSubmit(e,(e,n)=>{Lu()&&console.log(e),t?.(e,n)});return{...n,handleSubmit:i}},zu=e=>{let t=String(e??``),n=0;for(;n<t.length&&t.charCodeAt(n)<=32;)n+=1;let r=t.slice(n);return/^[=+\-@]/.test(r)?`'${t}`:t},Bu=e=>{let t=zu(e);return/[",\n\r]/.test(t)?`"${t.replace(/"/g,`""`)}"`:t},Vu=(e,t)=>{if(typeof document>`u`)return;let n=`\uFEFF${[t.columns.map(e=>Bu(e.header)).join(`,`),...e.map(e=>t.columns.map(t=>Bu(t.getValue(e))).join(`,`))].join(`
|
|
5
|
+
`)}`,r=new Blob([n],{type:`text/csv;charset=utf-8`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=t.filename??`export.csv`,a.click(),URL.revokeObjectURL(i)},Hu=e=>zu(e).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`),Uu=e=>typeof e==`number`&&Number.isFinite(e)?`Number`:`String`,Wu=(e,t)=>{if(typeof document>`u`)return;let{columns:n,filename:r=`export.xls`}=t,i=`<?xml version="1.0"?>
|
|
6
6
|
<?mso-application progid="Excel.Sheet"?>
|
|
7
7
|
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
|
|
8
8
|
xmlns:o="urn:schemas-microsoft-com:office:office"
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
</Styles>
|
|
14
14
|
<Worksheet ss:Name="Export">
|
|
15
15
|
<Table>
|
|
16
|
-
<Row>${n.map(e=>`<Cell ss:StyleID="Header"><Data ss:Type="String">${
|
|
17
|
-
${e.map(e=>`<Row>${n.map(t=>{let n=t.getValue(e),r=
|
|
16
|
+
<Row>${n.map(e=>`<Cell ss:StyleID="Header"><Data ss:Type="String">${Hu(e.header)}</Data></Cell>`).join(``)}</Row>
|
|
17
|
+
${e.map(e=>`<Row>${n.map(t=>{let n=t.getValue(e),r=Uu(n);return`<Cell><Data ss:Type="${r}">${r===`Number`?String(n):Hu(n)}</Data></Cell>`}).join(``)}</Row>`).join(``)}
|
|
18
18
|
</Table>
|
|
19
19
|
</Worksheet>
|
|
20
|
-
</Workbook>`,a=new Blob([i],{type:`application/vnd.ms-excel`}),o=URL.createObjectURL(a),s=document.createElement(`a`);s.href=o,s.download=r.endsWith(`.xls`)||r.endsWith(`.xlsx`)?r:`${r}.xls`,s.click(),URL.revokeObjectURL(o)},
|
|
20
|
+
</Workbook>`,a=new Blob([i],{type:`application/vnd.ms-excel`}),o=URL.createObjectURL(a),s=document.createElement(`a`);s.href=o,s.download=r.endsWith(`.xls`)||r.endsWith(`.xlsx`)?r:`${r}.xls`,s.click(),URL.revokeObjectURL(o)},Gu=`Este campo es requerido`,Ku=`Introduce una dirección de correo electrónico válida`,qu=`El correo electrónico es obligatorio`,Ju=`El valor de este campo es inválido`,Yu=`Introduce un número de celular válido`,Xu=e=>e==null?null:typeof e==`string`?e.trim()===``?null:e.trim():e,Zu=(e=Gu)=>y.string().transform(Xu).required(e),Qu=()=>y.string().transform(Xu).default(null).nullable(),$u=(e=qu)=>y.string().transform(Xu).email(Ku).required(e),ed=(e=Ku)=>y.string().transform(Xu).test(`emailTest`,e,e=>e==null||e===``?!0:y.string().email().isValidSync(e)).default(null).nullable(),td=(e,t=Ju,n=Gu)=>y.string().transform(Xu).trim().test(`rgxValidation`,t,t=>t==null||t===``?!0:t.match(e)!=null).required(n),nd=(e,t=Ju)=>y.string().transform(Xu).test(`rgxValidation`,t,t=>t==null||t===``?!0:t.match(e)!=null).default(null).nullable(),rd=e=>{let t=e?.minLength==null?void 0:Math.max(1,e.minLength);return{minLength:t,maxLength:e?.maxLength==null?void 0:Math.max(t??1,e.maxLength)}},id=e=>{let{minLength:t,maxLength:n}=rd(e),r=/^[0-9]+$/,i=y.string().transform(Xu).test(`rgxValidation`,(e,t)=>e==null||e===``?!0:e.match(r)==null?t.createError({message:`El campo debe contener solo caracteres numéricos`}):!0);return t!=null&&(i=i.min(t,`El campo debe tener al menos ${t} caracteres`)),n!=null&&(i=i.max(n,`La longitud máxima permitida es de ${n} caracteres`)),i},ad=e=>id(e).required(Gu),od=e=>id(e).default(null).nullable(),sd=(e=Gu)=>y.boolean().typeError(`El tipo de dato debe ser booleano`).required(e),cd=()=>y.boolean().typeError(`El tipo de dato debe ser booleano`).default(null).nullable(),ld=(e,t)=>t==null||t===``?null:Number.isNaN(e)?void 0:e,ud=(e=Gu)=>y.number().transform(ld).typeError(`Debe ser numérico`).required(e),dd=()=>y.number().transform(ld).typeError(`Debe ser numérico`).default(null).nullable().notRequired(),fd=(e=Gu)=>y.number().transform(ld).typeError(`Este campo debe ser un valor número`).min(0,`Este campo debe ser un valor número positivo`).required(e),pd=(e=Gu)=>fd(e).integer(`Este campo debe ser un número entero`),md=()=>y.number().transform(ld).typeError(`Este campo debe ser un valor número`).min(0,`Este campo debe ser un valor número positivo`).default(null).nullable(),hd=()=>md().integer(`Este campo debe ser un número entero`),gd=e=>{let t=/^(?:\+51)\s?[0-9]{3}\s?[0-9]{3}\s?[0-9]{3}$/;return y.string().transform(e=>e==null?null:typeof e==`string`?e.trim()===``?null:e.trim().startsWith(`+`)?e.trim():`+51 ${e.trim()}`:e).test(`rgxValidation`,e,e=>e==null||e===``?!0:e.match(t)!=null).default(null)},_d=(e=Yu)=>gd(e).nullable(),vd=(e=Yu)=>gd(e).required(Gu),yd=(e=Gu)=>y.array().of(Zu()).min(1,`Debe contener al menos un elemento`).required(e),bd=()=>y.array().of(Qu()).default(null).nullable(),xd={transformNullIfEmpty:Xu,requiredString:Zu,nullableString:Qu,requiredEmail:$u,nullableEmail:ed,requiredMatchString:td,nullableOrMatchString:nd,requiredStringNumbersOnly:ad,nullableStringNumbersOnly:od,requiredBoolean:sd,nullableBoolean:cd,requiredNumber:ud,nullableNumber:dd,requiredPositiveNumber:fd,requiredPositiveInteger:pd,nullablePositiveNumber:md,nullablePositiveInteger:hd,nullableCelular:_d,requiredCelular:vd,requiredStringArray:yd,nullableStringArray:bd};e.AccessDenied=Yn,e.Accordion=ei,e.ActionButton=zn,e.ActiveFiltersBar=En,e.AddressSearchInput=Ec,e.Alert=Vn,e.AlertLane=Go,e.AlertRowList=Ho,e.AppBarContainer=ua,e.AppShell=la,e.AreaInput=Ic,e.AsyncCardSelect=xt,e.AsyncCustomTable=_n,e.AsyncSearchSelect=yt,e.AsyncSearchTableSelect=wt,e.AuditTimeline=Ul,e.Avatar=wi,e.AvatarGroup=Ti,e.Badge=Oi,e.BooleanCheckbox=et,e.Breadcrumb=Qr,e.Button=Q,e.ButtonGroup=Pn,e.CHART_SERIES_COLORS=uu,e.COUNTRY_DIAL_CODES=rt,e.CURRENCY_SYMBOLS=nt,e.Calendar=To,e.CardRadioGroup=hl,e.CardSelect=bt,e.Carousel=lu,e.Chart=_u,e.Checkbox=Ye,e.CheckboxGroup=Xe,e.CodeEditor=Ca,e.ColorInput=dl,e.CommandPalette=Nr,e.ConfirmDialog=cr,e.ContextMenuProvider=xr,e.CoordinatesInput=kc,e.CurrencyInput=ft,e.CustomTable=gn,e.DashboardCard=Yo,e.DashboardGrid=Qo,e.DashboardLayout=ns,e.DashboardSection=$o,e.DashboardStatBar=ts,e.DateInput=Le,e.DatePicker=Be,e.DateRangeInput=Nt,e.DateRangeUtcInput=os,e.DateWeekStrip=ra,e.DisplayField=Bt,e.DniInput=st,e.DonutGauge=Fo,e.DonutGaugeRow=Io,e.Drawer=kr,e.DropdownMenu=pr,e.DropdownMenuItem=mr,e.EditableDataGrid=An,e.EmptyState=Hn,e.EntityCard=oo,e.EntityCardGrid=co,e.ErrorView=Wn,e.EventLog=Vo,e.ExpandableTableSection=Nn,e.FieldLayout=K,e.FileDropInput=bs,e.FileInput=Rt,e.FilterBar=hi,e.FilterBarDate=_i,e.FilterBarField=gi,e.FilterBarSelect=vi,e.FilterBarText=yi,e.FormActions=Ln,e.FormWizard=fi,e.HeightProvider=qr,e.Input=Pe,e.ItineraryEditor=Si,e.KPICard=Ga,e.KPIGrid=qa,e.KeyValueInput=pl,e.LiveChip=ql,e.LiveRouteBoard=Ji,e.LiveStatusBar=au,e.LoadingView=qn,e.LocationPicker=Oc,e.MIN_MAP_GEOCODER_QUERY_LENGTH=Ta,e.MONTH_NAMES=vo,e.MaestroLayout=bi,e.MapFrame=As,e.MapPicker=Ha,e.MapStatus=js,e.MapView=Dc,e.MasterDetailLayout=mi,e.MasterDetailListItem=pi,e.MessageDialog=ur,e.MetricBarList=Xa,e.MetricBarRow=Ya,e.Modal=or,e.ModuleCard=ho,e.ModuleCardGrid=go,e.MultiPhotoInput=Cs,e.NETWORK_BASEMAPS=Cl,e.NETWORK_EDGE_STYLES=Ol,e.NETWORK_KIND_COLORS=Tl,e.NETWORK_KIND_LABELS=wl,e.NETWORK_STATUS_COLORS=El,e.NETWORK_STATUS_LABELS=Dl,e.NUMBER_FILTER_OPS=en,e.NetworkLegend=Il,e.NetworkMap=Vl,e.NotificationBell=Er,e.NumberInput=Ie,e.NumberStepper=rl,e.ORG_TREE_DEFAULT_THEMES=gl,e.OptionItem=hr,e.OrgTree=Sl,e.OtpInput=as,e.PageContainer=Ir,e.PageHeader=Rr,e.PaginationRangeInput=Qt,e.PassengerBoardCard=Ii,e.PasswordInput=He,e.PhoneInput=ut,e.PhotoCropInput=Os,e.PhotoInput=xs,e.Popover=Re,e.ProductTour=Fr,e.ProgressBar=ol,e.ProgressBarReadonly=cl,e.QRView=wr,e.RadioGroup=Ze,e.RangeSliderInput=al,e.RatingInput=ll,e.RecommendationCard=fo,e.RecordList=Kl,e.RecordListItem=Gl,e.RetryBlock=Jn,e.RichTextEditor=_a,e.RouteInput=Lc,e.RowActions=In,e.RucInput=ct,e.SF_DEFAULT_MAP_CENTER=Ns,e.SF_DEFAULT_MAP_ZOOM=Ps,e.SF_GOOGLE_ENGINE_CAPABILITIES=Rs,e.SF_LEAFLET_ENGINE_CAPABILITIES=Ls,e.SF_MAPS_CONFIG_ERROR=Ms,e.SF_OSM_ATTRIBUTION=Is,e.SF_OSM_TILE_URL=Fs,e.STRING_FILTER_OPS=$t,e.ScrollArea=ti,e.SearchSelect=_t,e.SearchTableSelect=Ct,e.Select=Je,e.Separator=Zr,e.SfProvider=yc,e.Sheet=Ar,e.SidePanel=zr,e.SidePanelContainer=Gr,e.SignaturePad=Ss,e.Skeleton=Zn,e.SliderInput=$c,e.SmartDateInput=Ft,e.SmartInput=pt,e.SmartMapInput=Rc,e.SmartMediaInput=ws,e.SmartSelect=Tt,e.SortableList=ml,e.Sparkline=vu,e.Spinner=Kn,e.Stepper=li,e.SummaryItem=ni,e.SyncIcon=yu,e.TabMenuOption=gr,e.TableColumnSettings=Tn,e.TableFiltersPanel=an,e.TablePageLayout=Lr,e.TableSortingPanel=on,e.Tabs=Br,e.TagsInput=fl,e.TextArea=Fe,e.TimeRangeInput=Pt,e.Timeline=cu,e.ToastProvider=rr,e.Toggle=Qe,e.ToggleCard=$e,e.ToolbarButton=Fn,e.Tooltip=Dr,e.TramoCard=_o,e.Transfer=qe,e.TreeSelect=Ke,e.UnitSelector=Yi,e.Visibility=Yr,e.Visivility=Xr,e.WEEKDAY_LABELS=yo,e.WeekdayToggleStrip=oa,e.YesNoSelect=tt,e.badgeClassName=Ei,e.badgeDotClassName=Di,e.buildActiveFilterChips=kn,e.buildMonthGrid=So,e.buildOrgTreeRows=_l,e.buttonClassName=Z,e.calcTimeDuration=Mt,e.clampNumber=Hc,e.codeEditorClassName=ba,e.columnFilterFn=rn,e.countNetworkStatus=Ml,e.countOrgTreeNodes=yl,e.createFormSchema=e=>y.object().shape(e(xd)),e.createLocalStorageAsyncStateStore=qt,e.createPhotoItem=ps,e.cropImageToSquare=_s,e.defaultOnSortFunc=ku,e.emptyDateRange=ss,e.emptyKeyValuePairs=Kc,e.emptyNumberRange=Jc,e.emptyPhotoItems=ks,e.emptyTags=Wc,e.emptyTimeRange=cs,e.exportTableCsv=Vu,e.exportTableXlsx=Wu,e.fieldClassName=q,e.formatColumnFilterValue=On,e.formatMapGeocoderLabel=Da,e.formatSliderLabel=Uc,e.fromUtcDateIso=kt,e.inferInitialFilterValue=nn,e.inputFocusTransition=Me,e.isColumnFilterValue=tn,e.isValidDateString=Dt,e.isValidFileType=ds,e.networkEdgeLines=Fl,e.networkMapBounds=Nl,e.networkNodePositions=Pl,e.nextPhotoId=us,e.normalizeDateRange=At,e.normalizeHexColor=Xc,e.normalizeKeyValuePairs=qc,e.normalizeNetworkEdges=jl,e.normalizeNetworkNodes=Al,e.normalizeNumberRange=Yc,e.normalizePhotoItems=gs,e.normalizeTags=Gc,e.normalizeTimeRange=jt,e.nullableBoolean=cd,e.nullableCelular=_d,e.nullableEmail=ed,e.nullableNumber=dd,e.nullableOrMatchString=nd,e.nullablePositiveInteger=hd,e.nullablePositiveNumber=md,e.nullableString=Qu,e.nullableStringArray=bd,e.nullableStringNumbersOnly=od,e.orgTreeRootNodes=bl,e.parseYMD=xo,e.progressPercent=Zc,e.readQueryValue=Nu,e.removeQueryValue=Fu,e.requiredBoolean=sd,e.requiredCelular=vd,e.requiredEmail=$u,e.requiredMatchString=td,e.requiredNumber=ud,e.requiredPositiveInteger=pd,e.requiredPositiveNumber=fd,e.requiredString=Zu,e.requiredStringArray=yd,e.requiredStringNumbersOnly=ad,e.resolveOrgTreeTheme=vl,e.resolveSeriesColor=du,e.revokePhotoPreview=ms,e.revokePhotoPreviews=hs,e.sanitizeDigits=it,e.searchMapAddresses=Ea,e.sfClampLatitude=sc,e.sfClampLongitude=cc,e.sfFormatCoordinate=$,e.sfLatLngToString=uc,e.sfMarkerFromLatLng=fc,e.sfNormalizeLatLng=dc,e.sfParseCoordinate=lc,e.showFilePicker=fs,e.textareaClassName=Ne,e.toIsoDate=Qi,e.toLocalDateYMD=Et,e.toLocalYMD=bo,e.toStringArray=X,e.toUtcDateIso=Ot,e.transformNullIfEmpty=Xu,e.updateQueryValue=Pu,e.useAddressSearch=Sc,e.useArrayPaginator=Au,e.useAsyncOptions=vt,e.useClickAway=_r,e.useContainerHeight=Jr,e.useContextMenu=Cr,e.useCustomForm=Ru,e.useCustomTableController=vn,e.useDropdownClose=fr,e.useFilterData=Du,e.useFormWizard=di,e.useIsClient=ya,e.useMaestroFilter=bu,e.useMapEngine=Cc,e.useMapsConfig=wc,e.useModal=sr,e.useQueryStringState=Iu,e.useSf=bc,e.useSfMaps=xc,e.useSidePanelContainer=Ur,e.useSidePanelHandle=Vr,e.useStoredState=Mu,e.useTableColumnSettings=Cn,e.useToast=ir,e.validateDni=ot,e.validateRuc=at,e.validators=xd});
|
|
21
21
|
//# sourceMappingURL=sf-ui.umd.cjs.map
|