rich-react-component 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +125 -1
- package/dist/base/AreaChart.d.ts +4 -0
- package/dist/base/BarChart.d.ts +4 -0
- package/dist/base/Calendar.d.ts +54 -0
- package/dist/base/Chart.d.ts +26 -0
- package/dist/base/ChartLegend.d.ts +22 -0
- package/dist/base/DocumentViewer.d.ts +57 -0
- package/dist/base/DonutChart.d.ts +4 -0
- package/dist/base/LineChart.d.ts +9 -0
- package/dist/base/PieChart.d.ts +4 -0
- package/dist/base/StackedBarChart.d.ts +4 -0
- package/dist/base/chart/CartesianChart.d.ts +31 -0
- package/dist/base/chart/ChartSliceSummary.d.ts +13 -0
- package/dist/base/chart/ChartStatus.d.ts +16 -0
- package/dist/base/chart/ChartTooltip.d.ts +22 -0
- package/dist/base/chart/CircularChartBase.d.ts +18 -0
- package/dist/base/chart/chartColors.d.ts +4 -0
- package/dist/base/chart/chartScales.d.ts +15 -0
- package/dist/base/chart/chartTypes.d.ts +58 -0
- package/dist/base/chart/useChartDimensions.d.ts +13 -0
- package/dist/base/chart/useChartIndexNavigation.d.ts +23 -0
- package/dist/base/index.d.ts +28 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3270 -2136
- package/dist/index.js.map +1 -1
- package/dist/pdf-04d5ad63.js +14755 -0
- package/dist/pdf-04d5ad63.js.map +1 -0
- package/dist/pdf-c22cffd3.cjs +13 -0
- package/dist/pdf-c22cffd3.cjs.map +1 -0
- package/dist/pdf.worker.min-ab9f616e.cjs +2 -0
- package/dist/pdf.worker.min-ab9f616e.cjs.map +1 -0
- package/dist/pdf.worker.min-e6e7e836.js +5 -0
- package/dist/pdf.worker.min-e6e7e836.js.map +1 -0
- package/dist/style.css +1 -1
- package/package.json +75 -72
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),d=require("react"),yr=require("react-dom");function v(...e){return e.filter(Boolean).join(" ")}function mt({htmlFor:e,required:t,className:r,children:n}){return s.jsxs("label",{htmlFor:e,className:v("form-label","rrc-label",r),children:[n,t&&s.jsx("span",{className:"text-danger",children:" *"})]})}function Ie({error:e,helpText:t,className:r}){return e?s.jsx("div",{className:v("invalid-feedback d-block","rrc-field__error",r),children:e}):t?s.jsx("div",{className:v("form-text","rrc-field__help",r),children:t}):null}function W({id:e,label:t,required:r,error:n,helpText:o,className:a,children:l}){return s.jsxs("div",{className:v("mb-3","rrc-field",a),children:[t&&s.jsx(mt,{htmlFor:e,required:r,children:t}),l,s.jsx(Ie,{error:n,helpText:o})]})}function V({value:e,defaultValue:t,onChange:r}){const n=e!==void 0,o=d.useRef(n);process.env.NODE_ENV!=="production"&&o.current!==n&&console.error("[react-components] A component switched between controlled and uncontrolled `value`. Decide between passing `value` (controlled) or `defaultValue` (uncontrolled) for the lifetime of the component, per the library's controlled/uncontrolled policy.");const[a,l]=d.useState(t),i=n?e:a,c=d.useCallback(u=>{n||l(u),r==null||r(u)},[n,r]);return[i,c]}function re(e){const{id:t,name:r,disabled:n,readOnly:o,required:a,className:l,label:i,placeholder:c,helpText:u,error:f,value:p,defaultValue:m,onChange:h,onBlur:b,type:N="text",maxLength:k,autoFocus:w,inputProps:S,endAdornment:g}=e,[x,j]=V({value:p,defaultValue:m??"",onChange:h}),C=d.useId(),y=t??C,R=s.jsx("input",{id:y,name:r,className:v("form-control","rrc-input",f&&"is-invalid"),disabled:n,readOnly:o,required:a,placeholder:c,maxLength:k,autoFocus:w,value:x,onChange:_=>j(_.target.value),onBlur:b,type:N,...S});return s.jsx(W,{id:y,label:i,required:a,error:f,helpText:u,className:l,children:g?s.jsxs("div",{className:"input-group rrc-input-group",children:[R,g]}):R})}function jr(e){const{id:t,name:r,disabled:n,readOnly:o,required:a,className:l,label:i,placeholder:c,helpText:u,error:f,value:p,defaultValue:m,onChange:h,onBlur:b,rows:N=3,maxLength:k}=e,[w,S]=V({value:p,defaultValue:m??"",onChange:h}),g=d.useId(),x=t??g;return s.jsx(W,{id:x,label:i,required:a,error:f,helpText:u,className:l,children:s.jsx("textarea",{id:x,name:r,className:v("form-control","rrc-input",f&&"is-invalid"),disabled:n,readOnly:o,required:a,placeholder:c,rows:N,maxLength:k,value:w,onChange:j=>S(j.target.value),onBlur:b})})}function Nr({value:e,defaultValue:t,onChange:r,min:n,max:o,step:a,...l}){const[i,c]=V({value:e,defaultValue:t??null,onChange:r});return s.jsx(re,{...l,value:i===null?"":String(i),onChange:u=>{if(u.trim()===""){c(null);return}const f=Number(u);Number.isNaN(f)||c(f)},inputProps:{inputMode:"decimal",min:n,max:o,step:a}})}function kr(e){const[t,r]=d.useState(!1);return s.jsx(re,{...e,inputProps:{type:t?"text":"password",autoComplete:"current-password"},endAdornment:s.jsx("button",{type:"button",className:"btn btn-outline-secondary rrc-btn rrc-input-group__action","aria-label":t?"Hide password":"Show password","aria-pressed":t,onClick:()=>r(n=>!n),children:t?"Hide":"Show"})})}function wr({id:e,name:t,disabled:r,required:n,className:o,label:a,helpText:l,error:i,accept:c,multiple:u,onChange:f}){const p=d.useId(),m=e??p;return s.jsx(W,{id:m,label:a,required:n,error:i,helpText:l,className:o,children:s.jsx("input",{id:m,name:t,type:"file",className:v("form-control","rrc-input",i&&"is-invalid"),disabled:r,required:n,accept:c,multiple:u,onChange:h=>f==null?void 0:f(h.target.files)})})}function pt({id:e,name:t,disabled:r,required:n,wrapperClassName:o,role:a,label:l,helpText:i,error:c,checked:u,onChange:f,className:p}){const m=d.useId(),h=e??m;return s.jsxs("div",{className:v(o,p),children:[s.jsx("input",{id:h,name:t,type:"checkbox",role:a,className:v("form-check-input","rrc-check",c&&"is-invalid"),disabled:r,required:n,checked:u,onChange:b=>f(b.target.checked)}),l&&s.jsx("label",{htmlFor:h,className:"form-check-label rrc-check__label",children:l}),s.jsx(Ie,{error:c,helpText:i})]})}function Sr(e){const[t,r]=V({value:e.checked,defaultValue:e.defaultChecked??!1,onChange:e.onChange});return s.jsx(pt,{id:e.id,name:e.name,disabled:e.disabled,required:e.required,className:e.className,wrapperClassName:"form-check mb-3",label:e.label,helpText:e.helpText,error:e.error,checked:t,onChange:r})}function _r(e){const[t,r]=V({value:e.checked,defaultValue:e.defaultChecked??!1,onChange:e.onChange});return s.jsx(pt,{id:e.id,name:e.name,disabled:e.disabled,required:e.required,className:e.className,wrapperClassName:"form-check form-switch mb-3",role:"switch",label:e.label,helpText:e.helpText,error:e.error,checked:t,onChange:r})}function ht({id:e,name:t,value:r,label:n,checked:o,disabled:a,className:l,onChange:i}){const c=d.useId(),u=e??c;return s.jsxs("div",{className:v("form-check","rrc-check-row",l),children:[s.jsx("input",{id:u,name:t,type:"radio",className:"form-check-input rrc-check",value:String(r),checked:o,disabled:a,onChange:()=>i==null?void 0:i(r)}),n&&s.jsx("label",{htmlFor:u,className:"form-check-label rrc-check__label",children:n})]})}function Cr({options:e,value:t,defaultValue:r,onChange:n,inline:o,id:a,name:l,disabled:i,required:c,className:u,label:f,helpText:p,error:m}){const[h,b]=V({value:t,defaultValue:r??null,onChange:w=>{w!==null&&(n==null||n(w))}}),N=d.useId(),k=l??a??N;return s.jsx(W,{label:f,required:c,error:m,helpText:p,className:u,children:s.jsx("div",{role:"radiogroup","aria-label":f,"aria-required":c,className:v("rrc-radio-group",o&&"d-flex gap-3 rrc-radio-group--inline"),children:e.map(w=>s.jsx(ht,{name:k,value:w.value,label:w.label,checked:w.value===h,disabled:i||w.disabled,onChange:S=>b(S)},String(w.value)))})})}function bt({options:e,value:t,defaultValue:r,onChange:n,placeholder:o,loading:a,id:l,name:i,disabled:c,readOnly:u,required:f,className:p,label:m,helpText:h,error:b}){const[N,k]=V({value:t,defaultValue:r??null,onChange:n}),w=d.useId(),S=l??w;return s.jsx(W,{id:S,label:m,required:f,error:b,helpText:h,className:p,children:s.jsxs("select",{id:S,name:i,className:v("form-select","rrc-select",b&&"is-invalid"),disabled:c||u||a,required:f,value:N===null?"":String(N),onChange:g=>{const x=g.target.value;if(x===""){k(null);return}const j=e.find(C=>String(C.value)===x);k(j?j.value:null)},children:[a&&s.jsx("option",{value:"",children:"Loading…"}),!a&&o&&s.jsx("option",{value:"",children:o}),e.map(g=>s.jsx("option",{value:String(g.value),disabled:g.disabled,children:g.label},String(g.value)))]})})}function ge(e,t){d.useEffect(()=>{if(!e)return;function r(n){n.key==="Escape"&&t()}return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[e,t])}function X({open:e,onClose:t,anchorRef:r,className:n,role:o,children:a}){const l=d.useRef(null);return ge(e,t),d.useEffect(()=>{if(!e)return;function i(c){var f,p;const u=c.target;(f=l.current)!=null&&f.contains(u)||(p=r.current)!=null&&p.contains(u)||t()}return document.addEventListener("mousedown",i),()=>document.removeEventListener("mousedown",i)},[e,t,r]),e?s.jsx("div",{ref:l,className:v("show","rrc-popup",n),role:o,children:a}):null}function ye({itemCount:e,isOpen:t,onSelect:r,onClose:n}){const[o,a]=d.useState(-1);d.useEffect(()=>{t||a(-1)},[t]),ge(t,n);const l=d.useCallback(i=>{if(!t){(i.key==="ArrowDown"||i.key==="Enter")&&i.preventDefault();return}switch(i.key){case"ArrowDown":i.preventDefault(),a(c=>e===0?-1:(c+1)%e);break;case"ArrowUp":i.preventDefault(),a(c=>e===0?-1:(c-1+e)%e);break;case"Home":i.preventDefault(),a(e===0?-1:0);break;case"End":i.preventDefault(),a(e===0?-1:e-1);break;case"Enter":o>=0&&(i.preventDefault(),r(o));break}},[t,e,o,r]);return{activeIndex:o,setActiveIndex:a,handleKeyDown:l}}function vt({options:e,values:t,defaultValues:r,onChange:n,loading:o,emptyText:a="No options",id:l,name:i,disabled:c,readOnly:u,required:f,className:p,label:m,placeholder:h="Select...",helpText:b,error:N}){const[k,w]=V({value:t,defaultValue:r??[],onChange:n}),[S,g]=d.useState(!1),x=d.useRef(null),j=d.useId(),C=l??j,y=new Set(k),R=d.useCallback(()=>g(!1),[]),_=d.useCallback(A=>{const I=e[A];if(!I||I.disabled)return;const M=y.has(I.value)?k.filter(D=>D!==I.value):[...k,I.value];w(M)},[e,k,y,w]),{activeIndex:E,setActiveIndex:P,handleKeyDown:B}=ye({itemCount:e.length,isOpen:S,onSelect:_,onClose:R}),L=e.filter(A=>y.has(A.value)).map(A=>A.label).join(", ");return s.jsx(W,{id:C,label:m,required:f,error:N,helpText:b,className:p,children:s.jsxs("div",{className:"position-relative",children:[s.jsx("button",{ref:x,id:C,type:"button",name:i,className:v("form-select text-start","rrc-select","rrc-select__trigger",N&&"is-invalid"),disabled:c||u,"aria-haspopup":"listbox","aria-expanded":S,onClick:()=>g(A=>!A),onKeyDown:B,children:L||s.jsx("span",{className:"text-body-secondary",children:h})}),s.jsx(X,{open:S,onClose:R,anchorRef:x,className:"dropdown-menu w-100 rrc-menu rrc-select__menu",role:"listbox",children:o?s.jsx("div",{className:"px-3 py-2 text-body-secondary",children:"Loading…"}):e.length===0?s.jsx("div",{className:"px-3 py-2 text-body-secondary",children:a}):e.map((A,I)=>s.jsxs("div",{role:"option","aria-selected":y.has(A.value),className:v("dropdown-item d-flex align-items-center gap-2",I===E&&"active",A.disabled&&"disabled"),onMouseEnter:()=>P(I),onMouseDown:M=>{M.preventDefault(),A.disabled||_(I)},children:[s.jsx("input",{type:"checkbox",className:"form-check-input m-0",checked:y.has(A.value),readOnly:!0,tabIndex:-1}),A.label]},String(A.value)))})]})})}function J(e){if(!e)return"";const t=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),n=String(e.getDate()).padStart(2,"0");return`${t}-${r}-${n}`}function Me(e){if(!e)return null;const t=e.split("-").map(Number),[r,n,o]=t;return!r||!n||!o?null:new Date(r,n-1,o)}function xt({value:e,defaultValue:t,onChange:r,min:n,max:o,...a}){const[l,i]=V({value:e,defaultValue:t??null,onChange:r});return s.jsx(re,{...a,value:J(l),onChange:c=>i(Me(c)),inputProps:{type:"date",min:n?J(n):void 0,max:o?J(o):void 0}})}function De(e){if(!e)return"";const t=String(e.getHours()).padStart(2,"0"),r=String(e.getMinutes()).padStart(2,"0");return`${t}:${r}`}function Ae(e){if(!e)return null;const[t,r]=e.split(":").map(Number);return t===void 0||r===void 0||Number.isNaN(t)||Number.isNaN(r)?null:new Date(1970,0,1,t,r,0,0)}function Er({value:e,defaultValue:t,onChange:r,step:n,...o}){const[a,l]=V({value:e,defaultValue:t??null,onChange:r});return s.jsx(re,{...o,value:De(a),onChange:i=>l(Ae(i)),inputProps:{type:"time",step:n}})}function nt(e,t){const r=Me(e);if(!r)return null;const n=Ae(t||"00:00");return n&&r.setHours(n.getHours(),n.getMinutes(),0,0),r}function Rr({value:e,defaultValue:t,onChange:r,min:n,max:o,id:a,name:l,disabled:i,readOnly:c,required:u,className:f,label:p,helpText:m,error:h}){const[b,N]=V({value:e,defaultValue:t??null,onChange:r}),k=d.useId(),w=a??k,S=J(b),g=De(b);return s.jsx(W,{id:w,label:p,required:u,error:h,helpText:m,className:f,children:s.jsxs("div",{className:"d-flex gap-2",children:[s.jsx("input",{id:w,name:l?`${l}-date`:void 0,type:"date",className:v("form-control","rrc-input",h&&"is-invalid"),disabled:i,readOnly:c,required:u,min:n?J(n):void 0,max:o?J(o):void 0,value:S,onChange:x=>N(nt(x.target.value,g))}),s.jsx("input",{name:l?`${l}-time`:void 0,type:"time",className:v("form-control","rrc-input",h&&"is-invalid"),disabled:i,readOnly:c,required:u,value:g,onChange:x=>N(nt(S||J(new Date),x.target.value))})]})})}function gt({options:e,value:t,defaultValue:r,onChange:n,loading:o,emptyText:a="No options",id:l,name:i,disabled:c,readOnly:u,required:f,className:p,label:m,placeholder:h="Select...",helpText:b,error:N}){const[k,w]=V({value:t,defaultValue:r??null,onChange:n}),[S,g]=d.useState(!1),x=d.useRef(null),j=d.useId(),C=l??j,y=e.find(O=>O.value===k)??null,R=d.useCallback(()=>g(!1),[]),_=d.useCallback(O=>{const L=e[O];!L||L.disabled||(w(L.value),R())},[e,w,R]),{activeIndex:E,setActiveIndex:P,handleKeyDown:B}=ye({itemCount:e.length,isOpen:S,onSelect:_,onClose:R});return s.jsx(W,{id:C,label:m,required:f,error:N,helpText:b,className:p,children:s.jsxs("div",{className:"position-relative",children:[s.jsx("button",{ref:x,id:C,type:"button",name:i,className:v("form-select text-start","rrc-select","rrc-select__trigger",N&&"is-invalid"),disabled:c||u,"aria-haspopup":"listbox","aria-expanded":S,onClick:()=>g(O=>!O),onKeyDown:B,children:y?y.label:s.jsx("span",{className:"text-body-secondary",children:h})}),s.jsx(X,{open:S,onClose:R,anchorRef:x,className:"dropdown-menu w-100 rrc-menu rrc-select__menu",role:"listbox",children:o?s.jsx("div",{className:"px-3 py-2 text-body-secondary",children:"Loading…"}):e.length===0?s.jsx("div",{className:"px-3 py-2 text-body-secondary",children:a}):e.map((O,L)=>s.jsx("div",{role:"option","aria-selected":O.value===k,className:v("dropdown-item","rrc-menu__item",L===E&&"active",O.disabled&&"disabled"),onMouseEnter:()=>P(L),onMouseDown:A=>{A.preventDefault(),O.disabled||_(L)},children:O.label},String(O.value)))})]})})}function Ir(e,t){return t?e.label.toLowerCase().includes(t.toLowerCase()):!0}function yt({options:e,value:t,defaultValue:r,onChange:n,inputValue:o,onInputValueChange:a,loading:l,emptyText:i="No results",filter:c,id:u,name:f,disabled:p,readOnly:m,required:h,className:b,label:N,placeholder:k,helpText:w,error:S}){const[g,x]=V({value:t,defaultValue:r??null,onChange:n}),j=e.find(K=>K.value===g)??null,[C,y]=V({value:o,defaultValue:(j==null?void 0:j.label)??"",onChange:a}),[R,_]=d.useState(!1),E=d.useRef(null),P=d.useId(),B=u??P,O=c??Ir,L=e.filter(K=>O(K,C)),A=d.useCallback(()=>_(!1),[]),I=d.useCallback(K=>{const H=L[K];!H||H.disabled||(x(H.value),y(H.label),A())},[L,x,y,A]),{activeIndex:M,setActiveIndex:D,handleKeyDown:G}=ye({itemCount:L.length,isOpen:R,onSelect:I,onClose:A});return s.jsx(W,{id:B,label:N,required:h,error:S,helpText:w,className:b,children:s.jsxs("div",{className:"position-relative",children:[s.jsx("input",{ref:E,id:B,name:f,type:"text",className:v("form-control","rrc-input",S&&"is-invalid"),disabled:p,readOnly:m,required:h,placeholder:k,autoComplete:"off",role:"combobox","aria-expanded":R,"aria-haspopup":"listbox",value:C,onFocus:()=>_(!0),onChange:K=>{const H=K.target.value;y(H),_(!0),g!==null&&x(null)},onKeyDown:G}),s.jsx(X,{open:R,onClose:A,anchorRef:E,className:"dropdown-menu w-100 rrc-menu rrc-select__menu",role:"listbox",children:l?s.jsx("div",{className:"px-3 py-2 text-body-secondary",children:"Loading…"}):L.length===0?s.jsx("div",{className:"px-3 py-2 text-body-secondary",children:i}):L.map((K,H)=>s.jsx("div",{role:"option","aria-selected":K.value===g,className:v("dropdown-item","rrc-menu__item",H===M&&"active",K.disabled&&"disabled"),onMouseEnter:()=>D(H),onMouseDown:T=>{T.preventDefault(),K.disabled||I(H)},children:K.label},String(K.value)))})]})})}function Mr(e){return s.jsx(W,{...e})}function jt({open:e,onClose:t,title:r,children:n,footer:o,className:a}){return ge(e,t),e?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"modal d-block rrc-modal",tabIndex:-1,role:"dialog","aria-modal":"true",children:s.jsx("div",{className:v("modal-dialog","rrc-modal__dialog",a),role:"document",children:s.jsxs("div",{className:"modal-content rrc-modal__content",children:[s.jsxs("div",{className:"modal-header rrc-modal__header",children:[r&&s.jsx("h5",{className:"modal-title",children:r}),s.jsx("button",{type:"button",className:"btn-close","aria-label":"Close",onClick:t})]}),s.jsx("div",{className:"modal-body rrc-modal__body",children:n}),o&&s.jsx("div",{className:"modal-footer rrc-modal__footer",children:o})]})})}),s.jsx("div",{className:"modal-backdrop show rrc-modal__backdrop",onClick:t})]}):null}function Dr(e,t,r){const n=[],o=Math.max(1,e-r),a=Math.min(t,e+r);o>1&&(n.push(1),o>2&&n.push("ellipsis"));for(let l=o;l<=a;l++)n.push(l);return a<t&&(a<t-1&&n.push("ellipsis"),n.push(t)),n}function Nt({currentPage:e,pageSize:t,totalItems:r,onPageChange:n,siblingCount:o=1,className:a}){const l=Math.max(1,Math.ceil(r/t)),i=Dr(e,l,o);return s.jsx("nav",{"aria-label":"Pagination",className:a,children:s.jsxs("ul",{className:"pagination mb-0 rrc-pagination",children:[s.jsx("li",{className:v("page-item",e<=1&&"disabled"),children:s.jsx("button",{type:"button",className:"page-link",disabled:e<=1,onClick:()=>n(e-1),children:"Previous"})}),i.map((c,u)=>c==="ellipsis"?s.jsx("li",{className:"page-item disabled",children:s.jsx("span",{className:"page-link",children:"…"})},`ellipsis-${u}`):s.jsx("li",{className:v("page-item",c===e&&"active"),children:s.jsx("button",{type:"button",className:"page-link","aria-current":c===e?"page":void 0,onClick:()=>n(c),children:c})},c)),s.jsx("li",{className:v("page-item",e>=l&&"disabled"),children:s.jsx("button",{type:"button",className:"page-link",disabled:e>=l,onClick:()=>n(e+1),children:"Next"})})]})})}const kt=typeof window>"u"?d.useEffect:d.useLayoutEffect;function Ar(e,t,r){const n=d.useRef(r);kt(()=>{n.current=r}),d.useEffect(()=>{if(!t)return;const o=e.current;if(!o)return;const a=()=>n.current();if(typeof ResizeObserver<"u"){const l=new ResizeObserver(a);return l.observe(o),()=>l.disconnect()}if(!(typeof window>"u"))return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[e,t])}const Tr=["Responsive","Hide"];function Pr(e){return typeof e=="string"&&Tr.includes(e)}function Lr(e,t){var n,o;const r=e.filter(a=>a.isData&&!a.isUtility);if(t!==void 0){const a=r.find(l=>l.key===t);if(a)return a.key}return((n=r.find(a=>a.isTextual))==null?void 0:n.key)??((o=r[0])==null?void 0:o.key)}function Or(e,t){const r=[],n=new Map(e.map(i=>[i.key,i])),o=Lr(e,t==null?void 0:t.primaryColumn);(t==null?void 0:t.primaryColumn)!==void 0&&t.primaryColumn!==o&&r.push({kind:"invalid-primary-column",detail:`"${t.primaryColumn}" is not an eligible data column; ${o===void 0?"no primary column could be resolved":`"${o}" was resolved instead`}`});const a=[],l=new Set;for(const i of(t==null?void 0:t.columns)??[]){const c=n.get(i.field);if(!c){r.push({kind:"unknown-column",detail:i.field});continue}if(l.has(i.field)){r.push({kind:"duplicate-rule",detail:i.field});continue}if(!Pr(i.behavior)){r.push({kind:"invalid-behavior",detail:`${i.field} -> ${String(i.behavior)}`});continue}if(i.field===o){r.push({kind:"primary-column-rule",detail:i.field}),l.add(i.field);continue}if(c.isUtility&&i.behavior==="Responsive"){r.push({kind:"utility-column-responsive",detail:i.field}),l.add(i.field);continue}l.add(i.field),a.push({key:i.field,behavior:i.behavior})}for(const i of e)l.has(i.key)||i.key!==o&&(!i.isData||i.isUtility||a.push({key:i.key,behavior:"Responsive"}));return{primaryKey:o,rules:a,problems:r}}function Vr(e){const t=e.rules.map(n=>`${n.key}:${n.behavior}`).join(","),r=e.problems.map(n=>`${n.kind}:${n.detail}`).join(",");return`${e.primaryKey??""}|${t}|${r}`}const $r=1,Br=16;function Kr({enabled:e,containerRef:t,ruleCount:r,signature:n}){const[o,a]=d.useState(0),l=d.useRef(0),i=d.useRef(null),c=d.useRef(-1),u=d.useRef(0);d.useEffect(()=>{l.current=0,i.current=null,c.current=-1,u.current=0,a(0)},[n,e]);const f=d.useCallback(()=>{if(!e)return;const p=t.current;if(!p)return;const m=p.clientWidth;if(m<=0||(m!==c.current&&(c.current=m,u.current=0),u.current>r+2))return;const h=p.scrollWidth-m>$r,b=l.current;let N=b;if(h)b<r&&(N=b+1,i.current=m);else if(b>0){const k=i.current;(k===null||m>k+Br)&&(N=b-1)}N!==b&&(u.current+=1,l.current=N,a(N))},[e,t,r]);return kt(f),Ar(t,e,f),e?o:0}const Fr={"unknown-column":"names a column that does not exist and was ignored","duplicate-rule":"is listed more than once; only the first rule was kept","primary-column-rule":"targets the primary column, which never leaves the row, and was ignored","invalid-behavior":'has an unsupported behavior; use "Responsive" or "Hide"',"utility-column-responsive":'is an action/command column and has no meaningful label/value form, so its "Responsive" rule was ignored — use "Hide" to drop it instead',"invalid-primary-column":"is not usable as the primary column"};function Hr(e,t){const{problems:r}=e;d.useEffect(()=>{if(process.env.NODE_ENV!=="production"&&r.length!==0)for(const n of r)console.error(`[react-components] DataGrid responsive configuration: "${n.detail}" ${Fr[n.kind]}.`)},[t])}const wt={text:e=>e==null?"":String(e),boolean:e=>e?"Yes":"No",date:e=>{if(e==null||e==="")return"";const t=e instanceof Date?e:new Date(String(e));return Number.isNaN(t.getTime())?String(e):t.toLocaleDateString()},currency:e=>{const t=Number(e);return Number.isFinite(t)?t.toLocaleString(void 0,{style:"currency",currency:"USD"}):String(e??"")}},Ur={primaryKey:void 0,rules:[],problems:[]},Wr=[];function Gr(e){const t=e.field??e.key,r=e.render!==void 0&&e.field===void 0,n=!r&&t!==void 0;return{key:ee(e),isData:n,isUtility:r,isTextual:n&&(e.format===void 0||e.format==="text")}}function qr(e,t){return!e||e.key!==t?{key:t,direction:"asc"}:e.direction==="asc"?{key:t,direction:"desc"}:null}function ee(e){return e.key??e.field??e.header}function zr(e,t){const r=e.field??e.key;return r?t[r]:void 0}function st(e,t){if(e.render)return e.render(t);const r=zr(e,t);return e.formatter?e.formatter(r,t):e.format?wt[e.format](r):r==null?"":String(r)}function ot(e){return e&&`text-${e}`}function St({columns:e,rows:t,rowKey:r,loading:n,error:o,emptyText:a="No data",className:l,selectedRowKeys:i,onSelectionChange:c,sort:u,onSortChange:f,page:p,pageSize:m,totalCount:h,onPageChange:b,responsive:N}){const k=!!c,w=new Set(i??[]),S=p!==void 0&&m!==void 0&&h!==void 0,g=S?Math.max(1,Math.ceil(h/m)):1,x=d.useRef(null),j=N!==void 0,C=d.useMemo(()=>e.map(Gr),[e]),y=d.useMemo(()=>N===void 0?Ur:Or(C,N),[C,N]),R=Vr(y);Hr(y,R);const _=Kr({enabled:j,containerRef:x,ruleCount:y.rules.length,signature:R}),E=y.rules.slice(0,_);let P=e,B=Wr;if(E.length>0){const I=new Set(E.map(D=>D.key));P=e.filter(D=>!I.has(ee(D)));const M=new Map(e.map(D=>[ee(D),D]));B=E.filter(D=>D.behavior==="Responsive").map(D=>M.get(D.key)).filter(D=>D!==void 0)}const O=Math.max(1,P.length+(k?1:0));function L(){c&&(w.size===t.length?c([]):c(t.map(r)))}function A(I){if(!c)return;const M=new Set(w);M.has(I)?M.delete(I):M.add(I),c(Array.from(M))}return s.jsxs("div",{ref:x,className:v("table-responsive","rrc-data-grid",j&&"rrc-data-grid--responsive",l),children:[s.jsxs("table",{className:"table table-hover align-middle rrc-data-grid__table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[k&&s.jsx("th",{style:{width:"2.5rem"},children:s.jsx("input",{type:"checkbox",className:"form-check-input",checked:t.length>0&&w.size===t.length,onChange:L,"aria-label":"Select all rows"})}),P.map(I=>{const M=ee(I);return s.jsxs("th",{className:ot(I.headerAlign??I.align),style:{width:I.width,minWidth:I.minWidth,maxWidth:I.maxWidth},role:I.sortable?"button":void 0,onClick:I.sortable&&f?()=>f(qr(u,M)):void 0,children:[I.header,I.sortable&&(u==null?void 0:u.key)===M&&s.jsxs("span",{"aria-hidden":"true",children:[" ",u.direction==="asc"?"▲":"▼"]})]},M)})]})}),s.jsx("tbody",{children:n?s.jsx("tr",{children:s.jsx("td",{colSpan:O,className:"text-center text-body-secondary py-4",children:"Loading…"})}):o?s.jsx("tr",{children:s.jsx("td",{colSpan:O,className:"text-center text-danger py-4",children:o})}):t.length===0?s.jsx("tr",{children:s.jsx("td",{colSpan:O,className:"text-center text-body-secondary py-4",children:a})}):t.map(I=>{const M=r(I);return s.jsxs(d.Fragment,{children:[s.jsxs("tr",{children:[k&&s.jsx("td",{children:s.jsx("input",{type:"checkbox",className:"form-check-input",checked:w.has(M),onChange:()=>A(M),"aria-label":"Select row"})}),P.map(D=>s.jsx("td",{className:ot(D.align),children:st(D,I)},ee(D)))]}),B.length>0&&s.jsx("tr",{className:"rrc-data-grid__detail-row",children:s.jsx("td",{colSpan:O,className:"rrc-data-grid__detail-cell",children:s.jsx("dl",{className:"rrc-data-grid__details",children:B.map(D=>s.jsxs("div",{className:"rrc-data-grid__detail-item",children:[s.jsx("dt",{className:"rrc-data-grid__detail-term",children:D.header}),s.jsx("dd",{className:"rrc-data-grid__detail-value",children:st(D,I)})]},ee(D)))})})})]},M)})})]}),S&&s.jsxs("div",{className:"d-flex justify-content-between align-items-center mt-2 rrc-data-grid__footer",children:[s.jsxs("span",{className:"text-body-secondary small",children:["Page ",p," of ",g," (",h," rows)"]}),s.jsx(Nt,{currentPage:p,pageSize:m,totalItems:h,onPageChange:b})]})]})}function _t({size:e="md",variant:t,className:r,label:n="Loading..."}){return s.jsx("span",{className:v("spinner-border","rrc-spinner",e==="sm"&&"spinner-border-sm",t&&`text-${t}`,r),role:"status",children:s.jsx("span",{className:"visually-hidden",children:n})})}function ce({variant:e="primary",size:t,disabled:r,loading:n,type:o="button",className:a,children:l,onClick:i,...c}){const u=r||n;return s.jsxs("button",{type:o,className:v("btn",`btn-${e}`,t&&`btn-${t}`,"rrc-btn",`rrc-btn--${e}`,a),disabled:u,"aria-busy":n||void 0,onClick:u?void 0:i,...c,children:[n&&s.jsx(_t,{size:"sm",className:"me-2",label:""}),l]})}function Te({variant:e="info",dismissible:t,onDismiss:r,className:n,children:o}){return s.jsxs("div",{className:v("alert",`alert-${e}`,t&&"alert-dismissible","rrc-alert",`rrc-alert--${e}`,n),role:"alert",children:[o,t&&s.jsx("button",{type:"button",className:"btn-close","aria-label":"Close",onClick:r})]})}const Ct=d.createContext(null),Yr=4e3;function Jr({children:e}){const[t,r]=d.useState([]),n=d.useRef(0),o=d.useRef(new Map);d.useEffect(()=>{const c=o.current;return()=>{c.forEach(clearTimeout),c.clear()}},[]);const a=d.useCallback(c=>{const u=o.current.get(c);u&&(clearTimeout(u),o.current.delete(c)),r(f=>f.filter(p=>p.id!==c))},[]),l=d.useCallback((c,u)=>{const f=n.current++,p=(u==null?void 0:u.variant)??"info",m=(u==null?void 0:u.duration)??Yr;return r(h=>[...h,{id:f,message:c,variant:p}]),m>0&&o.current.set(f,setTimeout(()=>a(f),m)),f},[a]),i=d.useMemo(()=>({show:l,dismiss:a,success:(c,u)=>l(c,{...u,variant:"success"}),error:(c,u)=>l(c,{...u,variant:"danger"}),info:(c,u)=>l(c,{...u,variant:"info"}),warning:(c,u)=>l(c,{...u,variant:"warning"})}),[l,a]);return s.jsxs(Ct.Provider,{value:i,children:[e,s.jsx("div",{className:"toast-container position-fixed bottom-0 end-0 p-3 rrc-toast-container",style:{zIndex:1090},children:t.map(c=>s.jsx(Te,{variant:c.variant,dismissible:!0,onDismiss:()=>a(c.id),className:"shadow-sm",children:c.message},c.id))})]})}function Xr(){const e=d.useContext(Ct);if(!e)throw new Error("useToast must be used within a ToastProvider");return e}const Et=d.createContext(null);function Zr({children:e}){const[t,r]=d.useState(null),n=d.useCallback(a=>new Promise(l=>{r({...a,resolve:l})}),[]),o=d.useCallback(a=>{t==null||t.resolve(a),r(null)},[t]);return s.jsxs(Et.Provider,{value:n,children:[e,s.jsx(jt,{open:t!==null,onClose:()=>o(!1),title:(t==null?void 0:t.title)??"Confirm",footer:s.jsxs(s.Fragment,{children:[s.jsx(ce,{variant:"outline-secondary",onClick:()=>o(!1),children:(t==null?void 0:t.cancelLabel)??"Cancel"}),s.jsx(ce,{variant:(t==null?void 0:t.confirmVariant)??"danger",onClick:()=>o(!0),children:(t==null?void 0:t.confirmLabel)??"Confirm"})]}),children:t==null?void 0:t.message})]})}function Qr(){const e=d.useContext(Et);if(!e)throw new Error("useConfirm must be used within a ConfirmProvider");return e}function Rt({variant:e="primary",appearance:t="solid",pill:r,className:n,children:o}){return s.jsx("span",{className:v("badge",t==="solid"&&`bg-${e}`,r&&"rounded-pill","rrc-badge",`rrc-badge--${e}`,`rrc-badge--${t}`,n),children:o})}const en={sm:"0.875em",lg:"1.5em",xl:"2em"};function je({name:e,size:t,className:r,label:n}){return s.jsx("i",{className:v(e,"rrc-icon",r),style:t?{fontSize:en[t]}:void 0,role:n?"img":void 0,"aria-label":n,"aria-hidden":n?void 0:!0})}function tn(e){switch(e){case"pill":return"nav-pills";case"underline":return"nav-underline";case"card":return"nav-tabs card-header-tabs";default:return"nav-tabs"}}const rn={sm:"small",lg:"fs-5"};function nn({items:e,activeKey:t,defaultActiveKey:r,onChange:n,variant:o="default",orientation:a="horizontal",size:l,stretch:i,className:c}){var x;const[u,f]=V({value:t,defaultValue:r??((x=e[0])==null?void 0:x.key)??"",onChange:n}),p=e.find(j=>j.key===u),m=o==="button",h=a==="vertical",b=d.useRef([]);function N(j,C){var R;const y=e[j];y&&(f(y.key),C&&((R=b.current[j])==null||R.focus()))}function k(j,C){var R;if(e.length===0)return j;let y=j;for(let _=0;_<e.length;_++)if(y=(y+C+e.length)%e.length,!((R=e[y])!=null&&R.disabled))return y;return j}function w(j){var _;const C=e.findIndex(E=>E.key===u),y=h?"ArrowDown":"ArrowRight",R=h?"ArrowUp":"ArrowLeft";if(j.key===y)j.preventDefault(),N(k(C,1),!0);else if(j.key===R)j.preventDefault(),N(k(C,-1),!0);else if(j.key==="Home"){j.preventDefault();const E=e.findIndex(P=>!P.disabled);E>=0&&N(E,!0)}else if(j.key==="End"){j.preventDefault();for(let E=e.length-1;E>=0;E--)if(!((_=e[E])!=null&&_.disabled)){N(E,!0);break}}}const S=s.jsx("div",{className:v(m?"btn-group":"nav","rrc-tabs__list",`rrc-tabs__list--${o}`,!m&&tn(o),!m&&h&&"flex-column",!m&&i&&"nav-fill",!m&&l&&rn[l]),role:"tablist","aria-orientation":a,onKeyDown:w,children:e.map((j,C)=>{const y=j.key===u,R=s.jsxs(s.Fragment,{children:[j.icon&&s.jsx(je,{name:j.icon,size:"sm",className:"me-1"}),j.label,j.badge!=null&&s.jsx(Rt,{variant:y&&!m?"primary":"secondary",appearance:"light",pill:!0,className:"ms-2",children:j.badge})]}),_=s.jsx("button",{ref:E=>{b.current[C]=E},type:"button",id:`tab-${j.key}`,className:v(m?v("btn",l?`btn-${l}`:"btn-sm",y?"btn-primary":"btn-outline-primary"):v("nav-link","rrc-tabs__link",y&&"active")),role:"tab","aria-selected":y,"aria-controls":`tabpanel-${j.key}`,tabIndex:y?0:-1,disabled:j.disabled,onClick:()=>N(C,!1),children:R},j.key);return m?_:s.jsx("div",{className:"nav-item",role:"presentation",children:_},j.key)})}),g=(p==null?void 0:p.content)!=null&&s.jsx("div",{id:`tabpanel-${p.key}`,className:v("tab-content","rrc-tabs__panel",!h&&"pt-3"),role:"tabpanel","aria-labelledby":`tab-${p.key}`,children:p.content});return h?s.jsxs("div",{className:v("d-flex align-items-start gap-3","rrc-tabs","rrc-tabs--vertical",c),children:[S,g&&s.jsx("div",{className:"flex-grow-1",children:g})]}):s.jsxs("div",{className:v("rrc-tabs",c),children:[S,g]})}function sn({items:e,multiple:t=!1,openKeys:r,defaultOpenKeys:n,onChange:o,className:a}){const[l,i]=V({value:r,defaultValue:n??[],onChange:o}),c=new Set(l);function u(f){c.has(f)?i(l.filter(p=>p!==f)):i(t?[...l,f]:[f])}return s.jsx("div",{className:v("accordion","rrc-accordion",a),children:e.map(f=>{const p=c.has(f.key);return s.jsxs("div",{className:"accordion-item rrc-accordion__item",children:[s.jsx("h2",{className:"accordion-header",children:s.jsx("button",{type:"button",className:v("accordion-button","rrc-accordion__button",!p&&"collapsed"),"aria-expanded":p,disabled:f.disabled,onClick:()=>u(f.key),children:f.header})}),p&&s.jsx("div",{className:"accordion-collapse",children:s.jsx("div",{className:"accordion-body rrc-accordion__body",children:f.content})})]},f.key)})})}function Pe({content:e,children:t,placement:r="top",className:n,wrapperClassName:o}){const[a,l]=d.useState(!1),i=d.useRef(null),c=d.useId();return s.jsxs("span",{ref:i,className:v("position-relative",o??"d-inline-block"),onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),onFocus:()=>l(!0),onBlur:()=>l(!1),"aria-describedby":a?c:void 0,children:[t,s.jsx(X,{open:a,onClose:()=>l(!1),anchorRef:i,className:v("tooltip show",`bs-tooltip-${r}`,"position-absolute","w-auto","rrc-tooltip",n),children:s.jsx("span",{id:c,role:"tooltip",className:"tooltip-inner",children:e})})]})}function on({title:e,content:t,children:r,placement:n="bottom",className:o}){const[a,l]=d.useState(!1),i=d.useRef(null);return s.jsxs("span",{ref:i,className:"position-relative d-inline-block",onClick:()=>l(c=>!c),children:[r,s.jsxs(X,{open:a,onClose:()=>l(!1),anchorRef:i,className:v("popover show",`bs-popover-${n}`,"position-absolute","w-auto","rrc-popover",o),children:[e&&s.jsx("h3",{className:"popover-header rrc-popover__header",children:e}),s.jsx("div",{className:"popover-body rrc-popover__body",children:t})]})]})}function le({width:e="100%",height:t="1rem",circle:r,className:n}){return s.jsx("span",{className:v("placeholder-glow d-inline-block","rrc-skeleton",n),style:{width:e,height:t},"aria-hidden":"true",children:s.jsx("span",{className:v("placeholder w-100 h-100 d-block",r&&"rounded-circle")})})}function Le({direction:e="column",gap:t=2,align:r,justify:n,wrap:o,className:a,children:l}){return s.jsx("div",{className:v("d-flex","rrc-stack",e==="row"?"flex-row":"flex-column",`gap-${t}`,r&&`align-items-${r}`,n&&`justify-content-${n}`,o&&"flex-wrap",a),children:l})}const an={xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.25rem",xl:"1.5rem"},ln={normal:"fw-normal",medium:"fw-medium",semibold:"fw-semibold",bold:"fw-bold"},cn={default:void 0,muted:"text-body-secondary",primary:"text-primary",success:"text-success",danger:"text-danger",warning:"text-warning",info:"text-info"};function Y({as:e,size:t="md",weight:r,tone:n="default",align:o,truncate:a,wrap:l=!0,className:i,children:c}){const u=e??"span";return s.jsx(u,{className:v("rrc-text",r&&ln[r],cn[n],o&&`text-${o}`,a&&"text-truncate",!l&&!a&&"text-nowrap",i),style:{fontSize:an[t]},children:c})}function dn({title:e,subtitle:t,icon:r,avatar:n,actions:o}){return s.jsxs("div",{className:"d-flex align-items-center justify-content-between gap-3 rrc-card__header-row",children:[s.jsxs("div",{className:"d-flex align-items-center gap-3",style:{minWidth:0},children:[n||r&&s.jsx("span",{className:"fs-2 lh-1",children:r}),(e||t)&&s.jsxs("div",{style:{minWidth:0},children:[e&&s.jsx(Y,{as:"div",size:"lg",weight:"semibold",truncate:!0,children:e}),t&&s.jsx(Y,{as:"div",size:"sm",tone:"muted",truncate:!0,children:t})]})]}),o&&s.jsx("div",{className:"d-flex align-items-center gap-2 flex-shrink-0",children:o})]})}function un({title:e,subtitle:t,icon:r,avatar:n,actions:o,header:a,footer:l,loading:i,className:c,children:u}){const p=a??(!!(e||t||r||n||o)?s.jsx(dn,{title:e,subtitle:t,icon:r,avatar:n,actions:o}):void 0);return s.jsxs("div",{className:v("card","rrc-card",c),children:[p&&s.jsx("div",{className:"card-header rrc-card__header",children:p}),s.jsx("div",{className:"card-body rrc-card__body",children:i?s.jsxs(Le,{gap:2,children:[s.jsx(le,{height:"1rem",width:"60%"}),s.jsx(le,{height:"1rem"}),s.jsx(le,{height:"1rem",width:"80%"})]}):u}),l&&s.jsx("div",{className:"card-footer rrc-card__footer",children:l})]})}function It({className:e,vertical:t,label:r}){return t?s.jsx("div",{className:v("vr","rrc-divider",e),role:"separator","aria-orientation":"vertical"}):r?s.jsxs("div",{className:v("d-flex align-items-center gap-2 my-3","rrc-divider","rrc-divider--labelled",e),role:"separator",children:[s.jsx("hr",{className:"flex-grow-1 m-0"}),s.jsx("span",{className:"text-body-secondary small",children:r}),s.jsx("hr",{className:"flex-grow-1 m-0"})]}):s.jsx("hr",{className:v("my-3","rrc-divider",e),role:"separator"})}function fn({fluid:e,className:t,children:r}){return s.jsx("div",{className:v(e?"container-fluid":"container","rrc-container",t),children:r})}function mn({className:e,children:t}){return s.jsx("div",{className:v("row","rrc-row",e),children:t})}function pn({span:e,sm:t,md:r,lg:n,xl:o,className:a,children:l}){return s.jsx("div",{className:v(e?`col-${e}`:"col","rrc-col",t?`col-sm-${t}`:void 0,r?`col-md-${r}`:void 0,n?`col-lg-${n}`:void 0,o?`col-xl-${o}`:void 0,a),children:l})}function Mt({items:e,className:t}){return s.jsx("nav",{"aria-label":"breadcrumb",className:v("rrc-breadcrumb",t),children:s.jsx("ol",{className:"breadcrumb mb-0 rrc-breadcrumb__list",children:e.map((r,n)=>{const o=n===e.length-1,a=!o&&(r.href||r.onClick);return s.jsx("li",{className:v("breadcrumb-item",o&&"active"),"aria-current":o?"page":void 0,children:a?s.jsx("a",{href:r.href??"#",onClick:l=>{var i;r.href||l.preventDefault(),(i=r.onClick)==null||i.call(r)},children:r.label}):r.label},n)})})})}function hn({items:e,children:t,placement:r="start",className:n}){const[o,a]=d.useState(!1),l=d.useRef(null),i=d.useCallback(()=>a(!1),[]),c=d.useCallback(m=>{var b;const h=e[m];!h||h.disabled||((b=h.onSelect)==null||b.call(h),i())},[e,i]),{activeIndex:u,setActiveIndex:f,handleKeyDown:p}=ye({itemCount:e.length,isOpen:o,onSelect:c,onClose:i});return s.jsxs("span",{ref:l,className:"position-relative d-inline-block",onClick:()=>a(m=>!m),onKeyDown:p,children:[t,s.jsx(X,{open:o,onClose:i,anchorRef:l,role:"menu",className:v("dropdown-menu show",r==="end"&&"dropdown-menu-end","rrc-menu",n),children:e.map((m,h)=>s.jsx("button",{type:"button",role:"menuitem",className:v("dropdown-item","rrc-menu__item",h===u&&"active",m.disabled&&"disabled",m.danger&&"text-danger"),disabled:m.disabled,onMouseEnter:()=>f(h),onMouseDown:b=>b.preventDefault(),onClick:b=>{b.stopPropagation(),c(h)},children:m.label},m.key))})]})}function bn({steps:e,currentStep:t,className:r}){return s.jsx("ol",{className:v("d-flex list-unstyled align-items-center","rrc-stepper",r),children:e.map((n,o)=>{const a=o<t?"complete":o===t?"active":"upcoming",l=o===e.length-1;return s.jsxs("li",{className:v("d-flex align-items-center",!l&&"flex-grow-1"),children:[s.jsxs("div",{className:"d-flex align-items-center gap-2",children:[s.jsx("span",{className:v("d-flex align-items-center justify-content-center rounded-circle flex-shrink-0",a==="complete"?"bg-primary text-white":a==="active"?"border border-primary text-primary":"border text-body-secondary"),style:{width:"2rem",height:"2rem"},"aria-current":a==="active"?"step":void 0,children:a==="complete"?"✓":o+1}),s.jsxs("div",{children:[s.jsx("div",{className:v("small fw-semibold",a==="upcoming"&&"text-body-secondary"),children:n.label}),n.description&&s.jsx("div",{className:"small text-body-secondary",children:n.description})]})]}),!l&&s.jsx("hr",{className:"flex-grow-1 mx-2"})]},n.key)})})}function vn(e){var o,a;const t=e.trim().split(/\s+/),r=((o=t[0])==null?void 0:o[0])??"",n=t.length>1?((a=t[t.length-1])==null?void 0:a[0])??"":"";return(r+n).toUpperCase()}const xn={sm:"1.75rem",md:"2.5rem",lg:"3.5rem"};function gn({src:e,name:t,size:r="md",className:n}){const o=xn[r];return e?s.jsx("img",{src:e,alt:t??"",className:v("rounded-circle","rrc-avatar",n),style:{width:o,height:o,objectFit:"cover"}}):s.jsx("span",{className:v("d-inline-flex align-items-center justify-content-center rounded-circle bg-secondary text-white","rrc-avatar","rrc-avatar--initials",n),style:{width:o,height:o,fontSize:`calc(${o} * 0.4)`},role:t?"img":void 0,"aria-label":t,children:t?vn(t):null})}function yn({variant:e="secondary",appearance:t="solid",onRemove:r,className:n,children:o}){return s.jsxs("span",{className:v("badge d-inline-flex align-items-center gap-1",t==="solid"&&`bg-${e}`,"rrc-tag",`rrc-tag--${e}`,`rrc-tag--${t}`,n),children:[o,r&&s.jsx("button",{type:"button",className:"btn-close btn-close-white",style:{fontSize:"0.55rem"},"aria-label":"Remove",onClick:r})]})}function jn({value:e,defaultValue:t,onChange:r,min:n=0,max:o=100,step:a=1,id:l,name:i,disabled:c,required:u,className:f,label:p,helpText:m,error:h}){const[b,N]=V({value:e,defaultValue:t??n,onChange:r}),k=d.useId(),w=l??k;return s.jsxs(W,{id:w,label:p,required:u,error:h,helpText:m,className:f,children:[s.jsx("input",{id:w,name:i,type:"range",className:"form-range rrc-range",disabled:c,required:u,min:n,max:o,step:a,value:b,onChange:S=>N(Number(S.target.value))}),s.jsx("div",{className:"small text-body-secondary",children:b})]})}function Nn({value:e,defaultValue:t,onChange:r,max:n=5,disabled:o,className:a}){const[l,i]=V({value:e,defaultValue:t??0,onChange:r});return s.jsx("div",{className:v("d-inline-flex gap-1","rrc-rating",a),role:"radiogroup","aria-label":"Rating",children:Array.from({length:n},(c,u)=>u+1).map(c=>s.jsx("button",{type:"button",className:"btn btn-link p-0 border-0 rrc-rating__star",disabled:o,role:"radio","aria-checked":c===l,"aria-label":`${c} star${c>1?"s":""}`,onClick:()=>i(c),children:s.jsx("span",{"aria-hidden":"true",style:{fontSize:"1.25rem",color:c<=l?"#f5b301":"#ced4da"},children:"★"})},c))})}function kn({value:e,variant:t="primary",label:r,className:n}){const o=Math.max(0,Math.min(100,e));return s.jsx("div",{className:v("progress","rrc-progress",n),role:"progressbar","aria-valuenow":o,"aria-valuemin":0,"aria-valuemax":100,children:s.jsx("div",{className:v("progress-bar","rrc-progress__bar",`bg-${t}`),style:{width:`${o}%`},children:r?`${Math.round(o)}%`:null})})}function wn({brand:e,start:t,end:r,variant:n="light",className:o}){return s.jsx("nav",{className:v("navbar navbar-expand-lg border-bottom","rrc-navbar",n==="dark"?"navbar-dark bg-dark":"navbar-light bg-light",o),children:s.jsxs("div",{className:"container-fluid",children:[e&&s.jsx("span",{className:"navbar-brand mb-0",children:e}),t&&s.jsx("div",{className:"d-flex align-items-center gap-3",children:t}),r&&s.jsx("div",{className:"d-flex align-items-center gap-3 ms-auto",children:r})]})})}const Oe=["primary","primaryActive","primaryLight","primaryInverse","primaryRgb","componentActiveColor","componentActiveBg","componentHoverColor","componentHoverBg","componentCheckedColor","componentCheckedBg","menuLinkColorHover","menuLinkColorShow","menuLinkColorHere","menuLinkColorActive"];function Dt(e){if(typeof e!="object"||e===null)return!1;const t=e;if(typeof t.id!="string"||t.id.length===0||typeof t.tokens!="object"||t.tokens===null)return!1;const r=t.tokens;return Oe.every(n=>typeof r[n]=="string"&&r[n].length>0)}function ie(e){const{id:t,primary:r,primaryActive:n,primaryLight:o,primaryInverse:a,primaryRgb:l,swatch:i}=e;return{id:t,...i!==void 0?{swatch:i}:{},tokens:{primary:r,primaryActive:n,primaryLight:o,primaryInverse:a,primaryRgb:l,componentActiveColor:a,componentActiveBg:r,componentHoverColor:n,componentHoverBg:o,componentCheckedColor:a,componentCheckedBg:r,menuLinkColorHover:n,menuLinkColorShow:n,menuLinkColorHere:n,menuLinkColorActive:r}}}const Sn=[ie({id:"blue",primary:"#0d6efd",primaryActive:"#0a58ca",primaryLight:"#cfe2ff",primaryInverse:"#ffffff",primaryRgb:"13, 110, 253"}),ie({id:"indigo",primary:"#6610f2",primaryActive:"#520dc2",primaryLight:"#e0cffc",primaryInverse:"#ffffff",primaryRgb:"102, 16, 242"}),ie({id:"teal",primary:"#13795b",primaryActive:"#0d503c",primaryLight:"#d2f4ea",primaryInverse:"#ffffff",primaryRgb:"19, 121, 91",swatch:"#20c997"}),ie({id:"green",primary:"#198754",primaryActive:"#146c43",primaryLight:"#d1e7dd",primaryInverse:"#ffffff",primaryRgb:"25, 135, 84"})],Ne="blue",de=new Map(Sn.map(e=>[e.id,e]));function _n(e){if(!Dt(e))throw new Error("[react-components] registerColorScheme() requires a complete token family: "+Oe.join(", ")+".");de.set(e.id,e)}function At(e){return de.get(e)}function Tt(){return[...de.values()]}function Pt(e){const t=e!==void 0?de.get(e):void 0;return t||de.get(Ne)}function Lt(e){const t=e.tokens;return{"--bs-primary":t.primary,"--bs-primary-rgb":t.primaryRgb,"--bs-primary-active":t.primaryActive,"--bs-primary-light":t.primaryLight,"--bs-primary-inverse":t.primaryInverse,"--bs-component-active-color":t.componentActiveColor,"--bs-component-active-bg":t.componentActiveBg,"--bs-component-hover-color":t.componentHoverColor,"--bs-component-hover-bg":t.componentHoverBg,"--bs-component-checked-color":t.componentCheckedColor,"--bs-component-checked-bg":t.componentCheckedBg,"--bs-menu-link-color-hover":t.menuLinkColorHover,"--bs-menu-link-color-show":t.menuLinkColorShow,"--bs-menu-link-color-here":t.menuLinkColorHere,"--bs-menu-link-color-active":t.menuLinkColorActive,"--rrc-primary":t.primary,"--rrc-primary-rgb":t.primaryRgb,"--rrc-primary-active":t.primaryActive,"--rrc-primary-inverse":t.primaryInverse,"--rrc-component-active-color":t.componentActiveColor,"--rrc-component-active-bg":t.componentActiveBg,"--rrc-component-hover-bg":t.componentHoverBg,"--rrc-component-checked-color":t.componentCheckedColor,"--rrc-component-checked-bg":t.componentCheckedBg}}const Ve=["light","dark","system"],$e=["compact","grouped"],Be=["light","dark","auto"],Ke=d.createContext(void 0);function Cn(e){return typeof e=="string"&&Ve.includes(e)}function En(e){return typeof e=="string"&&$e.includes(e)}function Rn(e){return typeof e=="string"&&Be.includes(e)}function In(e,t){let r;try{r=e.getItem(t)}catch{return{}}if(!r)return{};let n;try{n=JSON.parse(r)}catch{return{}}if(typeof n!="object"||n===null)return{};const o=n,a={};return Cn(o.mode)&&(a.mode=o.mode),En(o.sidebarPresentation)&&(a.sidebarPresentation=o.sidebarPresentation),Rn(o.sidebarTone)&&(a.sidebarTone=o.sidebarTone),typeof o.colorSchemeId=="string"&&At(o.colorSchemeId)&&(a.colorSchemeId=o.colorSchemeId),a}function Mn({children:e,mode:t,defaultMode:r,onModeChange:n,sidebarPresentation:o,defaultSidebarPresentation:a,onSidebarPresentationChange:l,sidebarTone:i,defaultSidebarTone:c,onSidebarToneChange:u,colorSchemeId:f,defaultColorSchemeId:p,onColorSchemeIdChange:m,storage:h,storageKey:b,applyTo:N="none",themeAttribute:k="data-bs-theme"}){const[w,S]=V({value:t,defaultValue:r??"system",onChange:n}),[g,x]=V({value:o,defaultValue:a??"grouped",onChange:l}),[j,C]=V({value:i,defaultValue:c??"auto",onChange:u}),[y,R]=V({value:f,defaultValue:p??Ne,onChange:m}),[_,E]=d.useState("light");d.useEffect(()=>{if(typeof window>"u"||typeof window.matchMedia!="function")return;const T=window.matchMedia("(prefers-color-scheme: dark)");E(T.matches?"dark":"light");const F=U=>E(U.matches?"dark":"light");if(typeof T.addEventListener=="function")return T.addEventListener("change",F),()=>T.removeEventListener("change",F);if(typeof T.addListener=="function")return T.addListener(F),()=>T.removeListener(F)},[]);const P=h!==void 0&&b!==void 0,[B,O]=d.useState(!1),L={mode:t!==void 0,sidebarPresentation:o!==void 0,sidebarTone:i!==void 0,colorSchemeId:f!==void 0},A=d.useRef(L);A.current=L;const I=d.useRef({setMode:S,setSidebarPresentation:x,setSidebarTone:C,setColorSchemeId:R});I.current={setMode:S,setSidebarPresentation:x,setSidebarTone:C,setColorSchemeId:R},d.useEffect(()=>{if(!P)return;const T=In(h,b),F=A.current,U=I.current;T.mode!==void 0&&!F.mode&&U.setMode(T.mode),T.sidebarPresentation!==void 0&&!F.sidebarPresentation&&U.setSidebarPresentation(T.sidebarPresentation),T.sidebarTone!==void 0&&!F.sidebarTone&&U.setSidebarTone(T.sidebarTone),T.colorSchemeId!==void 0&&!F.colorSchemeId&&U.setColorSchemeId(T.colorSchemeId),O(!0)},[P,h,b]),d.useEffect(()=>{if(!(!P||!B))try{h.setItem(b,JSON.stringify({mode:w,sidebarPresentation:g,sidebarTone:j,colorSchemeId:y}))}catch{}},[P,B,h,b,w,g,j,y]);const M=w==="system"?_:w,D=Pt(y),G=d.useMemo(()=>Lt(D),[D]);d.useEffect(()=>{if(N==="none"||typeof document>"u")return;const T=N==="body"?document.body:document.documentElement;if(!T)return;const F=T.getAttribute(k);T.setAttribute(k,M);for(const[U,Q]of Object.entries(G))T.style.setProperty(U,Q);return()=>{F===null?T.removeAttribute(k):T.setAttribute(k,F);for(const U of Object.keys(G))T.style.removeProperty(U)}},[N,k,M,G]);const K=d.useMemo(()=>({"data-bs-theme":M,style:G}),[M,G]),H=d.useMemo(()=>({mode:w,sidebarPresentation:g,sidebarTone:j,colorSchemeId:y,resolvedTheme:M,systemTheme:_,colorScheme:D,setMode:S,setSidebarPresentation:x,setSidebarTone:C,setColorSchemeId:R,appearanceProps:K}),[w,g,j,y,M,_,D,S,x,C,R,K]);return s.jsx(Ke.Provider,{value:H,children:e})}function Dn(){const e=d.useContext(Ke);if(!e)throw new Error("[react-components] useAppearance() must be used inside an <AppearanceProvider>.");return e}function Ot(){return d.useContext(Ke)}function An({storageKey:e,themeAttribute:t="data-bs-theme",target:r="documentElement",defaultMode:n="system"}){const o=u=>JSON.stringify(u).replace(/</g,"\\u003C"),a=o(e),l=o(t),i=o(n),c=r==="body"?"document.body":"document.documentElement";return"(function(){try{var raw=window.localStorage.getItem("+a+");var mode="+i+";if(raw){var parsed=JSON.parse(raw);if(parsed&&typeof parsed.mode==='string'){mode=parsed.mode;}}var dark=mode==='dark'||(mode==='system'&&window.matchMedia('(prefers-color-scheme: dark)').matches);"+c+".setAttribute("+l+",dark?'dark':'light');}catch(e){}})();"}function Vt(e){return e.type==="collapsible"||e.type==="group"}function Fe(e){return e.type==="collapsible"||e.type==="group"&&e.collapsible===!0}function He(e){return"items"in e}function $t(e){return e.map(t=>He(t)?Tn(t):Bt(t))}function Tn(e){return{type:"group",key:e.key,label:e.label,collapsible:!0,children:e.items.map(Bt)}}function Bt(e){const t={key:e.key,label:e.label,...e.icon!==void 0?{icon:e.icon}:{},...e.disabled!==void 0?{disabled:e.disabled}:{}},r=e.onClick?()=>{var n;return(n=e.onClick)==null?void 0:n.call(e)}:void 0;return e.href!==void 0?{...t,type:"link",href:e.href,...r?{onSelect:r}:{}}:{...t,type:"action",...r?{onSelect:r}:{}}}function Kt(e){return e.filter(He).filter(t=>t.defaultOpen).map(t=>t.key)}function Ft(e){for(const t of e)if(He(t)){const r=t.items.find(n=>n.active);if(r)return r.key}else if(t.active)return t.key}function Pn(e){const t=new Map,r=[],n=[];function o(l,i,c){const u=[];for(const f of l){const p={item:f,key:f.key,depth:i,ancestors:c,children:[]};t.has(f.key)?n.push(f.key):(t.set(f.key,p),r.push(f.key)),Vt(f)&&(p.children=o(f.children,i+1,[...c,f.key])),u.push(p)}return u}return{roots:o(e,0,[]),byKey:t,order:r,duplicateKeys:n}}function te(e,t){const r=new Set(t),n=e.filter(a=>r.has(a)),o=new Set(n);for(const a of r)o.has(a)||n.push(a);return n}function Ln(e,t,r,n){const o=e.byKey.get(r),a=new Set(t);if(a.has(r)){if(a.delete(r),o)for(const l of Ht(o))a.delete(l);return te(e.order,a)}if(n==="single"){const l=new Set(o?o.ancestors:[]);return l.add(r),te(e.order,l)}if(a.add(r),o)for(const l of o.ancestors)a.add(l);return te(e.order,a)}function at(e,t,r,n){if(r.length===0)return te(e.order,new Set(t));if(n==="single")return te(e.order,new Set(r));const o=new Set(t);for(const a of r)o.add(a);return te(e.order,o)}function On(e,t){return e.length===t.length&&e.every((r,n)=>r===t[n])}function Ht(e){const t=[];for(const r of e.children)t.push(r.key),t.push(...Ht(r));return t}function Ut(e,t){var r;return t===void 0?[]:((r=e.byKey.get(t))==null?void 0:r.ancestors)??[]}function it(e,t){return Ut(e,t).filter(r=>{const n=e.byKey.get(r);return n!==void 0&&Fe(n.item)})}const Vn=typeof document<"u"?d.useLayoutEffect:d.useEffect,$n=Symbol("unresolved-active-key");function Bn(e){if(e.type!=="divider")return e.ariaLabel!==void 0?e.ariaLabel:typeof e.label=="string"?e.label:void 0}function Kn(e,t){return`${e}-${t.replace(/[^A-Za-z0-9_-]/g,"_")}`}function _e({node:e,expandable:t}){const r=e.item;return r.type==="divider"?null:s.jsxs(s.Fragment,{children:[r.icon!==void 0&&s.jsx("span",{className:"rrc-sidebar__icon","aria-hidden":"true",children:r.icon}),s.jsx("span",{className:"rrc-sidebar__label",children:r.label}),r.badge!==void 0&&s.jsx("span",{className:"rrc-sidebar__badge",children:r.badge}),t&&s.jsx("span",{className:"rrc-sidebar__arrow","aria-hidden":"true"})]})}function Ce({name:e,children:t}){return e===void 0?s.jsx(s.Fragment,{children:t}):s.jsx(Pe,{content:e,placement:"bottom",wrapperClassName:"rrc-sidebar__tooltip",children:t})}function Fn(e){if(!e)return;const t=e.getBoundingClientRect(),r=(e.closest(".rrc-sidebar")??e).getBoundingClientRect(),n=getComputedStyle(e).direction==="rtl",o=document.documentElement.clientWidth;e.style.setProperty("--rrc-rail-tip-block-start",`${Math.round(t.top+t.height/2)}px`),e.style.setProperty("--rrc-rail-tip-inline-start",`${Math.round(n?o-r.left:r.right)}px`)}function Ee(e){if(!e)return{};const t=r=>Fn(r.currentTarget);return{onPointerEnter:t,onFocusCapture:t}}function ve({node:e,ctx:t}){const r=e.item,n=d.useRef(null),[o,a]=d.useState(!1),l=d.useCallback(()=>a(!1),[]);if(Vn(()=>{const g=n.current;if(!o||!g)return;const x=()=>{const j=g.getBoundingClientRect(),C=(g.closest(".rrc-sidebar")??g).getBoundingClientRect(),y=getComputedStyle(g).direction==="rtl",R=document.documentElement.clientWidth;g.style.setProperty("--rrc-flyout-block-start",`${Math.round(j.top)}px`),g.style.setProperty("--rrc-flyout-inline-start",`${Math.round(y?R-C.left:C.right)}px`)};return x(),window.addEventListener("scroll",x,!0),window.addEventListener("resize",x),()=>{window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x)}},[o]),r.type==="divider")return s.jsx("li",{role:"none",className:v("rrc-sidebar__divider",r.className),children:s.jsx(It,{className:"my-1"})});const i={"--rrc-sidebar-depth":String(Math.max(0,e.depth-t.depthOffset))},c=Bn(r),u=t.activeKey===r.key,f=t.activeAncestors.has(r.key),p=Fe(r),m=p&&t.expanded.has(r.key),h=Kn(t.idPrefix,r.key),b=v("rrc-sidebar__row",u&&"rrc-sidebar__row--active",f&&"rrc-sidebar__row--active-ancestor",r.disabled&&"rrc-sidebar__row--disabled",r.className);if(r.type==="link"){const g=C=>{if(r.disabled){C.preventDefault();return}t.select(r,C)},x={item:r,href:r.href,className:v(b,"rrc-sidebar__row--link"),style:i,children:s.jsx(_e,{node:e,expandable:!1}),onClick:g,"aria-current":u?"page":void 0,"aria-disabled":r.disabled?!0:void 0,"aria-label":t.collapsed?c:void 0,"data-active-ancestor":f?"true":void 0,target:r.target,rel:r.rel},j=t.renderLink?t.renderLink(x):s.jsx("a",{href:x.href,className:x.className,style:x.style,onClick:x.onClick,"aria-current":x["aria-current"],"aria-disabled":x["aria-disabled"],"aria-label":x["aria-label"],"data-active-ancestor":x["data-active-ancestor"],target:x.target,rel:x.rel,children:x.children});return s.jsx("li",{className:"rrc-sidebar__item",...Ee(t.collapsed),children:t.collapsed?s.jsx(Ce,{name:c,children:j}):j})}if(r.type==="action"){const g=s.jsx("button",{type:"button",className:v(b,"rrc-sidebar__row--action"),style:i,disabled:r.disabled,"aria-label":t.collapsed?c:void 0,"data-active-ancestor":f?"true":void 0,"data-active":u?"true":void 0,onClick:x=>t.select(r,x),children:s.jsx(_e,{node:e,expandable:!1})});return s.jsx("li",{className:"rrc-sidebar__item",...Ee(t.collapsed),children:t.collapsed?s.jsx(Ce,{name:c,children:g}):g})}if(!p){const g=`${h}-title`;return s.jsxs("li",{className:v("rrc-sidebar__item","rrc-sidebar__group",r.className),children:[s.jsxs("div",{className:"rrc-sidebar__group-title",id:g,style:i,children:[r.icon!==void 0&&s.jsx("span",{className:"rrc-sidebar__icon","aria-hidden":"true",children:r.icon}),s.jsx("span",{className:"rrc-sidebar__label",children:r.label}),r.badge!==void 0&&s.jsx("span",{className:"rrc-sidebar__badge",children:r.badge})]}),s.jsx("ul",{className:"rrc-sidebar__menu rrc-sidebar__submenu","aria-labelledby":g,children:e.children.map(x=>s.jsx(ve,{node:x,ctx:{...t,depthOffset:t.depthOffset+1}},x.key))})]})}const N=s.jsx("ul",{className:"rrc-sidebar__menu rrc-sidebar__submenu",id:h,children:e.children.map(g=>s.jsx(ve,{node:g,ctx:t},g.key))}),k=t.collapsed,w=()=>{r.disabled||(k?a(g=>!g):t.toggle(r.key))},S=s.jsx("button",{type:"button",className:v(b,"rrc-sidebar__row--toggle",r.type==="group"&&"rrc-sidebar__row--group-toggle"),style:i,disabled:r.disabled,"aria-expanded":k?o:m,"aria-controls":h,"aria-label":t.collapsed?c:void 0,"data-active-ancestor":f?"true":void 0,onClick:w,children:s.jsx(_e,{node:e,expandable:!0})});return s.jsxs("li",{ref:n,className:v("rrc-sidebar__item",k&&"rrc-sidebar__item--flyout-anchor"),...Ee(t.collapsed),children:[k?s.jsx(Ce,{name:c,children:S}):S,k?s.jsx(X,{open:o,onClose:l,anchorRef:n,className:"rrc-sidebar__flyout",children:s.jsx("ul",{className:"rrc-sidebar__menu rrc-sidebar__submenu",id:h,children:e.children.map(g=>s.jsx(ve,{node:g,ctx:{...t,collapsed:!1,depthOffset:e.depth+1}},g.key))})}):m&&N]})}function Hn({collapsed:e,toggle:t,label:r}){return s.jsx("button",{type:"button",className:"rrc-sidebar__collapse-btn","aria-label":r,onClick:t,children:s.jsx("svg",{className:v("rrc-sidebar__collapse-icon",e&&"rrc-sidebar__collapse-icon--collapsed"),viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",children:s.jsx("path",{d:"M14.5 6.5 9 12l5.5 5.5"})})})}function Un({items:e,sections:t,variant:r,tone:n,activeKey:o,expandActivePath:a=!1,activePathExpansion:l,expandedKeys:i,defaultExpandedKeys:c,onExpandedKeysChange:u,expandMode:f="multiple",collapsed:p,defaultCollapsed:m,onCollapsedChange:h,collapsible:b=!1,renderCollapseControl:N,collapseLabel:k="Collapse sidebar",expandLabel:w="Expand sidebar",mobileOpen:S,defaultMobileOpen:g,onMobileOpenChange:x,mobileLabel:j,closeMobileOnSelect:C=!0,header:y,footer:R,collapsedFooter:_,className:E,navLabel:P,onSelect:B,renderLink:O}){const L=Ot(),A=t??[],I=d.useMemo(()=>e!==void 0?e:$t(A),[e,t]),M=d.useMemo(()=>Pn(I),[I]),D=M.duplicateKeys.join(", ");d.useEffect(()=>{process.env.NODE_ENV!=="production"&&D.length>0&&console.error("[react-components] Sidebar received duplicate item keys: "+D+". Keys must be unique and stable: expansion and active state are keyed by them, so every duplicate shares one identity and the first occurrence in tree order defines it.")},[D]);const G=d.useMemo(()=>Kt(A),[t]),K=o??(e===void 0?Ft(A):void 0),H=l??(a?"on-active-change":"never"),T=d.useRef(null);if(T.current===null){const $=c??G;T.current=H==="never"?$:at(M,$,it(M,K),f)}const[F,U]=V({value:i,defaultValue:T.current,onChange:u}),[Q,xr]=V({value:p,defaultValue:m??!1,onChange:h}),[q,me]=V({value:S,defaultValue:g??!1,onChange:x}),z=K,pe=d.useMemo(()=>new Set(Ut(M,z)),[M,z]),qe=d.useMemo(()=>{const $=new Set(F);if(H==="always")for(const Z of pe)$.add(Z);return $},[F,H,pe]),ke=d.useRef(F);ke.current=F;const we=d.useRef($n);d.useEffect(()=>{if(H!=="on-active-change"){we.current=z;return}if(we.current===z)return;we.current=z;const $=it(M,z);if($.length===0)return;const Z=at(M,ke.current,$,f);On(Z,ke.current)||U(Z)},[H,z,M,f,U]);const ze=d.useCallback($=>U(Ln(M,F,$,f)),[M,F,f,U]),Ye=d.useCallback(()=>me(!1),[me]);ge(q,Ye);const Se=d.useRef(null);d.useEffect(()=>{if(typeof document>"u")return;if(q){Se.current=document.activeElement;return}const $=Se.current;Se.current=null,$ instanceof HTMLElement&&$.isConnected&&$.focus()},[q]);const Je=d.useCallback(($,Z)=>{var rt;$.disabled||((rt=$.onSelect)==null||rt.call($,$,Z),B==null||B($,Z),C&&q&&me(!1))},[B,C,q,me]),Xe=d.useId(),he=r??(L==null?void 0:L.sidebarPresentation)??"grouped",Ze=n??(L==null?void 0:L.sidebarTone)??"auto",ae=Q&&!q,gr=d.useMemo(()=>({variant:he,collapsed:ae,expanded:qe,activeKey:z,activeAncestors:pe,toggle:ze,select:Je,renderLink:O,idPrefix:Xe,depthOffset:0}),[he,ae,qe,z,pe,ze,Je,O,Xe]),Qe={collapsed:Q,toggle:()=>xr(!Q),label:Q?w:k},et=ae?_:R,tt=s.jsxs("aside",{className:v("rrc-sidebar",`rrc-sidebar--${he}`,ae?"rrc-sidebar--collapsed":"rrc-sidebar--expanded",q&&"rrc-sidebar--mobile-open",E),"data-variant":he,"data-collapsed":ae?"true":"false","data-bs-theme":Ze==="auto"?void 0:Ze,...q?{role:"dialog","aria-modal":!0,"aria-label":j??P}:{},children:[s.jsxs("div",{className:"rrc-sidebar__panel",children:[(y!==void 0||b)&&s.jsx("div",{className:"rrc-sidebar__header",children:y!==void 0&&s.jsx("div",{className:"rrc-sidebar__brand",children:y})}),s.jsx("nav",{className:"rrc-sidebar__body","aria-label":P,children:s.jsx("ul",{className:"rrc-sidebar__menu rrc-sidebar__menu--root",children:M.roots.map($=>s.jsx(ve,{node:$,ctx:gr},$.key))})}),et!==void 0&&s.jsx("div",{className:"rrc-sidebar__footer",children:et})]}),b&&s.jsx("div",{className:"rrc-sidebar__collapse",children:N?N(Qe):s.jsx(Hn,{...Qe})})]});return q?s.jsxs("div",{className:"rrc-sidebar-drawer",children:[s.jsx("div",{className:"rrc-sidebar-drawer__backdrop",onClick:Ye,"data-testid":"rrc-sidebar-backdrop"}),tt]}):tt}function Wn({title:e,description:t,breadcrumbItems:r,actions:n,className:o}){return s.jsxs("div",{className:v("mb-4","rrc-page-header",o),children:[r&&r.length>0&&s.jsx(Mt,{items:r,className:"mb-2 rrc-page-header__breadcrumb"}),s.jsxs("div",{className:"d-flex align-items-start justify-content-between gap-3 flex-wrap rrc-page-header__row",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"h3 mb-1 rrc-page-header__title",children:e}),t&&s.jsx("p",{className:"text-body-secondary mb-0 rrc-page-header__description",children:t})]}),n&&s.jsx("div",{className:"d-flex align-items-center gap-2 rrc-page-header__actions",children:n})]})]})}const Gn={xs:1,sm:2,md:3,lg:4,xl:5};function qn(e){return typeof e=="number"?e:Gn[e]}function zn({direction:e="row",gap:t="sm",grow:r,shrink:n,fullWidth:o,className:a,...l}){return s.jsx(Le,{direction:e,gap:qn(t),className:v("rrc-flex",r&&"flex-grow-1",n&&"flex-shrink-0",o&&"w-100",a),...l})}function Yn({icon:e,"aria-label":t,iconSize:r,tooltip:n,variant:o="light",loading:a,className:l,...i}){const c=s.jsx(ce,{variant:o,loading:a,className:v("btn-icon","rrc-btn-icon",l),"aria-label":t,...i,children:!a&&s.jsx(je,{name:e,size:r})});return n?s.jsx(Pe,{content:n,children:c}):c}function Jn({leading:e,title:t,description:r,trailing:n,onClick:o,disabled:a,dense:l,className:i}){const c=s.jsxs(s.Fragment,{children:[e&&s.jsx("span",{className:"flex-shrink-0 d-inline-flex align-items-center rrc-list-item__leading",children:e}),s.jsxs("span",{className:"flex-grow-1",style:{minWidth:0},children:[s.jsx("span",{className:"d-block text-truncate rrc-list-item__title",children:t}),r&&s.jsx("span",{className:"d-block text-truncate small text-body-secondary rrc-list-item__description",children:r})]}),n&&s.jsx("span",{className:"flex-shrink-0 d-inline-flex align-items-center rrc-list-item__trailing",children:n})]}),u=v("d-flex align-items-center text-start","rrc-list-item",o&&"rrc-list-item--interactive",l?"gap-2 py-1":"gap-3 py-2",o&&"w-100 border-0 bg-transparent",a&&"opacity-50",i);return o?s.jsx("button",{type:"button",className:u,onClick:o,disabled:a,children:c}):s.jsx("div",{className:u,"aria-disabled":a||void 0,children:c})}function Xn(e,t,r,n){if(e.length===0)return[];const o=Math.min(...e),l=Math.max(...e)-o||1,i=t-n*2,c=r-n*2,u=e.length>1?i/(e.length-1):0;return e.map((f,p)=>{const m=n+u*p,h=n+c-(f-o)/l*c;return[m,h]})}function Zn({type:e,data:t,width:r,height:n,strokeWidth:o}){const a=o,l=Xn(t,r,n,a);if(l.length===0)return null;const i=l.map(([c,u])=>`${c},${u}`).join(" ");return s.jsxs(s.Fragment,{children:[e==="area"&&s.jsx("polygon",{points:`${a},${n-a} ${i} ${r-a},${n-a}`,fill:"currentColor",opacity:.2,stroke:"none"}),s.jsx("polyline",{points:i,fill:"none",stroke:"currentColor",strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Qn({data:e,width:t,height:r}){if(e.length===0)return null;const n=Math.min(0,...e),a=Math.max(0,...e)-n||1,l=2,i=Math.max((t-l*(e.length-1))/e.length,1);return s.jsx(s.Fragment,{children:e.map((c,u)=>{const f=Math.max((c-n)/a*r,1),p=u*(i+l),m=r-f;return s.jsx("rect",{x:p,y:m,width:i,height:f,rx:1,fill:"currentColor"},u)})})}function es({type:e="line",data:t,tone:r="primary",width:n=80,height:o=28,strokeWidth:a=2,className:l,label:i}){return s.jsx("svg",{width:n,height:o,viewBox:`0 0 ${n} ${o}`,className:v(`text-${r}`,"rrc-sparkline",l),role:i?"img":void 0,"aria-label":i,"aria-hidden":i?void 0:!0,children:e==="bar"?s.jsx(Qn,{data:t,width:n,height:o}):s.jsx(Zn,{type:e,data:t,width:n,height:o,strokeWidth:a})})}const ts={up:"success",down:"danger",neutral:"muted"},rs={up:"bi bi-arrow-up-short",down:"bi bi-arrow-down-short",neutral:"bi bi-dash"};function ns(e,t){return typeof e=="number"&&t!=null?e.toFixed(t):String(e)}function ss({label:e,value:t,prefix:r,suffix:n,precision:o,trend:a,delta:l,loading:i,className:c}){return s.jsxs("div",{className:v("d-flex flex-column gap-1","rrc-statistic",c),children:[s.jsx(Y,{size:"sm",tone:"muted",children:e}),i?s.jsx(le,{height:"1.75rem",width:"60%"}):s.jsxs("div",{className:"d-flex align-items-baseline gap-1",children:[r&&s.jsx(Y,{size:"lg",weight:"semibold",children:r}),s.jsx(Y,{size:"xl",weight:"bold",children:ns(t,o)}),n&&s.jsx(Y,{size:"lg",weight:"semibold",children:n})]}),!i&&(a||l!=null)&&s.jsxs(Y,{size:"sm",tone:a?ts[a]:"muted",className:"d-inline-flex align-items-center gap-1",children:[a&&s.jsx(je,{name:rs[a],size:"sm"}),l]})]})}function be({title:e,options:t,value:r,onChange:n,className:o}){const a=d.useId(),l=d.useRef([]);function i(u,f){var h;if(t.length===0)return;const p=(u+f+t.length)%t.length,m=t[p];m&&(n(m.value),(h=l.current[p])==null||h.focus())}function c(u){const f=t.findIndex(p=>p.value===r);u.key==="ArrowDown"||u.key==="ArrowRight"?(u.preventDefault(),i(f,1)):(u.key==="ArrowUp"||u.key==="ArrowLeft")&&(u.preventDefault(),i(f,-1))}return s.jsxs("div",{className:v("rrc-appearance__section",o),children:[s.jsx("div",{className:"rrc-appearance__title",id:a,children:e}),s.jsx("div",{className:"rrc-appearance__options",role:"radiogroup","aria-labelledby":a,onKeyDown:c,children:t.map((u,f)=>{const p=u.value===r;return s.jsxs("button",{ref:m=>{l.current[f]=m},type:"button",role:"radio","aria-checked":p,tabIndex:p?0:-1,className:v("rrc-appearance__option",p&&"rrc-appearance__option--selected"),onClick:()=>n(u.value),children:[u.adornment,s.jsx("span",{className:"rrc-appearance__option-label",children:u.label}),s.jsx("span",{className:"rrc-appearance__check","aria-hidden":"true"})]},u.value)})})]})}function os({labels:e,sections:t,className:r,mode:n,onModeChange:o,sidebarPresentation:a,onSidebarPresentationChange:l,sidebarTone:i,onSidebarToneChange:c,colorSchemeId:u,onColorSchemeIdChange:f,colorSchemes:p}){const m=Ot(),h={presentation:(t==null?void 0:t.presentation)??!0,mode:(t==null?void 0:t.mode)??!0,tone:(t==null?void 0:t.tone)??!0,colorScheme:(t==null?void 0:t.colorScheme)??!0},b=n??(m==null?void 0:m.mode)??"system",N=a??(m==null?void 0:m.sidebarPresentation)??"grouped",k=i??(m==null?void 0:m.sidebarTone)??"auto",w=u??(m==null?void 0:m.colorSchemeId)??Ne,S=y=>{o==null||o(y),n===void 0&&(m==null||m.setMode(y))},g=y=>{l==null||l(y),a===void 0&&(m==null||m.setSidebarPresentation(y))},x=y=>{c==null||c(y),i===void 0&&(m==null||m.setSidebarTone(y))},j=y=>{f==null||f(y),u===void 0&&(m==null||m.setColorSchemeId(y))},C=p??Tt();return s.jsxs("div",{className:v("rrc-appearance",r),children:[h.presentation&&s.jsx(be,{title:e.presentation.title,value:N,onChange:g,options:$e.map(y=>({value:y,label:e.presentation[y]}))}),h.mode&&s.jsx(be,{title:e.mode.title,value:b,onChange:S,options:Ve.map(y=>({value:y,label:e.mode[y]}))}),h.tone&&s.jsx(be,{title:e.tone.title,value:k,onChange:x,options:Be.map(y=>({value:y,label:e.tone[y]}))}),h.colorScheme&&s.jsx(be,{title:e.colorScheme.title,value:w,onChange:j,className:"rrc-appearance__section--schemes",options:C.map(y=>({value:y.id,label:e.colorScheme.options[y.id]??y.id,adornment:s.jsx("span",{className:"rrc-appearance__swatch",style:{backgroundColor:y.swatch??y.tokens.primary},"aria-hidden":"true"})}))})]})}function as(e,t){if(typeof e=="function"){e(t);return}!e||typeof e!="object"||(e.current=t)}function is(...e){return t=>{for(const r of e)as(r,t)}}function ls({children:e,container:t}){const[r,n]=d.useState(null);return d.useEffect(()=>{if(t){n(t);return}n(typeof document>"u"?null:document.body)},[t]),r?yr.createPortal(e,r):null}const Wt=new WeakMap;function ue(e,t){return Wt.set(e,t),e}function Gt(e){if(!d.isValidElement(e))return;const{type:t}=e;if(!(typeof t!="function"&&typeof t!="object"))return Wt.get(t)}function Ue(e){const t=[];return d.Children.forEach(e,r=>{if(!(r==null||typeof r=="boolean")){if(d.isValidElement(r)&&r.type===d.Fragment){const n=r.props;t.push(...Ue(n.children));return}t.push(r)}}),t}function cs(e){let t;const r=[];for(const n of Ue(e)){if(Gt(n)==="menu"&&d.isValidElement(n)){t||(t=n);continue}r.push(n)}return{menu:t,content:r}}function ds(e){return Ue(e).some(t=>{const r=Gt(t);return r==="label"||r==="separator"?!1:r==="item"||r==="submenu"?d.isValidElement(t)?t.props.hidden!==!0:!1:r!=="menu"})}const qt=8;function xe(e,t,r){return r<t?t:Math.min(Math.max(e,t),r)}function us(e,t,r,n=qt){const o=e.x+t.width+n>r.width?e.x-t.width:e.x,a=e.y+t.height+n>r.height?e.y-t.height:e.y;return{x:xe(o,n,r.width-t.width-n),y:xe(a,n,r.height-t.height-n)}}function fs(e,t,r,n=qt){const o=e.right+t.width+n>r.width?e.left-t.width:e.right,a=e.top+t.height+n>r.height?e.bottom-t.height:e.top;return{x:xe(o,n,r.width-t.width-n),y:xe(a,n,r.height-t.height-n)}}const We=d.createContext(null);function zt(e){return{"--rrc-context-menu-x":`${e.x}px`,"--rrc-context-menu-y":`${e.y}px`}}function Yt(){return{width:window.innerWidth,height:window.innerHeight}}function ms(e){return e instanceof HTMLButtonElement&&e.disabled?!0:e.getAttribute("aria-disabled")==="true"}function Jt(e){return Array.from(e.querySelectorAll('[role="menuitem"]')).filter(t=>t.closest('[role="menu"]')===e&&!ms(t))}function Xt(e){(Jt(e)[0]??e).focus()}function Zt({panelRef:e,onEscape:t,onStepOut:r}){return d.useCallback(n=>{const o=e.current;if(!o)return;const a=Jt(o),l=a.findIndex(u=>u===document.activeElement),i=u=>{const f=a[u];f&&f.focus()},c=()=>{n.preventDefault(),n.stopPropagation()};switch(n.key){case"ArrowDown":c(),a.length>0&&i((l+1)%a.length);return;case"ArrowUp":c(),a.length>0&&i(l<=0?a.length-1:l-1);return;case"Home":c(),a.length>0&&i(0);return;case"End":c(),a.length>0&&i(a.length-1);return;case"ArrowLeft":if(!r)return;c(),r();return;case"Escape":case"Tab":c(),t();return;default:return}},[e,t,r])}function ps({surface:e,label:t,className:r,children:n}){const{point:o,openId:a,close:l}=e,i=d.useRef(null),[c,u]=d.useState(o);d.useLayoutEffect(()=>{const m=i.current;if(!m)return;const h=m.getBoundingClientRect();u(us(o,{width:h.width,height:h.height},Yt()))},[o,a]),d.useLayoutEffect(()=>{const m=i.current;m&&Xt(m)},[a]),d.useEffect(()=>{function m(N){const k=i.current;return!!(k&&N instanceof Node&&k.contains(N))}function h(N){m(N.target)||l("dismiss")}function b(N){m(N.target)||l("dismiss")}return document.addEventListener("mousedown",h),window.addEventListener("resize",b),document.addEventListener("scroll",b,!0),()=>{document.removeEventListener("mousedown",h),window.removeEventListener("resize",b),document.removeEventListener("scroll",b,!0)}},[l]);const f=d.useCallback(()=>l("escape"),[l]),p=Zt({panelRef:i,onEscape:f});return s.jsx("div",{ref:i,role:"menu","aria-label":t,tabIndex:-1,className:v("rrc-context-menu",r),style:zt(c),onKeyDown:m=>{p(m),m.stopPropagation()},onClick:m=>m.stopPropagation(),onContextMenu:m=>{m.preventDefault(),m.stopPropagation()},children:n})}function Qt({children:e,className:t,"aria-label":r}){const n=d.useContext(We);return n?s.jsx(ls,{children:s.jsx(ps,{surface:n,label:r,className:t,children:e})}):null}function hs(e){console.error("[rich-react-component] ContextMenu.Item onSelect failed:",e)}function bs(e){if(!e)return;const t=e();t!==void 0&&Promise.resolve(t).then(void 0,hs)}function er({children:e,id:t,disabled:r,hidden:n,danger:o,icon:a,className:l,"aria-label":i,onSelect:c}){const u=d.useContext(We),f=d.useCallback(()=>{bs(c),u==null||u.close("select")},[c,u]);return n?null:s.jsxs("button",{type:"button",role:"menuitem",id:t,tabIndex:-1,disabled:r,"aria-disabled":r||void 0,"aria-label":i,className:v("rrc-context-menu__item",o&&"rrc-context-menu__item--danger",l),onClick:f,children:[a!==void 0&&s.jsx("span",{className:"rrc-context-menu__item-icon",children:a}),s.jsx("span",{className:"rrc-context-menu__item-label",children:e})]})}function tr({children:e,className:t}){return s.jsx("div",{role:"presentation",className:v("rrc-context-menu__label",t),children:e})}function rr({className:e}){return s.jsx("div",{role:"separator",className:v("rrc-context-menu__separator",e)})}function nr({label:e,children:t,id:r,disabled:n,hidden:o,icon:a,className:l,"aria-label":i}){const[c,u]=d.useState(!1),[f,p]=d.useState({x:0,y:0}),m=d.useRef(null),h=d.useRef(null),b=d.useRef(!1),N=d.useId(),k=r??`${N}trigger`,w=`${N}panel`,S=d.useCallback(()=>{var x;u(!1),(x=m.current)==null||x.focus()},[]);d.useLayoutEffect(()=>{if(!c){b.current=!1;return}const x=m.current,j=h.current;if(!x||!j)return;const C=x.getBoundingClientRect(),y=j.getBoundingClientRect();p(fs({left:C.left,right:C.right,top:C.top,bottom:C.bottom},{width:y.width,height:y.height},Yt())),b.current&&(b.current=!1,Xt(j))},[c]);const g=Zt({panelRef:h,onEscape:S,onStepOut:S});return o?null:s.jsxs("div",{role:"presentation",className:"rrc-context-menu__submenu",onMouseEnter:()=>{n||u(!0)},onMouseLeave:()=>u(!1),children:[s.jsxs("button",{ref:m,type:"button",role:"menuitem",id:k,tabIndex:-1,disabled:n,"aria-disabled":n||void 0,"aria-haspopup":"menu","aria-expanded":c,"aria-controls":c?w:void 0,"aria-label":i,className:v("rrc-context-menu__item","rrc-context-menu__item--submenu",l),onClick:()=>{b.current=!0,u(x=>!x)},onKeyDown:x=>{x.key==="ArrowRight"&&(x.preventDefault(),x.stopPropagation(),b.current=!0,u(!0))},children:[a!==void 0&&s.jsx("span",{className:"rrc-context-menu__item-icon",children:a}),s.jsx("span",{className:"rrc-context-menu__item-label",children:e}),s.jsx("span",{className:"rrc-context-menu__item-arrow","aria-hidden":"true"})]}),c&&s.jsx("div",{ref:h,id:w,role:"menu","aria-labelledby":k,tabIndex:-1,className:"rrc-context-menu rrc-context-menu--sub",style:zt(f),onKeyDown:g,children:t})]})}ue(Qt,"menu");ue(er,"item");ue(tr,"label");ue(rr,"separator");ue(nr,"submenu");const vs=Object.assign(Qt,{Item:er,Separator:rr,Label:tr,SubMenu:nr}),Re="rrc:context-menu-open";function xs(e){return typeof e=="object"&&e!==null&&typeof Reflect.get(e,"id")=="string"}const lt=Symbol.for("react.forward_ref"),gs=Symbol.for("react.memo");function ys(e){const{type:t}=e;if(typeof t=="string")return!0;if(typeof t!="object"||t===null)return!1;const r=Reflect.get(t,"$$typeof");if(r===lt)return!0;if(r!==gs)return!1;const n=Reflect.get(t,"type");return typeof n!="object"||n===null?!1:Reflect.get(n,"$$typeof")===lt}function ct(...e){return t=>{for(const r of e)r==null||r(t)}}function dt(...e){return t=>{for(const r of e)r==null||r(t)}}function js(e,t){if(e==="wrapper")return{mode:"wrapper"};const r=t.length===1?t[0]:void 0;return r===void 0||!d.isValidElement(r)?{mode:"wrapper"}:e==="child"?{mode:"child",child:r}:typeof r.type=="string"?{mode:"child",child:r}:{mode:"wrapper"}}const Ns=d.forwardRef(function({children:t,trigger:r="auto",as:n="div",className:o,style:a,onContextMenu:l,onKeyDown:i,...c},u){const f=d.useId(),{menu:p,content:m}=d.useMemo(()=>cs(t),[t]),h=d.useMemo(()=>{if(!p)return!1;const _=p.props;return _.disabled===!0?!1:ds(_.children)},[p]),[b,N]=d.useState(null),k=d.useRef(0),w=d.useRef(null),S=d.useCallback(_=>{N(null);const E=w.current;w.current=null,_!=="dismiss"&&E&&E.isConnected&&E.focus()},[]),g=d.useCallback((_,E)=>{if(b===null){const P=document.activeElement;w.current=P instanceof HTMLElement?P:null}document.dispatchEvent(new CustomEvent(Re,{detail:{id:f}})),k.current+=1,N({point:{x:_,y:E},openId:k.current})},[f,b]);d.useEffect(()=>{if(!b)return;function _(E){if(!(E instanceof CustomEvent))return;const P=E.detail;xs(P)&&P.id!==f&&S("dismiss")}return document.addEventListener(Re,_),()=>document.removeEventListener(Re,_)},[b,f,S]),d.useEffect(()=>{!h&&b&&S("dismiss")},[h,b,S]);const x=d.useCallback(_=>{_.defaultPrevented||h&&(_.preventDefault(),_.stopPropagation(),g(_.clientX,_.clientY))},[h,g]),j=d.useCallback(_=>{if(_.defaultPrevented||!h||!(_.key==="ContextMenu"||_.shiftKey&&_.key==="F10"))return;_.preventDefault(),_.stopPropagation();const B=(_.target instanceof HTMLElement?_.target:_.currentTarget).getBoundingClientRect();g(B.left,B.bottom)},[h,g]),C=d.useMemo(()=>b?{point:b.point,openId:b.openId,close:S}:null,[b,S]),y=js(r,m);let R;if(y.mode==="child"){const{child:_}=y,E=_.props,P=Reflect.get(_,"ref")??void 0,B=v(o,E.className),O=a!==void 0||E.style!==void 0;R=d.cloneElement(_,{...c,..._.props,className:B||void 0,...O?{style:{...a,...E.style}}:null,onContextMenu:ct(E.onContextMenu,l,x),onKeyDown:dt(E.onKeyDown,i,j),...ys(_)?{ref:is(P,u)}:null})}else R=d.createElement(n,{...c,ref:u,className:v("rrc-rich-base",o)||void 0,style:a,onContextMenu:ct(l,x),onKeyDown:dt(i,j)},...d.Children.toArray(m));return s.jsxs(s.Fragment,{children:[R,p&&C&&s.jsx(We.Provider,{value:C,children:p})]})});class sr extends Error{constructor(t,r,n){super(`HTTP ${t} ${r} for ${n}`),this.name="HttpError",this.status=t,this.statusText=r,this.url=n}}function ks(e){if(!e)return"";const t=new URLSearchParams;for(const[n,o]of Object.entries(e))o!=null&&t.set(n,String(o));const r=t.toString();return r?`?${r}`:""}function or(e={}){const{baseUrl:t="",fetcher:r=fetch,buildRequestInit:n}=e;return{async get(o,a={}){const l=`${t}${o}${ks(a.params)}`;let i={method:"GET",signal:a.signal};n&&(i=n(l,i));const c=await r(l,i);if(!c.ok)throw new sr(c.status,c.statusText,l);return await c.json()}}}const ar=or();function ws(e){return Object.keys(e).sort().reduce((t,r)=>(t[r]=e[r],t),{})}function ne({client:e=ar,url:t,params:r,mapResponse:n,enabled:o=!0}){const[a,l]=d.useState("idle"),[i,c]=d.useState([]),[u,f]=d.useState(null),[p,m]=d.useState(0),h=d.useMemo(()=>r?JSON.stringify(ws(r)):"",[r]),b=d.useRef(0),N=d.useRef(n);N.current=n,d.useEffect(()=>{if(!o||!t){l("idle"),c([]),f(null);return}const w=++b.current,S=new AbortController;return l("loading"),f(null),e.get(t,{params:r,signal:S.signal}).then(g=>{if(w!==b.current)return;const x=N.current(g);c(x),l(x.length===0?"empty":"success")}).catch(g=>{w===b.current&&(g instanceof DOMException&&g.name==="AbortError"||(f(g instanceof Error?g:new Error(String(g))),l("error")))}),()=>{S.abort()}},[e,t,h,o,p]);const k=d.useCallback(()=>m(w=>w+1),[]);return{state:a,items:i,error:u,reload:k}}function ir(e,t){const[r,n]=d.useState(e);return d.useEffect(()=>{const o=setTimeout(()=>n(e),t);return()=>clearTimeout(o)},[e,t]),r}function se(e){if(Array.isArray(e))return e;if(e&&typeof e=="object"&&Array.isArray(e.items))return e.items;throw new Error("Unable to normalize remote response into an array. Provide an explicit `mapResponse` for this endpoint's response shape.")}function fe(e,t,r){if(e===null||typeof e!="object")throw new Error("Remote item is not an object; cannot read valueMember/displayMember from it.");const n=e;return{value:n[t],label:String(n[r]??"")}}function lr({url:e,params:t,valueMember:r,displayMember:n,mapResponse:o,client:a,enabled:l,...i}){const{state:c,items:u,error:f}=ne({client:a,url:e,params:t,enabled:l,mapResponse:m=>(o?o(m):se(m)).map(b=>fe(b,r,n))}),p=i.error??(c==="error"?(f==null?void 0:f.message)??"Failed to load options":void 0);return s.jsx(gt,{...i,options:u,loading:c==="loading",error:p})}function Ss({url:e,params:t,searchParam:r,valueMember:n,displayMember:o,mapResponse:a,minSearchLength:l=1,debounceMs:i=300,client:c,inputValue:u,onInputValueChange:f,...p}){const[m,h]=V({value:u,defaultValue:"",onChange:f}),b=ir(m,i),N=b.length>=l,{state:k,items:w,error:S}=ne({client:c,url:e,enabled:N,params:{...t,[r]:b},mapResponse:x=>(a?a(x):se(x)).map(C=>fe(C,n,o))}),g=p.error??(k==="error"?(S==null?void 0:S.message)??"Failed to load suggestions":void 0);return s.jsx(yt,{...p,options:w,loading:k==="loading",error:g,inputValue:m,onInputValueChange:h,filter:()=>!0})}function cr({url:e,params:t,mapResponse:r,getTotalCount:n,pageSize:o=20,client:a,...l}){const[i,c]=d.useState(1),[u,f]=d.useState(null),p=d.useMemo(()=>JSON.stringify(t??{}),[t]),m=d.useRef(!0);d.useEffect(()=>{if(m.current){m.current=!1;return}c(1)},[p]);const h=d.useMemo(()=>({...t,page:i,pageSize:o,...u?{sortKey:u.key,sortDirection:u.direction}:{}}),[t,i,o,u]),b=d.useRef(void 0),{state:N,items:k,error:w}=ne({client:a,url:e,params:h,mapResponse:C=>(b.current=C,r?r(C):se(C))}),S=b.current!==void 0?n==null?void 0:n(b.current):void 0,x=k.length>=o&&o>0?i*o+1:(i-1)*o+k.length,j=S??x;return s.jsx(St,{...l,rows:k,loading:N==="loading",error:w==null?void 0:w.message,page:i,pageSize:o,totalCount:j,onPageChange:c,sort:u,onSortChange:C=>{f(C),c(1)}})}function _s({url:e,params:t,valueMember:r,displayMember:n,mapResponse:o,client:a,enabled:l,...i}){const{state:c,items:u,error:f}=ne({client:a,url:e,params:t,enabled:l,mapResponse:m=>(o?o(m):se(m)).map(b=>fe(b,r,n))}),p=i.error??(c==="error"?(f==null?void 0:f.message)??"Failed to load options":void 0);return s.jsx(bt,{...i,options:u,loading:c==="loading",error:p})}function Cs({url:e,params:t,valueMember:r,displayMember:n,mapResponse:o,client:a,enabled:l,...i}){const{state:c,items:u,error:f}=ne({client:a,url:e,params:t,enabled:l,mapResponse:m=>(o?o(m):se(m)).map(b=>fe(b,r,n))}),p=i.error??(c==="error"?(f==null?void 0:f.message)??"Failed to load options":void 0);return s.jsx(vt,{...i,options:u,loading:c==="loading",error:p})}function Es(){const e=new Map,t=new Set;return{register(r,n){e.set(r,n)},resolve(r,n){const o=e.get(r.component);return o?o(r,n):(t.has(r.component)||(t.add(r.component),console.warn(`Smart: no resolver registered for component "${r.component}" (field "${r.name}"). Skipping.`)),null)},has(r){return e.has(r)}}}function Rs(e){const t=new Map(Object.entries(e??{}));return{register(r,n){t.set(r,n)},resolve(r){return t.get(r)}}}function Is(){const e=new Map;return{register(t,r){e.set(t,r)},resolve(t){return e.get(t)}}}function Ms(e){return"dataSource"in e}function Ds(e,t){if(!e)return;const r={};for(const[n,o]of Object.entries(e))r[n]=o.kind==="static"?o.value:t[o.field];return r}function ut(e,t,r){return t&&r?r(t):e}function oe(e,t){const{values:r,translate:n}=t;return{metadata:e,visible:e.visible??!0,readOnly:e.readOnly??!1,disabled:e.disabled??!1,required:e.required??!1,label:ut(e.label,e.labelKey,n),placeholder:e.placeholder,helpText:e.helpText,validationMessage:ut(e.validationMessage,e.validationMessageKey,n),params:Ms(e)?Ds(e.dataSource.params,r):void 0}}function As(e,t,r){const n=t==null?void 0:t.fields.find(o=>o.name===e);if(n)return oe(n,r)}const Ts=[];function Ps(e,t){const r={};for(const n of t)r[n]=e[n];return r}function dr(e,t,r){const n=e??Ts,o=Ps(t,n),a=n.length===0?"":JSON.stringify(o),l=d.useRef(null),i=d.useRef(r);i.current=r,d.useEffect(()=>{var u;if(n.length===0)return;const c=l.current;if(c&&c.key!==a)for(const f of n)Object.is(c.snapshot[f],o[f])||(u=i.current)==null||u.call(i,f);l.current={key:a,snapshot:o}},[a])}function Ge(e,t){const{actions:r,translate:n}=t,o=r.resolve(e.id);return{metadata:e,visible:e.visible??!0,enabled:(e.enabled??!0)&&!!o,label:e.labelKey&&n?n(e.labelKey):e.label,handler:o}}function Ls(e,t,r){var o;const n=(o=t==null?void 0:t.actions)==null?void 0:o.find(a=>a.id===e);if(n)return Ge(n,r)}const ur=(e,t)=>{const r=oe(e,{values:t.values,translate:t.translate});if(!r.visible)return null;const n=t.dataSources.resolve(e.dataSource.id);return n?s.jsx(lr,{label:r.label,url:n.url,client:n.client,params:r.params,valueMember:e.valueMember,displayMember:e.displayMember,required:r.required,readOnly:r.readOnly,disabled:r.disabled,helpText:r.helpText,error:r.validationMessage,value:t.values[e.name]??null,onChange:o=>t.onFieldChange(e.name,o)}):(console.warn(`Smart: no data source registered for id "${e.dataSource.id}" (field "${e.name}"). Skipping.`),null)};function Os(e,t){if(e.visible===!1)return null;const r=e.headerKey&&t?t(e.headerKey):e.header??e.key,n=e.format==="boolean"&&!!t;return{key:e.key,header:r,sortable:e.sortable,format:n?void 0:e.format,formatter:n?o=>t(o?"smart.boolean.true":"smart.boolean.false"):void 0}}const fr=(e,t)=>{const r=oe(e,{values:t.values,translate:t.translate});if(!r.visible)return null;const n=t.dataSources.resolve(e.dataSource.id);if(!n)return console.warn(`Smart: no data source registered for id "${e.dataSource.id}" (field "${e.name}"). Skipping.`),null;const o=e.columns.map(i=>Os(i,t.translate)).filter(i=>i!==null),a=e.totalCountField,l=a?i=>{const c=i==null?void 0:i[a];return typeof c=="number"?c:void 0}:void 0;return s.jsx(cr,{url:n.url,client:n.client,params:r.params,columns:o,rowKey:i=>i[e.rowKey],getTotalCount:l})};function ft(e){if(!e)return;const t=new Date(e);return Number.isNaN(t.getTime())?void 0:t}const mr=(e,t)=>{const r=oe(e,{values:t.values,translate:t.translate});return r.visible?s.jsx(xt,{label:r.label,required:r.required,readOnly:r.readOnly,disabled:r.disabled,helpText:r.helpText,error:r.validationMessage,min:ft(e.minDate),max:ft(e.maxDate),value:t.values[e.name]??null,onChange:n=>t.onFieldChange(e.name,n)}):null},pr=(e,t)=>{const r=oe(e,{values:t.values,translate:t.translate});return r.visible?s.jsx(re,{label:r.label,required:r.required,readOnly:r.readOnly,disabled:r.disabled,helpText:r.helpText,placeholder:r.placeholder,error:r.validationMessage,maxLength:e.maxLength,value:t.values[e.name]??"",onChange:n=>t.onFieldChange(e.name,n)}):null};function Vs(e){e.register("Input",pr),e.register("ComboBox",ur),e.register("DatePicker",mr),e.register("DataGrid",fr)}function hr({metadata:e,ctx:t}){const r=t.onMetadataRefreshNeeded;return dr(e.dependsOn,t.values,r?n=>r(e.name,n):void 0),e.visible===!1?null:t.registry.resolve(e,t)}const br=1;function $s(e){const t=Number(e.split(".")[0]);return Number.isFinite(t)&&t===br}function Bs({metadata:e,ctx:t}){return $s(e.schemaVersion)?s.jsx(s.Fragment,{children:e.fields.map(r=>s.jsx(hr,{metadata:r,ctx:t},r.name))}):s.jsxs(Te,{variant:"danger",children:['Unsupported form schema version "',e.schemaVersion,'" — this app understands schema version ',br,".x."]})}function vr({metadata:e,ctx:t}){const r=Ge(e,t);return r.visible?s.jsx(ce,{disabled:!r.enabled,onClick:()=>{var n;return(n=r.handler)==null?void 0:n.call(r)},children:r.label??e.id}):null}function Ks({metadata:e,ctx:t}){return!e.actions||e.actions.length===0?null:s.jsx(s.Fragment,{children:e.actions.map(r=>s.jsx(vr,{metadata:r,ctx:t},r.id))})}exports.Accordion=sn;exports.Alert=Te;exports.AppearanceMenu=os;exports.AppearanceProvider=Mn;exports.AutoComplete=yt;exports.Avatar=gn;exports.Badge=Rt;exports.Breadcrumb=Mt;exports.Button=ce;exports.COLOR_SCHEME_TOKEN_KEYS=Oe;exports.Card=un;exports.CheckBox=Sr;exports.Col=pn;exports.ComboBox=gt;exports.ConfirmProvider=Zr;exports.Container=fn;exports.ContextMenu=vs;exports.DEFAULT_COLOR_SCHEME_ID=Ne;exports.DataGrid=St;exports.DatePicker=xt;exports.DateTimePicker=Rr;exports.Divider=It;exports.FileInput=wr;exports.Flex=zn;exports.FormField=Mr;exports.HttpError=sr;exports.Icon=je;exports.IconButton=Yn;exports.Input=re;exports.Label=mt;exports.ListItem=Jn;exports.Menu=hn;exports.Modal=jt;exports.MultiSelect=vt;exports.Navbar=wn;exports.NumberInput=Nr;exports.PageHeader=Wn;exports.Pagination=Nt;exports.PasswordInput=kr;exports.Popover=on;exports.Popup=X;exports.ProgressBar=kn;exports.RadioButton=ht;exports.RadioGroup=Cr;exports.Rating=Nn;exports.RemoteAutoComplete=Ss;exports.RemoteComboBox=lr;exports.RemoteDataGrid=cr;exports.RemoteMultiSelect=Cs;exports.RemoteSelect=_s;exports.RichComponentBase=Ns;exports.Row=mn;exports.SIDEBAR_PRESENTATIONS=$e;exports.SIDEBAR_TONES=Be;exports.Select=bt;exports.Sidebar=Un;exports.Skeleton=le;exports.Slider=jn;exports.SmartAction=vr;exports.SmartActions=Ks;exports.SmartField=hr;exports.SmartForm=Bs;exports.Sparkline=es;exports.Spinner=_t;exports.Stack=Le;exports.Statistic=ss;exports.Stepper=bn;exports.Switch=_r;exports.THEME_MODES=Ve;exports.Tabs=nn;exports.Tag=yn;exports.Text=Y;exports.TextArea=jr;exports.TimePicker=Er;exports.ToastProvider=Jr;exports.Tooltip=Pe;exports.ValidationMessage=Ie;exports.colorSchemeCssVariables=Lt;exports.comboBoxResolver=ur;exports.createAppearanceInitScript=An;exports.createColorScheme=ie;exports.createHttpClient=or;exports.createSmartActionRegistry=Is;exports.createSmartComponentRegistry=Es;exports.createSmartDataSourceRegistry=Rs;exports.dataGridFormatters=wt;exports.dataGridResolver=fr;exports.datePickerResolver=mr;exports.defaultArrayNormalization=se;exports.defaultHttpClient=ar;exports.fromDateInputValue=Me;exports.fromTimeInputValue=Ae;exports.getColorScheme=At;exports.inputResolver=pr;exports.isSidebarExpandable=Fe;exports.isSidebarParent=Vt;exports.isValidColorScheme=Dt;exports.legacyActiveKey=Ft;exports.legacyDefaultExpandedKeys=Kt;exports.listColorSchemes=Tt;exports.registerBuiltInResolvers=Vs;exports.registerColorScheme=_n;exports.resolveColorScheme=Pt;exports.resolveSmartActionMetadata=Ge;exports.resolveSmartFieldMetadata=oe;exports.toDateInputValue=J;exports.toSelectOption=fe;exports.toSidebarItems=$t;exports.toTimeInputValue=De;exports.useAppearance=Dn;exports.useConfirm=Qr;exports.useDebouncedValue=ir;exports.useRemoteData=ne;exports.useSmartAction=Ls;exports.useSmartDependencies=dr;exports.useSmartField=As;exports.useToast=Xr;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),l=require("react"),nn=require("react-dom");function j(...e){return e.filter(Boolean).join(" ")}function Yt({htmlFor:e,required:t,className:r,children:s}){return n.jsxs("label",{htmlFor:e,className:j("form-label","rrc-label",r),children:[s,t&&n.jsx("span",{className:"text-danger",children:" *"})]})}function ft({error:e,helpText:t,className:r}){return e?n.jsx("div",{className:j("invalid-feedback d-block","rrc-field__error",r),children:e}):t?n.jsx("div",{className:j("form-text","rrc-field__help",r),children:t}):null}function ke({id:e,label:t,required:r,error:s,helpText:a,className:o,children:i}){return n.jsxs("div",{className:j("mb-3","rrc-field",o),children:[t&&n.jsx(Yt,{htmlFor:e,required:r,children:t}),i,n.jsx(ft,{error:s,helpText:a})]})}function X({value:e,defaultValue:t,onChange:r}){const s=e!==void 0,a=l.useRef(s);process.env.NODE_ENV!=="production"&&a.current!==s&&console.error("[react-components] A component switched between controlled and uncontrolled `value`. Decide between passing `value` (controlled) or `defaultValue` (uncontrolled) for the lifetime of the component, per the library's controlled/uncontrolled policy.");const[o,i]=l.useState(t),c=s?e:o,d=l.useCallback(u=>{s||i(u),r==null||r(u)},[s,r]);return[c,d]}function Pe(e){const{id:t,name:r,disabled:s,readOnly:a,required:o,className:i,label:c,placeholder:d,helpText:u,error:f,value:p,defaultValue:m,onChange:h,onBlur:b,type:w="text",maxLength:_,autoFocus:S,inputProps:x,endAdornment:y}=e,[g,N]=X({value:p,defaultValue:m??"",onChange:h}),C=l.useId(),v=t??C,D=n.jsx("input",{id:v,name:r,className:j("form-control","rrc-input",f&&"is-invalid"),disabled:s,readOnly:a,required:o,placeholder:d,maxLength:_,autoFocus:S,value:g,onChange:E=>N(E.target.value),onBlur:b,type:w,...x});return n.jsx(ke,{id:v,label:c,required:o,error:f,helpText:u,className:i,children:y?n.jsxs("div",{className:"input-group rrc-input-group",children:[D,y]}):D})}function sn(e){const{id:t,name:r,disabled:s,readOnly:a,required:o,className:i,label:c,placeholder:d,helpText:u,error:f,value:p,defaultValue:m,onChange:h,onBlur:b,rows:w=3,maxLength:_}=e,[S,x]=X({value:p,defaultValue:m??"",onChange:h}),y=l.useId(),g=t??y;return n.jsx(ke,{id:g,label:c,required:o,error:f,helpText:u,className:i,children:n.jsx("textarea",{id:g,name:r,className:j("form-control","rrc-input",f&&"is-invalid"),disabled:s,readOnly:a,required:o,placeholder:d,rows:w,maxLength:_,value:S,onChange:N=>x(N.target.value),onBlur:b})})}function an({value:e,defaultValue:t,onChange:r,min:s,max:a,step:o,...i}){const[c,d]=X({value:e,defaultValue:t??null,onChange:r});return n.jsx(Pe,{...i,value:c===null?"":String(c),onChange:u=>{if(u.trim()===""){d(null);return}const f=Number(u);Number.isNaN(f)||d(f)},inputProps:{inputMode:"decimal",min:s,max:a,step:o}})}function on(e){const[t,r]=l.useState(!1);return n.jsx(Pe,{...e,inputProps:{type:t?"text":"password",autoComplete:"current-password"},endAdornment:n.jsx("button",{type:"button",className:"btn btn-outline-secondary rrc-btn rrc-input-group__action","aria-label":t?"Hide password":"Show password","aria-pressed":t,onClick:()=>r(s=>!s),children:t?"Hide":"Show"})})}function cn({id:e,name:t,disabled:r,required:s,className:a,label:o,helpText:i,error:c,accept:d,multiple:u,onChange:f}){const p=l.useId(),m=e??p;return n.jsx(ke,{id:m,label:o,required:s,error:c,helpText:i,className:a,children:n.jsx("input",{id:m,name:t,type:"file",className:j("form-control","rrc-input",c&&"is-invalid"),disabled:r,required:s,accept:d,multiple:u,onChange:h=>f==null?void 0:f(h.target.files)})})}function qt({id:e,name:t,disabled:r,required:s,wrapperClassName:a,role:o,label:i,helpText:c,error:d,checked:u,onChange:f,className:p}){const m=l.useId(),h=e??m;return n.jsxs("div",{className:j(a,p),children:[n.jsx("input",{id:h,name:t,type:"checkbox",role:o,className:j("form-check-input","rrc-check",d&&"is-invalid"),disabled:r,required:s,checked:u,onChange:b=>f(b.target.checked)}),i&&n.jsx("label",{htmlFor:h,className:"form-check-label rrc-check__label",children:i}),n.jsx(ft,{error:d,helpText:c})]})}function ln(e){const[t,r]=X({value:e.checked,defaultValue:e.defaultChecked??!1,onChange:e.onChange});return n.jsx(qt,{id:e.id,name:e.name,disabled:e.disabled,required:e.required,className:e.className,wrapperClassName:"form-check mb-3",label:e.label,helpText:e.helpText,error:e.error,checked:t,onChange:r})}function dn(e){const[t,r]=X({value:e.checked,defaultValue:e.defaultChecked??!1,onChange:e.onChange});return n.jsx(qt,{id:e.id,name:e.name,disabled:e.disabled,required:e.required,className:e.className,wrapperClassName:"form-check form-switch mb-3",role:"switch",label:e.label,helpText:e.helpText,error:e.error,checked:t,onChange:r})}function Zt({id:e,name:t,value:r,label:s,checked:a,disabled:o,className:i,onChange:c}){const d=l.useId(),u=e??d;return n.jsxs("div",{className:j("form-check","rrc-check-row",i),children:[n.jsx("input",{id:u,name:t,type:"radio",className:"form-check-input rrc-check",value:String(r),checked:a,disabled:o,onChange:()=>c==null?void 0:c(r)}),s&&n.jsx("label",{htmlFor:u,className:"form-check-label rrc-check__label",children:s})]})}function un({options:e,value:t,defaultValue:r,onChange:s,inline:a,id:o,name:i,disabled:c,required:d,className:u,label:f,helpText:p,error:m}){const[h,b]=X({value:t,defaultValue:r??null,onChange:S=>{S!==null&&(s==null||s(S))}}),w=l.useId(),_=i??o??w;return n.jsx(ke,{label:f,required:d,error:m,helpText:p,className:u,children:n.jsx("div",{role:"radiogroup","aria-label":f,"aria-required":d,className:j("rrc-radio-group",a&&"d-flex gap-3 rrc-radio-group--inline"),children:e.map(S=>n.jsx(Zt,{name:_,value:S.value,label:S.label,checked:S.value===h,disabled:c||S.disabled,onChange:x=>b(x)},String(S.value)))})})}function Jt({options:e,value:t,defaultValue:r,onChange:s,placeholder:a,loading:o,id:i,name:c,disabled:d,readOnly:u,required:f,className:p,label:m,helpText:h,error:b}){const[w,_]=X({value:t,defaultValue:r??null,onChange:s}),S=l.useId(),x=i??S;return n.jsx(ke,{id:x,label:m,required:f,error:b,helpText:h,className:p,children:n.jsxs("select",{id:x,name:c,className:j("form-select","rrc-select",b&&"is-invalid"),disabled:d||u||o,required:f,value:w===null?"":String(w),onChange:y=>{const g=y.target.value;if(g===""){_(null);return}const N=e.find(C=>String(C.value)===g);_(N?N.value:null)},children:[o&&n.jsx("option",{value:"",children:"Loading…"}),!o&&a&&n.jsx("option",{value:"",children:a}),e.map(y=>n.jsx("option",{value:String(y.value),disabled:y.disabled,children:y.label},String(y.value)))]})})}function et(e,t){l.useEffect(()=>{if(!e)return;function r(s){s.key==="Escape"&&t()}return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[e,t])}function Ee({open:e,onClose:t,anchorRef:r,className:s,role:a,children:o}){const i=l.useRef(null);return et(e,t),l.useEffect(()=>{if(!e)return;function c(d){var f,p;const u=d.target;(f=i.current)!=null&&f.contains(u)||(p=r.current)!=null&&p.contains(u)||t()}return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[e,t,r]),e?n.jsx("div",{ref:i,className:j("show","rrc-popup",s),role:a,children:o}):null}function tt({itemCount:e,isOpen:t,onSelect:r,onClose:s}){const[a,o]=l.useState(-1);l.useEffect(()=>{t||o(-1)},[t]),et(t,s);const i=l.useCallback(c=>{if(!t){(c.key==="ArrowDown"||c.key==="Enter")&&c.preventDefault();return}switch(c.key){case"ArrowDown":c.preventDefault(),o(d=>e===0?-1:(d+1)%e);break;case"ArrowUp":c.preventDefault(),o(d=>e===0?-1:(d-1+e)%e);break;case"Home":c.preventDefault(),o(e===0?-1:0);break;case"End":c.preventDefault(),o(e===0?-1:e-1);break;case"Enter":a>=0&&(c.preventDefault(),r(a));break}},[t,e,a,r]);return{activeIndex:a,setActiveIndex:o,handleKeyDown:i}}function Xt({options:e,values:t,defaultValues:r,onChange:s,loading:a,emptyText:o="No options",id:i,name:c,disabled:d,readOnly:u,required:f,className:p,label:m,placeholder:h="Select...",helpText:b,error:w}){const[_,S]=X({value:t,defaultValue:r??[],onChange:s}),[x,y]=l.useState(!1),g=l.useRef(null),N=l.useId(),C=i??N,v=new Set(_),D=l.useCallback(()=>y(!1),[]),E=l.useCallback(F=>{const T=e[F];if(!T||T.disabled)return;const $=v.has(T.value)?_.filter(L=>L!==T.value):[..._,T.value];S($)},[e,_,v,S]),{activeIndex:R,setActiveIndex:O,handleKeyDown:z}=tt({itemCount:e.length,isOpen:x,onSelect:E,onClose:D}),B=e.filter(F=>v.has(F.value)).map(F=>F.label).join(", ");return n.jsx(ke,{id:C,label:m,required:f,error:w,helpText:b,className:p,children:n.jsxs("div",{className:"position-relative",children:[n.jsx("button",{ref:g,id:C,type:"button",name:c,className:j("form-select text-start","rrc-select","rrc-select__trigger",w&&"is-invalid"),disabled:d||u,"aria-haspopup":"listbox","aria-expanded":x,onClick:()=>y(F=>!F),onKeyDown:z,children:B||n.jsx("span",{className:"text-body-secondary",children:h})}),n.jsx(Ee,{open:x,onClose:D,anchorRef:g,className:"dropdown-menu w-100 rrc-menu rrc-select__menu",role:"listbox",children:a?n.jsx("div",{className:"px-3 py-2 text-body-secondary",children:"Loading…"}):e.length===0?n.jsx("div",{className:"px-3 py-2 text-body-secondary",children:o}):e.map((F,T)=>n.jsxs("div",{role:"option","aria-selected":v.has(F.value),className:j("dropdown-item d-flex align-items-center gap-2",T===R&&"active",F.disabled&&"disabled"),onMouseEnter:()=>O(T),onMouseDown:$=>{$.preventDefault(),F.disabled||E(T)},children:[n.jsx("input",{type:"checkbox",className:"form-check-input m-0",checked:v.has(F.value),readOnly:!0,tabIndex:-1}),F.label]},String(F.value)))})]})})}function Ce(e){if(!e)return"";const t=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),s=String(e.getDate()).padStart(2,"0");return`${t}-${r}-${s}`}function mt(e){if(!e)return null;const t=e.split("-").map(Number),[r,s,a]=t;return!r||!s||!a?null:new Date(r,s-1,a)}function Qt({value:e,defaultValue:t,onChange:r,min:s,max:a,...o}){const[i,c]=X({value:e,defaultValue:t??null,onChange:r});return n.jsx(Pe,{...o,value:Ce(i),onChange:d=>c(mt(d)),inputProps:{type:"date",min:s?Ce(s):void 0,max:a?Ce(a):void 0}})}function ht(e){if(!e)return"";const t=String(e.getHours()).padStart(2,"0"),r=String(e.getMinutes()).padStart(2,"0");return`${t}:${r}`}function pt(e){if(!e)return null;const[t,r]=e.split(":").map(Number);return t===void 0||r===void 0||Number.isNaN(t)||Number.isNaN(r)?null:new Date(1970,0,1,t,r,0,0)}function fn({value:e,defaultValue:t,onChange:r,step:s,...a}){const[o,i]=X({value:e,defaultValue:t??null,onChange:r});return n.jsx(Pe,{...a,value:ht(o),onChange:c=>i(pt(c)),inputProps:{type:"time",step:s}})}function $t(e,t){const r=mt(e);if(!r)return null;const s=pt(t||"00:00");return s&&r.setHours(s.getHours(),s.getMinutes(),0,0),r}function mn({value:e,defaultValue:t,onChange:r,min:s,max:a,id:o,name:i,disabled:c,readOnly:d,required:u,className:f,label:p,helpText:m,error:h}){const[b,w]=X({value:e,defaultValue:t??null,onChange:r}),_=l.useId(),S=o??_,x=Ce(b),y=ht(b);return n.jsx(ke,{id:S,label:p,required:u,error:h,helpText:m,className:f,children:n.jsxs("div",{className:"d-flex gap-2",children:[n.jsx("input",{id:S,name:i?`${i}-date`:void 0,type:"date",className:j("form-control","rrc-input",h&&"is-invalid"),disabled:c,readOnly:d,required:u,min:s?Ce(s):void 0,max:a?Ce(a):void 0,value:x,onChange:g=>w($t(g.target.value,y))}),n.jsx("input",{name:i?`${i}-time`:void 0,type:"time",className:j("form-control","rrc-input",h&&"is-invalid"),disabled:c,readOnly:d,required:u,value:y,onChange:g=>w($t(x||Ce(new Date),g.target.value))})]})})}function er({options:e,value:t,defaultValue:r,onChange:s,loading:a,emptyText:o="No options",id:i,name:c,disabled:d,readOnly:u,required:f,className:p,label:m,placeholder:h="Select...",helpText:b,error:w}){const[_,S]=X({value:t,defaultValue:r??null,onChange:s}),[x,y]=l.useState(!1),g=l.useRef(null),N=l.useId(),C=i??N,v=e.find(H=>H.value===_)??null,D=l.useCallback(()=>y(!1),[]),E=l.useCallback(H=>{const B=e[H];!B||B.disabled||(S(B.value),D())},[e,S,D]),{activeIndex:R,setActiveIndex:O,handleKeyDown:z}=tt({itemCount:e.length,isOpen:x,onSelect:E,onClose:D});return n.jsx(ke,{id:C,label:m,required:f,error:w,helpText:b,className:p,children:n.jsxs("div",{className:"position-relative",children:[n.jsx("button",{ref:g,id:C,type:"button",name:c,className:j("form-select text-start","rrc-select","rrc-select__trigger",w&&"is-invalid"),disabled:d||u,"aria-haspopup":"listbox","aria-expanded":x,onClick:()=>y(H=>!H),onKeyDown:z,children:v?v.label:n.jsx("span",{className:"text-body-secondary",children:h})}),n.jsx(Ee,{open:x,onClose:D,anchorRef:g,className:"dropdown-menu w-100 rrc-menu rrc-select__menu",role:"listbox",children:a?n.jsx("div",{className:"px-3 py-2 text-body-secondary",children:"Loading…"}):e.length===0?n.jsx("div",{className:"px-3 py-2 text-body-secondary",children:o}):e.map((H,B)=>n.jsx("div",{role:"option","aria-selected":H.value===_,className:j("dropdown-item","rrc-menu__item",B===R&&"active",H.disabled&&"disabled"),onMouseEnter:()=>O(B),onMouseDown:F=>{F.preventDefault(),H.disabled||E(B)},children:H.label},String(H.value)))})]})})}function hn(e,t){return t?e.label.toLowerCase().includes(t.toLowerCase()):!0}function tr({options:e,value:t,defaultValue:r,onChange:s,inputValue:a,onInputValueChange:o,loading:i,emptyText:c="No results",filter:d,id:u,name:f,disabled:p,readOnly:m,required:h,className:b,label:w,placeholder:_,helpText:S,error:x}){const[y,g]=X({value:t,defaultValue:r??null,onChange:s}),N=e.find(P=>P.value===y)??null,[C,v]=X({value:a,defaultValue:(N==null?void 0:N.label)??"",onChange:o}),[D,E]=l.useState(!1),R=l.useRef(null),O=l.useId(),z=u??O,H=d??hn,B=e.filter(P=>H(P,C)),F=l.useCallback(()=>E(!1),[]),T=l.useCallback(P=>{const Y=B[P];!Y||Y.disabled||(g(Y.value),v(Y.label),F())},[B,g,v,F]),{activeIndex:$,setActiveIndex:L,handleKeyDown:te}=tt({itemCount:B.length,isOpen:D,onSelect:T,onClose:F});return n.jsx(ke,{id:z,label:w,required:h,error:x,helpText:S,className:b,children:n.jsxs("div",{className:"position-relative",children:[n.jsx("input",{ref:R,id:z,name:f,type:"text",className:j("form-control","rrc-input",x&&"is-invalid"),disabled:p,readOnly:m,required:h,placeholder:_,autoComplete:"off",role:"combobox","aria-expanded":D,"aria-haspopup":"listbox",value:C,onFocus:()=>E(!0),onChange:P=>{const Y=P.target.value;v(Y),E(!0),y!==null&&g(null)},onKeyDown:te}),n.jsx(Ee,{open:D,onClose:F,anchorRef:R,className:"dropdown-menu w-100 rrc-menu rrc-select__menu",role:"listbox",children:i?n.jsx("div",{className:"px-3 py-2 text-body-secondary",children:"Loading…"}):B.length===0?n.jsx("div",{className:"px-3 py-2 text-body-secondary",children:c}):B.map((P,Y)=>n.jsx("div",{role:"option","aria-selected":P.value===y,className:j("dropdown-item","rrc-menu__item",Y===$&&"active",P.disabled&&"disabled"),onMouseEnter:()=>L(Y),onMouseDown:K=>{K.preventDefault(),P.disabled||T(Y)},children:P.label},String(P.value)))})]})})}function pn(e){return n.jsx(ke,{...e})}function bt({open:e,onClose:t,title:r,children:s,footer:a,className:o}){return et(e,t),e?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"modal d-block rrc-modal",tabIndex:-1,role:"dialog","aria-modal":"true",children:n.jsx("div",{className:j("modal-dialog","rrc-modal__dialog",o),role:"document",children:n.jsxs("div",{className:"modal-content rrc-modal__content",children:[n.jsxs("div",{className:"modal-header rrc-modal__header",children:[r&&n.jsx("h5",{className:"modal-title",children:r}),n.jsx("button",{type:"button",className:"btn-close","aria-label":"Close",onClick:t})]}),n.jsx("div",{className:"modal-body rrc-modal__body",children:s}),a&&n.jsx("div",{className:"modal-footer rrc-modal__footer",children:a})]})})}),n.jsx("div",{className:"modal-backdrop show rrc-modal__backdrop",onClick:t})]}):null}function bn(e,t,r){const s=[],a=Math.max(1,e-r),o=Math.min(t,e+r);a>1&&(s.push(1),a>2&&s.push("ellipsis"));for(let i=a;i<=o;i++)s.push(i);return o<t&&(o<t-1&&s.push("ellipsis"),s.push(t)),s}function rr({currentPage:e,pageSize:t,totalItems:r,onPageChange:s,siblingCount:a=1,className:o}){const i=Math.max(1,Math.ceil(r/t)),c=bn(e,i,a);return n.jsx("nav",{"aria-label":"Pagination",className:o,children:n.jsxs("ul",{className:"pagination mb-0 rrc-pagination",children:[n.jsx("li",{className:j("page-item",e<=1&&"disabled"),children:n.jsx("button",{type:"button",className:"page-link",disabled:e<=1,onClick:()=>s(e-1),children:"Previous"})}),c.map((d,u)=>d==="ellipsis"?n.jsx("li",{className:"page-item disabled",children:n.jsx("span",{className:"page-link",children:"…"})},`ellipsis-${u}`):n.jsx("li",{className:j("page-item",d===e&&"active"),children:n.jsx("button",{type:"button",className:"page-link","aria-current":d===e?"page":void 0,onClick:()=>s(d),children:d})},d)),n.jsx("li",{className:j("page-item",e>=i&&"disabled"),children:n.jsx("button",{type:"button",className:"page-link",disabled:e>=i,onClick:()=>s(e+1),children:"Next"})})]})})}const xt=typeof window>"u"?l.useEffect:l.useLayoutEffect;function gt(e,t,r){const s=l.useRef(r);xt(()=>{s.current=r}),l.useEffect(()=>{if(!t)return;const a=e.current;if(!a)return;const o=()=>s.current();if(typeof ResizeObserver<"u"){const i=new ResizeObserver(o);return i.observe(a),()=>i.disconnect()}if(!(typeof window>"u"))return window.addEventListener("resize",o),()=>window.removeEventListener("resize",o)},[e,t])}const xn=["Responsive","Hide"];function gn(e){return typeof e=="string"&&xn.includes(e)}function vn(e,t){var s,a;const r=e.filter(o=>o.isData&&!o.isUtility);if(t!==void 0){const o=r.find(i=>i.key===t);if(o)return o.key}return((s=r.find(o=>o.isTextual))==null?void 0:s.key)??((a=r[0])==null?void 0:a.key)}function yn(e,t){const r=[],s=new Map(e.map(c=>[c.key,c])),a=vn(e,t==null?void 0:t.primaryColumn);(t==null?void 0:t.primaryColumn)!==void 0&&t.primaryColumn!==a&&r.push({kind:"invalid-primary-column",detail:`"${t.primaryColumn}" is not an eligible data column; ${a===void 0?"no primary column could be resolved":`"${a}" was resolved instead`}`});const o=[],i=new Set;for(const c of(t==null?void 0:t.columns)??[]){const d=s.get(c.field);if(!d){r.push({kind:"unknown-column",detail:c.field});continue}if(i.has(c.field)){r.push({kind:"duplicate-rule",detail:c.field});continue}if(!gn(c.behavior)){r.push({kind:"invalid-behavior",detail:`${c.field} -> ${String(c.behavior)}`});continue}if(c.field===a){r.push({kind:"primary-column-rule",detail:c.field}),i.add(c.field);continue}if(d.isUtility&&c.behavior==="Responsive"){r.push({kind:"utility-column-responsive",detail:c.field}),i.add(c.field);continue}i.add(c.field),o.push({key:c.field,behavior:c.behavior})}for(const c of e)i.has(c.key)||c.key!==a&&(!c.isData||c.isUtility||o.push({key:c.key,behavior:"Responsive"}));return{primaryKey:a,rules:o,problems:r}}function jn(e){const t=e.rules.map(s=>`${s.key}:${s.behavior}`).join(","),r=e.problems.map(s=>`${s.kind}:${s.detail}`).join(",");return`${e.primaryKey??""}|${t}|${r}`}const wn=1,_n=16;function kn({enabled:e,containerRef:t,ruleCount:r,signature:s}){const[a,o]=l.useState(0),i=l.useRef(0),c=l.useRef(null),d=l.useRef(-1),u=l.useRef(0);l.useEffect(()=>{i.current=0,c.current=null,d.current=-1,u.current=0,o(0)},[s,e]);const f=l.useCallback(()=>{if(!e)return;const p=t.current;if(!p)return;const m=p.clientWidth;if(m<=0||(m!==d.current&&(d.current=m,u.current=0),u.current>r+2))return;const h=p.scrollWidth-m>wn,b=i.current;let w=b;if(h)b<r&&(w=b+1,c.current=m);else if(b>0){const _=c.current;(_===null||m>_+_n)&&(w=b-1)}w!==b&&(u.current+=1,i.current=w,o(w))},[e,t,r]);return xt(f),gt(t,e,f),e?a:0}const Nn={"unknown-column":"names a column that does not exist and was ignored","duplicate-rule":"is listed more than once; only the first rule was kept","primary-column-rule":"targets the primary column, which never leaves the row, and was ignored","invalid-behavior":'has an unsupported behavior; use "Responsive" or "Hide"',"utility-column-responsive":'is an action/command column and has no meaningful label/value form, so its "Responsive" rule was ignored — use "Hide" to drop it instead',"invalid-primary-column":"is not usable as the primary column"};function Sn(e,t){const{problems:r}=e;l.useEffect(()=>{if(process.env.NODE_ENV!=="production"&&r.length!==0)for(const s of r)console.error(`[react-components] DataGrid responsive configuration: "${s.detail}" ${Nn[s.kind]}.`)},[t])}const nr={text:e=>e==null?"":String(e),boolean:e=>e?"Yes":"No",date:e=>{if(e==null||e==="")return"";const t=e instanceof Date?e:new Date(String(e));return Number.isNaN(t.getTime())?String(e):t.toLocaleDateString()},currency:e=>{const t=Number(e);return Number.isFinite(t)?t.toLocaleString(void 0,{style:"currency",currency:"USD"}):String(e??"")}},Cn={primaryKey:void 0,rules:[],problems:[]},En=[];function Mn(e){const t=e.field??e.key,r=e.render!==void 0&&e.field===void 0,s=!r&&t!==void 0;return{key:De(e),isData:s,isUtility:r,isTextual:s&&(e.format===void 0||e.format==="text")}}function In(e,t){return!e||e.key!==t?{key:t,direction:"asc"}:e.direction==="asc"?{key:t,direction:"desc"}:null}function De(e){return e.key??e.field??e.header}function Rn(e,t){const r=e.field??e.key;return r?t[r]:void 0}function At(e,t){if(e.render)return e.render(t);const r=Rn(e,t);return e.formatter?e.formatter(r,t):e.format?nr[e.format](r):r==null?"":String(r)}function Tt(e){return e&&`text-${e}`}function sr({columns:e,rows:t,rowKey:r,loading:s,error:a,emptyText:o="No data",className:i,selectedRowKeys:c,onSelectionChange:d,sort:u,onSortChange:f,page:p,pageSize:m,totalCount:h,onPageChange:b,responsive:w}){const _=!!d,S=new Set(c??[]),x=p!==void 0&&m!==void 0&&h!==void 0,y=x?Math.max(1,Math.ceil(h/m)):1,g=l.useRef(null),N=w!==void 0,C=l.useMemo(()=>e.map(Mn),[e]),v=l.useMemo(()=>w===void 0?Cn:yn(C,w),[C,w]),D=jn(v);Sn(v,D);const E=kn({enabled:N,containerRef:g,ruleCount:v.rules.length,signature:D}),R=v.rules.slice(0,E);let O=e,z=En;if(R.length>0){const T=new Set(R.map(L=>L.key));O=e.filter(L=>!T.has(De(L)));const $=new Map(e.map(L=>[De(L),L]));z=R.filter(L=>L.behavior==="Responsive").map(L=>$.get(L.key)).filter(L=>L!==void 0)}const H=Math.max(1,O.length+(_?1:0));function B(){d&&(S.size===t.length?d([]):d(t.map(r)))}function F(T){if(!d)return;const $=new Set(S);$.has(T)?$.delete(T):$.add(T),d(Array.from($))}return n.jsxs("div",{ref:g,className:j("table-responsive","rrc-data-grid",N&&"rrc-data-grid--responsive",i),children:[n.jsxs("table",{className:"table table-hover align-middle rrc-data-grid__table",children:[n.jsx("thead",{children:n.jsxs("tr",{children:[_&&n.jsx("th",{style:{width:"2.5rem"},children:n.jsx("input",{type:"checkbox",className:"form-check-input",checked:t.length>0&&S.size===t.length,onChange:B,"aria-label":"Select all rows"})}),O.map(T=>{const $=De(T);return n.jsxs("th",{className:Tt(T.headerAlign??T.align),style:{width:T.width,minWidth:T.minWidth,maxWidth:T.maxWidth},role:T.sortable?"button":void 0,onClick:T.sortable&&f?()=>f(In(u,$)):void 0,children:[T.header,T.sortable&&(u==null?void 0:u.key)===$&&n.jsxs("span",{"aria-hidden":"true",children:[" ",u.direction==="asc"?"▲":"▼"]})]},$)})]})}),n.jsx("tbody",{children:s?n.jsx("tr",{children:n.jsx("td",{colSpan:H,className:"text-center text-body-secondary py-4",children:"Loading…"})}):a?n.jsx("tr",{children:n.jsx("td",{colSpan:H,className:"text-center text-danger py-4",children:a})}):t.length===0?n.jsx("tr",{children:n.jsx("td",{colSpan:H,className:"text-center text-body-secondary py-4",children:o})}):t.map(T=>{const $=r(T);return n.jsxs(l.Fragment,{children:[n.jsxs("tr",{children:[_&&n.jsx("td",{children:n.jsx("input",{type:"checkbox",className:"form-check-input",checked:S.has($),onChange:()=>F($),"aria-label":"Select row"})}),O.map(L=>n.jsx("td",{className:Tt(L.align),children:At(L,T)},De(L)))]}),z.length>0&&n.jsx("tr",{className:"rrc-data-grid__detail-row",children:n.jsx("td",{colSpan:H,className:"rrc-data-grid__detail-cell",children:n.jsx("dl",{className:"rrc-data-grid__details",children:z.map(L=>n.jsxs("div",{className:"rrc-data-grid__detail-item",children:[n.jsx("dt",{className:"rrc-data-grid__detail-term",children:L.header}),n.jsx("dd",{className:"rrc-data-grid__detail-value",children:At(L,T)})]},De(L)))})})})]},$)})})]}),x&&n.jsxs("div",{className:"d-flex justify-content-between align-items-center mt-2 rrc-data-grid__footer",children:[n.jsxs("span",{className:"text-body-secondary small",children:["Page ",p," of ",y," (",h," rows)"]}),n.jsx(rr,{currentPage:p,pageSize:m,totalItems:h,onPageChange:b})]})]})}function vt({size:e="md",variant:t,className:r,label:s="Loading..."}){return n.jsx("span",{className:j("spinner-border","rrc-spinner",e==="sm"&&"spinner-border-sm",t&&`text-${t}`,r),role:"status",children:n.jsx("span",{className:"visually-hidden",children:s})})}function Le({variant:e="primary",size:t,disabled:r,loading:s,type:a="button",className:o,children:i,onClick:c,...d}){const u=r||s;return n.jsxs("button",{type:a,className:j("btn",`btn-${e}`,t&&`btn-${t}`,"rrc-btn",`rrc-btn--${e}`,o),disabled:u,"aria-busy":s||void 0,onClick:u?void 0:c,...d,children:[s&&n.jsx(vt,{size:"sm",className:"me-2",label:""}),i]})}function ze({variant:e="info",dismissible:t,onDismiss:r,className:s,children:a}){return n.jsxs("div",{className:j("alert",`alert-${e}`,t&&"alert-dismissible","rrc-alert",`rrc-alert--${e}`,s),role:"alert",children:[a,t&&n.jsx("button",{type:"button",className:"btn-close","aria-label":"Close",onClick:r})]})}const ar=l.createContext(null),Dn=4e3;function $n({children:e}){const[t,r]=l.useState([]),s=l.useRef(0),a=l.useRef(new Map);l.useEffect(()=>{const d=a.current;return()=>{d.forEach(clearTimeout),d.clear()}},[]);const o=l.useCallback(d=>{const u=a.current.get(d);u&&(clearTimeout(u),a.current.delete(d)),r(f=>f.filter(p=>p.id!==d))},[]),i=l.useCallback((d,u)=>{const f=s.current++,p=(u==null?void 0:u.variant)??"info",m=(u==null?void 0:u.duration)??Dn;return r(h=>[...h,{id:f,message:d,variant:p}]),m>0&&a.current.set(f,setTimeout(()=>o(f),m)),f},[o]),c=l.useMemo(()=>({show:i,dismiss:o,success:(d,u)=>i(d,{...u,variant:"success"}),error:(d,u)=>i(d,{...u,variant:"danger"}),info:(d,u)=>i(d,{...u,variant:"info"}),warning:(d,u)=>i(d,{...u,variant:"warning"})}),[i,o]);return n.jsxs(ar.Provider,{value:c,children:[e,n.jsx("div",{className:"toast-container position-fixed bottom-0 end-0 p-3 rrc-toast-container",style:{zIndex:1090},children:t.map(d=>n.jsx(ze,{variant:d.variant,dismissible:!0,onDismiss:()=>o(d.id),className:"shadow-sm",children:d.message},d.id))})]})}function An(){const e=l.useContext(ar);if(!e)throw new Error("useToast must be used within a ToastProvider");return e}const or=l.createContext(null);function Tn({children:e}){const[t,r]=l.useState(null),s=l.useCallback(o=>new Promise(i=>{r({...o,resolve:i})}),[]),a=l.useCallback(o=>{t==null||t.resolve(o),r(null)},[t]);return n.jsxs(or.Provider,{value:s,children:[e,n.jsx(bt,{open:t!==null,onClose:()=>a(!1),title:(t==null?void 0:t.title)??"Confirm",footer:n.jsxs(n.Fragment,{children:[n.jsx(Le,{variant:"outline-secondary",onClick:()=>a(!1),children:(t==null?void 0:t.cancelLabel)??"Cancel"}),n.jsx(Le,{variant:(t==null?void 0:t.confirmVariant)??"danger",onClick:()=>a(!0),children:(t==null?void 0:t.confirmLabel)??"Confirm"})]}),children:t==null?void 0:t.message})]})}function Ln(){const e=l.useContext(or);if(!e)throw new Error("useConfirm must be used within a ConfirmProvider");return e}function ir({variant:e="primary",appearance:t="solid",pill:r,className:s,children:a}){return n.jsx("span",{className:j("badge",t==="solid"&&`bg-${e}`,r&&"rounded-pill","rrc-badge",`rrc-badge--${e}`,`rrc-badge--${t}`,s),children:a})}const Pn={sm:"0.875em",lg:"1.5em",xl:"2em"};function We({name:e,size:t,className:r,label:s}){return n.jsx("i",{className:j(e,"rrc-icon",r),style:t?{fontSize:Pn[t]}:void 0,role:s?"img":void 0,"aria-label":s,"aria-hidden":s?void 0:!0})}function On(e){switch(e){case"pill":return"nav-pills";case"underline":return"nav-underline";case"card":return"nav-tabs card-header-tabs";default:return"nav-tabs"}}const Fn={sm:"small",lg:"fs-5"};function Vn({items:e,activeKey:t,defaultActiveKey:r,onChange:s,variant:a="default",orientation:o="horizontal",size:i,stretch:c,className:d}){var g;const[u,f]=X({value:t,defaultValue:r??((g=e[0])==null?void 0:g.key)??"",onChange:s}),p=e.find(N=>N.key===u),m=a==="button",h=o==="vertical",b=l.useRef([]);function w(N,C){var D;const v=e[N];v&&(f(v.key),C&&((D=b.current[N])==null||D.focus()))}function _(N,C){var D;if(e.length===0)return N;let v=N;for(let E=0;E<e.length;E++)if(v=(v+C+e.length)%e.length,!((D=e[v])!=null&&D.disabled))return v;return N}function S(N){var E;const C=e.findIndex(R=>R.key===u),v=h?"ArrowDown":"ArrowRight",D=h?"ArrowUp":"ArrowLeft";if(N.key===v)N.preventDefault(),w(_(C,1),!0);else if(N.key===D)N.preventDefault(),w(_(C,-1),!0);else if(N.key==="Home"){N.preventDefault();const R=e.findIndex(O=>!O.disabled);R>=0&&w(R,!0)}else if(N.key==="End"){N.preventDefault();for(let R=e.length-1;R>=0;R--)if(!((E=e[R])!=null&&E.disabled)){w(R,!0);break}}}const x=n.jsx("div",{className:j(m?"btn-group":"nav","rrc-tabs__list",`rrc-tabs__list--${a}`,!m&&On(a),!m&&h&&"flex-column",!m&&c&&"nav-fill",!m&&i&&Fn[i]),role:"tablist","aria-orientation":o,onKeyDown:S,children:e.map((N,C)=>{const v=N.key===u,D=n.jsxs(n.Fragment,{children:[N.icon&&n.jsx(We,{name:N.icon,size:"sm",className:"me-1"}),N.label,N.badge!=null&&n.jsx(ir,{variant:v&&!m?"primary":"secondary",appearance:"light",pill:!0,className:"ms-2",children:N.badge})]}),E=n.jsx("button",{ref:R=>{b.current[C]=R},type:"button",id:`tab-${N.key}`,className:j(m?j("btn",i?`btn-${i}`:"btn-sm",v?"btn-primary":"btn-outline-primary"):j("nav-link","rrc-tabs__link",v&&"active")),role:"tab","aria-selected":v,"aria-controls":`tabpanel-${N.key}`,tabIndex:v?0:-1,disabled:N.disabled,onClick:()=>w(C,!1),children:D},N.key);return m?E:n.jsx("div",{className:"nav-item",role:"presentation",children:E},N.key)})}),y=(p==null?void 0:p.content)!=null&&n.jsx("div",{id:`tabpanel-${p.key}`,className:j("tab-content","rrc-tabs__panel",!h&&"pt-3"),role:"tabpanel","aria-labelledby":`tab-${p.key}`,children:p.content});return h?n.jsxs("div",{className:j("d-flex align-items-start gap-3","rrc-tabs","rrc-tabs--vertical",d),children:[x,y&&n.jsx("div",{className:"flex-grow-1",children:y})]}):n.jsxs("div",{className:j("rrc-tabs",d),children:[x,y]})}function Bn({items:e,multiple:t=!1,openKeys:r,defaultOpenKeys:s,onChange:a,className:o}){const[i,c]=X({value:r,defaultValue:s??[],onChange:a}),d=new Set(i);function u(f){d.has(f)?c(i.filter(p=>p!==f)):c(t?[...i,f]:[f])}return n.jsx("div",{className:j("accordion","rrc-accordion",o),children:e.map(f=>{const p=d.has(f.key);return n.jsxs("div",{className:"accordion-item rrc-accordion__item",children:[n.jsx("h2",{className:"accordion-header",children:n.jsx("button",{type:"button",className:j("accordion-button","rrc-accordion__button",!p&&"collapsed"),"aria-expanded":p,disabled:f.disabled,onClick:()=>u(f.key),children:f.header})}),p&&n.jsx("div",{className:"accordion-collapse",children:n.jsx("div",{className:"accordion-body rrc-accordion__body",children:f.content})})]},f.key)})})}function yt({content:e,children:t,placement:r="top",className:s,wrapperClassName:a}){const[o,i]=l.useState(!1),c=l.useRef(null),d=l.useId();return n.jsxs("span",{ref:c,className:j("position-relative",a??"d-inline-block"),onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),onFocus:()=>i(!0),onBlur:()=>i(!1),"aria-describedby":o?d:void 0,children:[t,n.jsx(Ee,{open:o,onClose:()=>i(!1),anchorRef:c,className:j("tooltip show",`bs-tooltip-${r}`,"position-absolute","w-auto","rrc-tooltip",s),children:n.jsx("span",{id:d,role:"tooltip",className:"tooltip-inner",children:e})})]})}function Kn({title:e,content:t,children:r,placement:s="bottom",className:a}){const[o,i]=l.useState(!1),c=l.useRef(null);return n.jsxs("span",{ref:c,className:"position-relative d-inline-block",onClick:()=>i(d=>!d),children:[r,n.jsxs(Ee,{open:o,onClose:()=>i(!1),anchorRef:c,className:j("popover show",`bs-popover-${s}`,"position-absolute","w-auto","rrc-popover",a),children:[e&&n.jsx("h3",{className:"popover-header rrc-popover__header",children:e}),n.jsx("div",{className:"popover-body rrc-popover__body",children:t})]})]})}function Me({width:e="100%",height:t="1rem",circle:r,className:s}){return n.jsx("span",{className:j("placeholder-glow d-inline-block","rrc-skeleton",s),style:{width:e,height:t},"aria-hidden":"true",children:n.jsx("span",{className:j("placeholder w-100 h-100 d-block",r&&"rounded-circle")})})}function jt({direction:e="column",gap:t=2,align:r,justify:s,wrap:a,className:o,children:i}){return n.jsx("div",{className:j("d-flex","rrc-stack",e==="row"?"flex-row":"flex-column",`gap-${t}`,r&&`align-items-${r}`,s&&`justify-content-${s}`,a&&"flex-wrap",o),children:i})}const Hn={xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.25rem",xl:"1.5rem"},Un={normal:"fw-normal",medium:"fw-medium",semibold:"fw-semibold",bold:"fw-bold"},zn={default:void 0,muted:"text-body-secondary",primary:"text-primary",success:"text-success",danger:"text-danger",warning:"text-warning",info:"text-info"};function we({as:e,size:t="md",weight:r,tone:s="default",align:a,truncate:o,wrap:i=!0,className:c,children:d}){const u=e??"span";return n.jsx(u,{className:j("rrc-text",r&&Un[r],zn[s],a&&`text-${a}`,o&&"text-truncate",!i&&!o&&"text-nowrap",c),style:{fontSize:Hn[t]},children:d})}function Wn({title:e,subtitle:t,icon:r,avatar:s,actions:a}){return n.jsxs("div",{className:"d-flex align-items-center justify-content-between gap-3 rrc-card__header-row",children:[n.jsxs("div",{className:"d-flex align-items-center gap-3",style:{minWidth:0},children:[s||r&&n.jsx("span",{className:"fs-2 lh-1",children:r}),(e||t)&&n.jsxs("div",{style:{minWidth:0},children:[e&&n.jsx(we,{as:"div",size:"lg",weight:"semibold",truncate:!0,children:e}),t&&n.jsx(we,{as:"div",size:"sm",tone:"muted",truncate:!0,children:t})]})]}),a&&n.jsx("div",{className:"d-flex align-items-center gap-2 flex-shrink-0",children:a})]})}function Gn({title:e,subtitle:t,icon:r,avatar:s,actions:a,header:o,footer:i,loading:c,className:d,children:u}){const p=o??(!!(e||t||r||s||a)?n.jsx(Wn,{title:e,subtitle:t,icon:r,avatar:s,actions:a}):void 0);return n.jsxs("div",{className:j("card","rrc-card",d),children:[p&&n.jsx("div",{className:"card-header rrc-card__header",children:p}),n.jsx("div",{className:"card-body rrc-card__body",children:c?n.jsxs(jt,{gap:2,children:[n.jsx(Me,{height:"1rem",width:"60%"}),n.jsx(Me,{height:"1rem"}),n.jsx(Me,{height:"1rem",width:"80%"})]}):u}),i&&n.jsx("div",{className:"card-footer rrc-card__footer",children:i})]})}function cr({className:e,vertical:t,label:r}){return t?n.jsx("div",{className:j("vr","rrc-divider",e),role:"separator","aria-orientation":"vertical"}):r?n.jsxs("div",{className:j("d-flex align-items-center gap-2 my-3","rrc-divider","rrc-divider--labelled",e),role:"separator",children:[n.jsx("hr",{className:"flex-grow-1 m-0"}),n.jsx("span",{className:"text-body-secondary small",children:r}),n.jsx("hr",{className:"flex-grow-1 m-0"})]}):n.jsx("hr",{className:j("my-3","rrc-divider",e),role:"separator"})}function Yn({fluid:e,className:t,children:r}){return n.jsx("div",{className:j(e?"container-fluid":"container","rrc-container",t),children:r})}function qn({className:e,children:t}){return n.jsx("div",{className:j("row","rrc-row",e),children:t})}function Zn({span:e,sm:t,md:r,lg:s,xl:a,className:o,children:i}){return n.jsx("div",{className:j(e?`col-${e}`:"col","rrc-col",t?`col-sm-${t}`:void 0,r?`col-md-${r}`:void 0,s?`col-lg-${s}`:void 0,a?`col-xl-${a}`:void 0,o),children:i})}function lr({items:e,className:t}){return n.jsx("nav",{"aria-label":"breadcrumb",className:j("rrc-breadcrumb",t),children:n.jsx("ol",{className:"breadcrumb mb-0 rrc-breadcrumb__list",children:e.map((r,s)=>{const a=s===e.length-1,o=!a&&(r.href||r.onClick);return n.jsx("li",{className:j("breadcrumb-item",a&&"active"),"aria-current":a?"page":void 0,children:o?n.jsx("a",{href:r.href??"#",onClick:i=>{var c;r.href||i.preventDefault(),(c=r.onClick)==null||c.call(r)},children:r.label}):r.label},s)})})})}function Jn({items:e,children:t,placement:r="start",className:s}){const[a,o]=l.useState(!1),i=l.useRef(null),c=l.useCallback(()=>o(!1),[]),d=l.useCallback(m=>{var b;const h=e[m];!h||h.disabled||((b=h.onSelect)==null||b.call(h),c())},[e,c]),{activeIndex:u,setActiveIndex:f,handleKeyDown:p}=tt({itemCount:e.length,isOpen:a,onSelect:d,onClose:c});return n.jsxs("span",{ref:i,className:"position-relative d-inline-block",onClick:()=>o(m=>!m),onKeyDown:p,children:[t,n.jsx(Ee,{open:a,onClose:c,anchorRef:i,role:"menu",className:j("dropdown-menu show",r==="end"&&"dropdown-menu-end","rrc-menu",s),children:e.map((m,h)=>n.jsx("button",{type:"button",role:"menuitem",className:j("dropdown-item","rrc-menu__item",h===u&&"active",m.disabled&&"disabled",m.danger&&"text-danger"),disabled:m.disabled,onMouseEnter:()=>f(h),onMouseDown:b=>b.preventDefault(),onClick:b=>{b.stopPropagation(),d(h)},children:m.label},m.key))})]})}function Xn({steps:e,currentStep:t,className:r}){return n.jsx("ol",{className:j("d-flex list-unstyled align-items-center","rrc-stepper",r),children:e.map((s,a)=>{const o=a<t?"complete":a===t?"active":"upcoming",i=a===e.length-1;return n.jsxs("li",{className:j("d-flex align-items-center",!i&&"flex-grow-1"),children:[n.jsxs("div",{className:"d-flex align-items-center gap-2",children:[n.jsx("span",{className:j("d-flex align-items-center justify-content-center rounded-circle flex-shrink-0",o==="complete"?"bg-primary text-white":o==="active"?"border border-primary text-primary":"border text-body-secondary"),style:{width:"2rem",height:"2rem"},"aria-current":o==="active"?"step":void 0,children:o==="complete"?"✓":a+1}),n.jsxs("div",{children:[n.jsx("div",{className:j("small fw-semibold",o==="upcoming"&&"text-body-secondary"),children:s.label}),s.description&&n.jsx("div",{className:"small text-body-secondary",children:s.description})]})]}),!i&&n.jsx("hr",{className:"flex-grow-1 mx-2"})]},s.key)})})}function Qn(e){var a,o;const t=e.trim().split(/\s+/),r=((a=t[0])==null?void 0:a[0])??"",s=t.length>1?((o=t[t.length-1])==null?void 0:o[0])??"":"";return(r+s).toUpperCase()}const es={sm:"1.75rem",md:"2.5rem",lg:"3.5rem"};function ts({src:e,name:t,size:r="md",className:s}){const a=es[r];return e?n.jsx("img",{src:e,alt:t??"",className:j("rounded-circle","rrc-avatar",s),style:{width:a,height:a,objectFit:"cover"}}):n.jsx("span",{className:j("d-inline-flex align-items-center justify-content-center rounded-circle bg-secondary text-white","rrc-avatar","rrc-avatar--initials",s),style:{width:a,height:a,fontSize:`calc(${a} * 0.4)`},role:t?"img":void 0,"aria-label":t,children:t?Qn(t):null})}function rs({variant:e="secondary",appearance:t="solid",onRemove:r,className:s,children:a}){return n.jsxs("span",{className:j("badge d-inline-flex align-items-center gap-1",t==="solid"&&`bg-${e}`,"rrc-tag",`rrc-tag--${e}`,`rrc-tag--${t}`,s),children:[a,r&&n.jsx("button",{type:"button",className:"btn-close btn-close-white",style:{fontSize:"0.55rem"},"aria-label":"Remove",onClick:r})]})}function ns({value:e,defaultValue:t,onChange:r,min:s=0,max:a=100,step:o=1,id:i,name:c,disabled:d,required:u,className:f,label:p,helpText:m,error:h}){const[b,w]=X({value:e,defaultValue:t??s,onChange:r}),_=l.useId(),S=i??_;return n.jsxs(ke,{id:S,label:p,required:u,error:h,helpText:m,className:f,children:[n.jsx("input",{id:S,name:c,type:"range",className:"form-range rrc-range",disabled:d,required:u,min:s,max:a,step:o,value:b,onChange:x=>w(Number(x.target.value))}),n.jsx("div",{className:"small text-body-secondary",children:b})]})}function ss({value:e,defaultValue:t,onChange:r,max:s=5,disabled:a,className:o}){const[i,c]=X({value:e,defaultValue:t??0,onChange:r});return n.jsx("div",{className:j("d-inline-flex gap-1","rrc-rating",o),role:"radiogroup","aria-label":"Rating",children:Array.from({length:s},(d,u)=>u+1).map(d=>n.jsx("button",{type:"button",className:"btn btn-link p-0 border-0 rrc-rating__star",disabled:a,role:"radio","aria-checked":d===i,"aria-label":`${d} star${d>1?"s":""}`,onClick:()=>c(d),children:n.jsx("span",{"aria-hidden":"true",style:{fontSize:"1.25rem",color:d<=i?"#f5b301":"#ced4da"},children:"★"})},d))})}function as({value:e,variant:t="primary",label:r,className:s}){const a=Math.max(0,Math.min(100,e));return n.jsx("div",{className:j("progress","rrc-progress",s),role:"progressbar","aria-valuenow":a,"aria-valuemin":0,"aria-valuemax":100,children:n.jsx("div",{className:j("progress-bar","rrc-progress__bar",`bg-${t}`),style:{width:`${a}%`},children:r?`${Math.round(a)}%`:null})})}function os({brand:e,start:t,end:r,variant:s="light",className:a}){return n.jsx("nav",{className:j("navbar navbar-expand-lg border-bottom","rrc-navbar",s==="dark"?"navbar-dark bg-dark":"navbar-light bg-light",a),children:n.jsxs("div",{className:"container-fluid",children:[e&&n.jsx("span",{className:"navbar-brand mb-0",children:e}),t&&n.jsx("div",{className:"d-flex align-items-center gap-3",children:t}),r&&n.jsx("div",{className:"d-flex align-items-center gap-3 ms-auto",children:r})]})})}const wt=["primary","primaryActive","primaryLight","primaryInverse","primaryRgb","componentActiveColor","componentActiveBg","componentHoverColor","componentHoverBg","componentCheckedColor","componentCheckedBg","menuLinkColorHover","menuLinkColorShow","menuLinkColorHere","menuLinkColorActive"];function dr(e){if(typeof e!="object"||e===null)return!1;const t=e;if(typeof t.id!="string"||t.id.length===0||typeof t.tokens!="object"||t.tokens===null)return!1;const r=t.tokens;return wt.every(s=>typeof r[s]=="string"&&r[s].length>0)}function He(e){const{id:t,primary:r,primaryActive:s,primaryLight:a,primaryInverse:o,primaryRgb:i,swatch:c}=e;return{id:t,...c!==void 0?{swatch:c}:{},tokens:{primary:r,primaryActive:s,primaryLight:a,primaryInverse:o,primaryRgb:i,componentActiveColor:o,componentActiveBg:r,componentHoverColor:s,componentHoverBg:a,componentCheckedColor:o,componentCheckedBg:r,menuLinkColorHover:s,menuLinkColorShow:s,menuLinkColorHere:s,menuLinkColorActive:r}}}const is=[He({id:"blue",primary:"#0d6efd",primaryActive:"#0a58ca",primaryLight:"#cfe2ff",primaryInverse:"#ffffff",primaryRgb:"13, 110, 253"}),He({id:"indigo",primary:"#6610f2",primaryActive:"#520dc2",primaryLight:"#e0cffc",primaryInverse:"#ffffff",primaryRgb:"102, 16, 242"}),He({id:"teal",primary:"#13795b",primaryActive:"#0d503c",primaryLight:"#d2f4ea",primaryInverse:"#ffffff",primaryRgb:"19, 121, 91",swatch:"#20c997"}),He({id:"green",primary:"#198754",primaryActive:"#146c43",primaryLight:"#d1e7dd",primaryInverse:"#ffffff",primaryRgb:"25, 135, 84"})],rt="blue",Ue=new Map(is.map(e=>[e.id,e]));function cs(e){if(!dr(e))throw new Error("[react-components] registerColorScheme() requires a complete token family: "+wt.join(", ")+".");Ue.set(e.id,e)}function ur(e){return Ue.get(e)}function fr(){return[...Ue.values()]}function mr(e){const t=e!==void 0?Ue.get(e):void 0;return t||Ue.get(rt)}function hr(e){const t=e.tokens;return{"--bs-primary":t.primary,"--bs-primary-rgb":t.primaryRgb,"--bs-primary-active":t.primaryActive,"--bs-primary-light":t.primaryLight,"--bs-primary-inverse":t.primaryInverse,"--bs-component-active-color":t.componentActiveColor,"--bs-component-active-bg":t.componentActiveBg,"--bs-component-hover-color":t.componentHoverColor,"--bs-component-hover-bg":t.componentHoverBg,"--bs-component-checked-color":t.componentCheckedColor,"--bs-component-checked-bg":t.componentCheckedBg,"--bs-menu-link-color-hover":t.menuLinkColorHover,"--bs-menu-link-color-show":t.menuLinkColorShow,"--bs-menu-link-color-here":t.menuLinkColorHere,"--bs-menu-link-color-active":t.menuLinkColorActive,"--rrc-primary":t.primary,"--rrc-primary-rgb":t.primaryRgb,"--rrc-primary-active":t.primaryActive,"--rrc-primary-inverse":t.primaryInverse,"--rrc-component-active-color":t.componentActiveColor,"--rrc-component-active-bg":t.componentActiveBg,"--rrc-component-hover-bg":t.componentHoverBg,"--rrc-component-checked-color":t.componentCheckedColor,"--rrc-component-checked-bg":t.componentCheckedBg}}const _t=["light","dark","system"],kt=["compact","grouped"],Nt=["light","dark","auto"],St=l.createContext(void 0);function ls(e){return typeof e=="string"&&_t.includes(e)}function ds(e){return typeof e=="string"&&kt.includes(e)}function us(e){return typeof e=="string"&&Nt.includes(e)}function fs(e,t){let r;try{r=e.getItem(t)}catch{return{}}if(!r)return{};let s;try{s=JSON.parse(r)}catch{return{}}if(typeof s!="object"||s===null)return{};const a=s,o={};return ls(a.mode)&&(o.mode=a.mode),ds(a.sidebarPresentation)&&(o.sidebarPresentation=a.sidebarPresentation),us(a.sidebarTone)&&(o.sidebarTone=a.sidebarTone),typeof a.colorSchemeId=="string"&&ur(a.colorSchemeId)&&(o.colorSchemeId=a.colorSchemeId),o}function ms({children:e,mode:t,defaultMode:r,onModeChange:s,sidebarPresentation:a,defaultSidebarPresentation:o,onSidebarPresentationChange:i,sidebarTone:c,defaultSidebarTone:d,onSidebarToneChange:u,colorSchemeId:f,defaultColorSchemeId:p,onColorSchemeIdChange:m,storage:h,storageKey:b,applyTo:w="none",themeAttribute:_="data-bs-theme"}){const[S,x]=X({value:t,defaultValue:r??"system",onChange:s}),[y,g]=X({value:a,defaultValue:o??"grouped",onChange:i}),[N,C]=X({value:c,defaultValue:d??"auto",onChange:u}),[v,D]=X({value:f,defaultValue:p??rt,onChange:m}),[E,R]=l.useState("light");l.useEffect(()=>{if(typeof window>"u"||typeof window.matchMedia!="function")return;const K=window.matchMedia("(prefers-color-scheme: dark)");R(K.matches?"dark":"light");const V=Z=>R(Z.matches?"dark":"light");if(typeof K.addEventListener=="function")return K.addEventListener("change",V),()=>K.removeEventListener("change",V);if(typeof K.addListener=="function")return K.addListener(V),()=>K.removeListener(V)},[]);const O=h!==void 0&&b!==void 0,[z,H]=l.useState(!1),B={mode:t!==void 0,sidebarPresentation:a!==void 0,sidebarTone:c!==void 0,colorSchemeId:f!==void 0},F=l.useRef(B);F.current=B;const T=l.useRef({setMode:x,setSidebarPresentation:g,setSidebarTone:C,setColorSchemeId:D});T.current={setMode:x,setSidebarPresentation:g,setSidebarTone:C,setColorSchemeId:D},l.useEffect(()=>{if(!O)return;const K=fs(h,b),V=F.current,Z=T.current;K.mode!==void 0&&!V.mode&&Z.setMode(K.mode),K.sidebarPresentation!==void 0&&!V.sidebarPresentation&&Z.setSidebarPresentation(K.sidebarPresentation),K.sidebarTone!==void 0&&!V.sidebarTone&&Z.setSidebarTone(K.sidebarTone),K.colorSchemeId!==void 0&&!V.colorSchemeId&&Z.setColorSchemeId(K.colorSchemeId),H(!0)},[O,h,b]),l.useEffect(()=>{if(!(!O||!z))try{h.setItem(b,JSON.stringify({mode:S,sidebarPresentation:y,sidebarTone:N,colorSchemeId:v}))}catch{}},[O,z,h,b,S,y,N,v]);const $=S==="system"?E:S,L=mr(v),te=l.useMemo(()=>hr(L),[L]);l.useEffect(()=>{if(w==="none"||typeof document>"u")return;const K=w==="body"?document.body:document.documentElement;if(!K)return;const V=K.getAttribute(_);K.setAttribute(_,$);for(const[Z,fe]of Object.entries(te))K.style.setProperty(Z,fe);return()=>{V===null?K.removeAttribute(_):K.setAttribute(_,V);for(const Z of Object.keys(te))K.style.removeProperty(Z)}},[w,_,$,te]);const P=l.useMemo(()=>({"data-bs-theme":$,style:te}),[$,te]),Y=l.useMemo(()=>({mode:S,sidebarPresentation:y,sidebarTone:N,colorSchemeId:v,resolvedTheme:$,systemTheme:E,colorScheme:L,setMode:x,setSidebarPresentation:g,setSidebarTone:C,setColorSchemeId:D,appearanceProps:P}),[S,y,N,v,$,E,L,x,g,C,D,P]);return n.jsx(St.Provider,{value:Y,children:e})}function hs(){const e=l.useContext(St);if(!e)throw new Error("[react-components] useAppearance() must be used inside an <AppearanceProvider>.");return e}function pr(){return l.useContext(St)}function ps({storageKey:e,themeAttribute:t="data-bs-theme",target:r="documentElement",defaultMode:s="system"}){const a=u=>JSON.stringify(u).replace(/</g,"\\u003C"),o=a(e),i=a(t),c=a(s),d=r==="body"?"document.body":"document.documentElement";return"(function(){try{var raw=window.localStorage.getItem("+o+");var mode="+c+";if(raw){var parsed=JSON.parse(raw);if(parsed&&typeof parsed.mode==='string'){mode=parsed.mode;}}var dark=mode==='dark'||(mode==='system'&&window.matchMedia('(prefers-color-scheme: dark)').matches);"+d+".setAttribute("+i+",dark?'dark':'light');}catch(e){}})();"}function br(e){return e.type==="collapsible"||e.type==="group"}function Ct(e){return e.type==="collapsible"||e.type==="group"&&e.collapsible===!0}function Et(e){return"items"in e}function xr(e){return e.map(t=>Et(t)?bs(t):gr(t))}function bs(e){return{type:"group",key:e.key,label:e.label,collapsible:!0,children:e.items.map(gr)}}function gr(e){const t={key:e.key,label:e.label,...e.icon!==void 0?{icon:e.icon}:{},...e.disabled!==void 0?{disabled:e.disabled}:{}},r=e.onClick?()=>{var s;return(s=e.onClick)==null?void 0:s.call(e)}:void 0;return e.href!==void 0?{...t,type:"link",href:e.href,...r?{onSelect:r}:{}}:{...t,type:"action",...r?{onSelect:r}:{}}}function vr(e){return e.filter(Et).filter(t=>t.defaultOpen).map(t=>t.key)}function yr(e){for(const t of e)if(Et(t)){const r=t.items.find(s=>s.active);if(r)return r.key}else if(t.active)return t.key}function xs(e){const t=new Map,r=[],s=[];function a(i,c,d){const u=[];for(const f of i){const p={item:f,key:f.key,depth:c,ancestors:d,children:[]};t.has(f.key)?s.push(f.key):(t.set(f.key,p),r.push(f.key)),br(f)&&(p.children=a(f.children,c+1,[...d,f.key])),u.push(p)}return u}return{roots:a(e,0,[]),byKey:t,order:r,duplicateKeys:s}}function Ae(e,t){const r=new Set(t),s=e.filter(o=>r.has(o)),a=new Set(s);for(const o of r)a.has(o)||s.push(o);return s}function gs(e,t,r,s){const a=e.byKey.get(r),o=new Set(t);if(o.has(r)){if(o.delete(r),a)for(const i of jr(a))o.delete(i);return Ae(e.order,o)}if(s==="single"){const i=new Set(a?a.ancestors:[]);return i.add(r),Ae(e.order,i)}if(o.add(r),a)for(const i of a.ancestors)o.add(i);return Ae(e.order,o)}function Lt(e,t,r,s){if(r.length===0)return Ae(e.order,new Set(t));if(s==="single")return Ae(e.order,new Set(r));const a=new Set(t);for(const o of r)a.add(o);return Ae(e.order,a)}function vs(e,t){return e.length===t.length&&e.every((r,s)=>r===t[s])}function jr(e){const t=[];for(const r of e.children)t.push(r.key),t.push(...jr(r));return t}function wr(e,t){var r;return t===void 0?[]:((r=e.byKey.get(t))==null?void 0:r.ancestors)??[]}function Pt(e,t){return wr(e,t).filter(r=>{const s=e.byKey.get(r);return s!==void 0&&Ct(s.item)})}const ys=typeof document<"u"?l.useLayoutEffect:l.useEffect,js=Symbol("unresolved-active-key");function ws(e){if(e.type!=="divider")return e.ariaLabel!==void 0?e.ariaLabel:typeof e.label=="string"?e.label:void 0}function _s(e,t){return`${e}-${t.replace(/[^A-Za-z0-9_-]/g,"_")}`}function at({node:e,expandable:t}){const r=e.item;return r.type==="divider"?null:n.jsxs(n.Fragment,{children:[r.icon!==void 0&&n.jsx("span",{className:"rrc-sidebar__icon","aria-hidden":"true",children:r.icon}),n.jsx("span",{className:"rrc-sidebar__label",children:r.label}),r.badge!==void 0&&n.jsx("span",{className:"rrc-sidebar__badge",children:r.badge}),t&&n.jsx("span",{className:"rrc-sidebar__arrow","aria-hidden":"true"})]})}function ot({name:e,children:t}){return e===void 0?n.jsx(n.Fragment,{children:t}):n.jsx(yt,{content:e,placement:"bottom",wrapperClassName:"rrc-sidebar__tooltip",children:t})}function ks(e){if(!e)return;const t=e.getBoundingClientRect(),r=(e.closest(".rrc-sidebar")??e).getBoundingClientRect(),s=getComputedStyle(e).direction==="rtl",a=document.documentElement.clientWidth;e.style.setProperty("--rrc-rail-tip-block-start",`${Math.round(t.top+t.height/2)}px`),e.style.setProperty("--rrc-rail-tip-inline-start",`${Math.round(s?a-r.left:r.right)}px`)}function it(e){if(!e)return{};const t=r=>ks(r.currentTarget);return{onPointerEnter:t,onFocusCapture:t}}function Xe({node:e,ctx:t}){const r=e.item,s=l.useRef(null),[a,o]=l.useState(!1),i=l.useCallback(()=>o(!1),[]);if(ys(()=>{const y=s.current;if(!a||!y)return;const g=()=>{const N=y.getBoundingClientRect(),C=(y.closest(".rrc-sidebar")??y).getBoundingClientRect(),v=getComputedStyle(y).direction==="rtl",D=document.documentElement.clientWidth;y.style.setProperty("--rrc-flyout-block-start",`${Math.round(N.top)}px`),y.style.setProperty("--rrc-flyout-inline-start",`${Math.round(v?D-C.left:C.right)}px`)};return g(),window.addEventListener("scroll",g,!0),window.addEventListener("resize",g),()=>{window.removeEventListener("scroll",g,!0),window.removeEventListener("resize",g)}},[a]),r.type==="divider")return n.jsx("li",{role:"none",className:j("rrc-sidebar__divider",r.className),children:n.jsx(cr,{className:"my-1"})});const c={"--rrc-sidebar-depth":String(Math.max(0,e.depth-t.depthOffset))},d=ws(r),u=t.activeKey===r.key,f=t.activeAncestors.has(r.key),p=Ct(r),m=p&&t.expanded.has(r.key),h=_s(t.idPrefix,r.key),b=j("rrc-sidebar__row",u&&"rrc-sidebar__row--active",f&&"rrc-sidebar__row--active-ancestor",r.disabled&&"rrc-sidebar__row--disabled",r.className);if(r.type==="link"){const y=C=>{if(r.disabled){C.preventDefault();return}t.select(r,C)},g={item:r,href:r.href,className:j(b,"rrc-sidebar__row--link"),style:c,children:n.jsx(at,{node:e,expandable:!1}),onClick:y,"aria-current":u?"page":void 0,"aria-disabled":r.disabled?!0:void 0,"aria-label":t.collapsed?d:void 0,"data-active-ancestor":f?"true":void 0,target:r.target,rel:r.rel},N=t.renderLink?t.renderLink(g):n.jsx("a",{href:g.href,className:g.className,style:g.style,onClick:g.onClick,"aria-current":g["aria-current"],"aria-disabled":g["aria-disabled"],"aria-label":g["aria-label"],"data-active-ancestor":g["data-active-ancestor"],target:g.target,rel:g.rel,children:g.children});return n.jsx("li",{className:"rrc-sidebar__item",...it(t.collapsed),children:t.collapsed?n.jsx(ot,{name:d,children:N}):N})}if(r.type==="action"){const y=n.jsx("button",{type:"button",className:j(b,"rrc-sidebar__row--action"),style:c,disabled:r.disabled,"aria-label":t.collapsed?d:void 0,"data-active-ancestor":f?"true":void 0,"data-active":u?"true":void 0,onClick:g=>t.select(r,g),children:n.jsx(at,{node:e,expandable:!1})});return n.jsx("li",{className:"rrc-sidebar__item",...it(t.collapsed),children:t.collapsed?n.jsx(ot,{name:d,children:y}):y})}if(!p){const y=`${h}-title`;return n.jsxs("li",{className:j("rrc-sidebar__item","rrc-sidebar__group",r.className),children:[n.jsxs("div",{className:"rrc-sidebar__group-title",id:y,style:c,children:[r.icon!==void 0&&n.jsx("span",{className:"rrc-sidebar__icon","aria-hidden":"true",children:r.icon}),n.jsx("span",{className:"rrc-sidebar__label",children:r.label}),r.badge!==void 0&&n.jsx("span",{className:"rrc-sidebar__badge",children:r.badge})]}),n.jsx("ul",{className:"rrc-sidebar__menu rrc-sidebar__submenu","aria-labelledby":y,children:e.children.map(g=>n.jsx(Xe,{node:g,ctx:{...t,depthOffset:t.depthOffset+1}},g.key))})]})}const w=n.jsx("ul",{className:"rrc-sidebar__menu rrc-sidebar__submenu",id:h,children:e.children.map(y=>n.jsx(Xe,{node:y,ctx:t},y.key))}),_=t.collapsed,S=()=>{r.disabled||(_?o(y=>!y):t.toggle(r.key))},x=n.jsx("button",{type:"button",className:j(b,"rrc-sidebar__row--toggle",r.type==="group"&&"rrc-sidebar__row--group-toggle"),style:c,disabled:r.disabled,"aria-expanded":_?a:m,"aria-controls":h,"aria-label":t.collapsed?d:void 0,"data-active-ancestor":f?"true":void 0,onClick:S,children:n.jsx(at,{node:e,expandable:!0})});return n.jsxs("li",{ref:s,className:j("rrc-sidebar__item",_&&"rrc-sidebar__item--flyout-anchor"),...it(t.collapsed),children:[_?n.jsx(ot,{name:d,children:x}):x,_?n.jsx(Ee,{open:a,onClose:i,anchorRef:s,className:"rrc-sidebar__flyout",children:n.jsx("ul",{className:"rrc-sidebar__menu rrc-sidebar__submenu",id:h,children:e.children.map(y=>n.jsx(Xe,{node:y,ctx:{...t,collapsed:!1,depthOffset:e.depth+1}},y.key))})}):m&&w]})}function Ns({collapsed:e,toggle:t,label:r}){return n.jsx("button",{type:"button",className:"rrc-sidebar__collapse-btn","aria-label":r,onClick:t,children:n.jsx("svg",{className:j("rrc-sidebar__collapse-icon",e&&"rrc-sidebar__collapse-icon--collapsed"),viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",children:n.jsx("path",{d:"M14.5 6.5 9 12l5.5 5.5"})})})}function Ss({items:e,sections:t,variant:r,tone:s,activeKey:a,expandActivePath:o=!1,activePathExpansion:i,expandedKeys:c,defaultExpandedKeys:d,onExpandedKeysChange:u,expandMode:f="multiple",collapsed:p,defaultCollapsed:m,onCollapsedChange:h,collapsible:b=!1,renderCollapseControl:w,collapseLabel:_="Collapse sidebar",expandLabel:S="Expand sidebar",mobileOpen:x,defaultMobileOpen:y,onMobileOpenChange:g,mobileLabel:N,closeMobileOnSelect:C=!0,header:v,footer:D,collapsedFooter:E,className:R,navLabel:O,onSelect:z,renderLink:H}){const B=pr(),F=t??[],T=l.useMemo(()=>e!==void 0?e:xr(F),[e,t]),$=l.useMemo(()=>xs(T),[T]),L=$.duplicateKeys.join(", ");l.useEffect(()=>{process.env.NODE_ENV!=="production"&&L.length>0&&console.error("[react-components] Sidebar received duplicate item keys: "+L+". Keys must be unique and stable: expansion and active state are keyed by them, so every duplicate shares one identity and the first occurrence in tree order defines it.")},[L]);const te=l.useMemo(()=>vr(F),[t]),P=a??(e===void 0?yr(F):void 0),Y=i??(o?"on-active-change":"never"),K=l.useRef(null);if(K.current===null){const k=d??te;K.current=Y==="never"?k:Lt($,k,Pt($,P),f)}const[V,Z]=X({value:c,defaultValue:K.current,onChange:u}),[fe,me]=X({value:p,defaultValue:m??!1,onChange:h}),[ae,re]=X({value:x,defaultValue:y??!1,onChange:g}),ne=P,ce=l.useMemo(()=>new Set(wr($,ne)),[$,ne]),M=l.useMemo(()=>{const k=new Set(V);if(Y==="always")for(const I of ce)k.add(I);return k},[V,Y,ce]),U=l.useRef(V);U.current=V;const q=l.useRef(js);l.useEffect(()=>{if(Y!=="on-active-change"){q.current=ne;return}if(q.current===ne)return;q.current=ne;const k=Pt($,ne);if(k.length===0)return;const I=Lt($,U.current,k,f);vs(I,U.current)||Z(I)},[Y,ne,$,f,Z]);const A=l.useCallback(k=>Z(gs($,V,k,f)),[$,V,f,Z]),W=l.useCallback(()=>re(!1),[re]);et(ae,W);const Q=l.useRef(null);l.useEffect(()=>{if(typeof document>"u")return;if(ae){Q.current=document.activeElement;return}const k=Q.current;Q.current=null,k instanceof HTMLElement&&k.isConnected&&k.focus()},[ae]);const ie=l.useCallback((k,I)=>{var J;k.disabled||((J=k.onSelect)==null||J.call(k,k,I),z==null||z(k,I),C&&ae&&re(!1))},[z,C,ae,re]),oe=l.useId(),se=r??(B==null?void 0:B.sidebarPresentation)??"grouped",ee=s??(B==null?void 0:B.sidebarTone)??"auto",le=fe&&!ae,he=l.useMemo(()=>({variant:se,collapsed:le,expanded:M,activeKey:ne,activeAncestors:ce,toggle:A,select:ie,renderLink:H,idPrefix:oe,depthOffset:0}),[se,le,M,ne,ce,A,ie,H,oe]),de={collapsed:fe,toggle:()=>me(!fe),label:fe?S:_},G=le?E:D,ue=n.jsxs("aside",{className:j("rrc-sidebar",`rrc-sidebar--${se}`,le?"rrc-sidebar--collapsed":"rrc-sidebar--expanded",ae&&"rrc-sidebar--mobile-open",R),"data-variant":se,"data-collapsed":le?"true":"false","data-bs-theme":ee==="auto"?void 0:ee,...ae?{role:"dialog","aria-modal":!0,"aria-label":N??O}:{},children:[n.jsxs("div",{className:"rrc-sidebar__panel",children:[(v!==void 0||b)&&n.jsx("div",{className:"rrc-sidebar__header",children:v!==void 0&&n.jsx("div",{className:"rrc-sidebar__brand",children:v})}),n.jsx("nav",{className:"rrc-sidebar__body","aria-label":O,children:n.jsx("ul",{className:"rrc-sidebar__menu rrc-sidebar__menu--root",children:$.roots.map(k=>n.jsx(Xe,{node:k,ctx:he},k.key))})}),G!==void 0&&n.jsx("div",{className:"rrc-sidebar__footer",children:G})]}),b&&n.jsx("div",{className:"rrc-sidebar__collapse",children:w?w(de):n.jsx(Ns,{...de})})]});return ae?n.jsxs("div",{className:"rrc-sidebar-drawer",children:[n.jsx("div",{className:"rrc-sidebar-drawer__backdrop",onClick:W,"data-testid":"rrc-sidebar-backdrop"}),ue]}):ue}function Cs({title:e,description:t,breadcrumbItems:r,actions:s,className:a}){return n.jsxs("div",{className:j("mb-4","rrc-page-header",a),children:[r&&r.length>0&&n.jsx(lr,{items:r,className:"mb-2 rrc-page-header__breadcrumb"}),n.jsxs("div",{className:"d-flex align-items-start justify-content-between gap-3 flex-wrap rrc-page-header__row",children:[n.jsxs("div",{children:[n.jsx("h1",{className:"h3 mb-1 rrc-page-header__title",children:e}),t&&n.jsx("p",{className:"text-body-secondary mb-0 rrc-page-header__description",children:t})]}),s&&n.jsx("div",{className:"d-flex align-items-center gap-2 rrc-page-header__actions",children:s})]})]})}const Es={xs:1,sm:2,md:3,lg:4,xl:5};function Ms(e){return typeof e=="number"?e:Es[e]}function Is({direction:e="row",gap:t="sm",grow:r,shrink:s,fullWidth:a,className:o,...i}){return n.jsx(jt,{direction:e,gap:Ms(t),className:j("rrc-flex",r&&"flex-grow-1",s&&"flex-shrink-0",a&&"w-100",o),...i})}function ge({icon:e,"aria-label":t,iconSize:r,tooltip:s,variant:a="light",loading:o,className:i,...c}){const d=n.jsx(Le,{variant:a,loading:o,className:j("btn-icon","rrc-btn-icon",i),"aria-label":t,...c,children:!o&&n.jsx(We,{name:e,size:r})});return s?n.jsx(yt,{content:s,children:d}):d}function Rs({leading:e,title:t,description:r,trailing:s,onClick:a,disabled:o,dense:i,className:c}){const d=n.jsxs(n.Fragment,{children:[e&&n.jsx("span",{className:"flex-shrink-0 d-inline-flex align-items-center rrc-list-item__leading",children:e}),n.jsxs("span",{className:"flex-grow-1",style:{minWidth:0},children:[n.jsx("span",{className:"d-block text-truncate rrc-list-item__title",children:t}),r&&n.jsx("span",{className:"d-block text-truncate small text-body-secondary rrc-list-item__description",children:r})]}),s&&n.jsx("span",{className:"flex-shrink-0 d-inline-flex align-items-center rrc-list-item__trailing",children:s})]}),u=j("d-flex align-items-center text-start","rrc-list-item",a&&"rrc-list-item--interactive",i?"gap-2 py-1":"gap-3 py-2",a&&"w-100 border-0 bg-transparent",o&&"opacity-50",c);return a?n.jsx("button",{type:"button",className:u,onClick:a,disabled:o,children:d}):n.jsx("div",{className:u,"aria-disabled":o||void 0,children:d})}function Ds(e,t,r,s){if(e.length===0)return[];const a=Math.min(...e),i=Math.max(...e)-a||1,c=t-s*2,d=r-s*2,u=e.length>1?c/(e.length-1):0;return e.map((f,p)=>{const m=s+u*p,h=s+d-(f-a)/i*d;return[m,h]})}function $s({type:e,data:t,width:r,height:s,strokeWidth:a}){const o=a,i=Ds(t,r,s,o);if(i.length===0)return null;const c=i.map(([d,u])=>`${d},${u}`).join(" ");return n.jsxs(n.Fragment,{children:[e==="area"&&n.jsx("polygon",{points:`${o},${s-o} ${c} ${r-o},${s-o}`,fill:"currentColor",opacity:.2,stroke:"none"}),n.jsx("polyline",{points:c,fill:"none",stroke:"currentColor",strokeWidth:a,strokeLinecap:"round",strokeLinejoin:"round"})]})}function As({data:e,width:t,height:r}){if(e.length===0)return null;const s=Math.min(0,...e),o=Math.max(0,...e)-s||1,i=2,c=Math.max((t-i*(e.length-1))/e.length,1);return n.jsx(n.Fragment,{children:e.map((d,u)=>{const f=Math.max((d-s)/o*r,1),p=u*(c+i),m=r-f;return n.jsx("rect",{x:p,y:m,width:c,height:f,rx:1,fill:"currentColor"},u)})})}function Ts({type:e="line",data:t,tone:r="primary",width:s=80,height:a=28,strokeWidth:o=2,className:i,label:c}){return n.jsx("svg",{width:s,height:a,viewBox:`0 0 ${s} ${a}`,className:j(`text-${r}`,"rrc-sparkline",i),role:c?"img":void 0,"aria-label":c,"aria-hidden":c?void 0:!0,children:e==="bar"?n.jsx(As,{data:t,width:s,height:a}):n.jsx($s,{type:e,data:t,width:s,height:a,strokeWidth:o})})}const Ls={up:"success",down:"danger",neutral:"muted"},Ps={up:"bi bi-arrow-up-short",down:"bi bi-arrow-down-short",neutral:"bi bi-dash"};function Os(e,t){return typeof e=="number"&&t!=null?e.toFixed(t):String(e)}function Fs({label:e,value:t,prefix:r,suffix:s,precision:a,trend:o,delta:i,loading:c,className:d}){return n.jsxs("div",{className:j("d-flex flex-column gap-1","rrc-statistic",d),children:[n.jsx(we,{size:"sm",tone:"muted",children:e}),c?n.jsx(Me,{height:"1.75rem",width:"60%"}):n.jsxs("div",{className:"d-flex align-items-baseline gap-1",children:[r&&n.jsx(we,{size:"lg",weight:"semibold",children:r}),n.jsx(we,{size:"xl",weight:"bold",children:Os(t,a)}),s&&n.jsx(we,{size:"lg",weight:"semibold",children:s})]}),!c&&(o||i!=null)&&n.jsxs(we,{size:"sm",tone:o?Ls[o]:"muted",className:"d-inline-flex align-items-center gap-1",children:[o&&n.jsx(We,{name:Ps[o],size:"sm"}),i]})]})}function _r({loading:e,error:t,emptyMessage:r,height:s}){return e?n.jsx("div",{className:"rrc-chart__status",style:{height:s},"aria-busy":"true",children:n.jsx(Me,{height:"100%",width:"100%"})}):t?n.jsx("div",{className:"rrc-chart__status",style:{height:s},children:n.jsx(ze,{variant:"danger",className:"mb-0 h-100 d-flex align-items-center",children:t})}):n.jsx("div",{className:j("rrc-chart__status","rrc-chart__empty"),style:{height:s},children:r??"No data to display"})}function kr(){const e=l.useRef(null),[t,r]=l.useState(0),s=()=>{var o;const a=((o=e.current)==null?void 0:o.clientWidth)??0;r(i=>i===a?i:a)};return xt(s,[]),gt(e,!0,s),{containerRef:e,width:t}}function Nr({title:e,height:t=320,loading:r,error:s,emptyMessage:a,disabled:o,className:i,animate:c=!0,"aria-label":d,isEmpty:u,legend:f,summary:p,children:m}){const{containerRef:h,width:b}=kr(),w=l.useId(),_=r||!!s||u;return n.jsxs("div",{className:j("rrc-chart",!c&&"rrc-chart--no-animate",i),children:[e&&n.jsx("div",{className:"rrc-chart__title",children:e}),n.jsx("div",{ref:h,className:j("rrc-chart__surface",o&&"rrc-chart__surface--disabled"),style:{height:t},role:"group","aria-label":d??e,"aria-describedby":p?w:void 0,"aria-busy":r||void 0,children:_?n.jsx(_r,{loading:r,error:s,emptyMessage:a,height:t}):b>0&&m({width:b,height:t})}),!_&&f,p&&n.jsx("div",{id:w,className:"visually-hidden",children:p})]})}const Vs=5;function $e(e,t,r){return t||(r&&r.length>0?r[e%r.length]:`var(--rrc-chart-${e%Vs+1})`)}function Bs(e,t){return e.map((r,s)=>$e(s,r.color,t))}function Mt({items:e,onToggle:t,className:r}){return n.jsx("ul",{className:j("rrc-chart-legend",r),role:"list",children:e.map(s=>n.jsx("li",{className:"rrc-chart-legend__item",children:t?n.jsxs("button",{type:"button",className:j("rrc-chart-legend__button",s.hidden&&"rrc-chart-legend__button--hidden"),"aria-pressed":!s.hidden,onClick:()=>t(s.key),children:[n.jsx("span",{className:"rrc-chart-legend__swatch",style:{backgroundColor:s.color},"aria-hidden":"true"}),s.label]}):n.jsxs("span",{className:"rrc-chart-legend__label",children:[n.jsx("span",{className:"rrc-chart-legend__swatch",style:{backgroundColor:s.color},"aria-hidden":"true"}),s.label]})},s.key))})}function Ks(e,t,r){const s=Bs(e,t);return e.map((a,o)=>({key:a.key,label:a.label,color:s[o],hidden:r.has(a.key)}))}function Sr({payload:e,className:t}){return n.jsxs("div",{className:j("rrc-chart__tooltip",t),children:[n.jsx("div",{className:"rrc-chart__tooltip-title",children:e.label}),e.items.map(r=>n.jsxs("div",{className:"rrc-chart__tooltip-row",children:[n.jsx("span",{className:"rrc-chart__tooltip-swatch",style:{backgroundColor:r.color},"aria-hidden":"true"}),n.jsx("span",{className:"rrc-chart__tooltip-label",children:r.label}),n.jsx("span",{className:"rrc-chart__tooltip-value",children:r.value})]},r.key))]})}function Hs(e,t){const[r,s]=e,[a,o]=t,i=s-r||1;return c=>a+(c-r)/i*(o-a)}function Us(e,t,r=5){e===t&&(e-=1,t+=1);const a=(t-e)/Math.max(r,1),o=Math.pow(10,Math.floor(Math.log10(a))),i=a/o,c=i>5?10*o:i>2?5*o:i>1?2*o:o,d=Math.floor(e/c)*c,u=Math.ceil(t/c)*c,f=[];for(let p=d;p<=u+c*.5;p+=c)f.push(Math.round(p/c)*c);return f}function zs(e,t,r=.2){if(e<=0)return{bandWidth:t,offset:()=>0};const s=t/e,a=s*(1-r),o=(s-a)/2;return{bandWidth:a,offset:i=>i*s+o}}function Ws(e){const t=new Intl.NumberFormat(e,{maximumFractionDigits:2});return r=>t.format(r)}const Re={top:16,right:16,bottom:32,left:48};function Ne(e){return e==null?0:e instanceof Date?e.getTime():typeof e=="number"?e:Number(e)||0}function Be(e,t){return t?t(e):e instanceof Date?e.toLocaleDateString():String(e)}function nt({kind:e,title:t,data:r,xKey:s,series:a,height:o=320,loading:i,error:c,emptyMessage:d,disabled:u,showLegend:f=!0,showTooltip:p=!0,showGrid:m=!0,showDataLabels:h=!1,animate:b=!0,xAxisLabel:w,yAxisLabel:_,xFormatter:S,yFormatter:x,orientation:y="vertical",stacked:g=!1,colors:N,className:C,onDataPointClick:v,onLegendItemClick:D,locale:E,"aria-label":R}){const{containerRef:O,width:z}=kr(),H=l.useId(),B=l.useId(),[F,T]=l.useState(()=>new Set(a.filter(k=>k.hidden).map(k=>k.key))),[$,L]=l.useState(-1),te=l.useMemo(()=>a.filter(k=>!F.has(k.key)),[a,F]),P=l.useMemo(()=>x??Ws(E),[x,E]),Y=r.length===0||a.length===0,K=z===0,V=i||!!c||Y||K,Z=k=>{T(I=>{const J=new Set(I),pe=!J.has(k);return pe?J.add(k):J.delete(k),D==null||D(k,pe),J})},fe=a.map((k,I)=>({key:k.key,label:k.label,color:$e(I,k.color,N),hidden:F.has(k.key)})),me=Math.max(z-Re.left-Re.right,0),ae=Math.max(o-Re.top-Re.bottom,0),re=e==="bar"&&y==="horizontal",{bandWidth:ne,offset:ce}=zs(r.length,re?ae:me,e==="bar"?.3:0),M=r.flatMap(k=>te.map(I=>Ne(k[I.key]))),U=e==="bar"&&g?r.map(k=>te.reduce((I,J)=>I+Math.max(Ne(k[J.key]),0),0)):[],q=e==="bar"&&g?U:M,A=Math.min(0,...q,0),W=Math.max(0,...q,1),Q=Us(A,W,4),ie=Q[0]??A,oe=Q[Q.length-1]??W,se=Hs([ie,oe],re?[0,me]:[ae,0]),ee=se(0),le=p&&$>=0&&r[$]?{label:Be(r[$][s],S),items:te.map((k,I)=>{const J=Ne(r[$][k.key]),pe=k.valueFormatter??P;return{key:k.key,label:k.label,value:pe(J),color:$e(a.indexOf(k),k.color,N)}})}:null,he=k=>{for(const I of te)v==null||v({seriesKey:I.key,datum:r[k],value:Ne(r[k][I.key]),index:k})},de=(k,I)=>{if(!u)switch(k.key){case"ArrowRight":k.preventDefault(),L(Math.min(I+1,r.length-1));break;case"ArrowLeft":k.preventDefault(),L(Math.max(I-1,0));break;case"Home":k.preventDefault(),L(0);break;case"End":k.preventDefault(),L(r.length-1);break;case"Enter":case" ":k.preventDefault(),he(I);break}},G=k=>{const I=r[k],J=te.map(pe=>{const be=pe.valueFormatter??P;return`${pe.label} ${be(Ne(I[pe.key]))}`});return`${Be(I[s],S)}: ${J.join(", ")}`};function ue(){if(e==="line"||e==="area")return te.map((I,J)=>{var ve,ye;const pe=$e(a.indexOf(I),I.color,N),be=r.map((_e,xe)=>{const je=ce(xe)+ne/2,qe=se(Ne(_e[I.key]));return[je,qe]}),Ie=be.map(([_e,xe])=>`${_e},${xe}`).join(" ");return n.jsxs("g",{children:[e==="area"&&n.jsx("polygon",{className:j("rrc-chart__mark","rrc-chart__area",b&&"rrc-chart__mark--animate"),points:`${((ve=be[0])==null?void 0:ve[0])??0},${ee} ${Ie} ${((ye=be[be.length-1])==null?void 0:ye[0])??0},${ee}`,fill:pe,opacity:.18,stroke:"none"}),n.jsx("polyline",{className:j("rrc-chart__mark","rrc-chart__line",b&&"rrc-chart__mark--animate"),points:Ie,fill:"none",stroke:pe,strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),be.map(([_e,xe],je)=>n.jsx("circle",{cx:_e,cy:xe,r:$===je?5:3,fill:pe,className:"rrc-chart__point",onClick:()=>v==null?void 0:v({seriesKey:I.key,datum:r[je],value:Ne(r[je][I.key]),index:je})},je)),h&&be.map(([_e,xe],je)=>n.jsx("text",{x:_e,y:xe-8,textAnchor:"middle",className:"rrc-chart__data-label",children:(I.valueFormatter??P)(Ne(r[je][I.key]))},je))]},I.key)});const k=new Array(r.length).fill(0);return te.map((I,J)=>{const pe=$e(a.indexOf(I),I.color,N),be=g?ne:ne/Math.max(te.length,1);return n.jsx("g",{children:r.map((Ie,ve)=>{const ye=Ne(Ie[I.key]),_e=ce(ve);if(re){const st=Math.abs(se(ye)-ee),tn=g?k[ve]:_e+J*be,rn=ye>=0?ee:ee-st;return g&&(k[ve]+=st),n.jsx("rect",{x:rn,y:tn,width:st,height:Math.max(be,1),fill:pe,rx:2,className:j("rrc-chart__mark","rrc-chart__bar",b&&"rrc-chart__mark--animate"),onClick:()=>v==null?void 0:v({seriesKey:I.key,datum:Ie,value:ye,index:ve})},ve)}const xe=Math.abs(se(ye)-ee),je=g?_e:_e+J*be,qe=g?k[ve]-(ye>=0?xe:0):ye>=0?ee-xe:ee;return g&&(k[ve]+=ye>=0?-xe:xe),n.jsx("rect",{x:je,y:g?ye>=0?qe:ee:qe,width:Math.max(be,1),height:xe,fill:pe,rx:2,className:j("rrc-chart__mark","rrc-chart__bar",b&&"rrc-chart__mark--animate"),onClick:()=>v==null?void 0:v({seriesKey:I.key,datum:Ie,value:ye,index:ve})},ve)})},I.key)})}return n.jsxs("div",{className:j("rrc-chart",u&&"rrc-chart--disabled",C),"aria-disabled":u||void 0,children:[t&&n.jsx("div",{id:H,className:"rrc-chart__title",children:t}),n.jsx("div",{ref:O,className:"rrc-chart__canvas",style:{height:o},role:"group","aria-labelledby":t?H:void 0,"aria-label":t?void 0:R??"Chart",children:V?n.jsx(_r,{loading:i||K,error:c,emptyMessage:d,height:o}):n.jsxs(n.Fragment,{children:[n.jsx("svg",{width:"100%",height:o,viewBox:`0 0 ${z} ${o}`,children:n.jsxs("g",{transform:`translate(${Re.left},${Re.top})`,children:[m&&Q.map(k=>{const I=re?void 0:se(k),J=re?se(k):void 0;return re?n.jsx("line",{x1:J,x2:J,y1:0,y2:ae,className:"rrc-chart__grid-line"},k):n.jsx("line",{x1:0,x2:me,y1:I,y2:I,className:"rrc-chart__grid-line"},k)}),!re&&Q.map(k=>n.jsx("text",{x:-8,y:se(k),textAnchor:"end",dominantBaseline:"middle",className:"rrc-chart__axis-label",children:P(k)},k)),re&&Q.map(k=>n.jsx("text",{x:se(k),y:ae+16,textAnchor:"middle",className:"rrc-chart__axis-label",children:P(k)},k)),!re&&r.map((k,I)=>n.jsx("text",{x:ce(I)+ne/2,y:ae+16,textAnchor:"middle",className:"rrc-chart__axis-label",children:Be(k[s],S)},I)),re&&r.map((k,I)=>n.jsx("text",{x:-8,y:ce(I)+ne/2,textAnchor:"end",dominantBaseline:"middle",className:"rrc-chart__axis-label",children:Be(k[s],S)},I)),ue(),r.map((k,I)=>n.jsx("rect",{x:re?0:ce(I),y:re?ce(I):0,width:re?me:ne,height:re?ne:ae,fill:"transparent",role:"button",tabIndex:u?-1:I===Math.max($,0)?0:-1,"aria-label":G(I),"aria-describedby":p&&$===I?B:void 0,className:"rrc-chart__column-target",onFocus:()=>L(I),onMouseEnter:()=>L(I),onMouseLeave:()=>L(-1),onKeyDown:J=>de(J,I),onClick:()=>he(I)},I))]})}),p&&le&&n.jsx("div",{id:B,role:"tooltip",children:n.jsx(Sr,{payload:le})})]})}),(w||_)&&n.jsxs("div",{className:"rrc-chart__axis-titles",children:[_&&n.jsx("span",{className:"rrc-chart__axis-title rrc-chart__axis-title--y",children:_}),w&&n.jsx("span",{className:"rrc-chart__axis-title rrc-chart__axis-title--x",children:w})]}),f&&!Y&&n.jsx(Mt,{items:fe,onToggle:Z}),n.jsxs("table",{className:"visually-hidden",children:[n.jsx("caption",{children:t??"Chart data"}),n.jsx("thead",{children:n.jsxs("tr",{children:[n.jsx("th",{scope:"col",children:w??s}),a.map(k=>n.jsx("th",{scope:"col",children:k.label},k.key))]})}),n.jsx("tbody",{children:r.map((k,I)=>n.jsxs("tr",{children:[n.jsx("th",{scope:"row",children:Be(k[s],S)}),a.map(J=>n.jsx("td",{children:(J.valueFormatter??P)(Ne(k[J.key]))},J.key))]},I))})]})]})}function Gs(e){return n.jsx(nt,{...e,kind:"line"})}function Ys(e){return n.jsx(nt,{...e,kind:"area"})}function qs(e){return n.jsx(nt,{...e,kind:"bar",stacked:!1})}function Zs(e){return n.jsx(nt,{...e,kind:"bar",stacked:!0})}function Js({items:e}){return n.jsxs("table",{children:[n.jsx("caption",{children:"Chart data"}),n.jsx("thead",{children:n.jsxs("tr",{children:[n.jsx("th",{scope:"col",children:"Category"}),n.jsx("th",{scope:"col",children:"Value"})]})}),n.jsx("tbody",{children:e.map((t,r)=>n.jsxs("tr",{children:[n.jsx("th",{scope:"row",children:t.label}),n.jsx("td",{children:t.value})]},r))})]})}function Xs({count:e,disabled:t,onActivate:r,onSelect:s}){const[a,o]=l.useState(-1),i=l.useCallback(u=>{o(u),u>=0&&(r==null||r(u))},[r]),c=l.useCallback(()=>o(-1),[]),d=l.useCallback(u=>{if(!(t||e===0))switch(u.key){case"ArrowRight":case"ArrowDown":u.preventDefault(),i(a<0?0:Math.min(a+1,e-1));break;case"ArrowLeft":case"ArrowUp":u.preventDefault(),i(a<0?e-1:Math.max(a-1,0));break;case"Home":u.preventDefault(),i(0);break;case"End":u.preventDefault(),i(e-1);break;case"Enter":case" ":a>=0&&(u.preventDefault(),s==null||s(a));break}},[t,e,a,i,s]);return{activeIndex:a,setActiveIndex:i,clearActive:c,handleKeyDown:d}}function Se(e,t,r,s){const a=(s-90)*(Math.PI/180);return[e+r*Math.cos(a),t+r*Math.sin(a)]}function Qs(e,t,r,s,a,o){const i=o-a>=359.999,c=o-a>180?1:0;if(i){const[_]=Se(e,t,r,0),[S]=Se(e,t,r,180);if(s<=0)return`M ${_},${t} A ${r} ${r} 0 1 1 ${S},${t} A ${r} ${r} 0 1 1 ${_},${t} Z`;const[x]=Se(e,t,s,0),[y]=Se(e,t,s,180);return`M ${_},${t} A ${r} ${r} 0 1 1 ${S},${t} A ${r} ${r} 0 1 1 ${_},${t} Z M ${x},${t} A ${s} ${s} 0 1 0 ${y},${t} A ${s} ${s} 0 1 0 ${x},${t} Z`}const[d,u]=Se(e,t,r,a),[f,p]=Se(e,t,r,o);if(s<=0)return`M ${e},${t} L ${d},${u} A ${r} ${r} 0 ${c} 1 ${f},${p} Z`;const[m,h]=Se(e,t,s,o),[b,w]=Se(e,t,s,a);return`M ${d},${u} A ${r} ${r} 0 ${c} 1 ${f},${p} L ${m},${h} A ${s} ${s} 0 ${c} 0 ${b},${w} Z`}function Cr({variant:e,data:t,nameKey:r,valueKey:s,innerRadiusRatio:a=e==="donut"?.62:0,centerLabel:o,centerValue:i,valueFormatter:c,showDataLabels:d,showLegend:u=!0,colors:f,onSliceClick:p,...m}){const h=t.length===0||t.every(x=>Number(x[s]??0)<=0),b=c??(x=>new Intl.NumberFormat(void 0,{maximumFractionDigits:1}).format(x)),w=l.useMemo(()=>{const x=t.reduce((g,N)=>g+Math.max(Number(N[s]??0),0),0);let y=0;return t.map((g,N)=>{const C=Math.max(Number(g[s]??0),0),v=x>0?C/x:0,D=y,E=y+v*360;return y=E,{key:String(g[r]??N),label:String(g[r]??`#${N+1}`),value:C,percent:v,startAngle:D,endAngle:E,color:$e(N,g.color,f),datum:g,index:N}})},[t,r,s,f]),_=Xs({count:w.length,onSelect:x=>{const y=w[x];y&&(p==null||p({key:y.key,label:y.label,value:y.value,index:x,datum:y.datum}))}}),S=w.map(x=>({key:x.key,label:x.label,color:x.color}));return n.jsx(Nr,{...m,isEmpty:h,legend:u?n.jsx(Mt,{items:S}):void 0,summary:n.jsx(Js,{items:w.map(x=>({label:x.label,value:x.value}))}),children:({width:x,height:y})=>n.jsx(ea,{width:x,height:y,slices:w,innerRadiusRatio:e==="pie"?0:a,centerLabel:o,centerValue:i,formatValue:b,showDataLabels:d,nav:_,onSliceClick:p})})}function ea({width:e,height:t,slices:r,innerRadiusRatio:s,centerLabel:a,centerValue:o,formatValue:i,showDataLabels:c,nav:d,onSliceClick:u}){const f=e/2,p=t/2,m=Math.max(Math.min(e,t)/2-16,1),h=m*s,b=d.activeIndex,w=b>=0?r[b]:void 0,_=x=>new Intl.NumberFormat(void 0,{style:"percent",maximumFractionDigits:1}).format(x),S=b>=0?b:0;return n.jsxs("div",{className:"rrc-chart__plot-wrap",children:[n.jsxs("svg",{width:e,height:t,viewBox:`0 0 ${e} ${t}`,className:"rrc-chart__plot",children:[r.map(x=>{const y=b===x.index,g=(x.startAngle+x.endAngle)/2,[N,C]=Se(f,p,(m+h)/2,g);return n.jsxs("g",{children:[n.jsx("path",{d:Qs(f,p,y?m+4:m,h,x.startAngle,x.endAngle),fill:x.color,className:"rrc-chart__slice",role:"button",tabIndex:x.index===S?0:-1,"aria-label":`${x.label}: ${i(x.value)} (${_(x.percent)})`,onKeyDown:d.handleKeyDown,onMouseEnter:()=>d.setActiveIndex(x.index),onFocus:()=>d.setActiveIndex(x.index),onClick:()=>u==null?void 0:u({key:x.key,label:x.label,value:x.value,index:x.index,datum:x.datum})}),c&&x.percent>.03&&n.jsx("text",{x:N,y:C,textAnchor:"middle",dominantBaseline:"middle",className:"rrc-chart__data-label",children:_(x.percent)})]},x.key)}),h>0&&(a||o)&&n.jsxs("g",{children:[o&&n.jsx("text",{x:f,y:p-(a?8:0),textAnchor:"middle",dominantBaseline:"middle",className:"rrc-chart__center-value",children:o}),a&&n.jsx("text",{x:f,y:p+(o?14:0),textAnchor:"middle",dominantBaseline:"middle",className:"rrc-chart__center-label",children:a})]})]}),w&&n.jsx(Sr,{payload:{label:w.label,items:[{key:w.key,label:_(w.percent),value:i(w.value),color:w.color}]}})]})}function ta(e){return n.jsx(Cr,{...e,variant:"donut"})}function ra(e){return n.jsx(Cr,{...e,variant:"pie",innerRadiusRatio:0})}function Ot(e){return e instanceof Date?e:new Date(e)}function Te(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())}function Ke(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function Ft(e,t){const r=new Date(e);return r.setDate(r.getDate()+t),r}function Ze(e,t){return new Date(e.getFullYear(),e.getMonth()+t,1)}function ct(e,t){const r=new Date(e.getFullYear(),e.getMonth(),1),s=(r.getDay()-t+7)%7,a=Ft(r,-s);return Array.from({length:42},(o,i)=>Ft(a,i))}function na(e,t){const r=Te(Ot(e.start)),s=e.end?Te(Ot(e.end)):r,a=Te(t);return a>=r&&a<=s}function sa(e,t){const r=[];for(let s=0;s<e.length;s+=t)r.push(e.slice(s,s+t));return r}function aa({value:e,defaultValue:t=null,onDateChange:r,events:s=[],view:a="month",locale:o="en-US",weekStartsOn:i=1,min:c,max:d,disabledDates:u,maxEventsPerDay:f=3,loading:p,error:m,className:h,"aria-label":b,todayLabel:w="Today",moreLabel:_=g=>`+${g} more`,noEventsLabel:S="No events",onMonthChange:x,onEventClick:y}){process.env.NODE_ENV!=="production"&&a!=="month"&&console.warn(`[react-components] Calendar view "${a}" is not implemented yet; falling back to "month".`);const[g,N]=X({value:e,defaultValue:t,onChange:M=>{M&&(r==null||r(M))}}),C=l.useMemo(()=>new Date,[]),[v,D]=l.useState(()=>E(g??C));function E(M){return new Date(M.getFullYear(),M.getMonth(),1)}l.useEffect(()=>{x==null||x(v.getFullYear(),v.getMonth())},[v]);const R=l.useMemo(()=>ct(v,i),[v,i]),O=l.useMemo(()=>sa(R,7),[R]),z=l.useMemo(()=>new Intl.DateTimeFormat(o,{weekday:"short"}),[o]),H=l.useMemo(()=>new Intl.DateTimeFormat(o,{month:"long",year:"numeric"}),[o]),B=l.useMemo(()=>new Intl.DateTimeFormat(o,{dateStyle:"full"}),[o]),F=l.useMemo(()=>R.slice(0,7).map(M=>z.format(M)),[R,z]),T=l.useMemo(()=>{const M=new Map;for(const U of R){const q=$(U);M.set(q,s.filter(A=>na(A,U)))}return M},[R,s]);function $(M){return`${M.getFullYear()}-${M.getMonth()}-${M.getDate()}`}function L(M){const U=Te(M);return c&&U<Te(c)||d&&U>Te(d)?!0:(u==null?void 0:u(M))??!1}function te(M,U){const q=U?M.findIndex(W=>Ke(W,U)):-1;if(q>=0)return q;const A=M.findIndex(W=>Ke(W,C));return A>=0?A:0}const[P,Y]=l.useState(()=>te(R,g)),K=l.useRef([]);function V(M){var U;(U=K.current[M])==null||U.focus()}function Z(M,U=g){const q=E(M);D(q),Y(te(ct(q,i),U))}function fe(M,U){if(!L(M))if(N(M),M.getMonth()!==v.getMonth()||M.getFullYear()!==v.getFullYear()){const q=ct(E(M),i).findIndex(A=>Ke(A,M));Z(M,M),V(q>=0?q:U)}else Y(U),V(U)}function me(M){const U=Math.max(0,Math.min(41,M));Y(U),V(U)}function ae(M){switch(M.key){case"ArrowRight":M.preventDefault(),me(P+1);break;case"ArrowLeft":M.preventDefault(),me(P-1);break;case"ArrowDown":M.preventDefault(),me(P+7);break;case"ArrowUp":M.preventDefault(),me(P-7);break;case"Home":M.preventDefault(),me(P-P%7);break;case"End":M.preventDefault(),me(P-P%7+6);break;case"PageUp":M.preventDefault(),Z(Ze(v,-1));break;case"PageDown":M.preventDefault(),Z(Ze(v,1));break;case"Enter":case" ":M.preventDefault(),fe(R[P],P);break}}const re=H.format(v),ne=!!(p||m),ce=l.useId();return n.jsxs("div",{className:j("rrc-calendar",h),"aria-label":b??re,children:[n.jsxs("div",{className:"rrc-calendar__header",children:[n.jsx(ge,{icon:"bi bi-chevron-left","aria-label":"Previous month",onClick:()=>Z(Ze(v,-1)),disabled:ne,size:"sm",variant:"light-secondary"}),n.jsx(Le,{size:"sm",variant:"light-secondary",onClick:()=>Z(C),disabled:ne,children:w}),n.jsx("div",{className:"rrc-calendar__title","aria-live":"polite",id:ce,children:re}),n.jsx(ge,{icon:"bi bi-chevron-right","aria-label":"Next month",onClick:()=>Z(Ze(v,1)),disabled:ne,size:"sm",variant:"light-secondary"})]}),m?n.jsx(ze,{variant:"danger",className:"mb-0",children:m}):p?n.jsx("div",{className:"rrc-calendar__skeleton","aria-busy":"true",children:Array.from({length:6},(M,U)=>n.jsx(Me,{height:"4.5rem"},U))}):n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"rrc-calendar__weekdays",role:"row",children:F.map((M,U)=>n.jsx("div",{className:"rrc-calendar__weekday",role:"columnheader","aria-label":M,children:M},U))}),n.jsx("div",{className:"rrc-calendar__grid",role:"grid","aria-labelledby":ce,onKeyDown:ae,children:O.map((M,U)=>n.jsx("div",{className:"rrc-calendar__week",role:"row",children:M.map((q,A)=>{const W=U*7+A,Q=q.getMonth()!==v.getMonth(),ie=Ke(q,C),oe=g?Ke(q,g):!1,se=L(q),ee=T.get($(q))??[],le=ee.slice(0,f),he=ee.length-le.length,de=[B.format(q),ie&&"today",ee.length>0&&`${ee.length} events`].filter(Boolean).join(", ");return n.jsxs("div",{role:"gridcell","aria-selected":oe||void 0,"aria-current":ie?"date":void 0,"aria-disabled":se||void 0,className:j("rrc-calendar__day",Q&&"rrc-calendar__day--outside",ie&&"rrc-calendar__day--today",oe&&"rrc-calendar__day--selected",se&&"rrc-calendar__day--disabled"),children:[n.jsx("button",{type:"button",ref:G=>{K.current[W]=G},className:"rrc-calendar__day-button",tabIndex:W===P?0:-1,disabled:se,"aria-label":de,onClick:()=>fe(q,W),children:q.getDate()}),(le.length>0||he>0)&&n.jsxs("div",{className:"rrc-calendar__events",children:[le.map(G=>n.jsx("button",{type:"button",className:j("rrc-calendar__event",`rrc-calendar__event--${G.variant??"primary"}`),style:G.color?{backgroundColor:G.color}:void 0,disabled:G.disabled,title:G.title,onClick:ue=>{ue.stopPropagation(),G.disabled||y==null||y(G)},children:G.title},G.id)),he>0&&n.jsx("button",{type:"button",className:"rrc-calendar__more",onClick:G=>{G.stopPropagation(),fe(q,W)},children:_(he)})]})]},W)})},U))}),n.jsxs("div",{className:"rrc-calendar__agenda d-md-none",children:[n.jsx("div",{className:"rrc-calendar__agenda-title",children:B.format(g??C)}),(T.get($(g??C))??[]).length===0?n.jsx("div",{className:"rrc-calendar__agenda-empty",children:S}):n.jsx("ul",{className:"rrc-calendar__agenda-list",children:(T.get($(g??C))??[]).map(M=>n.jsx("li",{children:n.jsx("button",{type:"button",className:"rrc-calendar__agenda-item",disabled:M.disabled,onClick:()=>!M.disabled&&(y==null?void 0:y(M)),children:M.title})},M.id))})]})]})]})}const oa={loading:"Loading document…",unsupported:"This file type cannot be previewed.",passwordProtected:"This PDF is password protected and cannot be previewed.",corrupted:"This file appears to be corrupted and cannot be previewed.",networkError:"The document could not be loaded. Check your connection and try again.",download:"Download",zoomIn:"Zoom in",zoomOut:"Zoom out",fitToWidth:"Fit to width",fitToView:"Fit to view",rotate:"Rotate",fullscreen:"Fullscreen",exitFullscreen:"Exit fullscreen",previousPage:"Previous page",nextPage:"Next page",page:"Page",of:"of",openInNewTab:"Open in new tab"},ia=new Set(["image/png","image/jpeg","image/webp","image/gif"]),ca={pdf:"application/pdf",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",webp:"image/webp",gif:"image/gif"};function lt(e,t){var s;if(e)return e;const r=(s=t==null?void 0:t.split(".").pop())==null?void 0:s.toLowerCase();return r?ca[r]:void 0}function la(e){return e==="application/pdf"?"pdf":e&&ia.has(e)?"image":"unsupported"}async function dt(e,t){const r=e instanceof Blob?e:new Blob([e],t?{type:t}:void 0);return URL.createObjectURL(r)}function Vt(e,t,r){const s=document.createElement("a");s.href=e,t&&(s.download=t),s.rel="noopener",document.body.appendChild(s),s.click(),s.remove(),r&&setTimeout(()=>URL.revokeObjectURL(e),0)}let Bt=!1;async function da(e){if(Bt)return;const t=await Promise.resolve().then(()=>require("./pdf.worker.min-ab9f616e.cjs"));e.GlobalWorkerOptions.workerSrc=t.default,Bt=!0}function Kt(e,t){const r=e==null?void 0:e.name;return r==="PasswordException"?{kind:"password-protected",message:t.passwordProtected}:r==="InvalidPDFException"||r==="MissingPDFException"?{kind:"corrupted",message:t.corrupted}:r==="UnexpectedResponseException"||e instanceof TypeError?{kind:"network",message:t.networkError}:{kind:"unknown",message:t.corrupted}}function ua({icon:e,title:t,message:r,fileName:s,showDownload:a,onDownload:o,downloadLabel:i}){return n.jsxs("div",{className:"rrc-document-viewer__status",children:[n.jsx(We,{name:e,size:"xl",className:"rrc-document-viewer__status-icon"}),n.jsx(we,{as:"div",weight:"semibold",className:"rrc-document-viewer__status-title",children:t}),r&&n.jsx(we,{as:"div",size:"sm",tone:"muted",className:"rrc-document-viewer__status-message",children:r}),s&&n.jsx(we,{as:"div",size:"sm",tone:"muted",className:"rrc-document-viewer__meta",children:s}),a&&n.jsx("button",{type:"button",className:"btn btn-light-primary rrc-btn rrc-btn--light-primary mt-2",onClick:o,children:i})]})}function fa({source:e,fileName:t,mimeType:r,className:s,height:a=480,initialPage:o=1,toolbar:i=!0,allowFullscreen:c=!0,allowNewTab:d=!0,labels:u,onDownload:f,onError:p,onPageChange:m}){const h={...oa,...u},[b,w]=l.useState("unsupported"),[_,S]=l.useState("loading"),[x,y]=l.useState(null),[g,N]=l.useState(void 0),[C,v]=l.useState(0),[D,E]=l.useState(o),[R,O]=l.useState("width"),[z,H]=l.useState(1),[B,F]=l.useState(0),[T,$]=l.useState(!1),L=l.useRef(null),te=l.useRef(null),P=l.useRef(null),[Y,K]=l.useState({width:0,height:0}),V=l.useRef(p);V.current=p;const Z=l.useRef(m);Z.current=m,gt(P,!0,()=>{var W;const A=(W=P.current)==null?void 0:W.getBoundingClientRect();A&&K({width:A.width,height:A.height})}),l.useEffect(()=>{let A=!1,W,Q;S("loading"),y(null),N(void 0),v(0),E(o),O("width"),H(1),F(0);const ie=lt(r,t),oe=la(ie);w(oe);async function se(){var he,de;if(oe==="unsupported"){const G={kind:"unsupported",message:h.unsupported};A||(y(G),S("error")),(he=V.current)==null||he.call(V,G);return}if(oe==="image"){const G=typeof e=="string"?e:await dt(e,ie);if(typeof e!="string"&&(W=G),A)return;N(G);return}const ee=await Promise.resolve().then(()=>require("./pdf-c22cffd3.cjs"));if(A)return;await da(ee);const le=typeof e=="string"?{url:e}:e instanceof Blob?{data:new Uint8Array(await e.arrayBuffer())}:{data:new Uint8Array(e)};Q=ee.getDocument(le);try{const G=await Q.promise;if(A){G.destroy();return}L.current=G,v(G.numPages),E(ue=>Math.min(Math.max(ue,1),G.numPages)),S("ready")}catch(G){if(A)return;const ue=Kt(G,h);y(ue),S("error"),(de=V.current)==null||de.call(V,ue)}}return se(),()=>{var ee;A=!0,Q==null||Q.destroy(),(ee=L.current)==null||ee.destroy(),L.current=null,W&&URL.revokeObjectURL(W)}},[e,r,t]),l.useEffect(()=>{if(b!=="pdf"||_!=="ready"||!L.current)return;let A=!1,W;return(async()=>{const Q=L.current;if(!Q)return;const ie=await Q.getPage(D);if(A)return;const oe=ie.getViewport({scale:1,rotation:B}),se=Y.width||oe.width,ee=Y.height||oe.height,le=R==="width"?se/oe.width:R==="view"?Math.min(se/oe.width,ee/oe.height):z,he=ie.getViewport({scale:le,rotation:B}),de=te.current,G=de==null?void 0:de.getContext("2d");if(!(!de||!G||A)){de.width=he.width,de.height=he.height,W=ie.render({canvasContext:G,viewport:he});try{await W.promise}catch(ue){if((ue==null?void 0:ue.name)!=="RenderingCancelledException")throw ue}}})().catch(Q=>{var oe;if(A)return;const ie=Kt(Q,h);y(ie),S("error"),(oe=V.current)==null||oe.call(V,ie)}),()=>{A=!0,W==null||W.cancel()}},[b,_,D,B,R,z,Y.width,Y.height]),l.useEffect(()=>{var A;b==="pdf"&&_==="ready"&&((A=Z.current)==null||A.call(Z,D,C))},[b,_,D,C]);function fe(){if(f){f();return}if(typeof e=="string"){Vt(e,t,!1);return}dt(e,lt(r,t)).then(A=>Vt(A,t,!0))}function me(A){if(A.preventDefault(),typeof e=="string"){window.open(e,"_blank","noopener");return}dt(e,lt(r,t)).then(W=>{window.open(W,"_blank","noopener"),setTimeout(()=>URL.revokeObjectURL(W),6e4)})}function ae(){O("none"),H(A=>Math.min(A*1.25,4))}function re(){O("none"),H(A=>Math.max(A/1.25,.25))}function ne(){F(A=>(A+90)%360)}const ce=b==="pdf"||b==="image";function M(){return!i||_==="error"?null:n.jsxs("div",{className:"rrc-document-viewer__toolbar",children:[n.jsx("div",{className:"rrc-document-viewer__toolbar-group",children:b==="pdf"&&_==="ready"&&n.jsxs(n.Fragment,{children:[n.jsx(ge,{icon:"bi bi-chevron-left","aria-label":h.previousPage,tooltip:h.previousPage,size:"sm",variant:"light-secondary",disabled:D<=1,onClick:()=>E(A=>Math.max(1,A-1))}),n.jsxs("span",{className:"rrc-document-viewer__page-indicator","aria-live":"polite",children:[h.page," ",D," ",h.of," ",C]}),n.jsx(ge,{icon:"bi bi-chevron-right","aria-label":h.nextPage,tooltip:h.nextPage,size:"sm",variant:"light-secondary",disabled:D>=C,onClick:()=>E(A=>Math.min(C,A+1))})]})}),n.jsxs("div",{className:"rrc-document-viewer__toolbar-group",children:[ce&&_==="ready"&&n.jsxs(n.Fragment,{children:[n.jsx(ge,{icon:"bi bi-zoom-out","aria-label":h.zoomOut,tooltip:h.zoomOut,size:"sm",variant:"light-secondary",onClick:re}),n.jsx(ge,{icon:"bi bi-zoom-in","aria-label":h.zoomIn,tooltip:h.zoomIn,size:"sm",variant:"light-secondary",onClick:ae}),n.jsx(ge,{icon:"bi bi-arrows-angle-expand","aria-label":h.fitToWidth,tooltip:h.fitToWidth,size:"sm",variant:R==="width"?"light-primary":"light-secondary",onClick:()=>O("width")}),n.jsx(ge,{icon:"bi bi-aspect-ratio","aria-label":h.fitToView,tooltip:h.fitToView,size:"sm",variant:R==="view"?"light-primary":"light-secondary",onClick:()=>O("view")}),n.jsx(ge,{icon:"bi bi-arrow-clockwise","aria-label":h.rotate,tooltip:h.rotate,size:"sm",variant:"light-secondary",onClick:ne})]}),d&&n.jsx(ge,{icon:"bi bi-box-arrow-up-right","aria-label":h.openInNewTab,tooltip:h.openInNewTab,size:"sm",variant:"light-secondary",onClick:me}),n.jsx(ge,{icon:"bi bi-download","aria-label":h.download,tooltip:h.download,size:"sm",variant:"light-secondary",onClick:fe}),c&&n.jsx(ge,{icon:T?"bi bi-fullscreen-exit":"bi bi-arrows-fullscreen","aria-label":T?h.exitFullscreen:h.fullscreen,tooltip:T?h.exitFullscreen:h.fullscreen,size:"sm",variant:"light-secondary",onClick:()=>$(A=>!A)})]})]})}function U(){if(_==="error"&&x){const A=x.kind==="password-protected"?"bi bi-shield-lock":x.kind==="network"?"bi bi-wifi-off":x.kind==="unsupported"?"bi bi-file-earmark-x":"bi bi-exclamation-triangle";return n.jsx(ua,{icon:A,title:x.message,fileName:t,showDownload:!0,onDownload:fe,downloadLabel:h.download})}if(b==="image"&&g){const A=`scale(${R==="none"?z:1}) rotate(${B}deg)`;return n.jsx("div",{className:"rrc-document-viewer__surface",ref:P,children:n.jsx("img",{src:g,alt:t??"Document preview",className:j("rrc-document-viewer__image",R!=="none"&&`rrc-document-viewer__image--fit-${R}`),style:{transform:A},onLoad:()=>S("ready"),onError:()=>{var Q;const W={kind:"network",message:h.networkError};y(W),S("error"),(Q=V.current)==null||Q.call(V,W)}})})}return _==="loading"?n.jsxs("div",{className:"rrc-document-viewer__status",children:[n.jsx(vt,{label:h.loading}),n.jsx(we,{as:"div",size:"sm",tone:"muted",children:h.loading})]}):n.jsx("div",{className:"rrc-document-viewer__surface",ref:P,children:n.jsx("canvas",{ref:te,className:"rrc-document-viewer__page",role:"img","aria-label":`${h.page} ${D} ${h.of} ${C}`})})}const q=n.jsxs("div",{className:j("rrc-document-viewer",T&&"rrc-document-viewer--fullscreen",s),style:T?void 0:{height:a},children:[M(),U()]});return T?n.jsx(bt,{open:!0,onClose:()=>$(!1),title:t,className:"rrc-document-viewer__modal",children:q}):q}function Je({title:e,options:t,value:r,onChange:s,className:a}){const o=l.useId(),i=l.useRef([]);function c(u,f){var h;if(t.length===0)return;const p=(u+f+t.length)%t.length,m=t[p];m&&(s(m.value),(h=i.current[p])==null||h.focus())}function d(u){const f=t.findIndex(p=>p.value===r);u.key==="ArrowDown"||u.key==="ArrowRight"?(u.preventDefault(),c(f,1)):(u.key==="ArrowUp"||u.key==="ArrowLeft")&&(u.preventDefault(),c(f,-1))}return n.jsxs("div",{className:j("rrc-appearance__section",a),children:[n.jsx("div",{className:"rrc-appearance__title",id:o,children:e}),n.jsx("div",{className:"rrc-appearance__options",role:"radiogroup","aria-labelledby":o,onKeyDown:d,children:t.map((u,f)=>{const p=u.value===r;return n.jsxs("button",{ref:m=>{i.current[f]=m},type:"button",role:"radio","aria-checked":p,tabIndex:p?0:-1,className:j("rrc-appearance__option",p&&"rrc-appearance__option--selected"),onClick:()=>s(u.value),children:[u.adornment,n.jsx("span",{className:"rrc-appearance__option-label",children:u.label}),n.jsx("span",{className:"rrc-appearance__check","aria-hidden":"true"})]},u.value)})})]})}function ma({labels:e,sections:t,className:r,mode:s,onModeChange:a,sidebarPresentation:o,onSidebarPresentationChange:i,sidebarTone:c,onSidebarToneChange:d,colorSchemeId:u,onColorSchemeIdChange:f,colorSchemes:p}){const m=pr(),h={presentation:(t==null?void 0:t.presentation)??!0,mode:(t==null?void 0:t.mode)??!0,tone:(t==null?void 0:t.tone)??!0,colorScheme:(t==null?void 0:t.colorScheme)??!0},b=s??(m==null?void 0:m.mode)??"system",w=o??(m==null?void 0:m.sidebarPresentation)??"grouped",_=c??(m==null?void 0:m.sidebarTone)??"auto",S=u??(m==null?void 0:m.colorSchemeId)??rt,x=v=>{a==null||a(v),s===void 0&&(m==null||m.setMode(v))},y=v=>{i==null||i(v),o===void 0&&(m==null||m.setSidebarPresentation(v))},g=v=>{d==null||d(v),c===void 0&&(m==null||m.setSidebarTone(v))},N=v=>{f==null||f(v),u===void 0&&(m==null||m.setColorSchemeId(v))},C=p??fr();return n.jsxs("div",{className:j("rrc-appearance",r),children:[h.presentation&&n.jsx(Je,{title:e.presentation.title,value:w,onChange:y,options:kt.map(v=>({value:v,label:e.presentation[v]}))}),h.mode&&n.jsx(Je,{title:e.mode.title,value:b,onChange:x,options:_t.map(v=>({value:v,label:e.mode[v]}))}),h.tone&&n.jsx(Je,{title:e.tone.title,value:_,onChange:g,options:Nt.map(v=>({value:v,label:e.tone[v]}))}),h.colorScheme&&n.jsx(Je,{title:e.colorScheme.title,value:S,onChange:N,className:"rrc-appearance__section--schemes",options:C.map(v=>({value:v.id,label:e.colorScheme.options[v.id]??v.id,adornment:n.jsx("span",{className:"rrc-appearance__swatch",style:{backgroundColor:v.swatch??v.tokens.primary},"aria-hidden":"true"})}))})]})}function ha(e,t){if(typeof e=="function"){e(t);return}!e||typeof e!="object"||(e.current=t)}function pa(...e){return t=>{for(const r of e)ha(r,t)}}function ba({children:e,container:t}){const[r,s]=l.useState(null);return l.useEffect(()=>{if(t){s(t);return}s(typeof document>"u"?null:document.body)},[t]),r?nn.createPortal(e,r):null}const Er=new WeakMap;function Ge(e,t){return Er.set(e,t),e}function Mr(e){if(!l.isValidElement(e))return;const{type:t}=e;if(!(typeof t!="function"&&typeof t!="object"))return Er.get(t)}function It(e){const t=[];return l.Children.forEach(e,r=>{if(!(r==null||typeof r=="boolean")){if(l.isValidElement(r)&&r.type===l.Fragment){const s=r.props;t.push(...It(s.children));return}t.push(r)}}),t}function xa(e){let t;const r=[];for(const s of It(e)){if(Mr(s)==="menu"&&l.isValidElement(s)){t||(t=s);continue}r.push(s)}return{menu:t,content:r}}function ga(e){return It(e).some(t=>{const r=Mr(t);return r==="label"||r==="separator"?!1:r==="item"||r==="submenu"?l.isValidElement(t)?t.props.hidden!==!0:!1:r!=="menu"})}const Ir=8;function Qe(e,t,r){return r<t?t:Math.min(Math.max(e,t),r)}function va(e,t,r,s=Ir){const a=e.x+t.width+s>r.width?e.x-t.width:e.x,o=e.y+t.height+s>r.height?e.y-t.height:e.y;return{x:Qe(a,s,r.width-t.width-s),y:Qe(o,s,r.height-t.height-s)}}function ya(e,t,r,s=Ir){const a=e.right+t.width+s>r.width?e.left-t.width:e.right,o=e.top+t.height+s>r.height?e.bottom-t.height:e.top;return{x:Qe(a,s,r.width-t.width-s),y:Qe(o,s,r.height-t.height-s)}}const Rt=l.createContext(null);function Rr(e){return{"--rrc-context-menu-x":`${e.x}px`,"--rrc-context-menu-y":`${e.y}px`}}function Dr(){return{width:window.innerWidth,height:window.innerHeight}}function ja(e){return e instanceof HTMLButtonElement&&e.disabled?!0:e.getAttribute("aria-disabled")==="true"}function $r(e){return Array.from(e.querySelectorAll('[role="menuitem"]')).filter(t=>t.closest('[role="menu"]')===e&&!ja(t))}function Ar(e){($r(e)[0]??e).focus()}function Tr({panelRef:e,onEscape:t,onStepOut:r}){return l.useCallback(s=>{const a=e.current;if(!a)return;const o=$r(a),i=o.findIndex(u=>u===document.activeElement),c=u=>{const f=o[u];f&&f.focus()},d=()=>{s.preventDefault(),s.stopPropagation()};switch(s.key){case"ArrowDown":d(),o.length>0&&c((i+1)%o.length);return;case"ArrowUp":d(),o.length>0&&c(i<=0?o.length-1:i-1);return;case"Home":d(),o.length>0&&c(0);return;case"End":d(),o.length>0&&c(o.length-1);return;case"ArrowLeft":if(!r)return;d(),r();return;case"Escape":case"Tab":d(),t();return;default:return}},[e,t,r])}function wa({surface:e,label:t,className:r,children:s}){const{point:a,openId:o,close:i}=e,c=l.useRef(null),[d,u]=l.useState(a);l.useLayoutEffect(()=>{const m=c.current;if(!m)return;const h=m.getBoundingClientRect();u(va(a,{width:h.width,height:h.height},Dr()))},[a,o]),l.useLayoutEffect(()=>{const m=c.current;m&&Ar(m)},[o]),l.useEffect(()=>{function m(w){const _=c.current;return!!(_&&w instanceof Node&&_.contains(w))}function h(w){m(w.target)||i("dismiss")}function b(w){m(w.target)||i("dismiss")}return document.addEventListener("mousedown",h),window.addEventListener("resize",b),document.addEventListener("scroll",b,!0),()=>{document.removeEventListener("mousedown",h),window.removeEventListener("resize",b),document.removeEventListener("scroll",b,!0)}},[i]);const f=l.useCallback(()=>i("escape"),[i]),p=Tr({panelRef:c,onEscape:f});return n.jsx("div",{ref:c,role:"menu","aria-label":t,tabIndex:-1,className:j("rrc-context-menu",r),style:Rr(d),onKeyDown:m=>{p(m),m.stopPropagation()},onClick:m=>m.stopPropagation(),onContextMenu:m=>{m.preventDefault(),m.stopPropagation()},children:s})}function Lr({children:e,className:t,"aria-label":r}){const s=l.useContext(Rt);return s?n.jsx(ba,{children:n.jsx(wa,{surface:s,label:r,className:t,children:e})}):null}function _a(e){console.error("[rich-react-component] ContextMenu.Item onSelect failed:",e)}function ka(e){if(!e)return;const t=e();t!==void 0&&Promise.resolve(t).then(void 0,_a)}function Pr({children:e,id:t,disabled:r,hidden:s,danger:a,icon:o,className:i,"aria-label":c,onSelect:d}){const u=l.useContext(Rt),f=l.useCallback(()=>{ka(d),u==null||u.close("select")},[d,u]);return s?null:n.jsxs("button",{type:"button",role:"menuitem",id:t,tabIndex:-1,disabled:r,"aria-disabled":r||void 0,"aria-label":c,className:j("rrc-context-menu__item",a&&"rrc-context-menu__item--danger",i),onClick:f,children:[o!==void 0&&n.jsx("span",{className:"rrc-context-menu__item-icon",children:o}),n.jsx("span",{className:"rrc-context-menu__item-label",children:e})]})}function Or({children:e,className:t}){return n.jsx("div",{role:"presentation",className:j("rrc-context-menu__label",t),children:e})}function Fr({className:e}){return n.jsx("div",{role:"separator",className:j("rrc-context-menu__separator",e)})}function Vr({label:e,children:t,id:r,disabled:s,hidden:a,icon:o,className:i,"aria-label":c}){const[d,u]=l.useState(!1),[f,p]=l.useState({x:0,y:0}),m=l.useRef(null),h=l.useRef(null),b=l.useRef(!1),w=l.useId(),_=r??`${w}trigger`,S=`${w}panel`,x=l.useCallback(()=>{var g;u(!1),(g=m.current)==null||g.focus()},[]);l.useLayoutEffect(()=>{if(!d){b.current=!1;return}const g=m.current,N=h.current;if(!g||!N)return;const C=g.getBoundingClientRect(),v=N.getBoundingClientRect();p(ya({left:C.left,right:C.right,top:C.top,bottom:C.bottom},{width:v.width,height:v.height},Dr())),b.current&&(b.current=!1,Ar(N))},[d]);const y=Tr({panelRef:h,onEscape:x,onStepOut:x});return a?null:n.jsxs("div",{role:"presentation",className:"rrc-context-menu__submenu",onMouseEnter:()=>{s||u(!0)},onMouseLeave:()=>u(!1),children:[n.jsxs("button",{ref:m,type:"button",role:"menuitem",id:_,tabIndex:-1,disabled:s,"aria-disabled":s||void 0,"aria-haspopup":"menu","aria-expanded":d,"aria-controls":d?S:void 0,"aria-label":c,className:j("rrc-context-menu__item","rrc-context-menu__item--submenu",i),onClick:()=>{b.current=!0,u(g=>!g)},onKeyDown:g=>{g.key==="ArrowRight"&&(g.preventDefault(),g.stopPropagation(),b.current=!0,u(!0))},children:[o!==void 0&&n.jsx("span",{className:"rrc-context-menu__item-icon",children:o}),n.jsx("span",{className:"rrc-context-menu__item-label",children:e}),n.jsx("span",{className:"rrc-context-menu__item-arrow","aria-hidden":"true"})]}),d&&n.jsx("div",{ref:h,id:S,role:"menu","aria-labelledby":_,tabIndex:-1,className:"rrc-context-menu rrc-context-menu--sub",style:Rr(f),onKeyDown:y,children:t})]})}Ge(Lr,"menu");Ge(Pr,"item");Ge(Or,"label");Ge(Fr,"separator");Ge(Vr,"submenu");const Na=Object.assign(Lr,{Item:Pr,Separator:Fr,Label:Or,SubMenu:Vr}),ut="rrc:context-menu-open";function Sa(e){return typeof e=="object"&&e!==null&&typeof Reflect.get(e,"id")=="string"}const Ht=Symbol.for("react.forward_ref"),Ca=Symbol.for("react.memo");function Ea(e){const{type:t}=e;if(typeof t=="string")return!0;if(typeof t!="object"||t===null)return!1;const r=Reflect.get(t,"$$typeof");if(r===Ht)return!0;if(r!==Ca)return!1;const s=Reflect.get(t,"type");return typeof s!="object"||s===null?!1:Reflect.get(s,"$$typeof")===Ht}function Ut(...e){return t=>{for(const r of e)r==null||r(t)}}function zt(...e){return t=>{for(const r of e)r==null||r(t)}}function Ma(e,t){if(e==="wrapper")return{mode:"wrapper"};const r=t.length===1?t[0]:void 0;return r===void 0||!l.isValidElement(r)?{mode:"wrapper"}:e==="child"?{mode:"child",child:r}:typeof r.type=="string"?{mode:"child",child:r}:{mode:"wrapper"}}const Ia=l.forwardRef(function({children:t,trigger:r="auto",as:s="div",className:a,style:o,onContextMenu:i,onKeyDown:c,...d},u){const f=l.useId(),{menu:p,content:m}=l.useMemo(()=>xa(t),[t]),h=l.useMemo(()=>{if(!p)return!1;const E=p.props;return E.disabled===!0?!1:ga(E.children)},[p]),[b,w]=l.useState(null),_=l.useRef(0),S=l.useRef(null),x=l.useCallback(E=>{w(null);const R=S.current;S.current=null,E!=="dismiss"&&R&&R.isConnected&&R.focus()},[]),y=l.useCallback((E,R)=>{if(b===null){const O=document.activeElement;S.current=O instanceof HTMLElement?O:null}document.dispatchEvent(new CustomEvent(ut,{detail:{id:f}})),_.current+=1,w({point:{x:E,y:R},openId:_.current})},[f,b]);l.useEffect(()=>{if(!b)return;function E(R){if(!(R instanceof CustomEvent))return;const O=R.detail;Sa(O)&&O.id!==f&&x("dismiss")}return document.addEventListener(ut,E),()=>document.removeEventListener(ut,E)},[b,f,x]),l.useEffect(()=>{!h&&b&&x("dismiss")},[h,b,x]);const g=l.useCallback(E=>{E.defaultPrevented||h&&(E.preventDefault(),E.stopPropagation(),y(E.clientX,E.clientY))},[h,y]),N=l.useCallback(E=>{if(E.defaultPrevented||!h||!(E.key==="ContextMenu"||E.shiftKey&&E.key==="F10"))return;E.preventDefault(),E.stopPropagation();const z=(E.target instanceof HTMLElement?E.target:E.currentTarget).getBoundingClientRect();y(z.left,z.bottom)},[h,y]),C=l.useMemo(()=>b?{point:b.point,openId:b.openId,close:x}:null,[b,x]),v=Ma(r,m);let D;if(v.mode==="child"){const{child:E}=v,R=E.props,O=Reflect.get(E,"ref")??void 0,z=j(a,R.className),H=o!==void 0||R.style!==void 0;D=l.cloneElement(E,{...d,...E.props,className:z||void 0,...H?{style:{...o,...R.style}}:null,onContextMenu:Ut(R.onContextMenu,i,g),onKeyDown:zt(R.onKeyDown,c,N),...Ea(E)?{ref:pa(O,u)}:null})}else D=l.createElement(s,{...d,ref:u,className:j("rrc-rich-base",a)||void 0,style:o,onContextMenu:Ut(i,g),onKeyDown:zt(c,N)},...l.Children.toArray(m));return n.jsxs(n.Fragment,{children:[D,p&&C&&n.jsx(Rt.Provider,{value:C,children:p})]})});class Br extends Error{constructor(t,r,s){super(`HTTP ${t} ${r} for ${s}`),this.name="HttpError",this.status=t,this.statusText=r,this.url=s}}function Ra(e){if(!e)return"";const t=new URLSearchParams;for(const[s,a]of Object.entries(e))a!=null&&t.set(s,String(a));const r=t.toString();return r?`?${r}`:""}function Kr(e={}){const{baseUrl:t="",fetcher:r=fetch,buildRequestInit:s}=e;return{async get(a,o={}){const i=`${t}${a}${Ra(o.params)}`;let c={method:"GET",signal:o.signal};s&&(c=s(i,c));const d=await r(i,c);if(!d.ok)throw new Br(d.status,d.statusText,i);return await d.json()}}}const Hr=Kr();function Da(e){return Object.keys(e).sort().reduce((t,r)=>(t[r]=e[r],t),{})}function Oe({client:e=Hr,url:t,params:r,mapResponse:s,enabled:a=!0}){const[o,i]=l.useState("idle"),[c,d]=l.useState([]),[u,f]=l.useState(null),[p,m]=l.useState(0),h=l.useMemo(()=>r?JSON.stringify(Da(r)):"",[r]),b=l.useRef(0),w=l.useRef(s);w.current=s,l.useEffect(()=>{if(!a||!t){i("idle"),d([]),f(null);return}const S=++b.current,x=new AbortController;return i("loading"),f(null),e.get(t,{params:r,signal:x.signal}).then(y=>{if(S!==b.current)return;const g=w.current(y);d(g),i(g.length===0?"empty":"success")}).catch(y=>{S===b.current&&(y instanceof DOMException&&y.name==="AbortError"||(f(y instanceof Error?y:new Error(String(y))),i("error")))}),()=>{x.abort()}},[e,t,h,a,p]);const _=l.useCallback(()=>m(S=>S+1),[]);return{state:o,items:c,error:u,reload:_}}function Ur(e,t){const[r,s]=l.useState(e);return l.useEffect(()=>{const a=setTimeout(()=>s(e),t);return()=>clearTimeout(a)},[e,t]),r}function Fe(e){if(Array.isArray(e))return e;if(e&&typeof e=="object"&&Array.isArray(e.items))return e.items;throw new Error("Unable to normalize remote response into an array. Provide an explicit `mapResponse` for this endpoint's response shape.")}function Ye(e,t,r){if(e===null||typeof e!="object")throw new Error("Remote item is not an object; cannot read valueMember/displayMember from it.");const s=e;return{value:s[t],label:String(s[r]??"")}}function zr({url:e,params:t,valueMember:r,displayMember:s,mapResponse:a,client:o,enabled:i,...c}){const{state:d,items:u,error:f}=Oe({client:o,url:e,params:t,enabled:i,mapResponse:m=>(a?a(m):Fe(m)).map(b=>Ye(b,r,s))}),p=c.error??(d==="error"?(f==null?void 0:f.message)??"Failed to load options":void 0);return n.jsx(er,{...c,options:u,loading:d==="loading",error:p})}function $a({url:e,params:t,searchParam:r,valueMember:s,displayMember:a,mapResponse:o,minSearchLength:i=1,debounceMs:c=300,client:d,inputValue:u,onInputValueChange:f,...p}){const[m,h]=X({value:u,defaultValue:"",onChange:f}),b=Ur(m,c),w=b.length>=i,{state:_,items:S,error:x}=Oe({client:d,url:e,enabled:w,params:{...t,[r]:b},mapResponse:g=>(o?o(g):Fe(g)).map(C=>Ye(C,s,a))}),y=p.error??(_==="error"?(x==null?void 0:x.message)??"Failed to load suggestions":void 0);return n.jsx(tr,{...p,options:S,loading:_==="loading",error:y,inputValue:m,onInputValueChange:h,filter:()=>!0})}function Wr({url:e,params:t,mapResponse:r,getTotalCount:s,pageSize:a=20,client:o,...i}){const[c,d]=l.useState(1),[u,f]=l.useState(null),p=l.useMemo(()=>JSON.stringify(t??{}),[t]),m=l.useRef(!0);l.useEffect(()=>{if(m.current){m.current=!1;return}d(1)},[p]);const h=l.useMemo(()=>({...t,page:c,pageSize:a,...u?{sortKey:u.key,sortDirection:u.direction}:{}}),[t,c,a,u]),b=l.useRef(void 0),{state:w,items:_,error:S}=Oe({client:o,url:e,params:h,mapResponse:C=>(b.current=C,r?r(C):Fe(C))}),x=b.current!==void 0?s==null?void 0:s(b.current):void 0,g=_.length>=a&&a>0?c*a+1:(c-1)*a+_.length,N=x??g;return n.jsx(sr,{...i,rows:_,loading:w==="loading",error:S==null?void 0:S.message,page:c,pageSize:a,totalCount:N,onPageChange:d,sort:u,onSortChange:C=>{f(C),d(1)}})}function Aa({url:e,params:t,valueMember:r,displayMember:s,mapResponse:a,client:o,enabled:i,...c}){const{state:d,items:u,error:f}=Oe({client:o,url:e,params:t,enabled:i,mapResponse:m=>(a?a(m):Fe(m)).map(b=>Ye(b,r,s))}),p=c.error??(d==="error"?(f==null?void 0:f.message)??"Failed to load options":void 0);return n.jsx(Jt,{...c,options:u,loading:d==="loading",error:p})}function Ta({url:e,params:t,valueMember:r,displayMember:s,mapResponse:a,client:o,enabled:i,...c}){const{state:d,items:u,error:f}=Oe({client:o,url:e,params:t,enabled:i,mapResponse:m=>(a?a(m):Fe(m)).map(b=>Ye(b,r,s))}),p=c.error??(d==="error"?(f==null?void 0:f.message)??"Failed to load options":void 0);return n.jsx(Xt,{...c,options:u,loading:d==="loading",error:p})}function La(){const e=new Map,t=new Set;return{register(r,s){e.set(r,s)},resolve(r,s){const a=e.get(r.component);return a?a(r,s):(t.has(r.component)||(t.add(r.component),console.warn(`Smart: no resolver registered for component "${r.component}" (field "${r.name}"). Skipping.`)),null)},has(r){return e.has(r)}}}function Pa(e){const t=new Map(Object.entries(e??{}));return{register(r,s){t.set(r,s)},resolve(r){return t.get(r)}}}function Oa(){const e=new Map;return{register(t,r){e.set(t,r)},resolve(t){return e.get(t)}}}function Fa(e){return"dataSource"in e}function Va(e,t){if(!e)return;const r={};for(const[s,a]of Object.entries(e))r[s]=a.kind==="static"?a.value:t[a.field];return r}function Wt(e,t,r){return t&&r?r(t):e}function Ve(e,t){const{values:r,translate:s}=t;return{metadata:e,visible:e.visible??!0,readOnly:e.readOnly??!1,disabled:e.disabled??!1,required:e.required??!1,label:Wt(e.label,e.labelKey,s),placeholder:e.placeholder,helpText:e.helpText,validationMessage:Wt(e.validationMessage,e.validationMessageKey,s),params:Fa(e)?Va(e.dataSource.params,r):void 0}}function Ba(e,t,r){const s=t==null?void 0:t.fields.find(a=>a.name===e);if(s)return Ve(s,r)}const Ka=[];function Ha(e,t){const r={};for(const s of t)r[s]=e[s];return r}function Gr(e,t,r){const s=e??Ka,a=Ha(t,s),o=s.length===0?"":JSON.stringify(a),i=l.useRef(null),c=l.useRef(r);c.current=r,l.useEffect(()=>{var u;if(s.length===0)return;const d=i.current;if(d&&d.key!==o)for(const f of s)Object.is(d.snapshot[f],a[f])||(u=c.current)==null||u.call(c,f);i.current={key:o,snapshot:a}},[o])}function Dt(e,t){const{actions:r,translate:s}=t,a=r.resolve(e.id);return{metadata:e,visible:e.visible??!0,enabled:(e.enabled??!0)&&!!a,label:e.labelKey&&s?s(e.labelKey):e.label,handler:a}}function Ua(e,t,r){var a;const s=(a=t==null?void 0:t.actions)==null?void 0:a.find(o=>o.id===e);if(s)return Dt(s,r)}const Yr=(e,t)=>{const r=Ve(e,{values:t.values,translate:t.translate});if(!r.visible)return null;const s=t.dataSources.resolve(e.dataSource.id);return s?n.jsx(zr,{label:r.label,url:s.url,client:s.client,params:r.params,valueMember:e.valueMember,displayMember:e.displayMember,required:r.required,readOnly:r.readOnly,disabled:r.disabled,helpText:r.helpText,error:r.validationMessage,value:t.values[e.name]??null,onChange:a=>t.onFieldChange(e.name,a)}):(console.warn(`Smart: no data source registered for id "${e.dataSource.id}" (field "${e.name}"). Skipping.`),null)};function za(e,t){if(e.visible===!1)return null;const r=e.headerKey&&t?t(e.headerKey):e.header??e.key,s=e.format==="boolean"&&!!t;return{key:e.key,header:r,sortable:e.sortable,format:s?void 0:e.format,formatter:s?a=>t(a?"smart.boolean.true":"smart.boolean.false"):void 0}}const qr=(e,t)=>{const r=Ve(e,{values:t.values,translate:t.translate});if(!r.visible)return null;const s=t.dataSources.resolve(e.dataSource.id);if(!s)return console.warn(`Smart: no data source registered for id "${e.dataSource.id}" (field "${e.name}"). Skipping.`),null;const a=e.columns.map(c=>za(c,t.translate)).filter(c=>c!==null),o=e.totalCountField,i=o?c=>{const d=c==null?void 0:c[o];return typeof d=="number"?d:void 0}:void 0;return n.jsx(Wr,{url:s.url,client:s.client,params:r.params,columns:a,rowKey:c=>c[e.rowKey],getTotalCount:i})};function Gt(e){if(!e)return;const t=new Date(e);return Number.isNaN(t.getTime())?void 0:t}const Zr=(e,t)=>{const r=Ve(e,{values:t.values,translate:t.translate});return r.visible?n.jsx(Qt,{label:r.label,required:r.required,readOnly:r.readOnly,disabled:r.disabled,helpText:r.helpText,error:r.validationMessage,min:Gt(e.minDate),max:Gt(e.maxDate),value:t.values[e.name]??null,onChange:s=>t.onFieldChange(e.name,s)}):null},Jr=(e,t)=>{const r=Ve(e,{values:t.values,translate:t.translate});return r.visible?n.jsx(Pe,{label:r.label,required:r.required,readOnly:r.readOnly,disabled:r.disabled,helpText:r.helpText,placeholder:r.placeholder,error:r.validationMessage,maxLength:e.maxLength,value:t.values[e.name]??"",onChange:s=>t.onFieldChange(e.name,s)}):null};function Wa(e){e.register("Input",Jr),e.register("ComboBox",Yr),e.register("DatePicker",Zr),e.register("DataGrid",qr)}function Xr({metadata:e,ctx:t}){const r=t.onMetadataRefreshNeeded;return Gr(e.dependsOn,t.values,r?s=>r(e.name,s):void 0),e.visible===!1?null:t.registry.resolve(e,t)}const Qr=1;function Ga(e){const t=Number(e.split(".")[0]);return Number.isFinite(t)&&t===Qr}function Ya({metadata:e,ctx:t}){return Ga(e.schemaVersion)?n.jsx(n.Fragment,{children:e.fields.map(r=>n.jsx(Xr,{metadata:r,ctx:t},r.name))}):n.jsxs(ze,{variant:"danger",children:['Unsupported form schema version "',e.schemaVersion,'" — this app understands schema version ',Qr,".x."]})}function en({metadata:e,ctx:t}){const r=Dt(e,t);return r.visible?n.jsx(Le,{disabled:!r.enabled,onClick:()=>{var s;return(s=r.handler)==null?void 0:s.call(r)},children:r.label??e.id}):null}function qa({metadata:e,ctx:t}){return!e.actions||e.actions.length===0?null:n.jsx(n.Fragment,{children:e.actions.map(r=>n.jsx(en,{metadata:r,ctx:t},r.id))})}exports.Accordion=Bn;exports.Alert=ze;exports.AppearanceMenu=ma;exports.AppearanceProvider=ms;exports.AreaChart=Ys;exports.AutoComplete=tr;exports.Avatar=ts;exports.Badge=ir;exports.BarChart=qs;exports.Breadcrumb=lr;exports.Button=Le;exports.COLOR_SCHEME_TOKEN_KEYS=wt;exports.Calendar=aa;exports.Card=Gn;exports.Chart=Nr;exports.ChartLegend=Mt;exports.CheckBox=ln;exports.Col=Zn;exports.ComboBox=er;exports.ConfirmProvider=Tn;exports.Container=Yn;exports.ContextMenu=Na;exports.DEFAULT_COLOR_SCHEME_ID=rt;exports.DataGrid=sr;exports.DatePicker=Qt;exports.DateTimePicker=mn;exports.Divider=cr;exports.DocumentViewer=fa;exports.DonutChart=ta;exports.FileInput=cn;exports.Flex=Is;exports.FormField=pn;exports.HttpError=Br;exports.Icon=We;exports.IconButton=ge;exports.Input=Pe;exports.Label=Yt;exports.LineChart=Gs;exports.ListItem=Rs;exports.Menu=Jn;exports.Modal=bt;exports.MultiSelect=Xt;exports.Navbar=os;exports.NumberInput=an;exports.PageHeader=Cs;exports.Pagination=rr;exports.PasswordInput=on;exports.PieChart=ra;exports.Popover=Kn;exports.Popup=Ee;exports.ProgressBar=as;exports.RadioButton=Zt;exports.RadioGroup=un;exports.Rating=ss;exports.RemoteAutoComplete=$a;exports.RemoteComboBox=zr;exports.RemoteDataGrid=Wr;exports.RemoteMultiSelect=Ta;exports.RemoteSelect=Aa;exports.RichComponentBase=Ia;exports.Row=qn;exports.SIDEBAR_PRESENTATIONS=kt;exports.SIDEBAR_TONES=Nt;exports.Select=Jt;exports.Sidebar=Ss;exports.Skeleton=Me;exports.Slider=ns;exports.SmartAction=en;exports.SmartActions=qa;exports.SmartField=Xr;exports.SmartForm=Ya;exports.Sparkline=Ts;exports.Spinner=vt;exports.Stack=jt;exports.StackedBarChart=Zs;exports.Statistic=Fs;exports.Stepper=Xn;exports.Switch=dn;exports.THEME_MODES=_t;exports.Tabs=Vn;exports.Tag=rs;exports.Text=we;exports.TextArea=sn;exports.TimePicker=fn;exports.ToastProvider=$n;exports.Tooltip=yt;exports.ValidationMessage=ft;exports.colorSchemeCssVariables=hr;exports.comboBoxResolver=Yr;exports.createAppearanceInitScript=ps;exports.createColorScheme=He;exports.createHttpClient=Kr;exports.createSmartActionRegistry=Oa;exports.createSmartComponentRegistry=La;exports.createSmartDataSourceRegistry=Pa;exports.dataGridFormatters=nr;exports.dataGridResolver=qr;exports.datePickerResolver=Zr;exports.defaultArrayNormalization=Fe;exports.defaultHttpClient=Hr;exports.fromDateInputValue=mt;exports.fromTimeInputValue=pt;exports.getColorScheme=ur;exports.inputResolver=Jr;exports.isSidebarExpandable=Ct;exports.isSidebarParent=br;exports.isValidColorScheme=dr;exports.legacyActiveKey=yr;exports.legacyDefaultExpandedKeys=vr;exports.legendItemsFromSeries=Ks;exports.listColorSchemes=fr;exports.registerBuiltInResolvers=Wa;exports.registerColorScheme=cs;exports.resolveColorScheme=mr;exports.resolveSmartActionMetadata=Dt;exports.resolveSmartFieldMetadata=Ve;exports.toDateInputValue=Ce;exports.toSelectOption=Ye;exports.toSidebarItems=xr;exports.toTimeInputValue=ht;exports.useAppearance=hs;exports.useConfirm=Ln;exports.useDebouncedValue=Ur;exports.useRemoteData=Oe;exports.useSmartAction=Ua;exports.useSmartDependencies=Gr;exports.useSmartField=Ba;exports.useToast=An;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|