@ceed/ads 1.29.1 → 1.30.1

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.
Files changed (69) hide show
  1. package/dist/Overview.md +5 -5
  2. package/dist/components/DatePicker/DatePicker.d.ts +10 -0
  3. package/dist/components/DateRangePicker/DateRangePicker.d.ts +10 -0
  4. package/dist/components/data-display/Avatar.md +85 -74
  5. package/dist/components/data-display/Badge.md +23 -5
  6. package/dist/components/data-display/Chip.md +49 -35
  7. package/dist/components/data-display/DataTable.md +93 -0
  8. package/dist/components/data-display/InfoSign.md +15 -5
  9. package/dist/components/data-display/Markdown.md +22 -26
  10. package/dist/components/data-display/Table.md +63 -53
  11. package/dist/components/data-display/Tooltip.md +70 -58
  12. package/dist/components/data-display/Typography.md +28 -11
  13. package/dist/components/feedback/Alert.md +86 -74
  14. package/dist/components/feedback/CircularProgress.md +20 -5
  15. package/dist/components/feedback/Dialog.md +8 -12
  16. package/dist/components/feedback/Modal.md +12 -16
  17. package/dist/components/feedback/Skeleton.md +20 -5
  18. package/dist/components/inputs/Autocomplete.md +8 -10
  19. package/dist/components/inputs/Button.md +107 -87
  20. package/dist/components/inputs/ButtonGroup.md +20 -5
  21. package/dist/components/inputs/Calendar.md +25 -5
  22. package/dist/components/inputs/Checkbox.md +171 -450
  23. package/dist/components/inputs/CurrencyInput.md +25 -5
  24. package/dist/components/inputs/DatePicker.md +87 -5
  25. package/dist/components/inputs/DateRangePicker.md +91 -5
  26. package/dist/components/inputs/FilterMenu.md +85 -9
  27. package/dist/components/inputs/FilterableCheckboxGroup.md +23 -8
  28. package/dist/components/inputs/FormControl.md +34 -6
  29. package/dist/components/inputs/IconButton.md +21 -5
  30. package/dist/components/inputs/Input.md +254 -68
  31. package/dist/components/inputs/MonthPicker.md +28 -5
  32. package/dist/components/inputs/MonthRangePicker.md +26 -5
  33. package/dist/components/inputs/PercentageInput.md +28 -5
  34. package/dist/components/inputs/RadioButton.md +26 -5
  35. package/dist/components/inputs/RadioList.md +23 -6
  36. package/dist/components/inputs/RadioTileGroup.md +40 -8
  37. package/dist/components/inputs/Select.md +59 -5
  38. package/dist/components/inputs/Slider.md +26 -5
  39. package/dist/components/inputs/Switch.md +23 -5
  40. package/dist/components/inputs/Textarea.md +27 -5
  41. package/dist/components/inputs/Uploader/Uploader.md +24 -5
  42. package/dist/components/layout/Box.md +66 -58
  43. package/dist/components/layout/Container.md +9 -13
  44. package/dist/components/layout/Grid.md +91 -75
  45. package/dist/components/layout/Stack.md +85 -70
  46. package/dist/components/navigation/Breadcrumbs.md +23 -14
  47. package/dist/components/navigation/Dropdown.md +29 -20
  48. package/dist/components/navigation/IconMenuButton.md +24 -11
  49. package/dist/components/navigation/InsetDrawer.md +16 -5
  50. package/dist/components/navigation/Link.md +30 -14
  51. package/dist/components/navigation/Menu.md +33 -20
  52. package/dist/components/navigation/MenuButton.md +26 -12
  53. package/dist/components/navigation/NavigationGroup.md +7 -11
  54. package/dist/components/navigation/NavigationItem.md +8 -12
  55. package/dist/components/navigation/Navigator.md +5 -9
  56. package/dist/components/navigation/Pagination.md +21 -12
  57. package/dist/components/navigation/ProfileMenu.md +17 -5
  58. package/dist/components/navigation/Stepper.md +18 -5
  59. package/dist/components/navigation/Tabs.md +37 -14
  60. package/dist/components/surfaces/Accordions.md +12 -16
  61. package/dist/components/surfaces/Card.md +59 -47
  62. package/dist/components/surfaces/Divider.md +70 -61
  63. package/dist/components/surfaces/Sheet.md +18 -5
  64. package/dist/index.browser.js +2 -2
  65. package/dist/index.browser.js.map +3 -3
  66. package/dist/index.cjs +173 -6
  67. package/dist/index.js +173 -6
  68. package/framer/index.js +1 -1
  69. package/package.json +1 -1
@@ -147,8 +147,8 @@ try {
147
147
  Prefix can't start with '-' when allowNegative is true.
148
148
  prefix: `+prefix2+`
149
149
  allowNegative: `+allowNegative+`
150
- `),allowNegative=!1),Object.assign(Object.assign({},props),{allowNegative})}__name(validateAndUpdateProps,"validateAndUpdateProps");function useNumericFormat(props){props=validateAndUpdateProps(props);var _decimalSeparator=props.decimalSeparator,_allowedDecimalSeparators=props.allowedDecimalSeparators,thousandsGroupStyle=props.thousandsGroupStyle,suffix=props.suffix,allowNegative=props.allowNegative,allowLeadingZeros=props.allowLeadingZeros,onKeyDown=props.onKeyDown;onKeyDown===void 0&&(onKeyDown=noop2);var onBlur=props.onBlur;onBlur===void 0&&(onBlur=noop2);var thousandSeparator=props.thousandSeparator,decimalScale=props.decimalScale,fixedDecimalScale=props.fixedDecimalScale,prefix2=props.prefix;prefix2===void 0&&(prefix2="");var defaultValue=props.defaultValue,value=props.value,valueIsNumericString=props.valueIsNumericString,onValueChange=props.onValueChange,restProps=__rest(props,["decimalSeparator","allowedDecimalSeparators","thousandsGroupStyle","suffix","allowNegative","allowLeadingZeros","onKeyDown","onBlur","thousandSeparator","decimalScale","fixedDecimalScale","prefix","defaultValue","value","valueIsNumericString","onValueChange"]),ref=getSeparators(props),decimalSeparator=ref.decimalSeparator,allowedDecimalSeparators=ref.allowedDecimalSeparators,_format=__name(function(numStr){return format(numStr,props)},"_format"),_removeFormatting=__name(function(inputValue,changeMeta){return removeFormatting(inputValue,changeMeta,props)},"_removeFormatting"),_value=isNil(value)?defaultValue:value,_valueIsNumericString=valueIsNumericString??isNumericString(_value,prefix2,suffix);isNil(value)?isNil(defaultValue)||(_valueIsNumericString=_valueIsNumericString||typeof defaultValue=="number"):_valueIsNumericString=_valueIsNumericString||typeof value=="number";var roundIncomingValueToPrecision=__name(function(value2){return isNotValidValue(value2)?value2:(typeof value2=="number"&&(value2=toNumericString(value2)),_valueIsNumericString&&typeof decimalScale=="number"?roundToPrecision(value2,decimalScale,!!fixedDecimalScale):value2)},"roundIncomingValueToPrecision"),ref$1=useInternalValues(roundIncomingValueToPrecision(value),roundIncomingValueToPrecision(defaultValue),!!_valueIsNumericString,_format,_removeFormatting,onValueChange),ref$1_0=ref$1[0],numAsString=ref$1_0.numAsString,formattedValue=ref$1_0.formattedValue,_onValueChange=ref$1[1],_onKeyDown=__name(function(e){var el=e.target,key=e.key,selectionStart=el.selectionStart,selectionEnd=el.selectionEnd,value2=el.value;if(value2===void 0&&(value2=""),selectionStart!==selectionEnd){onKeyDown(e);return}key==="Backspace"&&value2[0]==="-"&&selectionStart===prefix2.length+1&&allowNegative&&setCaretPosition(el,1),decimalScale&&fixedDecimalScale&&(key==="Backspace"&&value2[selectionStart-1]===decimalSeparator?(setCaretPosition(el,selectionStart-1),e.preventDefault()):key==="Delete"&&value2[selectionStart]===decimalSeparator&&e.preventDefault()),allowedDecimalSeparators!=null&&allowedDecimalSeparators.includes(key)&&value2[selectionStart]===decimalSeparator&&setCaretPosition(el,selectionStart+1);var _thousandSeparator=thousandSeparator===!0?",":thousandSeparator;key==="Backspace"&&value2[selectionStart-1]===_thousandSeparator&&setCaretPosition(el,selectionStart-1),key==="Delete"&&value2[selectionStart]===_thousandSeparator&&setCaretPosition(el,selectionStart+1),onKeyDown(e)},"_onKeyDown"),_onBlur=__name(function(e){var _value2=numAsString;if(_value2.match(/\d/g)||(_value2=""),allowLeadingZeros||(_value2=fixLeadingZero(_value2)),fixedDecimalScale&&decimalScale&&(_value2=roundToPrecision(_value2,decimalScale,fixedDecimalScale)),_value2!==numAsString){var formattedValue2=format(_value2,props);_onValueChange({formattedValue:formattedValue2,value:_value2,floatValue:parseFloat(_value2)},{event:e,source:SourceType.event})}onBlur(e)},"_onBlur"),isValidInputCharacter=__name(function(inputChar){return inputChar===decimalSeparator?!0:charIsNumber(inputChar)},"isValidInputCharacter"),isCharacterSame=__name(function(ref2){var currentValue=ref2.currentValue,lastValue=ref2.lastValue,formattedValue2=ref2.formattedValue,currentValueIndex=ref2.currentValueIndex,formattedValueIndex=ref2.formattedValueIndex,curChar=currentValue[currentValueIndex],newChar=formattedValue2[formattedValueIndex],typedRange=findChangeRange(lastValue,currentValue),to=typedRange.to;return currentValueIndex>=to.start&&currentValueIndex<to.end&&allowedDecimalSeparators&&allowedDecimalSeparators.includes(curChar)&&newChar===decimalSeparator?!0:curChar===newChar},"isCharacterSame");return Object.assign(Object.assign({},restProps),{value:formattedValue,valueIsNumericString:!1,isValidInputCharacter,isCharacterSame,onValueChange:_onValueChange,format:_format,removeFormatting:_removeFormatting,getCaretBoundary:__name(function(formattedValue2){return getCaretBoundary(formattedValue2,props)},"getCaretBoundary"),onKeyDown:_onKeyDown,onBlur:_onBlur})}__name(useNumericFormat,"useNumericFormat");function NumericFormat(props){var numericFormatProps=useNumericFormat(props);return React194.createElement(NumberFormatBase,Object.assign({},numericFormatProps))}__name(NumericFormat,"NumericFormat");import React195,{useCallback as useCallback31,useState as useState29}from"react";import{jsx as _jsx111}from"react/jsx-runtime";var Visibility_default=createSvgIcon2(_jsx111("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility");import{jsx as _jsx112}from"react/jsx-runtime";var VisibilityOff_default=createSvgIcon2(_jsx112("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7M2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2m4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3z"}),"VisibilityOff");var MotionInput=motion(Input_default),Input3=React195.forwardRef((props,ref)=>{var _a;let{label,helperText,error,style:style4,size,color:color3,disabled,required,onChange,name:name2,type,sx,className,enableClearable,disableTogglePasswordButton,...innerProps}=props;type==="password"&&innerProps.endDecorator&&console.warn('Input: endDecorator is not supported when type="password"');let[passwordVisible,setPasswordVisible]=useState29(!1),[value,setValue]=useControlledState(props.value,props.defaultValue,useCallback31(value2=>{onChange==null||onChange({target:{value:(value2==null?void 0:value2.toString())||"",name:name2||""}})},[onChange,name2])),handleChange=__name(e=>{setValue(e.target.value)},"handleChange"),handleClear=__name(()=>{setValue(props.defaultValue||"")},"handleClear"),handleTogglePasswordVisibility=__name(()=>{setPasswordVisible(prev2=>!prev2)},"handleTogglePasswordVisibility"),actualType=type==="password"&&passwordVisible?"text":type,isPasswordType=type==="password",showPasswordToggle=isPasswordType&&!disableTogglePasswordButton,input=React195.createElement(MotionInput,{value,name:name2,onChange:handleChange,required,color:error?"danger":color3,disabled,type:actualType,slotProps:{input:{ref,...(_a=innerProps.slotProps)==null?void 0:_a.input},...innerProps.slotProps},...innerProps,endDecorator:isPasswordType?showPasswordToggle?React195.createElement(Stack_default2,{gap:1,direction:"row"},React195.createElement(IconButton_default2,{onMouseDown:e=>e.preventDefault(),onClick:handleTogglePasswordVisibility,disabled,"aria-label":passwordVisible?"Hide password":"Show password"},passwordVisible?React195.createElement(VisibilityOff_default,null):React195.createElement(Visibility_default,null))):null:enableClearable?React195.createElement(Stack_default2,{gap:1,direction:"row"},innerProps.endDecorator,value&&React195.createElement(IconButton_default2,{onMouseDown:e=>e.preventDefault(),onClick:handleClear,"aria-label":"Clear"},React195.createElement(Close_default2,null))):innerProps.endDecorator});return React195.createElement(FormControl_default2,{required,color:color3,size,error,disabled,sx,className},label&&React195.createElement(FormLabel_default2,null,label),input,helperText&&React195.createElement(FormHelperText_default2,null,helperText))});Input3.displayName="Input";var Input_default2=Input3;var CURRENCY_DECIMAL_MAP={AED:2,ALL:2,AMD:2,ANG:2,AOA:2,ARS:2,AUD:2,AWG:2,AZN:2,BAM:2,BBD:2,BDT:2,BGN:2,BHD:3,BMD:2,BND:2,BOB:2,BRL:2,BSD:2,BWP:2,BYN:2,BZD:2,CAD:2,CHF:2,CLP:2,CNH:2,CNY:2,COP:2,CRC:2,CUP:2,CVE:0,CZK:2,DJF:0,DKK:2,DOP:2,DZD:2,EGP:2,ETB:2,EUR:2,FJD:2,FKP:2,GBP:2,GEL:2,GHS:2,GIP:2,GMD:2,GNF:0,GTQ:2,GYD:2,HKD:2,HNL:2,HTG:2,HUF:2,IDR:0,ILS:2,INR:2,IQD:3,ISK:2,JMD:2,JOD:3,JPY:0,KES:2,KGS:2,KHR:2,KMF:0,KRW:0,KWD:3,KYD:2,KZT:2,LAK:2,LBP:2,LKR:2,LYD:3,MAD:2,MDL:2,MKD:2,MMK:2,MNT:2,MOP:2,MRU:2,MUR:2,MVR:2,MWK:2,MXN:2,MYR:2,MZN:2,NAD:2,NGN:2,NIO:2,NOK:2,NPR:2,NZD:2,OMR:3,PAB:2,PEN:2,PGK:2,PHP:2,PKR:2,PLN:2,PYG:0,QAR:2,RON:2,RSD:2,RUB:2,RWF:0,SAR:2,SBD:2,SCR:2,SEK:2,SGD:2,SHP:2,SLE:2,SOS:2,SRD:2,STN:2,SVC:2,SZL:2,THB:2,TND:3,TOP:2,TRY:2,TTD:2,TWD:2,TZS:2,UAH:2,UGX:0,USD:2,UYU:2,UZS:2,VEF:2,VND:0,VUV:0,WST:2,XAF:0,XCD:2,XOF:0,XPF:0,YER:2,ZAR:2,ZMW:2},useCurrencySetting=__name(props=>{var _a,_b,_c;let{currency="USD",placeholder}=props,parts=new Intl.NumberFormat("en-US",{style:"currency",currency}).formatToParts(1000.01),symbol=((_a=parts.find(p=>p.type==="currency"))==null?void 0:_a.value)??"$",thousandSeparator=((_b=parts.find(p=>p.type==="group"))==null?void 0:_b.value)??",",decimalSeparator=(_c=parts.find(p=>p.type==="decimal"))==null?void 0:_c.value,decimalScale=CURRENCY_DECIMAL_MAP[currency];return{symbol:`${symbol} `,thousandSeparator,decimalSeparator,placeholder:placeholder?`${symbol} ${placeholder}`:decimalSeparator?`${symbol} 0${decimalSeparator}${Array.from(Array(decimalScale)).map(()=>0).join("")}`:`${symbol} 0`,fixedDecimalScale:!!decimalSeparator,decimalScale}},"useCurrencySetting");var TextMaskAdapter=React196.forwardRef(__name(function(props,ref){let{onChange,...innerProps}=props;return React196.createElement(NumericFormat,{...innerProps,onValueChange:({value})=>{onChange==null||onChange({target:{name:props.name,value}})},valueIsNumericString:!0,getInputRef:ref,allowNegative:!0})},"TextMaskAdapter")),CurrencyInputRoot=styled_default2(Input_default2,{name:"CurrencyInput",slot:"root",overridesResolver:__name((props,styles2)=>styles2.root,"overridesResolver")})({}),CurrencyInput=React196.forwardRef(__name(function(inProps,ref){let props=useThemeProps2({props:inProps,name:"CurrencyInput"}),{currency="USD",name:name2,onChange,label,error,helperText,required,disabled,useMinorUnit,sx,className,...innerProps}=props,{symbol,thousandSeparator,decimalSeparator,placeholder,fixedDecimalScale,decimalScale}=useCurrencySetting(props),[_value,setValue]=useControlledState(props.value,props.defaultValue,useCallback32(value2=>onChange==null?void 0:onChange({target:{name:name2,value:value2}}),[onChange,name2])),value=useMemo44(()=>_value&&useMinorUnit?_value/Math.pow(10,decimalScale):_value,[_value,useMinorUnit,decimalScale]),max2=useMemo44(()=>props.max&&useMinorUnit?props.max/Math.pow(10,decimalScale):props.max,[props.max,useMinorUnit,decimalScale]),[isOverLimit,setIsOverLimit]=useState30(!!max2&&!!value&&value>max2),handleChange=useCallback32(event=>{var _a;if(event.target.value===""){setValue(void 0);return}let amount=Number(useMinorUnit&&decimalSeparator?(_a=event.target.value)==null?void 0:_a.replace(decimalSeparator,""):event.target.value);max2&&Number(event.target.value)>max2?setIsOverLimit(!0):setIsOverLimit(!1),setValue(amount)},[decimalSeparator,max2,useMinorUnit,setValue]);return React196.createElement(CurrencyInputRoot,{...innerProps,ref,value,placeholder,onChange:handleChange,error:error||isOverLimit,disabled,required,color:error||isOverLimit?"danger":props.color,label,helperText:isOverLimit?`limit: ${new Intl.NumberFormat("en-US",{style:"currency",currency}).format(max2)}`:helperText,slotProps:{input:{component:TextMaskAdapter,decimalSeparator,thousandSeparator,prefix:symbol,fixedDecimalScale,decimalScale,"aria-label":innerProps["aria-label"]}},sx:{...sx},className})},"CurrencyInput"));var CurrencyInput_default=CurrencyInput;import React207,{useCallback as useCallback38,useMemo as useMemo49,useRef as useRef56,useId as useId6,forwardRef as forwardRef90,useImperativeHandle as useImperativeHandle9,Fragment as Fragment18}from"react";var _TextMeasurer=class _TextMeasurer{constructor(font){let canvas=document.createElement("canvas");this.ctx=canvas.getContext("2d"),this.ctx&&font&&(this.ctx.font=font)}setFont(font){return this.ctx&&(this.ctx.font=font),this}setFontFromElement(el){return this.ctx&&(this.ctx.font=getComputedStyle(el).font),this}measureText(text7){return this.ctx?this.ctx.measureText(text7).width:0}measureMaxWidth(values2){if(!this.ctx)return 0;let max2=0;for(let i=0;i<values2.length;i++){let w=this.ctx.measureText(values2[i]).width;w>max2&&(max2=w)}return max2}};__name(_TextMeasurer,"TextMeasurer");var TextMeasurer=_TextMeasurer;function extractFieldsFromGroupingModel(items){let fields=new Set;for(let item of items)if("groupId"in item){let children=Array.isArray(item.children)?item.children:[item.children];extractFieldsFromGroupingModel(children).forEach(field=>fields.add(field))}else fields.add(item.field);return fields}__name(extractFieldsFromGroupingModel,"extractFieldsFromGroupingModel");function reorderColumnsByGroupingModel(columns,columnGroupingModel){let fieldsInGroupingModel=extractFieldsFromGroupingModel(columnGroupingModel),orderedFields=[];function collectFieldsInOrder(items){for(let item of items)if("groupId"in item){let children=Array.isArray(item.children)?item.children:[item.children];collectFieldsInOrder(children)}else orderedFields.includes(item.field)||orderedFields.push(item.field)}__name(collectFieldsInOrder,"collectFieldsInOrder"),collectFieldsInOrder(columnGroupingModel);let columnMap=new Map(columns.map(col=>[col.field,col])),reorderedColumns=[];for(let field of orderedFields){let column2=columnMap.get(field);column2&&reorderedColumns.push(column2)}for(let column2 of columns)fieldsInGroupingModel.has(column2.field)||reorderedColumns.push(column2);return reorderedColumns}__name(reorderColumnsByGroupingModel,"reorderColumnsByGroupingModel");function flattenColumnGroups(items,groupPath=[],columnIndex={current:0},visibleFields){let result=[];for(let item of items)if("groupId"in item){let newPath=[...groupPath,item.groupId],children=Array.isArray(item.children)?item.children:[item.children];result.push(...flattenColumnGroups(children,newPath,columnIndex,visibleFields))}else{if(visibleFields&&!visibleFields.has(item.field))continue;result.push({...item,groupPath,columnIndex:columnIndex.current++})}return result}__name(flattenColumnGroups,"flattenColumnGroups");function calculateColumnGroups(columnGroupingModel,columns,visibleFields){let fieldsInGroupingModel=extractFieldsFromGroupingModel(columnGroupingModel),flattenedColumns=flattenColumnGroups(columnGroupingModel,[],{current:0},visibleFields),columnIndexMap=new Map(flattenedColumns.map(col=>[col.field,col.columnIndex])),processedGroups=new Map,groupsByLevel=[],maxLevel=0;function processGroup(items,level,parentGroupId){let minIndex=1/0,maxIndex=-1/0;for(let item of items)if("groupId"in item){let groupKey=parentGroupId?`${parentGroupId}.${item.groupId}`:item.groupId;if(!processedGroups.has(groupKey)){let children=Array.isArray(item.children)?item.children:[item.children],{startIndex,colspan}=processGroup(children,level+1,groupKey),group={groupId:item.groupId,headerName:item.headerName,headerClassName:item.headerClassName,colspan,level,startIndex};processedGroups.set(groupKey,group),groupsByLevel[level]||(groupsByLevel[level]=[]),groupsByLevel[level].push(group),maxLevel=Math.max(maxLevel,level),minIndex=Math.min(minIndex,startIndex),maxIndex=Math.max(maxIndex,startIndex+colspan-1)}}else{let columnIndex=columnIndexMap.get(item.field);columnIndex!==void 0&&(minIndex=Math.min(minIndex,columnIndex),maxIndex=Math.max(maxIndex,columnIndex))}return{startIndex:minIndex===1/0?0:minIndex,colspan:maxIndex===-1/0?0:maxIndex-minIndex+1}}__name(processGroup,"processGroup"),processGroup(columnGroupingModel,0),groupsByLevel.forEach(level=>{level.sort((a,b)=>a.startIndex-b.startIndex)});let filteredGroupsByLevel=groupsByLevel.map(level=>level.filter(g=>g.colspan>0)).filter(level=>level.length>0),correctedMaxLevel=filteredGroupsByLevel.length>0?filteredGroupsByLevel.length-1:-1;return{groups:filteredGroupsByLevel,maxLevel:correctedMaxLevel,fieldsInGroupingModel}}__name(calculateColumnGroups,"calculateColumnGroups");function parsePxValue(value){if(!value)return null;let trimmed=value.trim();if(trimmed.endsWith("px")){let num=parseFloat(trimmed);return isNaN(num)?null:num}return null}__name(parsePxValue,"parsePxValue");function getTextAlign(props){return!props.editMode&&["number","date","currency"].includes(props.type||"")?"end":"start"}__name(getTextAlign,"getTextAlign");var numberFormatter=__name(value=>"Intl"in window?new Intl.NumberFormat().format(value):value,"numberFormatter");function computeHeaderWidth(headerEl){var _a,_b;let thStyle=getComputedStyle(headerEl),paddingX=parseFloat(thStyle.paddingLeft)+parseFloat(thStyle.paddingRight),borderX=parseFloat(thStyle.borderLeftWidth)+parseFloat(thStyle.borderRightWidth),stack=headerEl.firstElementChild;if(!stack)return paddingX;let stackStyle=getComputedStyle(stack),gap2=parseFloat(stackStyle.gap)||parseFloat(stackStyle.columnGap)||0,totalChildWidth=0,visibleChildCount=0;for(let child of Array.from(stack.children)){let el=child;if(!el.offsetWidth&&!el.offsetHeight)continue;visibleChildCount++;let textEl=((_a=el.querySelector)==null?void 0:_a.call(el,'[data-slot="header-text"]'))||(((_b=el.dataset)==null?void 0:_b.slot)==="header-text"?el:null);if(textEl){let htmlEl=textEl;if(getComputedStyle(htmlEl).display==="-webkit-box"){let measurer=new TextMeasurer;measurer.setFontFromElement(htmlEl),totalChildWidth+=measurer.measureText(htmlEl.textContent||"")}else totalChildWidth+=htmlEl.scrollWidth}else totalChildWidth+=el.offsetWidth}let totalGaps=visibleChildCount>1?(visibleChildCount-1)*gap2:0;return totalChildWidth+totalGaps+paddingX+borderX}__name(computeHeaderWidth,"computeHeaderWidth");function computeBodyWidth(headerEl,table2,field,dataInPage){let headId=headerEl.id,styleSource=(headId?table2.querySelector(`tbody td[headers="${CSS.escape(headId)}"]`):null)||headerEl,tdStyle=getComputedStyle(styleSource),bodyPaddingX=parseFloat(tdStyle.paddingLeft)+parseFloat(tdStyle.paddingRight),bodyBorderX=parseFloat(tdStyle.borderLeftWidth)+parseFloat(tdStyle.borderRightWidth),measurer=new TextMeasurer;measurer.setFont(tdStyle.font);let texts=[];for(let i=0;i<dataInPage.length;i++){let val=dataInPage[i][field];texts.push(val==null?"":String(val))}return measurer.measureMaxWidth(texts)+bodyPaddingX+bodyBorderX}__name(computeBodyWidth,"computeBodyWidth");function computeAutoFitWidth(params){let{headerEl,field,dataInPage}=params,table2=headerEl.closest("table");if(!table2)return null;let headerWidth=computeHeaderWidth(headerEl),bodyWidth=computeBodyWidth(headerEl,table2,field,dataInPage),finalWidth=Math.ceil(Math.max(headerWidth,bodyWidth)),thStyle=getComputedStyle(headerEl),resolvedMin=thStyle.minWidth,resolvedMax=thStyle.maxWidth,minPx=resolvedMin!=="none"?parseFloat(resolvedMin):NaN,maxPx=resolvedMax!=="none"?parseFloat(resolvedMax):NaN;return!isNaN(minPx)&&minPx>0&&(finalWidth=Math.max(finalWidth,minPx)),!isNaN(maxPx)&&maxPx>0&&(finalWidth=Math.min(finalWidth,maxPx)),finalWidth}__name(computeAutoFitWidth,"computeAutoFitWidth");import React197 from"react";import{jsx as _jsx113}from"react/jsx-runtime";var ArrowUpwardRounded_default=createSvgIcon2(_jsx113("path",{d:"M13 19V7.83l4.88 4.88c.39.39 1.03.39 1.42 0s.39-1.02 0-1.41l-6.59-6.59a.996.996 0 0 0-1.41 0l-6.6 6.58c-.39.39-.39 1.02 0 1.41s1.02.39 1.41 0L11 7.83V19c0 .55.45 1 1 1s1-.45 1-1"}),"ArrowUpwardRounded");var EllipsisDiv=styled_default2("div",{name:"DataTable",slot:"textEllipsis",shouldForwardProp:__name(prop=>prop!=="lineClamp","shouldForwardProp")})(({lineClamp})=>lineClamp&&lineClamp>1?{overflow:"hidden",display:"-webkit-box !important",WebkitBoxOrient:"vertical",WebkitLineClamp:lineClamp,whiteSpace:"normal",overflowWrap:"anywhere"}:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}),OverlayWrapper=styled_default2("tr",{name:"DataTable",slot:"overlayWrapper"})({position:"sticky",top:"calc(var(--unstable_TableCell-height, 32px))",left:0,right:0,zIndex:1,"& > td":{height:0,padding:0,border:"none !important"}}),VirtualizedTableBody=styled_default2("tbody",{name:"DataTable",slot:"tableBody"})({"&::after":{content:"''",display:"block",height:"0.01em"},[`& .${buttonClasses_default.root}`]:{"--Button-minHeight":"26px","--Button-paddingBlock":"0.25rem",lineHeight:1,marginTop:"-2px",marginBottom:"-2px"},[`& .${iconButtonClasses_default.root}`]:{"--IconButton-size":"26px",verticalAlign:"middle",marginTop:"-2px",marginBottom:"-2px"}}),StyledTableRow=styled_default2("tr",{name:"DataTable",slot:"tableRow",shouldForwardProp:__name(prop=>prop!=="striped","shouldForwardProp")})(({striped})=>({...striped&&{backgroundColor:"var(--TableRow-stripeBackground, var(--ceed-palette-background-level2))",color:"var(--ceed-palette-text-primary)","& td":{backgroundColor:"background.surface"}},"&:hover":{backgroundColor:"var(--TableRow-hoverBackground, var(--ceed-palette-background-level3))","& td":{backgroundColor:"var(--TableRow-hoverBackground, var(--ceed-palette-background-level3))"}}})),Asterisk=styled_default2("span",{name:"DataTable",slot:"headCellAsterisk"})(({theme})=>({color:"var(--ceed-palette-danger-500)",marginLeft:theme.spacing(.5)})),StyledTh=styled_default2(motion.th)(({theme})=>({boxShadow:"1px 0 var(--TableCell-borderColor)"})),StyledTd=styled_default2("td")(({theme})=>({transition:"box-shadow 0.3s","&:not(.is-last-left):not(.is-last-right)":{boxShadow:"1px 0 var(--TableCell-borderColor)"},".ScrollableRight &":{"&.is-last-left":{boxShadow:`1px 0 var(--TableCell-borderColor), ${theme.shadow.md}`}},".ScrollableLeft &":{"&.is-last-right":{boxShadow:`1px 0 var(--TableCell-borderColor), ${theme.shadow.md}`}}})),MotionSortIcon=motion(ArrowUpwardRounded_default),DefaultLoadingOverlay=__name(()=>React197.createElement(LinearProgress_default,{value:8,variant:"plain"}),"DefaultLoadingOverlay"),DefaultNoRowsOverlay=__name(()=>React197.createElement(Typography_default,{level:"body-sm",textColor:"text.tertiary"},"No rows"),"DefaultNoRowsOverlay"),Resizer=__name((ref,targetRef=ref,onResizeStateChange,onAutoFit)=>React197.createElement(Box_default2,{sx:{position:"absolute",top:0,right:0,bottom:0,width:"7px",cursor:"col-resize","&::after":{content:'""',position:"absolute",top:0,bottom:0,right:0,width:"2px",bgcolor:"transparent",transition:"background-color 150ms ease"},"&:hover::after":{bgcolor:"primary.300"},"&[data-resizing]::after":{bgcolor:"primary.500"}},onClick:e=>e.stopPropagation(),onDoubleClick:e=>{e.stopPropagation(),e.preventDefault(),onAutoFit==null||onAutoFit()},onMouseDown:e=>{var _a;if(e.detail>=2)return;let resizerEl=e.currentTarget;resizerEl.dataset.resizing="";let initialX=e.clientX,initialWidth=(_a=ref.current)==null?void 0:_a.getBoundingClientRect().width,activated=!1,DRAG_THRESHOLD=3,thStyle=ref.current?getComputedStyle(ref.current):null,minW=thStyle?parseFloat(thStyle.minWidth):NaN,maxW=thStyle?parseFloat(thStyle.maxWidth):NaN,onMouseMove=__name(e2=>{if(!initialWidth)return;let delta=e2.clientX-initialX;if(!activated){if(Math.abs(delta)<DRAG_THRESHOLD)return;activated=!0,onResizeStateChange==null||onResizeStateChange(!0)}if(!ref.current||!targetRef.current){onMouseUp();return}let newWidth=initialWidth+delta;!isNaN(minW)&&minW>0&&(newWidth=Math.max(newWidth,minW)),!isNaN(maxW)&&maxW>0&&(newWidth=Math.min(newWidth,maxW)),ref.current.style.width=`${newWidth}px`,targetRef.current.style.width=`${newWidth}px`},"onMouseMove"),onMouseUp=__name(()=>{resizerEl.removeAttribute("data-resizing"),document.removeEventListener("mousemove",onMouseMove),document.removeEventListener("mouseup",onMouseUp),activated&&requestAnimationFrame(()=>onResizeStateChange==null?void 0:onResizeStateChange(!1))},"onMouseUp");document.addEventListener("mousemove",onMouseMove),document.addEventListener("mouseup",onMouseUp)}}),"Resizer");import React204,{useRef as useRef54,useState as useState33,useLayoutEffect as useLayoutEffect6,useMemo as useMemo47,useCallback as useCallback35,useEffect as useEffect47,memo as memo7,createElement as createElement9}from"react";import React200,{forwardRef as forwardRef89,useCallback as useCallback34,useEffect as useEffect46,useImperativeHandle as useImperativeHandle8,useRef as useRef53,useState as useState32}from"react";function isString2(str){return typeof str=="string"||str instanceof String}__name(isString2,"isString");function isObject(obj){var _obj$constructor;return typeof obj=="object"&&obj!=null&&(obj==null||(_obj$constructor=obj.constructor)==null?void 0:_obj$constructor.name)==="Object"}__name(isObject,"isObject");function pick(obj,keys2){return Array.isArray(keys2)?pick(obj,(_4,k)=>keys2.includes(k)):Object.entries(obj).reduce((acc,_ref)=>{let[k,v]=_ref;return keys2(v,k)&&(acc[k]=v),acc},{})}__name(pick,"pick");var DIRECTION={NONE:"NONE",LEFT:"LEFT",FORCE_LEFT:"FORCE_LEFT",RIGHT:"RIGHT",FORCE_RIGHT:"FORCE_RIGHT"};function forceDirection(direction){switch(direction){case DIRECTION.LEFT:return DIRECTION.FORCE_LEFT;case DIRECTION.RIGHT:return DIRECTION.FORCE_RIGHT;default:return direction}}__name(forceDirection,"forceDirection");function escapeRegExp2(str){return str.replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1")}__name(escapeRegExp2,"escapeRegExp");function objectIncludes(b,a){if(a===b)return!0;let arrA=Array.isArray(a),arrB=Array.isArray(b),i;if(arrA&&arrB){if(a.length!=b.length)return!1;for(i=0;i<a.length;i++)if(!objectIncludes(a[i],b[i]))return!1;return!0}if(arrA!=arrB)return!1;if(a&&b&&typeof a=="object"&&typeof b=="object"){let dateA=a instanceof Date,dateB=b instanceof Date;if(dateA&&dateB)return a.getTime()==b.getTime();if(dateA!=dateB)return!1;let regexpA=a instanceof RegExp,regexpB=b instanceof RegExp;if(regexpA&&regexpB)return a.toString()==b.toString();if(regexpA!=regexpB)return!1;let keys2=Object.keys(a);for(i=0;i<keys2.length;i++)if(!Object.prototype.hasOwnProperty.call(b,keys2[i]))return!1;for(i=0;i<keys2.length;i++)if(!objectIncludes(b[keys2[i]],a[keys2[i]]))return!1;return!0}else if(a&&b&&typeof a=="function"&&typeof b=="function")return a.toString()===b.toString();return!1}__name(objectIncludes,"objectIncludes");var _ActionDetails=class _ActionDetails{constructor(opts){for(Object.assign(this,opts);this.value.slice(0,this.startChangePos)!==this.oldValue.slice(0,this.startChangePos);)--this.oldSelection.start;if(this.insertedCount)for(;this.value.slice(this.cursorPos)!==this.oldValue.slice(this.oldSelection.end);)this.value.length-this.cursorPos<this.oldValue.length-this.oldSelection.end?++this.oldSelection.end:++this.cursorPos}get startChangePos(){return Math.min(this.cursorPos,this.oldSelection.start)}get insertedCount(){return this.cursorPos-this.startChangePos}get inserted(){return this.value.substr(this.startChangePos,this.insertedCount)}get removedCount(){return Math.max(this.oldSelection.end-this.startChangePos||this.oldValue.length-this.value.length,0)}get removed(){return this.oldValue.substr(this.startChangePos,this.removedCount)}get head(){return this.value.substring(0,this.startChangePos)}get tail(){return this.value.substring(this.startChangePos+this.insertedCount)}get removeDirection(){return!this.removedCount||this.insertedCount?DIRECTION.NONE:(this.oldSelection.end===this.cursorPos||this.oldSelection.start===this.cursorPos)&&this.oldSelection.end===this.oldSelection.start?DIRECTION.RIGHT:DIRECTION.LEFT}};__name(_ActionDetails,"ActionDetails");var ActionDetails=_ActionDetails;function IMask(el,opts){return new IMask.InputMask(el,opts)}__name(IMask,"IMask");function maskedClass(mask){if(mask==null)throw new Error("mask property should be defined");return mask instanceof RegExp?IMask.MaskedRegExp:isString2(mask)?IMask.MaskedPattern:mask===Date?IMask.MaskedDate:mask===Number?IMask.MaskedNumber:Array.isArray(mask)||mask===Array?IMask.MaskedDynamic:IMask.Masked&&mask.prototype instanceof IMask.Masked?mask:IMask.Masked&&mask instanceof IMask.Masked?mask.constructor:mask instanceof Function?IMask.MaskedFunction:(console.warn("Mask not found for mask",mask),IMask.Masked)}__name(maskedClass,"maskedClass");function normalizeOpts(opts){if(!opts)throw new Error("Options in not defined");if(IMask.Masked){if(opts.prototype instanceof IMask.Masked)return{mask:opts};let{mask=void 0,...instanceOpts}=opts instanceof IMask.Masked?{mask:opts}:isObject(opts)&&opts.mask instanceof IMask.Masked?opts:{};if(mask){let _mask=mask.mask;return{...pick(mask,(_4,k)=>!k.startsWith("_")),mask:mask.constructor,_mask,...instanceOpts}}}return isObject(opts)?{...opts}:{mask:opts}}__name(normalizeOpts,"normalizeOpts");function createMask(opts){if(IMask.Masked&&opts instanceof IMask.Masked)return opts;let nOpts=normalizeOpts(opts),MaskedClass=maskedClass(nOpts.mask);if(!MaskedClass)throw new Error("Masked class is not found for provided mask "+nOpts.mask+", appropriate module needs to be imported manually before creating mask.");return nOpts.mask===MaskedClass&&delete nOpts.mask,nOpts._mask&&(nOpts.mask=nOpts._mask,delete nOpts._mask),new MaskedClass(nOpts)}__name(createMask,"createMask");IMask.createMask=createMask;var _MaskElement=class _MaskElement{get selectionStart(){let start5;try{start5=this._unsafeSelectionStart}catch{}return start5??this.value.length}get selectionEnd(){let end2;try{end2=this._unsafeSelectionEnd}catch{}return end2??this.value.length}select(start5,end2){if(!(start5==null||end2==null||start5===this.selectionStart&&end2===this.selectionEnd))try{this._unsafeSelect(start5,end2)}catch{}}get isActive(){return!1}};__name(_MaskElement,"MaskElement");var MaskElement=_MaskElement;IMask.MaskElement=MaskElement;var KEY_Z=90,KEY_Y=89,_HTMLMaskElement=class _HTMLMaskElement extends MaskElement{constructor(input){super(),this.input=input,this._onKeydown=this._onKeydown.bind(this),this._onInput=this._onInput.bind(this),this._onBeforeinput=this._onBeforeinput.bind(this),this._onCompositionEnd=this._onCompositionEnd.bind(this)}get rootElement(){var _this$input$getRootNo,_this$input$getRootNo2,_this$input;return(_this$input$getRootNo=(_this$input$getRootNo2=(_this$input=this.input).getRootNode)==null?void 0:_this$input$getRootNo2.call(_this$input))!=null?_this$input$getRootNo:document}get isActive(){return this.input===this.rootElement.activeElement}bindEvents(handlers2){this.input.addEventListener("keydown",this._onKeydown),this.input.addEventListener("input",this._onInput),this.input.addEventListener("beforeinput",this._onBeforeinput),this.input.addEventListener("compositionend",this._onCompositionEnd),this.input.addEventListener("drop",handlers2.drop),this.input.addEventListener("click",handlers2.click),this.input.addEventListener("focus",handlers2.focus),this.input.addEventListener("blur",handlers2.commit),this._handlers=handlers2}_onKeydown(e){if(this._handlers.redo&&(e.keyCode===KEY_Z&&e.shiftKey&&(e.metaKey||e.ctrlKey)||e.keyCode===KEY_Y&&e.ctrlKey))return e.preventDefault(),this._handlers.redo(e);if(this._handlers.undo&&e.keyCode===KEY_Z&&(e.metaKey||e.ctrlKey))return e.preventDefault(),this._handlers.undo(e);e.isComposing||this._handlers.selectionChange(e)}_onBeforeinput(e){if(e.inputType==="historyUndo"&&this._handlers.undo)return e.preventDefault(),this._handlers.undo(e);if(e.inputType==="historyRedo"&&this._handlers.redo)return e.preventDefault(),this._handlers.redo(e)}_onCompositionEnd(e){this._handlers.input(e)}_onInput(e){e.isComposing||this._handlers.input(e)}unbindEvents(){this.input.removeEventListener("keydown",this._onKeydown),this.input.removeEventListener("input",this._onInput),this.input.removeEventListener("beforeinput",this._onBeforeinput),this.input.removeEventListener("compositionend",this._onCompositionEnd),this.input.removeEventListener("drop",this._handlers.drop),this.input.removeEventListener("click",this._handlers.click),this.input.removeEventListener("focus",this._handlers.focus),this.input.removeEventListener("blur",this._handlers.commit),this._handlers={}}};__name(_HTMLMaskElement,"HTMLMaskElement");var HTMLMaskElement=_HTMLMaskElement;IMask.HTMLMaskElement=HTMLMaskElement;var _HTMLInputMaskElement=class _HTMLInputMaskElement extends HTMLMaskElement{constructor(input){super(input),this.input=input}get _unsafeSelectionStart(){return this.input.selectionStart!=null?this.input.selectionStart:this.value.length}get _unsafeSelectionEnd(){return this.input.selectionEnd}_unsafeSelect(start5,end2){this.input.setSelectionRange(start5,end2)}get value(){return this.input.value}set value(value){this.input.value=value}};__name(_HTMLInputMaskElement,"HTMLInputMaskElement");var HTMLInputMaskElement=_HTMLInputMaskElement;IMask.HTMLMaskElement=HTMLMaskElement;var _HTMLContenteditableMaskElement=class _HTMLContenteditableMaskElement extends HTMLMaskElement{get _unsafeSelectionStart(){let root4=this.rootElement,selection=root4.getSelection&&root4.getSelection(),anchorOffset=selection&&selection.anchorOffset,focusOffset=selection&&selection.focusOffset;return focusOffset==null||anchorOffset==null||anchorOffset<focusOffset?anchorOffset:focusOffset}get _unsafeSelectionEnd(){let root4=this.rootElement,selection=root4.getSelection&&root4.getSelection(),anchorOffset=selection&&selection.anchorOffset,focusOffset=selection&&selection.focusOffset;return focusOffset==null||anchorOffset==null||anchorOffset>focusOffset?anchorOffset:focusOffset}_unsafeSelect(start5,end2){if(!this.rootElement.createRange)return;let range=this.rootElement.createRange();range.setStart(this.input.firstChild||this.input,start5),range.setEnd(this.input.lastChild||this.input,end2);let root4=this.rootElement,selection=root4.getSelection&&root4.getSelection();selection&&(selection.removeAllRanges(),selection.addRange(range))}get value(){return this.input.textContent||""}set value(value){this.input.textContent=value}};__name(_HTMLContenteditableMaskElement,"HTMLContenteditableMaskElement");var HTMLContenteditableMaskElement=_HTMLContenteditableMaskElement;IMask.HTMLContenteditableMaskElement=HTMLContenteditableMaskElement;var _InputHistory=class _InputHistory{constructor(){this.states=[],this.currentIndex=0}get currentState(){return this.states[this.currentIndex]}get isEmpty(){return this.states.length===0}push(state){this.currentIndex<this.states.length-1&&(this.states.length=this.currentIndex+1),this.states.push(state),this.states.length>_InputHistory.MAX_LENGTH&&this.states.shift(),this.currentIndex=this.states.length-1}go(steps2){return this.currentIndex=Math.min(Math.max(this.currentIndex+steps2,0),this.states.length-1),this.currentState}undo(){return this.go(-1)}redo(){return this.go(1)}clear(){this.states.length=0,this.currentIndex=0}};__name(_InputHistory,"InputHistory");var InputHistory=_InputHistory;InputHistory.MAX_LENGTH=100;var _InputMask=class _InputMask{constructor(el,opts){this.el=el instanceof MaskElement?el:el.isContentEditable&&el.tagName!=="INPUT"&&el.tagName!=="TEXTAREA"?new HTMLContenteditableMaskElement(el):new HTMLInputMaskElement(el),this.masked=createMask(opts),this._listeners={},this._value="",this._unmaskedValue="",this._rawInputValue="",this.history=new InputHistory,this._saveSelection=this._saveSelection.bind(this),this._onInput=this._onInput.bind(this),this._onChange=this._onChange.bind(this),this._onDrop=this._onDrop.bind(this),this._onFocus=this._onFocus.bind(this),this._onClick=this._onClick.bind(this),this._onUndo=this._onUndo.bind(this),this._onRedo=this._onRedo.bind(this),this.alignCursor=this.alignCursor.bind(this),this.alignCursorFriendly=this.alignCursorFriendly.bind(this),this._bindEvents(),this.updateValue(),this._onChange()}maskEquals(mask){var _this$masked;return mask==null||((_this$masked=this.masked)==null?void 0:_this$masked.maskEquals(mask))}get mask(){return this.masked.mask}set mask(mask){if(this.maskEquals(mask))return;if(!(mask instanceof IMask.Masked)&&this.masked.constructor===maskedClass(mask)){this.masked.updateOptions({mask});return}let masked=mask instanceof IMask.Masked?mask:createMask({mask});masked.unmaskedValue=this.masked.unmaskedValue,this.masked=masked}get value(){return this._value}set value(str){this.value!==str&&(this.masked.value=str,this.updateControl("auto"))}get unmaskedValue(){return this._unmaskedValue}set unmaskedValue(str){this.unmaskedValue!==str&&(this.masked.unmaskedValue=str,this.updateControl("auto"))}get rawInputValue(){return this._rawInputValue}set rawInputValue(str){this.rawInputValue!==str&&(this.masked.rawInputValue=str,this.updateControl(),this.alignCursor())}get typedValue(){return this.masked.typedValue}set typedValue(val){this.masked.typedValueEquals(val)||(this.masked.typedValue=val,this.updateControl("auto"))}get displayValue(){return this.masked.displayValue}_bindEvents(){this.el.bindEvents({selectionChange:this._saveSelection,input:this._onInput,drop:this._onDrop,click:this._onClick,focus:this._onFocus,commit:this._onChange,undo:this._onUndo,redo:this._onRedo})}_unbindEvents(){this.el&&this.el.unbindEvents()}_fireEvent(ev,e){let listeners=this._listeners[ev];listeners&&listeners.forEach(l=>l(e))}get selectionStart(){return this._cursorChanging?this._changingCursorPos:this.el.selectionStart}get cursorPos(){return this._cursorChanging?this._changingCursorPos:this.el.selectionEnd}set cursorPos(pos){!this.el||!this.el.isActive||(this.el.select(pos,pos),this._saveSelection())}_saveSelection(){this.displayValue!==this.el.value&&console.warn("Element value was changed outside of mask. Syncronize mask using `mask.updateValue()` to work properly."),this._selection={start:this.selectionStart,end:this.cursorPos}}updateValue(){this.masked.value=this.el.value,this._value=this.masked.value}updateControl(cursorPos){let newUnmaskedValue=this.masked.unmaskedValue,newValue=this.masked.value,newRawInputValue=this.masked.rawInputValue,newDisplayValue=this.displayValue,isChanged=this.unmaskedValue!==newUnmaskedValue||this.value!==newValue||this._rawInputValue!==newRawInputValue;this._unmaskedValue=newUnmaskedValue,this._value=newValue,this._rawInputValue=newRawInputValue,this.el.value!==newDisplayValue&&(this.el.value=newDisplayValue),cursorPos==="auto"?this.alignCursor():cursorPos!=null&&(this.cursorPos=cursorPos),isChanged&&this._fireChangeEvents(),!this._historyChanging&&(isChanged||this.history.isEmpty)&&this.history.push({unmaskedValue:newUnmaskedValue,selection:{start:this.selectionStart,end:this.cursorPos}})}updateOptions(opts){let{mask,...restOpts}=opts,updateMask=!this.maskEquals(mask),updateOpts=this.masked.optionsIsChanged(restOpts);updateMask&&(this.mask=mask),updateOpts&&this.masked.updateOptions(restOpts),(updateMask||updateOpts)&&this.updateControl()}updateCursor(cursorPos){cursorPos!=null&&(this.cursorPos=cursorPos,this._delayUpdateCursor(cursorPos))}_delayUpdateCursor(cursorPos){this._abortUpdateCursor(),this._changingCursorPos=cursorPos,this._cursorChanging=setTimeout(()=>{this.el&&(this.cursorPos=this._changingCursorPos,this._abortUpdateCursor())},10)}_fireChangeEvents(){this._fireEvent("accept",this._inputEvent),this.masked.isComplete&&this._fireEvent("complete",this._inputEvent)}_abortUpdateCursor(){this._cursorChanging&&(clearTimeout(this._cursorChanging),delete this._cursorChanging)}alignCursor(){this.cursorPos=this.masked.nearestInputPos(this.masked.nearestInputPos(this.cursorPos,DIRECTION.LEFT))}alignCursorFriendly(){this.selectionStart===this.cursorPos&&this.alignCursor()}on(ev,handler){return this._listeners[ev]||(this._listeners[ev]=[]),this._listeners[ev].push(handler),this}off(ev,handler){if(!this._listeners[ev])return this;if(!handler)return delete this._listeners[ev],this;let hIndex=this._listeners[ev].indexOf(handler);return hIndex>=0&&this._listeners[ev].splice(hIndex,1),this}_onInput(e){this._inputEvent=e,this._abortUpdateCursor();let details=new ActionDetails({value:this.el.value,cursorPos:this.cursorPos,oldValue:this.displayValue,oldSelection:this._selection}),oldRawValue=this.masked.rawInputValue,offset2=this.masked.splice(details.startChangePos,details.removed.length,details.inserted,details.removeDirection,{input:!0,raw:!0}).offset,removeDirection=oldRawValue===this.masked.rawInputValue?details.removeDirection:DIRECTION.NONE,cursorPos=this.masked.nearestInputPos(details.startChangePos+offset2,removeDirection);removeDirection!==DIRECTION.NONE&&(cursorPos=this.masked.nearestInputPos(cursorPos,DIRECTION.NONE)),this.updateControl(cursorPos),delete this._inputEvent}_onChange(){this.displayValue!==this.el.value&&this.updateValue(),this.masked.doCommit(),this.updateControl(),this._saveSelection()}_onDrop(ev){ev.preventDefault(),ev.stopPropagation()}_onFocus(ev){this.alignCursorFriendly()}_onClick(ev){this.alignCursorFriendly()}_onUndo(){this._applyHistoryState(this.history.undo())}_onRedo(){this._applyHistoryState(this.history.redo())}_applyHistoryState(state){state&&(this._historyChanging=!0,this.unmaskedValue=state.unmaskedValue,this.el.select(state.selection.start,state.selection.end),this._saveSelection(),this._historyChanging=!1)}destroy(){this._unbindEvents(),this._listeners.length=0,delete this.el}};__name(_InputMask,"InputMask");var InputMask=_InputMask;IMask.InputMask=InputMask;var _ChangeDetails=class _ChangeDetails{static normalize(prep){return Array.isArray(prep)?prep:[prep,new _ChangeDetails]}constructor(details){Object.assign(this,{inserted:"",rawInserted:"",tailShift:0,skip:!1},details)}aggregate(details){return this.inserted+=details.inserted,this.rawInserted+=details.rawInserted,this.tailShift+=details.tailShift,this.skip=this.skip||details.skip,this}get offset(){return this.tailShift+this.inserted.length}get consumed(){return!!this.rawInserted||this.skip}equals(details){return this.inserted===details.inserted&&this.tailShift===details.tailShift&&this.rawInserted===details.rawInserted&&this.skip===details.skip}};__name(_ChangeDetails,"ChangeDetails");var ChangeDetails=_ChangeDetails;IMask.ChangeDetails=ChangeDetails;var _ContinuousTailDetails=class _ContinuousTailDetails{constructor(value,from2,stop2){value===void 0&&(value=""),from2===void 0&&(from2=0),this.value=value,this.from=from2,this.stop=stop2}toString(){return this.value}extend(tail){this.value+=String(tail)}appendTo(masked){return masked.append(this.toString(),{tail:!0}).aggregate(masked._appendPlaceholder())}get state(){return{value:this.value,from:this.from,stop:this.stop}}set state(state){Object.assign(this,state)}unshift(beforePos){if(!this.value.length||beforePos!=null&&this.from>=beforePos)return"";let shiftChar=this.value[0];return this.value=this.value.slice(1),shiftChar}shift(){if(!this.value.length)return"";let shiftChar=this.value[this.value.length-1];return this.value=this.value.slice(0,-1),shiftChar}};__name(_ContinuousTailDetails,"ContinuousTailDetails");var ContinuousTailDetails=_ContinuousTailDetails;var _Masked=class _Masked{constructor(opts){this._value="",this._update({..._Masked.DEFAULTS,...opts}),this._initialized=!0}updateOptions(opts){this.optionsIsChanged(opts)&&this.withValueRefresh(this._update.bind(this,opts))}_update(opts){Object.assign(this,opts)}get state(){return{_value:this.value,_rawInputValue:this.rawInputValue}}set state(state){this._value=state._value}reset(){this._value=""}get value(){return this._value}set value(value){this.resolve(value,{input:!0})}resolve(value,flags){flags===void 0&&(flags={input:!0}),this.reset(),this.append(value,flags,""),this.doCommit()}get unmaskedValue(){return this.value}set unmaskedValue(value){this.resolve(value,{})}get typedValue(){return this.parse?this.parse(this.value,this):this.unmaskedValue}set typedValue(value){this.format?this.value=this.format(value,this):this.unmaskedValue=String(value)}get rawInputValue(){return this.extractInput(0,this.displayValue.length,{raw:!0})}set rawInputValue(value){this.resolve(value,{raw:!0})}get displayValue(){return this.value}get isComplete(){return!0}get isFilled(){return this.isComplete}nearestInputPos(cursorPos,direction){return cursorPos}totalInputPositions(fromPos,toPos){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length),Math.min(this.displayValue.length,toPos-fromPos)}extractInput(fromPos,toPos,flags){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length),this.displayValue.slice(fromPos,toPos)}extractTail(fromPos,toPos){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length),new ContinuousTailDetails(this.extractInput(fromPos,toPos),fromPos)}appendTail(tail){return isString2(tail)&&(tail=new ContinuousTailDetails(String(tail))),tail.appendTo(this)}_appendCharRaw(ch,flags){return ch?(this._value+=ch,new ChangeDetails({inserted:ch,rawInserted:ch})):new ChangeDetails}_appendChar(ch,flags,checkTail){flags===void 0&&(flags={});let consistentState=this.state,details;if([ch,details]=this.doPrepareChar(ch,flags),ch&&(details=details.aggregate(this._appendCharRaw(ch,flags)),!details.rawInserted&&this.autofix==="pad")){let noFixState=this.state;this.state=consistentState;let fixDetails=this.pad(flags),chDetails=this._appendCharRaw(ch,flags);fixDetails=fixDetails.aggregate(chDetails),chDetails.rawInserted||fixDetails.equals(details)?details=fixDetails:this.state=noFixState}if(details.inserted){let consistentTail,appended=this.doValidate(flags)!==!1;if(appended&&checkTail!=null){let beforeTailState=this.state;if(this.overwrite===!0){consistentTail=checkTail.state;for(let i=0;i<details.rawInserted.length;++i)checkTail.unshift(this.displayValue.length-details.tailShift)}let tailDetails=this.appendTail(checkTail);if(appended=tailDetails.rawInserted.length===checkTail.toString().length,!(appended&&tailDetails.inserted)&&this.overwrite==="shift"){this.state=beforeTailState,consistentTail=checkTail.state;for(let i=0;i<details.rawInserted.length;++i)checkTail.shift();tailDetails=this.appendTail(checkTail),appended=tailDetails.rawInserted.length===checkTail.toString().length}appended&&tailDetails.inserted&&(this.state=beforeTailState)}appended||(details=new ChangeDetails,this.state=consistentState,checkTail&&consistentTail&&(checkTail.state=consistentTail))}return details}_appendPlaceholder(){return new ChangeDetails}_appendEager(){return new ChangeDetails}append(str,flags,tail){if(!isString2(str))throw new Error("value should be string");let checkTail=isString2(tail)?new ContinuousTailDetails(String(tail)):tail;flags!=null&&flags.tail&&(flags._beforeTailState=this.state);let details;[str,details]=this.doPrepare(str,flags);for(let ci=0;ci<str.length;++ci){let d=this._appendChar(str[ci],flags,checkTail);if(!d.rawInserted&&!this.doSkipInvalid(str[ci],flags,checkTail))break;details.aggregate(d)}return(this.eager===!0||this.eager==="append")&&flags!=null&&flags.input&&str&&details.aggregate(this._appendEager()),checkTail!=null&&(details.tailShift+=this.appendTail(checkTail).tailShift),details}remove(fromPos,toPos){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length),this._value=this.displayValue.slice(0,fromPos)+this.displayValue.slice(toPos),new ChangeDetails}withValueRefresh(fn2){if(this._refreshing||!this._initialized)return fn2();this._refreshing=!0;let rawInput=this.rawInputValue,value=this.value,ret=fn2();return this.rawInputValue=rawInput,this.value&&this.value!==value&&value.indexOf(this.value)===0&&(this.append(value.slice(this.displayValue.length),{},""),this.doCommit()),delete this._refreshing,ret}runIsolated(fn2){if(this._isolated||!this._initialized)return fn2(this);this._isolated=!0;let state=this.state,ret=fn2(this);return this.state=state,delete this._isolated,ret}doSkipInvalid(ch,flags,checkTail){return!!this.skipInvalid}doPrepare(str,flags){return flags===void 0&&(flags={}),ChangeDetails.normalize(this.prepare?this.prepare(str,this,flags):str)}doPrepareChar(str,flags){return flags===void 0&&(flags={}),ChangeDetails.normalize(this.prepareChar?this.prepareChar(str,this,flags):str)}doValidate(flags){return(!this.validate||this.validate(this.value,this,flags))&&(!this.parent||this.parent.doValidate(flags))}doCommit(){this.commit&&this.commit(this.value,this)}splice(start5,deleteCount,inserted,removeDirection,flags){inserted===void 0&&(inserted=""),removeDirection===void 0&&(removeDirection=DIRECTION.NONE),flags===void 0&&(flags={input:!0});let tailPos=start5+deleteCount,tail=this.extractTail(tailPos),eagerRemove=this.eager===!0||this.eager==="remove",oldRawValue;eagerRemove&&(removeDirection=forceDirection(removeDirection),oldRawValue=this.extractInput(0,tailPos,{raw:!0}));let startChangePos=start5,details=new ChangeDetails;if(removeDirection!==DIRECTION.NONE&&(startChangePos=this.nearestInputPos(start5,deleteCount>1&&start5!==0&&!eagerRemove?DIRECTION.NONE:removeDirection),details.tailShift=startChangePos-start5),details.aggregate(this.remove(startChangePos)),eagerRemove&&removeDirection!==DIRECTION.NONE&&oldRawValue===this.rawInputValue)if(removeDirection===DIRECTION.FORCE_LEFT){let valLength;for(;oldRawValue===this.rawInputValue&&(valLength=this.displayValue.length);)details.aggregate(new ChangeDetails({tailShift:-1})).aggregate(this.remove(valLength-1))}else removeDirection===DIRECTION.FORCE_RIGHT&&tail.unshift();return details.aggregate(this.append(inserted,flags,tail))}maskEquals(mask){return this.mask===mask}optionsIsChanged(opts){return!objectIncludes(this,opts)}typedValueEquals(value){let tval=this.typedValue;return value===tval||_Masked.EMPTY_VALUES.includes(value)&&_Masked.EMPTY_VALUES.includes(tval)||(this.format?this.format(value,this)===this.format(this.typedValue,this):!1)}pad(flags){return new ChangeDetails}};__name(_Masked,"Masked");var Masked=_Masked;Masked.DEFAULTS={skipInvalid:!0};Masked.EMPTY_VALUES=[void 0,null,""];IMask.Masked=Masked;var _ChunksTailDetails=class _ChunksTailDetails{constructor(chunks,from2){chunks===void 0&&(chunks=[]),from2===void 0&&(from2=0),this.chunks=chunks,this.from=from2}toString(){return this.chunks.map(String).join("")}extend(tailChunk){if(!String(tailChunk))return;tailChunk=isString2(tailChunk)?new ContinuousTailDetails(String(tailChunk)):tailChunk;let lastChunk=this.chunks[this.chunks.length-1],extendLast=lastChunk&&(lastChunk.stop===tailChunk.stop||tailChunk.stop==null)&&tailChunk.from===lastChunk.from+lastChunk.toString().length;if(tailChunk instanceof ContinuousTailDetails)extendLast?lastChunk.extend(tailChunk.toString()):this.chunks.push(tailChunk);else if(tailChunk instanceof _ChunksTailDetails){if(tailChunk.stop==null){let firstTailChunk;for(;tailChunk.chunks.length&&tailChunk.chunks[0].stop==null;)firstTailChunk=tailChunk.chunks.shift(),firstTailChunk.from+=tailChunk.from,this.extend(firstTailChunk)}tailChunk.toString()&&(tailChunk.stop=tailChunk.blockIndex,this.chunks.push(tailChunk))}}appendTo(masked){if(!(masked instanceof IMask.MaskedPattern))return new ContinuousTailDetails(this.toString()).appendTo(masked);let details=new ChangeDetails;for(let ci=0;ci<this.chunks.length;++ci){let chunk=this.chunks[ci],lastBlockIter=masked._mapPosToBlock(masked.displayValue.length),stop2=chunk.stop,chunkBlock;if(stop2!=null&&(!lastBlockIter||lastBlockIter.index<=stop2)&&((chunk instanceof _ChunksTailDetails||masked._stops.indexOf(stop2)>=0)&&details.aggregate(masked._appendPlaceholder(stop2)),chunkBlock=chunk instanceof _ChunksTailDetails&&masked._blocks[stop2]),chunkBlock){let tailDetails=chunkBlock.appendTail(chunk);details.aggregate(tailDetails);let remainChars=chunk.toString().slice(tailDetails.rawInserted.length);remainChars&&details.aggregate(masked.append(remainChars,{tail:!0}))}else details.aggregate(masked.append(chunk.toString(),{tail:!0}))}return details}get state(){return{chunks:this.chunks.map(c=>c.state),from:this.from,stop:this.stop,blockIndex:this.blockIndex}}set state(state){let{chunks,...props}=state;Object.assign(this,props),this.chunks=chunks.map(cstate=>{let chunk="chunks"in cstate?new _ChunksTailDetails:new ContinuousTailDetails;return chunk.state=cstate,chunk})}unshift(beforePos){if(!this.chunks.length||beforePos!=null&&this.from>=beforePos)return"";let chunkShiftPos=beforePos!=null?beforePos-this.from:beforePos,ci=0;for(;ci<this.chunks.length;){let chunk=this.chunks[ci],shiftChar=chunk.unshift(chunkShiftPos);if(chunk.toString()){if(!shiftChar)break;++ci}else this.chunks.splice(ci,1);if(shiftChar)return shiftChar}return""}shift(){if(!this.chunks.length)return"";let ci=this.chunks.length-1;for(;0<=ci;){let chunk=this.chunks[ci],shiftChar=chunk.shift();if(chunk.toString()){if(!shiftChar)break;--ci}else this.chunks.splice(ci,1);if(shiftChar)return shiftChar}return""}};__name(_ChunksTailDetails,"ChunksTailDetails");var ChunksTailDetails=_ChunksTailDetails;var _PatternCursor=class _PatternCursor{constructor(masked,pos){this.masked=masked,this._log=[];let{offset:offset2,index:index2}=masked._mapPosToBlock(pos)||(pos<0?{index:0,offset:0}:{index:this.masked._blocks.length,offset:0});this.offset=offset2,this.index=index2,this.ok=!1}get block(){return this.masked._blocks[this.index]}get pos(){return this.masked._blockStartPos(this.index)+this.offset}get state(){return{index:this.index,offset:this.offset,ok:this.ok}}set state(s){Object.assign(this,s)}pushState(){this._log.push(this.state)}popState(){let s=this._log.pop();return s&&(this.state=s),s}bindBlock(){this.block||(this.index<0&&(this.index=0,this.offset=0),this.index>=this.masked._blocks.length&&(this.index=this.masked._blocks.length-1,this.offset=this.block.displayValue.length))}_pushLeft(fn2){for(this.pushState(),this.bindBlock();0<=this.index;--this.index,this.offset=((_this$block=this.block)==null?void 0:_this$block.displayValue.length)||0){var _this$block;if(fn2())return this.ok=!0}return this.ok=!1}_pushRight(fn2){for(this.pushState(),this.bindBlock();this.index<this.masked._blocks.length;++this.index,this.offset=0)if(fn2())return this.ok=!0;return this.ok=!1}pushLeftBeforeFilled(){return this._pushLeft(()=>{if(!(this.block.isFixed||!this.block.value)&&(this.offset=this.block.nearestInputPos(this.offset,DIRECTION.FORCE_LEFT),this.offset!==0))return!0})}pushLeftBeforeInput(){return this._pushLeft(()=>{if(!this.block.isFixed)return this.offset=this.block.nearestInputPos(this.offset,DIRECTION.LEFT),!0})}pushLeftBeforeRequired(){return this._pushLeft(()=>{if(!(this.block.isFixed||this.block.isOptional&&!this.block.value))return this.offset=this.block.nearestInputPos(this.offset,DIRECTION.LEFT),!0})}pushRightBeforeFilled(){return this._pushRight(()=>{if(!(this.block.isFixed||!this.block.value)&&(this.offset=this.block.nearestInputPos(this.offset,DIRECTION.FORCE_RIGHT),this.offset!==this.block.value.length))return!0})}pushRightBeforeInput(){return this._pushRight(()=>{if(!this.block.isFixed)return this.offset=this.block.nearestInputPos(this.offset,DIRECTION.NONE),!0})}pushRightBeforeRequired(){return this._pushRight(()=>{if(!(this.block.isFixed||this.block.isOptional&&!this.block.value))return this.offset=this.block.nearestInputPos(this.offset,DIRECTION.NONE),!0})}};__name(_PatternCursor,"PatternCursor");var PatternCursor=_PatternCursor;var _PatternFixedDefinition=class _PatternFixedDefinition{constructor(opts){Object.assign(this,opts),this._value="",this.isFixed=!0}get value(){return this._value}get unmaskedValue(){return this.isUnmasking?this.value:""}get rawInputValue(){return this._isRawInput?this.value:""}get displayValue(){return this.value}reset(){this._isRawInput=!1,this._value=""}remove(fromPos,toPos){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this._value.length),this._value=this._value.slice(0,fromPos)+this._value.slice(toPos),this._value||(this._isRawInput=!1),new ChangeDetails}nearestInputPos(cursorPos,direction){direction===void 0&&(direction=DIRECTION.NONE);let minPos=0,maxPos=this._value.length;switch(direction){case DIRECTION.LEFT:case DIRECTION.FORCE_LEFT:return minPos;case DIRECTION.NONE:case DIRECTION.RIGHT:case DIRECTION.FORCE_RIGHT:default:return maxPos}}totalInputPositions(fromPos,toPos){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this._value.length),this._isRawInput?toPos-fromPos:0}extractInput(fromPos,toPos,flags){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this._value.length),flags===void 0&&(flags={}),flags.raw&&this._isRawInput&&this._value.slice(fromPos,toPos)||""}get isComplete(){return!0}get isFilled(){return!!this._value}_appendChar(ch,flags){if(flags===void 0&&(flags={}),this.isFilled)return new ChangeDetails;let appendEager=this.eager===!0||this.eager==="append",isResolved=this.char===ch&&(this.isUnmasking||flags.input||flags.raw)&&(!flags.raw||!appendEager)&&!flags.tail,details=new ChangeDetails({inserted:this.char,rawInserted:isResolved?this.char:""});return this._value=this.char,this._isRawInput=isResolved&&(flags.raw||flags.input),details}_appendEager(){return this._appendChar(this.char,{tail:!0})}_appendPlaceholder(){let details=new ChangeDetails;return this.isFilled||(this._value=details.inserted=this.char),details}extractTail(){return new ContinuousTailDetails("")}appendTail(tail){return isString2(tail)&&(tail=new ContinuousTailDetails(String(tail))),tail.appendTo(this)}append(str,flags,tail){let details=this._appendChar(str[0],flags);return tail!=null&&(details.tailShift+=this.appendTail(tail).tailShift),details}doCommit(){}get state(){return{_value:this._value,_rawInputValue:this.rawInputValue}}set state(state){this._value=state._value,this._isRawInput=!!state._rawInputValue}pad(flags){return this._appendPlaceholder()}};__name(_PatternFixedDefinition,"PatternFixedDefinition");var PatternFixedDefinition=_PatternFixedDefinition;var _PatternInputDefinition=class _PatternInputDefinition{constructor(opts){let{parent,isOptional,placeholderChar,displayChar,lazy:lazy2,eager,...maskOpts}=opts;this.masked=createMask(maskOpts),Object.assign(this,{parent,isOptional,placeholderChar,displayChar,lazy:lazy2,eager})}reset(){this.isFilled=!1,this.masked.reset()}remove(fromPos,toPos){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.value.length),fromPos===0&&toPos>=1?(this.isFilled=!1,this.masked.remove(fromPos,toPos)):new ChangeDetails}get value(){return this.masked.value||(this.isFilled&&!this.isOptional?this.placeholderChar:"")}get unmaskedValue(){return this.masked.unmaskedValue}get rawInputValue(){return this.masked.rawInputValue}get displayValue(){return this.masked.value&&this.displayChar||this.value}get isComplete(){return!!this.masked.value||this.isOptional}_appendChar(ch,flags){if(flags===void 0&&(flags={}),this.isFilled)return new ChangeDetails;let state=this.masked.state,details=this.masked._appendChar(ch,this.currentMaskFlags(flags));return details.inserted&&this.doValidate(flags)===!1&&(details=new ChangeDetails,this.masked.state=state),!details.inserted&&!this.isOptional&&!this.lazy&&!flags.input&&(details.inserted=this.placeholderChar),details.skip=!details.inserted&&!this.isOptional,this.isFilled=!!details.inserted,details}append(str,flags,tail){return this.masked.append(str,this.currentMaskFlags(flags),tail)}_appendPlaceholder(){return this.isFilled||this.isOptional?new ChangeDetails:(this.isFilled=!0,new ChangeDetails({inserted:this.placeholderChar}))}_appendEager(){return new ChangeDetails}extractTail(fromPos,toPos){return this.masked.extractTail(fromPos,toPos)}appendTail(tail){return this.masked.appendTail(tail)}extractInput(fromPos,toPos,flags){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.value.length),this.masked.extractInput(fromPos,toPos,flags)}nearestInputPos(cursorPos,direction){direction===void 0&&(direction=DIRECTION.NONE);let minPos=0,maxPos=this.value.length,boundPos=Math.min(Math.max(cursorPos,minPos),maxPos);switch(direction){case DIRECTION.LEFT:case DIRECTION.FORCE_LEFT:return this.isComplete?boundPos:minPos;case DIRECTION.RIGHT:case DIRECTION.FORCE_RIGHT:return this.isComplete?boundPos:maxPos;case DIRECTION.NONE:default:return boundPos}}totalInputPositions(fromPos,toPos){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.value.length),this.value.slice(fromPos,toPos).length}doValidate(flags){return this.masked.doValidate(this.currentMaskFlags(flags))&&(!this.parent||this.parent.doValidate(this.currentMaskFlags(flags)))}doCommit(){this.masked.doCommit()}get state(){return{_value:this.value,_rawInputValue:this.rawInputValue,masked:this.masked.state,isFilled:this.isFilled}}set state(state){this.masked.state=state.masked,this.isFilled=state.isFilled}currentMaskFlags(flags){var _flags$_beforeTailSta;return{...flags,_beforeTailState:(flags==null||(_flags$_beforeTailSta=flags._beforeTailState)==null?void 0:_flags$_beforeTailSta.masked)||(flags==null?void 0:flags._beforeTailState)}}pad(flags){return new ChangeDetails}};__name(_PatternInputDefinition,"PatternInputDefinition");var PatternInputDefinition=_PatternInputDefinition;PatternInputDefinition.DEFAULT_DEFINITIONS={0:/\d/,a:/[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,"*":/./};var _MaskedRegExp=class _MaskedRegExp extends Masked{updateOptions(opts){super.updateOptions(opts)}_update(opts){let mask=opts.mask;mask&&(opts.validate=value=>value.search(mask)>=0),super._update(opts)}};__name(_MaskedRegExp,"MaskedRegExp");var MaskedRegExp=_MaskedRegExp;IMask.MaskedRegExp=MaskedRegExp;var _MaskedPattern=class _MaskedPattern extends Masked{constructor(opts){super({..._MaskedPattern.DEFAULTS,...opts,definitions:Object.assign({},PatternInputDefinition.DEFAULT_DEFINITIONS,opts==null?void 0:opts.definitions)})}updateOptions(opts){super.updateOptions(opts)}_update(opts){opts.definitions=Object.assign({},this.definitions,opts.definitions),super._update(opts),this._rebuildMask()}_rebuildMask(){let defs=this.definitions;this._blocks=[],this.exposeBlock=void 0,this._stops=[],this._maskedBlocks={};let pattern=this.mask;if(!pattern||!defs)return;let unmaskingBlock=!1,optionalBlock=!1;for(let i=0;i<pattern.length;++i){if(this.blocks){let p=pattern.slice(i),bNames=Object.keys(this.blocks).filter(bName2=>p.indexOf(bName2)===0);bNames.sort((a,b)=>b.length-a.length);let bName=bNames[0];if(bName){let{expose,repeat:repeat2,...bOpts}=normalizeOpts(this.blocks[bName]),blockOpts={lazy:this.lazy,eager:this.eager,placeholderChar:this.placeholderChar,displayChar:this.displayChar,overwrite:this.overwrite,autofix:this.autofix,...bOpts,repeat:repeat2,parent:this},maskedBlock=repeat2!=null?new IMask.RepeatBlock(blockOpts):createMask(blockOpts);maskedBlock&&(this._blocks.push(maskedBlock),expose&&(this.exposeBlock=maskedBlock),this._maskedBlocks[bName]||(this._maskedBlocks[bName]=[]),this._maskedBlocks[bName].push(this._blocks.length-1)),i+=bName.length-1;continue}}let char2=pattern[i],isInput=char2 in defs;if(char2===_MaskedPattern.STOP_CHAR){this._stops.push(this._blocks.length);continue}if(char2==="{"||char2==="}"){unmaskingBlock=!unmaskingBlock;continue}if(char2==="["||char2==="]"){optionalBlock=!optionalBlock;continue}if(char2===_MaskedPattern.ESCAPE_CHAR){if(++i,char2=pattern[i],!char2)break;isInput=!1}let def=isInput?new PatternInputDefinition({isOptional:optionalBlock,lazy:this.lazy,eager:this.eager,placeholderChar:this.placeholderChar,displayChar:this.displayChar,...normalizeOpts(defs[char2]),parent:this}):new PatternFixedDefinition({char:char2,eager:this.eager,isUnmasking:unmaskingBlock});this._blocks.push(def)}}get state(){return{...super.state,_blocks:this._blocks.map(b=>b.state)}}set state(state){if(!state){this.reset();return}let{_blocks,...maskedState}=state;this._blocks.forEach((b,bi)=>b.state=_blocks[bi]),super.state=maskedState}reset(){super.reset(),this._blocks.forEach(b=>b.reset())}get isComplete(){return this.exposeBlock?this.exposeBlock.isComplete:this._blocks.every(b=>b.isComplete)}get isFilled(){return this._blocks.every(b=>b.isFilled)}get isFixed(){return this._blocks.every(b=>b.isFixed)}get isOptional(){return this._blocks.every(b=>b.isOptional)}doCommit(){this._blocks.forEach(b=>b.doCommit()),super.doCommit()}get unmaskedValue(){return this.exposeBlock?this.exposeBlock.unmaskedValue:this._blocks.reduce((str,b)=>str+=b.unmaskedValue,"")}set unmaskedValue(unmaskedValue){if(this.exposeBlock){let tail=this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock))+this.exposeBlock.displayValue.length);this.exposeBlock.unmaskedValue=unmaskedValue,this.appendTail(tail),this.doCommit()}else super.unmaskedValue=unmaskedValue}get value(){return this.exposeBlock?this.exposeBlock.value:this._blocks.reduce((str,b)=>str+=b.value,"")}set value(value){if(this.exposeBlock){let tail=this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock))+this.exposeBlock.displayValue.length);this.exposeBlock.value=value,this.appendTail(tail),this.doCommit()}else super.value=value}get typedValue(){return this.exposeBlock?this.exposeBlock.typedValue:super.typedValue}set typedValue(value){if(this.exposeBlock){let tail=this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock))+this.exposeBlock.displayValue.length);this.exposeBlock.typedValue=value,this.appendTail(tail),this.doCommit()}else super.typedValue=value}get displayValue(){return this._blocks.reduce((str,b)=>str+=b.displayValue,"")}appendTail(tail){return super.appendTail(tail).aggregate(this._appendPlaceholder())}_appendEager(){var _this$_mapPosToBlock;let details=new ChangeDetails,startBlockIndex=(_this$_mapPosToBlock=this._mapPosToBlock(this.displayValue.length))==null?void 0:_this$_mapPosToBlock.index;if(startBlockIndex==null)return details;this._blocks[startBlockIndex].isFilled&&++startBlockIndex;for(let bi=startBlockIndex;bi<this._blocks.length;++bi){let d=this._blocks[bi]._appendEager();if(!d.inserted)break;details.aggregate(d)}return details}_appendCharRaw(ch,flags){flags===void 0&&(flags={});let blockIter=this._mapPosToBlock(this.displayValue.length),details=new ChangeDetails;if(!blockIter)return details;for(let bi=blockIter.index,block;block=this._blocks[bi];++bi){var _flags$_beforeTailSta;let blockDetails=block._appendChar(ch,{...flags,_beforeTailState:(_flags$_beforeTailSta=flags._beforeTailState)==null||(_flags$_beforeTailSta=_flags$_beforeTailSta._blocks)==null?void 0:_flags$_beforeTailSta[bi]});if(details.aggregate(blockDetails),blockDetails.consumed)break}return details}extractTail(fromPos,toPos){fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length);let chunkTail=new ChunksTailDetails;return fromPos===toPos||this._forEachBlocksInRange(fromPos,toPos,(b,bi,bFromPos,bToPos)=>{let blockChunk=b.extractTail(bFromPos,bToPos);blockChunk.stop=this._findStopBefore(bi),blockChunk.from=this._blockStartPos(bi),blockChunk instanceof ChunksTailDetails&&(blockChunk.blockIndex=bi),chunkTail.extend(blockChunk)}),chunkTail}extractInput(fromPos,toPos,flags){if(fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length),flags===void 0&&(flags={}),fromPos===toPos)return"";let input="";return this._forEachBlocksInRange(fromPos,toPos,(b,_4,fromPos2,toPos2)=>{input+=b.extractInput(fromPos2,toPos2,flags)}),input}_findStopBefore(blockIndex){let stopBefore;for(let si=0;si<this._stops.length;++si){let stop2=this._stops[si];if(stop2<=blockIndex)stopBefore=stop2;else break}return stopBefore}_appendPlaceholder(toBlockIndex){let details=new ChangeDetails;if(this.lazy&&toBlockIndex==null)return details;let startBlockIter=this._mapPosToBlock(this.displayValue.length);if(!startBlockIter)return details;let startBlockIndex=startBlockIter.index,endBlockIndex=toBlockIndex??this._blocks.length;return this._blocks.slice(startBlockIndex,endBlockIndex).forEach(b=>{if(!b.lazy||toBlockIndex!=null){var _blocks2;details.aggregate(b._appendPlaceholder((_blocks2=b._blocks)==null?void 0:_blocks2.length))}}),details}_mapPosToBlock(pos){let accVal="";for(let bi=0;bi<this._blocks.length;++bi){let block=this._blocks[bi],blockStartPos=accVal.length;if(accVal+=block.displayValue,pos<=accVal.length)return{index:bi,offset:pos-blockStartPos}}}_blockStartPos(blockIndex){return this._blocks.slice(0,blockIndex).reduce((pos,b)=>pos+=b.displayValue.length,0)}_forEachBlocksInRange(fromPos,toPos,fn2){toPos===void 0&&(toPos=this.displayValue.length);let fromBlockIter=this._mapPosToBlock(fromPos);if(fromBlockIter){let toBlockIter=this._mapPosToBlock(toPos),isSameBlock=toBlockIter&&fromBlockIter.index===toBlockIter.index,fromBlockStartPos=fromBlockIter.offset,fromBlockEndPos=toBlockIter&&isSameBlock?toBlockIter.offset:this._blocks[fromBlockIter.index].displayValue.length;if(fn2(this._blocks[fromBlockIter.index],fromBlockIter.index,fromBlockStartPos,fromBlockEndPos),toBlockIter&&!isSameBlock){for(let bi=fromBlockIter.index+1;bi<toBlockIter.index;++bi)fn2(this._blocks[bi],bi,0,this._blocks[bi].displayValue.length);fn2(this._blocks[toBlockIter.index],toBlockIter.index,0,toBlockIter.offset)}}}remove(fromPos,toPos){fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length);let removeDetails=super.remove(fromPos,toPos);return this._forEachBlocksInRange(fromPos,toPos,(b,_4,bFromPos,bToPos)=>{removeDetails.aggregate(b.remove(bFromPos,bToPos))}),removeDetails}nearestInputPos(cursorPos,direction){if(direction===void 0&&(direction=DIRECTION.NONE),!this._blocks.length)return 0;let cursor2=new PatternCursor(this,cursorPos);if(direction===DIRECTION.NONE)return cursor2.pushRightBeforeInput()||(cursor2.popState(),cursor2.pushLeftBeforeInput())?cursor2.pos:this.displayValue.length;if(direction===DIRECTION.LEFT||direction===DIRECTION.FORCE_LEFT){if(direction===DIRECTION.LEFT){if(cursor2.pushRightBeforeFilled(),cursor2.ok&&cursor2.pos===cursorPos)return cursorPos;cursor2.popState()}if(cursor2.pushLeftBeforeInput(),cursor2.pushLeftBeforeRequired(),cursor2.pushLeftBeforeFilled(),direction===DIRECTION.LEFT){if(cursor2.pushRightBeforeInput(),cursor2.pushRightBeforeRequired(),cursor2.ok&&cursor2.pos<=cursorPos||(cursor2.popState(),cursor2.ok&&cursor2.pos<=cursorPos))return cursor2.pos;cursor2.popState()}return cursor2.ok?cursor2.pos:direction===DIRECTION.FORCE_LEFT?0:(cursor2.popState(),cursor2.ok||(cursor2.popState(),cursor2.ok)?cursor2.pos:0)}return direction===DIRECTION.RIGHT||direction===DIRECTION.FORCE_RIGHT?(cursor2.pushRightBeforeInput(),cursor2.pushRightBeforeRequired(),cursor2.pushRightBeforeFilled()?cursor2.pos:direction===DIRECTION.FORCE_RIGHT?this.displayValue.length:(cursor2.popState(),cursor2.ok||(cursor2.popState(),cursor2.ok)?cursor2.pos:this.nearestInputPos(cursorPos,DIRECTION.LEFT))):cursorPos}totalInputPositions(fromPos,toPos){fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length);let total=0;return this._forEachBlocksInRange(fromPos,toPos,(b,_4,bFromPos,bToPos)=>{total+=b.totalInputPositions(bFromPos,bToPos)}),total}maskedBlock(name2){return this.maskedBlocks(name2)[0]}maskedBlocks(name2){let indices=this._maskedBlocks[name2];return indices?indices.map(gi=>this._blocks[gi]):[]}pad(flags){let details=new ChangeDetails;return this._forEachBlocksInRange(0,this.displayValue.length,b=>details.aggregate(b.pad(flags))),details}};__name(_MaskedPattern,"MaskedPattern");var MaskedPattern=_MaskedPattern;MaskedPattern.DEFAULTS={...Masked.DEFAULTS,lazy:!0,placeholderChar:"_"};MaskedPattern.STOP_CHAR="`";MaskedPattern.ESCAPE_CHAR="\\";MaskedPattern.InputDefinition=PatternInputDefinition;MaskedPattern.FixedDefinition=PatternFixedDefinition;IMask.MaskedPattern=MaskedPattern;var _MaskedRange=class _MaskedRange extends MaskedPattern{get _matchFrom(){return this.maxLength-String(this.from).length}constructor(opts){super(opts)}updateOptions(opts){super.updateOptions(opts)}_update(opts){let{to=this.to||0,from:from2=this.from||0,maxLength=this.maxLength||0,autofix=this.autofix,...patternOpts}=opts;this.to=to,this.from=from2,this.maxLength=Math.max(String(to).length,maxLength),this.autofix=autofix;let fromStr=String(this.from).padStart(this.maxLength,"0"),toStr=String(this.to).padStart(this.maxLength,"0"),sameCharsCount=0;for(;sameCharsCount<toStr.length&&toStr[sameCharsCount]===fromStr[sameCharsCount];)++sameCharsCount;patternOpts.mask=toStr.slice(0,sameCharsCount).replace(/0/g,"\\0")+"0".repeat(this.maxLength-sameCharsCount),super._update(patternOpts)}get isComplete(){return super.isComplete&&!!this.value}boundaries(str){let minstr="",maxstr="",[,placeholder,num]=str.match(/^(\D*)(\d*)(\D*)/)||[];return num&&(minstr="0".repeat(placeholder.length)+num,maxstr="9".repeat(placeholder.length)+num),minstr=minstr.padEnd(this.maxLength,"0"),maxstr=maxstr.padEnd(this.maxLength,"9"),[minstr,maxstr]}doPrepareChar(ch,flags){flags===void 0&&(flags={});let details;return[ch,details]=super.doPrepareChar(ch.replace(/\D/g,""),flags),ch||(details.skip=!this.isComplete),[ch,details]}_appendCharRaw(ch,flags){if(flags===void 0&&(flags={}),!this.autofix||this.value.length+1>this.maxLength)return super._appendCharRaw(ch,flags);let fromStr=String(this.from).padStart(this.maxLength,"0"),toStr=String(this.to).padStart(this.maxLength,"0"),[minstr,maxstr]=this.boundaries(this.value+ch);return Number(maxstr)<this.from?super._appendCharRaw(fromStr[this.value.length],flags):Number(minstr)>this.to?!flags.tail&&this.autofix==="pad"&&this.value.length+1<this.maxLength?super._appendCharRaw(fromStr[this.value.length],flags).aggregate(this._appendCharRaw(ch,flags)):super._appendCharRaw(toStr[this.value.length],flags):super._appendCharRaw(ch,flags)}doValidate(flags){let str=this.value;if(str.search(/[^0]/)===-1&&str.length<=this._matchFrom)return!0;let[minstr,maxstr]=this.boundaries(str);return this.from<=Number(maxstr)&&Number(minstr)<=this.to&&super.doValidate(flags)}pad(flags){let details=new ChangeDetails;if(this.value.length===this.maxLength)return details;let value=this.value,padLength=this.maxLength-this.value.length;if(padLength){this.reset();for(let i=0;i<padLength;++i)details.aggregate(super._appendCharRaw("0",flags));value.split("").forEach(ch=>this._appendCharRaw(ch))}return details}};__name(_MaskedRange,"MaskedRange");var MaskedRange=_MaskedRange;IMask.MaskedRange=MaskedRange;var _MaskedDate=class _MaskedDate extends MaskedPattern{static extractPatternOptions(opts){let{mask,pattern,...patternOpts}=opts;return{...patternOpts,mask:isString2(mask)?mask:pattern}}constructor(opts){super(_MaskedDate.extractPatternOptions({..._MaskedDate.DEFAULTS,...opts}))}updateOptions(opts){super.updateOptions(opts)}_update(opts){let{mask,pattern,blocks,...patternOpts}={..._MaskedDate.DEFAULTS,...opts},patternBlocks=Object.assign({},_MaskedDate.GET_DEFAULT_BLOCKS());opts.min&&(patternBlocks.Y.from=opts.min.getFullYear()),opts.max&&(patternBlocks.Y.to=opts.max.getFullYear()),opts.min&&opts.max&&patternBlocks.Y.from===patternBlocks.Y.to&&(patternBlocks.m.from=opts.min.getMonth()+1,patternBlocks.m.to=opts.max.getMonth()+1,patternBlocks.m.from===patternBlocks.m.to&&(patternBlocks.d.from=opts.min.getDate(),patternBlocks.d.to=opts.max.getDate())),Object.assign(patternBlocks,this.blocks,blocks),super._update({...patternOpts,mask:isString2(mask)?mask:pattern,blocks:patternBlocks})}doValidate(flags){let date=this.date;return super.doValidate(flags)&&(!this.isComplete||this.isDateExist(this.value)&&date!=null&&(this.min==null||this.min<=date)&&(this.max==null||date<=this.max))}isDateExist(str){return this.format(this.parse(str,this),this).indexOf(str)>=0}get date(){return this.typedValue}set date(date){this.typedValue=date}get typedValue(){return this.isComplete?super.typedValue:null}set typedValue(value){super.typedValue=value}maskEquals(mask){return mask===Date||super.maskEquals(mask)}optionsIsChanged(opts){return super.optionsIsChanged(_MaskedDate.extractPatternOptions(opts))}};__name(_MaskedDate,"MaskedDate");var MaskedDate=_MaskedDate;MaskedDate.GET_DEFAULT_BLOCKS=()=>({d:{mask:MaskedRange,from:1,to:31,maxLength:2},m:{mask:MaskedRange,from:1,to:12,maxLength:2},Y:{mask:MaskedRange,from:1900,to:9999}});MaskedDate.DEFAULTS={...MaskedPattern.DEFAULTS,mask:Date,pattern:"d{.}`m{.}`Y",format:__name((date,masked)=>{if(!date)return"";let day=String(date.getDate()).padStart(2,"0"),month=String(date.getMonth()+1).padStart(2,"0"),year=date.getFullYear();return[day,month,year].join(".")},"format"),parse:__name((str,masked)=>{let[day,month,year]=str.split(".").map(Number);return new Date(year,month-1,day)},"parse")};IMask.MaskedDate=MaskedDate;var _MaskedDynamic=class _MaskedDynamic extends Masked{constructor(opts){super({..._MaskedDynamic.DEFAULTS,...opts}),this.currentMask=void 0}updateOptions(opts){super.updateOptions(opts)}_update(opts){super._update(opts),"mask"in opts&&(this.exposeMask=void 0,this.compiledMasks=Array.isArray(opts.mask)?opts.mask.map(m=>{let{expose,...maskOpts}=normalizeOpts(m),masked=createMask({overwrite:this._overwrite,eager:this._eager,skipInvalid:this._skipInvalid,...maskOpts});return expose&&(this.exposeMask=masked),masked}):[])}_appendCharRaw(ch,flags){flags===void 0&&(flags={});let details=this._applyDispatch(ch,flags);return this.currentMask&&details.aggregate(this.currentMask._appendChar(ch,this.currentMaskFlags(flags))),details}_applyDispatch(appended,flags,tail){appended===void 0&&(appended=""),flags===void 0&&(flags={}),tail===void 0&&(tail="");let prevValueBeforeTail=flags.tail&&flags._beforeTailState!=null?flags._beforeTailState._value:this.value,inputValue=this.rawInputValue,insertValue=flags.tail&&flags._beforeTailState!=null?flags._beforeTailState._rawInputValue:inputValue,tailValue=inputValue.slice(insertValue.length),prevMask=this.currentMask,details=new ChangeDetails,prevMaskState=prevMask==null?void 0:prevMask.state;return this.currentMask=this.doDispatch(appended,{...flags},tail),this.currentMask&&(this.currentMask!==prevMask?(this.currentMask.reset(),insertValue&&(this.currentMask.append(insertValue,{raw:!0}),details.tailShift=this.currentMask.value.length-prevValueBeforeTail.length),tailValue&&(details.tailShift+=this.currentMask.append(tailValue,{raw:!0,tail:!0}).tailShift)):prevMaskState&&(this.currentMask.state=prevMaskState)),details}_appendPlaceholder(){let details=this._applyDispatch();return this.currentMask&&details.aggregate(this.currentMask._appendPlaceholder()),details}_appendEager(){let details=this._applyDispatch();return this.currentMask&&details.aggregate(this.currentMask._appendEager()),details}appendTail(tail){let details=new ChangeDetails;return tail&&details.aggregate(this._applyDispatch("",{},tail)),details.aggregate(this.currentMask?this.currentMask.appendTail(tail):super.appendTail(tail))}currentMaskFlags(flags){var _flags$_beforeTailSta,_flags$_beforeTailSta2;return{...flags,_beforeTailState:((_flags$_beforeTailSta=flags._beforeTailState)==null?void 0:_flags$_beforeTailSta.currentMaskRef)===this.currentMask&&((_flags$_beforeTailSta2=flags._beforeTailState)==null?void 0:_flags$_beforeTailSta2.currentMask)||flags._beforeTailState}}doDispatch(appended,flags,tail){return flags===void 0&&(flags={}),tail===void 0&&(tail=""),this.dispatch(appended,this,flags,tail)}doValidate(flags){return super.doValidate(flags)&&(!this.currentMask||this.currentMask.doValidate(this.currentMaskFlags(flags)))}doPrepare(str,flags){flags===void 0&&(flags={});let[s,details]=super.doPrepare(str,flags);if(this.currentMask){let currentDetails;[s,currentDetails]=super.doPrepare(s,this.currentMaskFlags(flags)),details=details.aggregate(currentDetails)}return[s,details]}doPrepareChar(str,flags){flags===void 0&&(flags={});let[s,details]=super.doPrepareChar(str,flags);if(this.currentMask){let currentDetails;[s,currentDetails]=super.doPrepareChar(s,this.currentMaskFlags(flags)),details=details.aggregate(currentDetails)}return[s,details]}reset(){var _this$currentMask;(_this$currentMask=this.currentMask)==null||_this$currentMask.reset(),this.compiledMasks.forEach(m=>m.reset())}get value(){return this.exposeMask?this.exposeMask.value:this.currentMask?this.currentMask.value:""}set value(value){this.exposeMask?(this.exposeMask.value=value,this.currentMask=this.exposeMask,this._applyDispatch()):super.value=value}get unmaskedValue(){return this.exposeMask?this.exposeMask.unmaskedValue:this.currentMask?this.currentMask.unmaskedValue:""}set unmaskedValue(unmaskedValue){this.exposeMask?(this.exposeMask.unmaskedValue=unmaskedValue,this.currentMask=this.exposeMask,this._applyDispatch()):super.unmaskedValue=unmaskedValue}get typedValue(){return this.exposeMask?this.exposeMask.typedValue:this.currentMask?this.currentMask.typedValue:""}set typedValue(typedValue){if(this.exposeMask){this.exposeMask.typedValue=typedValue,this.currentMask=this.exposeMask,this._applyDispatch();return}let unmaskedValue=String(typedValue);this.currentMask&&(this.currentMask.typedValue=typedValue,unmaskedValue=this.currentMask.unmaskedValue),this.unmaskedValue=unmaskedValue}get displayValue(){return this.currentMask?this.currentMask.displayValue:""}get isComplete(){var _this$currentMask2;return!!((_this$currentMask2=this.currentMask)!=null&&_this$currentMask2.isComplete)}get isFilled(){var _this$currentMask3;return!!((_this$currentMask3=this.currentMask)!=null&&_this$currentMask3.isFilled)}remove(fromPos,toPos){let details=new ChangeDetails;return this.currentMask&&details.aggregate(this.currentMask.remove(fromPos,toPos)).aggregate(this._applyDispatch()),details}get state(){var _this$currentMask4;return{...super.state,_rawInputValue:this.rawInputValue,compiledMasks:this.compiledMasks.map(m=>m.state),currentMaskRef:this.currentMask,currentMask:(_this$currentMask4=this.currentMask)==null?void 0:_this$currentMask4.state}}set state(state){let{compiledMasks,currentMaskRef,currentMask,...maskedState}=state;compiledMasks&&this.compiledMasks.forEach((m,mi)=>m.state=compiledMasks[mi]),currentMaskRef!=null&&(this.currentMask=currentMaskRef,this.currentMask.state=currentMask),super.state=maskedState}extractInput(fromPos,toPos,flags){return this.currentMask?this.currentMask.extractInput(fromPos,toPos,flags):""}extractTail(fromPos,toPos){return this.currentMask?this.currentMask.extractTail(fromPos,toPos):super.extractTail(fromPos,toPos)}doCommit(){this.currentMask&&this.currentMask.doCommit(),super.doCommit()}nearestInputPos(cursorPos,direction){return this.currentMask?this.currentMask.nearestInputPos(cursorPos,direction):super.nearestInputPos(cursorPos,direction)}get overwrite(){return this.currentMask?this.currentMask.overwrite:this._overwrite}set overwrite(overwrite){this._overwrite=overwrite}get eager(){return this.currentMask?this.currentMask.eager:this._eager}set eager(eager){this._eager=eager}get skipInvalid(){return this.currentMask?this.currentMask.skipInvalid:this._skipInvalid}set skipInvalid(skipInvalid){this._skipInvalid=skipInvalid}get autofix(){return this.currentMask?this.currentMask.autofix:this._autofix}set autofix(autofix){this._autofix=autofix}maskEquals(mask){return Array.isArray(mask)?this.compiledMasks.every((m,mi)=>{if(!mask[mi])return;let{mask:oldMask,...restOpts}=mask[mi];return objectIncludes(m,restOpts)&&m.maskEquals(oldMask)}):super.maskEquals(mask)}typedValueEquals(value){var _this$currentMask5;return!!((_this$currentMask5=this.currentMask)!=null&&_this$currentMask5.typedValueEquals(value))}};__name(_MaskedDynamic,"MaskedDynamic");var MaskedDynamic=_MaskedDynamic;MaskedDynamic.DEFAULTS={...Masked.DEFAULTS,dispatch:__name((appended,masked,flags,tail)=>{if(!masked.compiledMasks.length)return;let inputValue=masked.rawInputValue,inputs=masked.compiledMasks.map((m,index2)=>{let isCurrent=masked.currentMask===m,startInputPos=isCurrent?m.displayValue.length:m.nearestInputPos(m.displayValue.length,DIRECTION.FORCE_LEFT);return m.rawInputValue!==inputValue?(m.reset(),m.append(inputValue,{raw:!0})):isCurrent||m.remove(startInputPos),m.append(appended,masked.currentMaskFlags(flags)),m.appendTail(tail),{index:index2,weight:m.rawInputValue.length,totalInputPositions:m.totalInputPositions(0,Math.max(startInputPos,m.nearestInputPos(m.displayValue.length,DIRECTION.FORCE_LEFT)))}});return inputs.sort((i1,i2)=>i2.weight-i1.weight||i2.totalInputPositions-i1.totalInputPositions),masked.compiledMasks[inputs[0].index]},"dispatch")};IMask.MaskedDynamic=MaskedDynamic;var _MaskedEnum=class _MaskedEnum extends MaskedPattern{constructor(opts){super({..._MaskedEnum.DEFAULTS,...opts})}updateOptions(opts){super.updateOptions(opts)}_update(opts){let{enum:enum_,...eopts}=opts;if(enum_){let lengths=enum_.map(e=>e.length),requiredLength=Math.min(...lengths),optionalLength=Math.max(...lengths)-requiredLength;eopts.mask="*".repeat(requiredLength),optionalLength&&(eopts.mask+="["+"*".repeat(optionalLength)+"]"),this.enum=enum_}super._update(eopts)}_appendCharRaw(ch,flags){flags===void 0&&(flags={});let matchFrom=Math.min(this.nearestInputPos(0,DIRECTION.FORCE_RIGHT),this.value.length),matches=this.enum.filter(e=>this.matchValue(e,this.unmaskedValue+ch,matchFrom));if(matches.length){matches.length===1&&this._forEachBlocksInRange(0,this.value.length,(b,bi)=>{let mch=matches[0][bi];bi>=this.value.length||mch===b.value||(b.reset(),b._appendChar(mch,flags))});let d=super._appendCharRaw(matches[0][this.value.length],flags);return matches.length===1&&matches[0].slice(this.unmaskedValue.length).split("").forEach(mch=>d.aggregate(super._appendCharRaw(mch))),d}return new ChangeDetails}extractTail(fromPos,toPos){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length),new ContinuousTailDetails("",fromPos)}remove(fromPos,toPos){if(fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length),fromPos===toPos)return new ChangeDetails;let matchFrom=Math.min(super.nearestInputPos(0,DIRECTION.FORCE_RIGHT),this.value.length),pos;for(pos=fromPos;pos>=0&&!(this.enum.filter(e=>this.matchValue(e,this.value.slice(matchFrom,pos),matchFrom)).length>1);--pos);let details=super.remove(pos,toPos);return details.tailShift+=pos-fromPos,details}};__name(_MaskedEnum,"MaskedEnum");var MaskedEnum=_MaskedEnum;MaskedEnum.DEFAULTS={...MaskedPattern.DEFAULTS,matchValue:__name((estr,istr,matchFrom)=>estr.indexOf(istr,matchFrom)===matchFrom,"matchValue")};IMask.MaskedEnum=MaskedEnum;var _MaskedFunction=class _MaskedFunction extends Masked{updateOptions(opts){super.updateOptions(opts)}_update(opts){super._update({...opts,validate:opts.mask})}};__name(_MaskedFunction,"MaskedFunction");var MaskedFunction=_MaskedFunction;IMask.MaskedFunction=MaskedFunction;var _MaskedNumber,_MaskedNumber2=class _MaskedNumber2 extends Masked{constructor(opts){super({..._MaskedNumber2.DEFAULTS,...opts})}updateOptions(opts){super.updateOptions(opts)}_update(opts){super._update(opts),this._updateRegExps()}_updateRegExps(){let start5="^"+(this.allowNegative?"[+|\\-]?":""),mid="\\d*",end2=(this.scale?"("+escapeRegExp2(this.radix)+"\\d{0,"+this.scale+"})?":"")+"$";this._numberRegExp=new RegExp(start5+mid+end2),this._mapToRadixRegExp=new RegExp("["+this.mapToRadix.map(escapeRegExp2).join("")+"]","g"),this._thousandsSeparatorRegExp=new RegExp(escapeRegExp2(this.thousandsSeparator),"g")}_removeThousandsSeparators(value){return value.replace(this._thousandsSeparatorRegExp,"")}_insertThousandsSeparators(value){let parts=value.split(this.radix);return parts[0]=parts[0].replace(/\B(?=(\d{3})+(?!\d))/g,this.thousandsSeparator),parts.join(this.radix)}doPrepareChar(ch,flags){flags===void 0&&(flags={});let[prepCh,details]=super.doPrepareChar(this._removeThousandsSeparators(this.scale&&this.mapToRadix.length&&(flags.input&&flags.raw||!flags.input&&!flags.raw)?ch.replace(this._mapToRadixRegExp,this.radix):ch),flags);return ch&&!prepCh&&(details.skip=!0),prepCh&&!this.allowPositive&&!this.value&&prepCh!=="-"&&details.aggregate(this._appendChar("-")),[prepCh,details]}_separatorsCount(to,extendOnSeparators){extendOnSeparators===void 0&&(extendOnSeparators=!1);let count=0;for(let pos=0;pos<to;++pos)this._value.indexOf(this.thousandsSeparator,pos)===pos&&(++count,extendOnSeparators&&(to+=this.thousandsSeparator.length));return count}_separatorsCountFromSlice(slice2){return slice2===void 0&&(slice2=this._value),this._separatorsCount(this._removeThousandsSeparators(slice2).length,!0)}extractInput(fromPos,toPos,flags){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length),[fromPos,toPos]=this._adjustRangeWithSeparators(fromPos,toPos),this._removeThousandsSeparators(super.extractInput(fromPos,toPos,flags))}_appendCharRaw(ch,flags){flags===void 0&&(flags={});let prevBeforeTailValue=flags.tail&&flags._beforeTailState?flags._beforeTailState._value:this._value,prevBeforeTailSeparatorsCount=this._separatorsCountFromSlice(prevBeforeTailValue);this._value=this._removeThousandsSeparators(this.value);let oldValue=this._value;this._value+=ch;let num=this.number,accepted=!isNaN(num),skip=!1;if(accepted){let fixedNum;this.min!=null&&this.min<0&&this.number<this.min&&(fixedNum=this.min),this.max!=null&&this.max>0&&this.number>this.max&&(fixedNum=this.max),fixedNum!=null&&(this.autofix?(this._value=this.format(fixedNum,this).replace(_MaskedNumber2.UNMASKED_RADIX,this.radix),skip||(skip=oldValue===this._value&&!flags.tail)):accepted=!1),accepted&&(accepted=!!this._value.match(this._numberRegExp))}let appendDetails;accepted?appendDetails=new ChangeDetails({inserted:this._value.slice(oldValue.length),rawInserted:skip?"":ch,skip}):(this._value=oldValue,appendDetails=new ChangeDetails),this._value=this._insertThousandsSeparators(this._value);let beforeTailValue=flags.tail&&flags._beforeTailState?flags._beforeTailState._value:this._value,beforeTailSeparatorsCount=this._separatorsCountFromSlice(beforeTailValue);return appendDetails.tailShift+=(beforeTailSeparatorsCount-prevBeforeTailSeparatorsCount)*this.thousandsSeparator.length,appendDetails}_findSeparatorAround(pos){if(this.thousandsSeparator){let searchFrom=pos-this.thousandsSeparator.length+1,separatorPos=this.value.indexOf(this.thousandsSeparator,searchFrom);if(separatorPos<=pos)return separatorPos}return-1}_adjustRangeWithSeparators(from2,to){let separatorAroundFromPos=this._findSeparatorAround(from2);separatorAroundFromPos>=0&&(from2=separatorAroundFromPos);let separatorAroundToPos=this._findSeparatorAround(to);return separatorAroundToPos>=0&&(to=separatorAroundToPos+this.thousandsSeparator.length),[from2,to]}remove(fromPos,toPos){fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length),[fromPos,toPos]=this._adjustRangeWithSeparators(fromPos,toPos);let valueBeforePos=this.value.slice(0,fromPos),valueAfterPos=this.value.slice(toPos),prevBeforeTailSeparatorsCount=this._separatorsCount(valueBeforePos.length);this._value=this._insertThousandsSeparators(this._removeThousandsSeparators(valueBeforePos+valueAfterPos));let beforeTailSeparatorsCount=this._separatorsCountFromSlice(valueBeforePos);return new ChangeDetails({tailShift:(beforeTailSeparatorsCount-prevBeforeTailSeparatorsCount)*this.thousandsSeparator.length})}nearestInputPos(cursorPos,direction){if(!this.thousandsSeparator)return cursorPos;switch(direction){case DIRECTION.NONE:case DIRECTION.LEFT:case DIRECTION.FORCE_LEFT:{let separatorAtLeftPos=this._findSeparatorAround(cursorPos-1);if(separatorAtLeftPos>=0){let separatorAtLeftEndPos=separatorAtLeftPos+this.thousandsSeparator.length;if(cursorPos<separatorAtLeftEndPos||this.value.length<=separatorAtLeftEndPos||direction===DIRECTION.FORCE_LEFT)return separatorAtLeftPos}break}case DIRECTION.RIGHT:case DIRECTION.FORCE_RIGHT:{let separatorAtRightPos=this._findSeparatorAround(cursorPos);if(separatorAtRightPos>=0)return separatorAtRightPos+this.thousandsSeparator.length}}return cursorPos}doCommit(){if(this.value){let number3=this.number,validnum=number3;this.min!=null&&(validnum=Math.max(validnum,this.min)),this.max!=null&&(validnum=Math.min(validnum,this.max)),validnum!==number3&&(this.unmaskedValue=this.format(validnum,this));let formatted=this.value;this.normalizeZeros&&(formatted=this._normalizeZeros(formatted)),this.padFractionalZeros&&this.scale>0&&(formatted=this._padFractionalZeros(formatted)),this._value=formatted}super.doCommit()}_normalizeZeros(value){let parts=this._removeThousandsSeparators(value).split(this.radix);return parts[0]=parts[0].replace(/^(\D*)(0*)(\d*)/,(match2,sign,zeros,num)=>sign+num),value.length&&!/\d$/.test(parts[0])&&(parts[0]=parts[0]+"0"),parts.length>1&&(parts[1]=parts[1].replace(/0*$/,""),parts[1].length||(parts.length=1)),this._insertThousandsSeparators(parts.join(this.radix))}_padFractionalZeros(value){if(!value)return value;let parts=value.split(this.radix);return parts.length<2&&parts.push(""),parts[1]=parts[1].padEnd(this.scale,"0"),parts.join(this.radix)}doSkipInvalid(ch,flags,checkTail){flags===void 0&&(flags={});let dropFractional=this.scale===0&&ch!==this.thousandsSeparator&&(ch===this.radix||ch===_MaskedNumber2.UNMASKED_RADIX||this.mapToRadix.includes(ch));return super.doSkipInvalid(ch,flags,checkTail)&&!dropFractional}get unmaskedValue(){return this._removeThousandsSeparators(this._normalizeZeros(this.value)).replace(this.radix,_MaskedNumber2.UNMASKED_RADIX)}set unmaskedValue(unmaskedValue){super.unmaskedValue=unmaskedValue}get typedValue(){return this.parse(this.unmaskedValue,this)}set typedValue(n){this.rawInputValue=this.format(n,this).replace(_MaskedNumber2.UNMASKED_RADIX,this.radix)}get number(){return this.typedValue}set number(number3){this.typedValue=number3}get allowNegative(){return this.min!=null&&this.min<0||this.max!=null&&this.max<0}get allowPositive(){return this.min!=null&&this.min>0||this.max!=null&&this.max>0}typedValueEquals(value){return(super.typedValueEquals(value)||_MaskedNumber2.EMPTY_VALUES.includes(value)&&_MaskedNumber2.EMPTY_VALUES.includes(this.typedValue))&&!(value===0&&this.value==="")}};__name(_MaskedNumber2,"MaskedNumber");var MaskedNumber=_MaskedNumber2;_MaskedNumber=MaskedNumber;MaskedNumber.UNMASKED_RADIX=".";MaskedNumber.EMPTY_VALUES=[...Masked.EMPTY_VALUES,0];MaskedNumber.DEFAULTS={...Masked.DEFAULTS,mask:Number,radix:",",thousandsSeparator:"",mapToRadix:[_MaskedNumber.UNMASKED_RADIX],min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER,scale:2,normalizeZeros:!0,padFractionalZeros:!1,parse:Number,format:__name(n=>n.toLocaleString("en-US",{useGrouping:!1,maximumFractionDigits:20}),"format")};IMask.MaskedNumber=MaskedNumber;var PIPE_TYPE={MASKED:"value",UNMASKED:"unmaskedValue",TYPED:"typedValue"};function createPipe(arg,from2,to){from2===void 0&&(from2=PIPE_TYPE.MASKED),to===void 0&&(to=PIPE_TYPE.MASKED);let masked=createMask(arg);return value=>masked.runIsolated(m=>(m[from2]=value,m[to]))}__name(createPipe,"createPipe");function pipe2(value,mask,from2,to){return createPipe(mask,from2,to)(value)}__name(pipe2,"pipe");IMask.PIPE_TYPE=PIPE_TYPE;IMask.createPipe=createPipe;IMask.pipe=pipe2;var _RepeatBlock=class _RepeatBlock extends MaskedPattern{get repeatFrom(){var _ref;return(_ref=Array.isArray(this.repeat)?this.repeat[0]:this.repeat===1/0?0:this.repeat)!=null?_ref:0}get repeatTo(){var _ref2;return(_ref2=Array.isArray(this.repeat)?this.repeat[1]:this.repeat)!=null?_ref2:1/0}constructor(opts){super(opts)}updateOptions(opts){super.updateOptions(opts)}_update(opts){var _ref3,_ref4,_this$_blocks;let{repeat:repeat2,...blockOpts}=normalizeOpts(opts);this._blockOpts=Object.assign({},this._blockOpts,blockOpts);let block=createMask(this._blockOpts);this.repeat=(_ref3=(_ref4=repeat2??block.repeat)!=null?_ref4:this.repeat)!=null?_ref3:1/0,super._update({mask:"m".repeat(Math.max(this.repeatTo===1/0&&((_this$_blocks=this._blocks)==null?void 0:_this$_blocks.length)||0,this.repeatFrom)),blocks:{m:block},eager:block.eager,overwrite:block.overwrite,skipInvalid:block.skipInvalid,lazy:block.lazy,placeholderChar:block.placeholderChar,displayChar:block.displayChar})}_allocateBlock(bi){if(bi<this._blocks.length)return this._blocks[bi];if(this.repeatTo===1/0||this._blocks.length<this.repeatTo)return this._blocks.push(createMask(this._blockOpts)),this.mask+="m",this._blocks[this._blocks.length-1]}_appendCharRaw(ch,flags){flags===void 0&&(flags={});let details=new ChangeDetails;for(let bi=(_this$_mapPosToBlock$=(_this$_mapPosToBlock=this._mapPosToBlock(this.displayValue.length))==null?void 0:_this$_mapPosToBlock.index)!=null?_this$_mapPosToBlock$:Math.max(this._blocks.length-1,0),block,allocated;block=(_this$_blocks$bi=this._blocks[bi])!=null?_this$_blocks$bi:allocated=!allocated&&this._allocateBlock(bi);++bi){var _this$_mapPosToBlock$,_this$_mapPosToBlock,_this$_blocks$bi,_flags$_beforeTailSta;let blockDetails=block._appendChar(ch,{...flags,_beforeTailState:(_flags$_beforeTailSta=flags._beforeTailState)==null||(_flags$_beforeTailSta=_flags$_beforeTailSta._blocks)==null?void 0:_flags$_beforeTailSta[bi]});if(blockDetails.skip&&allocated){this._blocks.pop(),this.mask=this.mask.slice(1);break}if(details.aggregate(blockDetails),blockDetails.consumed)break}return details}_trimEmptyTail(fromPos,toPos){var _this$_mapPosToBlock2,_this$_mapPosToBlock3;fromPos===void 0&&(fromPos=0);let firstBlockIndex=Math.max(((_this$_mapPosToBlock2=this._mapPosToBlock(fromPos))==null?void 0:_this$_mapPosToBlock2.index)||0,this.repeatFrom,0),lastBlockIndex;toPos!=null&&(lastBlockIndex=(_this$_mapPosToBlock3=this._mapPosToBlock(toPos))==null?void 0:_this$_mapPosToBlock3.index),lastBlockIndex==null&&(lastBlockIndex=this._blocks.length-1);let removeCount=0;for(let blockIndex=lastBlockIndex;firstBlockIndex<=blockIndex&&!this._blocks[blockIndex].unmaskedValue;--blockIndex,++removeCount);removeCount&&(this._blocks.splice(lastBlockIndex-removeCount+1,removeCount),this.mask=this.mask.slice(removeCount))}reset(){super.reset(),this._trimEmptyTail()}remove(fromPos,toPos){fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length);let removeDetails=super.remove(fromPos,toPos);return this._trimEmptyTail(fromPos,toPos),removeDetails}totalInputPositions(fromPos,toPos){return fromPos===void 0&&(fromPos=0),toPos==null&&this.repeatTo===1/0?1/0:super.totalInputPositions(fromPos,toPos)}get state(){return super.state}set state(state){this._blocks.length=state._blocks.length,this.mask=this.mask.slice(0,this._blocks.length),super.state=state}};__name(_RepeatBlock,"RepeatBlock");var RepeatBlock=_RepeatBlock;IMask.RepeatBlock=RepeatBlock;try{globalThis.IMask=IMask}catch{}import React199 from"react";var import_prop_types=__toESM(require_prop_types(),1);import React198 from"react";var MASK_PROPS={mask:import_prop_types.default.oneOfType([import_prop_types.default.array,import_prop_types.default.func,import_prop_types.default.string,import_prop_types.default.instanceOf(RegExp),import_prop_types.default.oneOf([Date,Number,IMask.Masked]),import_prop_types.default.instanceOf(IMask.Masked)]),value:import_prop_types.default.any,unmask:import_prop_types.default.oneOfType([import_prop_types.default.bool,import_prop_types.default.oneOf(["typed"])]),prepare:import_prop_types.default.func,prepareChar:import_prop_types.default.func,validate:import_prop_types.default.func,commit:import_prop_types.default.func,overwrite:import_prop_types.default.oneOfType([import_prop_types.default.bool,import_prop_types.default.oneOf(["shift"])]),eager:import_prop_types.default.oneOfType([import_prop_types.default.bool,import_prop_types.default.oneOf(["append","remove"])]),skipInvalid:import_prop_types.default.bool,onAccept:import_prop_types.default.func,onComplete:import_prop_types.default.func,placeholderChar:import_prop_types.default.string,displayChar:import_prop_types.default.string,lazy:import_prop_types.default.bool,definitions:import_prop_types.default.object,blocks:import_prop_types.default.object,enum:import_prop_types.default.arrayOf(import_prop_types.default.string),maxLength:import_prop_types.default.number,from:import_prop_types.default.number,to:import_prop_types.default.number,pattern:import_prop_types.default.string,format:import_prop_types.default.func,parse:import_prop_types.default.func,autofix:import_prop_types.default.oneOfType([import_prop_types.default.bool,import_prop_types.default.oneOf(["pad"])]),radix:import_prop_types.default.string,thousandsSeparator:import_prop_types.default.string,mapToRadix:import_prop_types.default.arrayOf(import_prop_types.default.string),scale:import_prop_types.default.number,normalizeZeros:import_prop_types.default.bool,padFractionalZeros:import_prop_types.default.bool,min:import_prop_types.default.oneOfType([import_prop_types.default.number,import_prop_types.default.instanceOf(Date)]),max:import_prop_types.default.oneOfType([import_prop_types.default.number,import_prop_types.default.instanceOf(Date)]),dispatch:import_prop_types.default.func,inputRef:import_prop_types.default.oneOfType([import_prop_types.default.func,import_prop_types.default.shape({current:import_prop_types.default.object})])},MASK_PROPS_NAMES=Object.keys(MASK_PROPS).filter(p=>p!=="value"),NON_MASK_OPTIONS_NAMES=["value","unmask","onAccept","onComplete","inputRef"],MASK_OPTIONS_NAMES=MASK_PROPS_NAMES.filter(pName=>NON_MASK_OPTIONS_NAMES.indexOf(pName)<0);function IMaskMixin(ComposedComponent){var _a;var _Class;let MaskedComponent=(_Class=(_a=class extends React198.Component{constructor(props){super(props),this._inputRef=this._inputRef.bind(this)}componentDidMount(){this.props.mask&&this.initMask()}componentDidUpdate(){let props=this.props,maskOptions=this._extractMaskOptionsFromProps(props);if(maskOptions.mask)this.maskRef?(this.maskRef.updateOptions(maskOptions),"value"in props&&props.value!==void 0&&(this.maskValue=props.value)):this.initMask(maskOptions);else if(this.destroyMask(),"value"in props&&props.value!==void 0){var _this$element;(_this$element=this.element)!=null&&_this$element.isContentEditable&&this.element.tagName!=="INPUT"&&this.element.tagName!=="TEXTAREA"?this.element.textContent=props.value:this.element.value=props.value}}componentWillUnmount(){this.destroyMask()}_inputRef(el){this.element=el,this.props.inputRef&&(Object.prototype.hasOwnProperty.call(this.props.inputRef,"current")?this.props.inputRef.current=el:this.props.inputRef(el))}initMask(maskOptions){maskOptions===void 0&&(maskOptions=this._extractMaskOptionsFromProps(this.props)),this.maskRef=IMask(this.element,maskOptions).on("accept",this._onAccept.bind(this)).on("complete",this._onComplete.bind(this)),"value"in this.props&&this.props.value!==void 0&&(this.maskValue=this.props.value)}destroyMask(){this.maskRef&&(this.maskRef.destroy(),delete this.maskRef)}_extractMaskOptionsFromProps(props){let{...cloneProps}=props;return Object.keys(cloneProps).filter(prop=>MASK_OPTIONS_NAMES.indexOf(prop)<0).forEach(nonMaskProp=>{delete cloneProps[nonMaskProp]}),cloneProps}_extractNonMaskProps(props){let{...cloneProps}=props;return MASK_PROPS_NAMES.forEach(maskProp=>{maskProp!=="maxLength"&&delete cloneProps[maskProp]}),"defaultValue"in cloneProps||(cloneProps.defaultValue=props.mask?"":cloneProps.value),delete cloneProps.value,cloneProps}get maskValue(){return this.maskRef?this.props.unmask==="typed"?this.maskRef.typedValue:this.props.unmask?this.maskRef.unmaskedValue:this.maskRef.value:""}set maskValue(value){this.maskRef&&(value=value==null&&this.props.unmask!=="typed"?"":value,this.props.unmask==="typed"?this.maskRef.typedValue=value:this.props.unmask?this.maskRef.unmaskedValue=value:this.maskRef.value=value)}_onAccept(e){this.props.onAccept&&this.maskRef&&this.props.onAccept(this.maskValue,this.maskRef,e)}_onComplete(e){this.props.onComplete&&this.maskRef&&this.props.onComplete(this.maskValue,this.maskRef,e)}render(){return React198.createElement(ComposedComponent,{...this._extractNonMaskProps(this.props),inputRef:this._inputRef})}},__name(_a,"MaskedComponent"),_a),_Class.displayName=void 0,_Class.propTypes=void 0,_Class),nestedComponentName=ComposedComponent.displayName||ComposedComponent.name||"Component";return MaskedComponent.displayName="IMask("+nestedComponentName+")",MaskedComponent.propTypes=MASK_PROPS,React198.forwardRef((props,ref)=>React198.createElement(MaskedComponent,{...props,ref}))}__name(IMaskMixin,"IMaskMixin");var IMaskInputClass=IMaskMixin(_ref=>{let{inputRef,...props}=_ref;return React199.createElement("input",{...props,ref:inputRef})}),IMaskInputFn=__name((props,ref)=>React199.createElement(IMaskInputClass,{...props,ref}),"IMaskInputFn"),IMaskInput=React199.forwardRef(IMaskInputFn);import{useRef as useRef52,useState as useState31,useCallback as useCallback33,useEffect as useEffect45}from"react";import"react";import{jsx as _jsx114}from"react/jsx-runtime";var CalendarToday_default=createSvgIcon2(_jsx114("path",{d:"M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m0 18H4V8h16z"}),"CalendarToday");var Sheet3=Sheet_default;var Sheet_default2=Sheet3;var MotionDialogActions=motion(DialogActions_default),StyledDialogActions=styled_default2(MotionDialogActions)(({theme})=>({padding:theme.spacing(2),gap:theme.spacing(2),flexDirection:"row",justifyContent:"flex-end"})),DialogActions3=StyledDialogActions;DialogActions3.displayName="DialogActions";var DialogActions_default2=DialogActions3;var CalendarButton=styled_default2(IconButton_default2,{name:"DatePicker",slot:"calendarButton"})(({theme})=>({"&:focus":{"--Icon-color":"currentColor",outlineOffset:`${theme.getCssVar("focus-thickness")}`,outline:`${theme.getCssVar("focus-thickness")} solid ${theme.getCssVar("palette-focusVisible")}`}})),StyledPopper=styled_default2(Popper,{name:"DatePicker",slot:"popper"})(({theme})=>({zIndex:theme.zIndex.tooltip})),CalendarSheet=styled_default2(Sheet_default2,{name:"DatePicker",slot:"sheet",overridesResolver:__name((props,styles2)=>styles2.root,"overridesResolver")})(({theme})=>({width:"264px",boxShadow:theme.shadow.md,borderRadius:theme.radius.md})),DatePickerRoot=styled_default2("div",{name:"DatePicker",slot:"root",overridesResolver:__name((props,styles2)=>styles2.root,"overridesResolver")})({width:"100%"}),validValueFormat=__name((value,format2)=>{try{let parsedValue=parseDate(value,format2);return parsedValue.toString()==="Invalid Date"||value!==formatValueString(parsedValue,format2)?!1:new RegExp(`^${format2.replace(/Y/g,"\\d").replace(/M/g,"\\d").replace(/D/g,"\\d")}$`).test(value)}catch{return!1}},"validValueFormat"),formatValueString=__name((date,format2)=>{let day=`${date.getDate()}`,month=`${date.getMonth()+1}`,year=date.getFullYear();return Number(day)<10&&(day="0"+day),Number(month)<10&&(month="0"+month),format2.replace(/YYYY/g,year.toString()).replace(/MM/g,month).replace(/DD/g,day)},"formatValueString");function parseDate(dateString,format2){let formatParts=format2.split(/[-./\s]/),dateParts=dateString.split(/[-./\s]/);if(formatParts.length!==dateParts.length)throw new Error("Invalid date string or format");let day,month,year;for(let i=0;i<formatParts.length;i++){let value=parseInt(dateParts[i],10);switch(formatParts[i]){case"DD":day=value;break;case"MM":month=value-1;break;case"YYYY":year=value;break}}return new Date(year,month,day)}__name(parseDate,"parseDate");var formatToPattern=__name(format2=>format2.replace(/YYYY/g,"Y").replace(/MM/g,"M").replace(/DD/g,"D").replace(/[^YMD\s]/g,match2=>`${match2}\``),"formatToPattern"),TextMaskAdapter3=React200.forwardRef(__name(function(props,ref){let{onChange,format:format2,...other}=props;return React200.createElement(IMaskInput,{...other,inputRef:ref,onAccept:value=>onChange({target:{name:props.name,value}}),mask:Date,pattern:formatToPattern(format2),blocks:{D:{mask:IMask.MaskedRange,from:1,to:31,maxLength:2},M:{mask:IMask.MaskedRange,from:1,to:12,maxLength:2},Y:{mask:IMask.MaskedRange,from:1900,to:9999,maxLength:4}},format:date=>formatValueString(date,format2),parse:str=>parseDate(str,format2),autofix:"pad",overwrite:!0})},"TextMaskAdapter")),DatePicker=forwardRef89((inProps,ref)=>{let props=useThemeProps2({props:inProps,name:"DatePicker"}),{onChange,disabled,label,error,helperText,minDate,maxDate,disableFuture,disablePast,required,sx,className,format:format2="YYYY/MM/DD",displayFormat="YYYY/MM/DD",size,inputReadOnly,hideClearButton,readOnly,shouldDisableDate,...innerProps}=props,innerRef=useRef53(null),buttonRef=useRef53(null),[value,setValue]=useControlledState(props.value,props.defaultValue||"",useCallback34(value2=>onChange==null?void 0:onChange({target:{name:props.name,value:value2}}),[props.name,onChange])),[displayValue,setDisplayValue]=useState32(()=>value?formatValueString(parseDate(value,format2),displayFormat):""),[anchorEl,setAnchorEl]=useState32(null),open=!!anchorEl;useEffect46(()=>{var _a;anchorEl||(_a=innerRef.current)==null||_a.blur()},[anchorEl,innerRef]),useEffect46(()=>{if(value===""){setDisplayValue("");return}let formattedValue=formatValueString(parseDate(value,format2),displayFormat);validValueFormat(formattedValue,displayFormat)&&formattedValue!==displayValue&&setDisplayValue(formattedValue)},[displayFormat,displayValue,format2,value]),useImperativeHandle8(ref,()=>innerRef.current,[innerRef]);let handleChange=useCallback34(event=>{let value2=event.target.value;setDisplayValue(value2&&formatValueString(parseDate(value2,format2),displayFormat)),setValue(value2)},[displayFormat,format2,setValue]),handleDisplayInputChange=useCallback34(event=>{if(event.target.value===""){handleChange({target:{name:props.name,value:""}});return}if(validValueFormat(event.target.value,displayFormat)){let parsedDate=parseDate(event.target.value,displayFormat),formattedValue=formatValueString(parsedDate,format2);handleChange({target:{name:props.name,value:formattedValue}})}},[displayFormat,format2,handleChange,props.name]),handleCalendarToggle=useCallback34(event=>{setAnchorEl(anchorEl?null:event.currentTarget),setTimeout(()=>{var _a;(_a=innerRef.current)==null||_a.focus()},0)},[anchorEl,setAnchorEl,innerRef]),handleInputMouseDown=useCallback34(event=>{var _a;inputReadOnly&&(event.preventDefault(),(_a=buttonRef.current)==null||_a.focus())},[inputReadOnly,buttonRef]);return React200.createElement(DatePickerRoot,null,React200.createElement(FocusTrap,{open:!0},React200.createElement(React200.Fragment,null,React200.createElement(Input_default2,{...innerProps,color:error?"danger":innerProps.color,ref:innerRef,size,value:displayValue,onChange:handleDisplayInputChange,placeholder:displayFormat,disabled,required,error,slotProps:{input:{component:TextMaskAdapter3,ref:innerRef,format:displayFormat,sx:{"&:hover":{cursor:inputReadOnly||readOnly?"default":"text"}},onMouseDown:handleInputMouseDown}},className,sx,endDecorator:React200.createElement(CalendarButton,{ref:buttonRef,variant:"plain",onClick:readOnly?void 0:handleCalendarToggle,"aria-label":"Toggle Calendar","aria-controls":"date-picker-popper","aria-haspopup":"dialog","aria-expanded":open,disabled},React200.createElement(CalendarToday_default,null)),label,helperText,readOnly:readOnly||inputReadOnly}),open&&React200.createElement(ClickAwayListener,{onClickAway:()=>setAnchorEl(null)},React200.createElement(StyledPopper,{id:"date-picker-popper",open:!0,anchorEl,placement:"bottom-end",onMouseDown:e=>e.preventDefault(),modifiers:[{name:"offset",options:{offset:[4,4]}}],"aria-label":"Calendar Tooltip","aria-expanded":open},React200.createElement(CalendarSheet,{tabIndex:-1,role:"presentation"},React200.createElement(Calendar_default,{value:value&&!Number.isNaN(parseDate(value,format2).getTime())?[parseDate(value,format2),void 0]:void 0,onChange:([date])=>{handleChange({target:{name:props.name,value:formatValueString(date,format2)}}),setAnchorEl(null)},minDate:minDate?new Date(minDate):void 0,maxDate:maxDate?new Date(maxDate):void 0,disableFuture,disablePast,shouldDisableDate:shouldDisableDate?date=>shouldDisableDate(formatValueString(date,format2)):void 0}),!hideClearButton&&React200.createElement(DialogActions_default2,{sx:{p:1}},React200.createElement(Button_default2,{size,variant:"plain",color:"neutral",onClick:()=>{handleChange({target:{name:props.name,value:""}}),setAnchorEl(null)}},"Clear"))))))))});var DatePicker_default=DatePicker;import React201 from"react";var MotionTextarea=motion(Textarea_default),Textarea3=__name(props=>{let{label,error,helperText,color:color3,size,disabled,required,minRows=2,maxRows=4,sx,className,...innerProps}=props,textarea=React201.createElement(MotionTextarea,{required,disabled,color:error?"danger":color3,size,minRows,maxRows,...innerProps});return React201.createElement(FormControl_default2,{required,disabled,color:color3,size,error,sx,className},label&&React201.createElement(FormLabel_default2,null,label),textarea,helperText&&React201.createElement(FormHelperText_default2,null,helperText))},"Textarea");Textarea3.displayName="Textarea";var Textarea_default2=Textarea3;import React202,{useMemo as useMemo46}from"react";var MotionOption=motion(Option_default),Option3=MotionOption,secondaryTextLevelMap2={sm:"body-xs",md:"body-sm",lg:"body-md"};Option3.displayName="Option";function Select3(props){let{label,helperText,error,size,color:color3,disabled,required,onChange,sx,className,...innerProps}=props,options=useMemo46(()=>props.options.map(option=>option.hasOwnProperty("value")&&option.hasOwnProperty("label")?option:{value:option,label:option}),[props.options]),handleChange=__name((event,newValue)=>{var _a;let _event=event||{target:{}},newEvent={..._event,target:{..._event.target,name:((_a=_event.target)==null?void 0:_a.name)||props.name,value:newValue}};onChange==null||onChange(newEvent,newValue)},"handleChange"),optionMap=useMemo46(()=>{let map3=new Map;return options.forEach(option=>{map3.set(option.value,option)}),map3},[options]),select=React202.createElement(Select_default,{...innerProps,required,disabled,size,color:error?"danger":color3,onChange:handleChange,renderValue:selected=>{var _a;return selected?Array.isArray(selected)?selected.map(s=>{var _a2;return(_a2=optionMap.get(s.value))==null?void 0:_a2.label}).join(", "):(_a=optionMap.get(selected.value))==null?void 0:_a.label:null}},options.map(option=>React202.createElement(Option3,{key:option.value,value:option.value,disabled:option.disabled},option.secondaryText?React202.createElement(ListItemContent_default,{sx:{gap:.5}},React202.createElement(Typography_default,{level:"inherit"},option.label),React202.createElement(Typography_default,{level:secondaryTextLevelMap2[size??"md"],textColor:"text.tertiary"},option.secondaryText)):option.label)));return React202.createElement(FormControl_default2,{required,disabled,size,color:color3,error,sx,className},label&&React202.createElement(FormLabel_default2,null,label),select,helperText&&React202.createElement(FormHelperText_default2,null,helperText))}__name(Select3,"Select");Select3.displayName="Select";var Select_default2=Select3;import React203 from"react";import{jsx as _jsx115}from"react/jsx-runtime";var Info_default=createSvgIcon2(_jsx115("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-6h2zm0-8h-2V7h2z"}),"Info");var InfoIcon=styled_default2(Info_default,{name:"InfoSign",slot:"InfoSign"})(({theme})=>({color:theme.palette.text.icon,width:"14px",height:"14px"}));function InfoSign(props){let{message,placement}=props;return React203.createElement(Tooltip_default2,{arrow:!0,placement,sx:{[`&.${tooltipClasses_default.root}`]:{maxWidth:"320px"}},title:message==null?void 0:message.split(`
151
- `).map((line2,i)=>React203.createElement("div",{key:`info-sign-${i}`},line2))},React203.createElement(InfoIcon,null))}__name(InfoSign,"InfoSign");var InfoSign_default=InfoSign;var TextEllipsis=__name(({children,lineClamp,...rest})=>{let textRef=useRef54(null),[showTooltip,setShowTooltip]=useState33(!1);return useLayoutEffect6(()=>{let element3=textRef.current;if(!element3)return;let checkTruncation=__name(()=>{let isTruncated=lineClamp&&lineClamp>1?element3.scrollHeight>element3.clientHeight+1:element3.scrollWidth>element3.clientWidth;setShowTooltip(isTruncated)},"checkTruncation");checkTruncation();let ro=new ResizeObserver(checkTruncation);return ro.observe(element3),()=>ro.disconnect()},[children,lineClamp]),React204.createElement(Tooltip_default2,{title:showTooltip?children:"",placement:"top"},React204.createElement(EllipsisDiv,{ref:textRef,lineClamp,...rest},children))},"TextEllipsis"),CellTextEllipsis=__name(({children})=>{let textRef=useRef54(null),[showTooltip,setShowTooltip]=useState33(!1);useLayoutEffect6(()=>{let element3=textRef.current;if(element3){let isTextTruncated=element3.scrollWidth>element3.clientWidth;setShowTooltip(isTextTruncated)}},[children]);let content3=React204.createElement(EllipsisDiv,{ref:textRef},children);return showTooltip?React204.createElement(Tooltip_default2,{title:children,placement:"top",enterDelay:800,enterNextDelay:200,onClick:e=>e.stopPropagation()},content3):content3},"CellTextEllipsis"),HeadCell=__name(props=>{let{width:width2,maxWidth:maxWidth2,minWidth:minWidth2,stickyHeader,resizable,field,type,tableId,headerName,required,editMode,sort,onSortChange,sortable:_sortable=!0,sortOrder,description,isPinned,pinnedStartPosition,pinnedEndPosition,headerRef,tableColRef,headerClassName,headerLineClamp,onAutoFit}=props,theme=useTheme5(),ref=headerRef,colRef=tableColRef,localRef=useRef54(null);useLayoutEffect6(()=>{ref.current=localRef.current},[ref]);let[isHovered,setIsHovered]=useState33(!1),sortable=type==="actions"?!1:_sortable,headId=useMemo47(()=>`${tableId}_header_${headerName??field}`.trim(),[tableId,headerName,field]),isResizingRef=useRef54(!1),resizer=useMemo47(()=>resizable??!0?Resizer(ref,colRef,isResizing=>{isResizingRef.current=isResizing},onAutoFit?()=>onAutoFit(field):void 0):null,[resizable,ref,colRef,onAutoFit,field]),style4=useMemo47(()=>({width:width2,minWidth:minWidth2??"50px",maxWidth:maxWidth2,position:isPinned?"sticky":stickyHeader?void 0:"relative",left:isPinned?pinnedStartPosition:void 0,right:isPinned?pinnedEndPosition:void 0,zIndex:isPinned?`calc(${theme.getCssVar("zIndex-table")} + 2)`:void 0,cursor:sortable?"pointer":"default",userSelect:"none"}),[isPinned,maxWidth2,minWidth2,pinnedEndPosition,pinnedStartPosition,sortable,stickyHeader,theme,width2]),textAlign=getTextAlign(props),initialSort=sortOrder[0],sortIcon=useMemo47(()=>{let isSorted=!!sort;return React204.createElement(AnimatePresence,{mode:"wait"},sortable&&(isSorted||isHovered)&&React204.createElement(MotionSortIcon,{key:"sort-icon",style:{width:"16px",height:"16px"},role:"img","aria-labelledby":headId,"aria-description":(sort??initialSort)==="desc"?"descending":"ascending","data-testid":void 0,initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1,color:isSorted?"var(--ceed-palette-text-secondary)":"var(--ceed-palette-primary-solidDisabledColor)",rotate:(sort??initialSort)==="desc"?180:0},exit:{opacity:0,scale:.8},transition:{duration:.2,ease:"easeInOut",rotate:{duration:.2,ease:"easeOut"}}}))},[headId,initialSort,sort,sortable,isHovered]),infoSign=useMemo47(()=>description?React204.createElement(InfoSign_default,{message:description,placement:"bottom"}):null,[description]),params=useMemo47(()=>({field}),[field]),computedHeaderClassName=useMemo47(()=>(typeof headerClassName=="function"?headerClassName(params):headerClassName)||void 0,[headerClassName,params]);return React204.createElement(StyledTh,{id:headId,"aria-label":headerName??field,"aria-sort":sort?{asc:"ascending",desc:"descending"}[sort]:"none",ref:localRef,key:field,style:style4,onClick:useCallback35(e=>{isResizingRef.current||!(e.target instanceof Element)||!e.currentTarget.contains(e.target)||sortable&&(onSortChange==null||onSortChange({field,currentSort:sort,multiple:e.shiftKey}))},[field,onSortChange,sort,sortable]),onMouseEnter:()=>setIsHovered(!0),onMouseLeave:()=>setIsHovered(!1),whileHover:"hover",initial:"initial",className:computedHeaderClassName},React204.createElement(Stack_default2,{gap:1,direction:"row",justifyContent:textAlign,alignItems:"center",sx:{minWidth:0}},textAlign==="end"&&sortIcon,textAlign==="end"&&infoSign,React204.createElement(TextEllipsis,{lineClamp:headerLineClamp,"data-slot":"header-text"},headerName??field,editMode&&required&&React204.createElement(Asterisk,null,"*")),textAlign==="start"&&infoSign,textAlign==="start"&&sortIcon),resizer)},"HeadCell"),BodyCell=__name(props=>{let{tableId,field,type,renderCell,renderEditCell,isCellEditable,noWrap,isPinned,isLastStartPinnedColumn,isLastEndPinnedColumn,pinnedStartPosition,pinnedEndPosition,row,rowId,cellClassName,onCellEditStart,onCellEditStop}=props,theme=useTheme5(),[value,setValue]=useState33(row[field]),cellRef=useRef54(null),params=useMemo47(()=>({row,value,id:rowId,field}),[row,rowId,value,field]),editMode=useMemo47(()=>!!(props.editMode&&(typeof isCellEditable=="function"?isCellEditable(params):isCellEditable??!0)),[props.editMode,isCellEditable,params]),propsComponentProps="componentProps"in props?props.componentProps:null,componentProps=useMemo47(()=>({..."componentProps"in props&&(typeof propsComponentProps=="function"?propsComponentProps(params):propsComponentProps||{}),size:"sm"}),[props,propsComponentProps,params]),editModeComponentProps=useMemo47(()=>({...componentProps,onChange:__name(e=>{var _a;(_a=componentProps.onChange)==null||_a.call(componentProps,e),setValue(e.target.value),type==="select"&&(onCellEditStop==null||onCellEditStop({...params,originalRow:row,row:{...params.row,[field]:e.target.value},value:e.target.value}))},"onChange"),onFocus:__name(e=>{var _a;(_a=componentProps.onFocus)==null||_a.call(componentProps,e),onCellEditStart==null||onCellEditStart({...params,originalRow:row,row:{...params.row,value},value})},"onFocus"),onBlur:__name(e=>{var _a;(_a=componentProps.onBlur)==null||_a.call(componentProps,e),type&&["number","text","longText","currency","date"].includes(type)&&(onCellEditStop==null||onCellEditStop({...params,originalRow:row,row:{...params.row,[field]:value},value}))},"onBlur"),...type==="autocomplete"&&{onChangeComplete:__name(e=>{var _a;(_a=componentProps.onChangeComplete)==null||_a.call(componentProps,e),setValue(e.target.value),onCellEditStop==null||onCellEditStop({...params,originalRow:row,row:{...params.row,[field]:e.target.value},value:e.target.value})},"onChangeComplete")}}),[params,row,field,value,componentProps,type,onCellEditStop,onCellEditStart]),EditModeComponent=useMemo47(()=>renderEditCell?createElement9(memo7(renderEditCell),params):{date:React204.createElement(DatePicker_default,{value,...editModeComponentProps}),currency:React204.createElement(CurrencyInput_default,{value,...editModeComponentProps}),number:React204.createElement(Input_default2,{value,type:"number",...editModeComponentProps}),text:React204.createElement(Input_default2,{value,type:"text",...editModeComponentProps}),longText:React204.createElement(Textarea_default2,{value,...editModeComponentProps}),autocomplete:React204.createElement(Autocomplete_default2,{value,options:editModeComponentProps.options||[value],...editModeComponentProps}),select:React204.createElement(Select_default2,{value,options:editModeComponentProps.options||[value],...editModeComponentProps})}[type||"text"],[value,editModeComponentProps,type,renderEditCell,params]),linkComponentFromProps=props.component,ReadModeComponent=useMemo47(()=>{if(renderCell)return createElement9(memo7(renderCell),params);let innerText=value;return{link:React204.createElement(linkComponentFromProps||Link_default,{children:innerText,...componentProps})}[type||"text"]||innerText},[value,renderCell,params,type,componentProps,linkComponentFromProps]),getActions=props.getActions,CellComponent=useMemo47(()=>type==="actions"?React204.createElement(Stack_default2,{direction:"row",gap:1,justifyContent:"center",alignItems:"center"},getActions==null?void 0:getActions(params)):editMode&&EditModeComponent?EditModeComponent:ReadModeComponent,[type,getActions,params,editMode,EditModeComponent,ReadModeComponent]),showTooltip=useMemo47(()=>noWrap&&type==="longText",[noWrap,type]),isBoundary=props.isLastStartPinnedColumn||props.isLastEndPinnedColumn,computedCellClassName=useMemo47(()=>(typeof cellClassName=="function"?cellClassName(params):cellClassName)||"",[cellClassName,params]);return useEffect47(()=>{setValue(row[field])},[row,field]),React204.createElement(StyledTd,{ref:cellRef,key:field,headers:`${tableId}_header_${props.headerName??field}`,sx:{textAlign:getTextAlign({type}),verticalAlign:editMode?"top":"middle",position:isPinned?"sticky":void 0,left:isPinned?pinnedStartPosition:void 0,right:isPinned?pinnedEndPosition:void 0,zIndex:isPinned?`calc(${theme.getCssVar("zIndex-table")} + ${isBoundary?2:3})`:void 0,"--TableCell-dataBackground":isPinned?"var(--TableCell-headBackground)":void 0},className:[isLastStartPinnedColumn&&"is-last-left",isLastEndPinnedColumn&&"is-last-right",computedCellClassName].filter(Boolean).join(" ")||""},useMemo47(()=>showTooltip?React204.createElement(CellTextEllipsis,null,CellComponent):CellComponent,[CellComponent,showTooltip]))},"BodyCell"),BodyRow=memo7(props=>{let{tableId,columns,rowId,editMode,noWrap,row}=props;return React204.createElement(React204.Fragment,null,columns.map((column2,i)=>React204.createElement(BodyCell,{key:`${rowId}_${column2.field.toString()}_${i}`,...column2,tableId,row,rowId,editMode,noWrap})))}),StyledTableRow2=styled_default2("tr",{name:"DataTable",slot:"tableRow",shouldForwardProp:__name(prop=>prop!=="striped","shouldForwardProp")})(({striped})=>({...striped&&{backgroundColor:"var(--TableRow-stripeBackground, var(--ceed-palette-background-level2))",color:"var(--ceed-palette-text-primary)","& td":{backgroundColor:"background.surface"}},"&:hover":{backgroundColor:"var(--TableRow-hoverBackground, var(--ceed-palette-background-level3))","& td":{backgroundColor:"var(--TableRow-hoverBackground, var(--ceed-palette-background-level3))"}}})),VirtualizedTableRow=memo7(StyledTableRow2,(prevProps,nextProps)=>{var _a,_b,_c,_d;return prevProps.striped===nextProps.striped&&((_a=prevProps.style)==null?void 0:_a.height)===((_b=nextProps.style)==null?void 0:_b.height)&&((_c=prevProps.style)==null?void 0:_c.transform)===((_d=nextProps.style)==null?void 0:_d.transform)&&prevProps["data-row-id"]===nextProps["data-row-id"]&&prevProps["data-index"]===nextProps["data-index"]&&prevProps.tabIndex===nextProps.tabIndex&&prevProps["aria-checked"]===nextProps["aria-checked"]&&prevProps.children===nextProps.children});import{useState as useState34,useLayoutEffect as useLayoutEffect7,useRef as useRef55,useMemo as useMemo48,useCallback as useCallback36,useEffect as useEffect48,createRef as createRef2}from"react";function useColumnWidths(columnsByField){let[widths,setWidths]=useState34({}),roRef=useRef55();return useLayoutEffect7(()=>(roRef.current&&roRef.current.disconnect(),roRef.current=new ResizeObserver(entries=>{let changed=!1;setWidths(prev2=>{let next2={...prev2};return entries.forEach(entry=>{let field=entry.target.dataset.field,w=Math.round(entry.target.getBoundingClientRect().width);next2[field]!==w&&(next2[field]=w,changed=!0)}),changed?next2:prev2})}),Object.entries(columnsByField).forEach(([field,def])=>{let el=def.headerRef.current;el&&(el.dataset.field=field,roRef.current.observe(el))}),()=>{var _a;return(_a=roRef.current)==null?void 0:_a.disconnect()}),[columnsByField]),widths}__name(useColumnWidths,"useColumnWidths");function useDataTableRenderer({rows:_rows,columns:columnsProp,pinnedColumns,rowCount:totalRowsProp,initialState,pagination,paginationMode,paginationModel,onPaginationModelChange,sortModel:controlledSortModel,sortOrder:_sortOrder,selectionModel,onSortModelChange,onSelectionModelChange,editMode,getId:_getId,isTotalSelected:_isTotalSelected,isRowSelectable,columnGroupingModel,columnVisibilityModel,onColumnVisibilityModelChange,checkboxSelection}){var _a,_b;if(pinnedColumns&&columnGroupingModel)throw new Error("You cannot use both `pinnedColumns` and `columnGroupingModel` at the same time. Please choose one of them.");let onSelectionModelChangeRef=useRef55(onSelectionModelChange);onSelectionModelChangeRef.current=onSelectionModelChange;let[focusedRowId,setFocusedRowId]=useState34(null),[selectionAnchor,setSelectionAnchor]=useState34(null),[sortModel,setSortModel]=useControlledState(controlledSortModel,((_a=initialState==null?void 0:initialState.sorting)==null?void 0:_a.sortModel)??[],useCallback36(sortModel2=>onSortModelChange==null?void 0:onSortModelChange(sortModel2),[onSortModelChange])),[visibilityModel]=useControlledState(columnVisibilityModel,((_b=initialState==null?void 0:initialState.columns)==null?void 0:_b.columnVisibilityModel)??{},useCallback36(model=>onColumnVisibilityModelChange==null?void 0:onColumnVisibilityModelChange(model),[onColumnVisibilityModelChange])),reorderedColumns=useMemo48(()=>columnGroupingModel?reorderColumnsByGroupingModel(columnsProp,columnGroupingModel):columnsProp,[columnsProp,columnGroupingModel]),visibleColumns=useMemo48(()=>reorderedColumns.filter(col=>visibilityModel[col.field]!==!1),[reorderedColumns,visibilityModel]),visibleFieldSet=useMemo48(()=>new Set(visibleColumns.map(c=>c.field)),[visibleColumns]),tableMinWidth=useMemo48(()=>{let total=checkboxSelection?40:0;for(let col of visibleColumns)total+=parsePxValue(col.minWidth)??parsePxValue(col.width)??50;return total},[visibleColumns,checkboxSelection]),allColumnsByField=useMemo48(()=>reorderedColumns.reduce((acc,curr)=>({...acc,[curr.field]:curr}),{}),[reorderedColumns]),visibleColumnsByField=useMemo48(()=>visibleColumns.reduce((acc,curr)=>({...acc,[curr.field]:{...curr,headerRef:createRef2(),tableColRef:createRef2()}}),{}),[visibleColumns]),sortComparator=useCallback36((rowA,rowB)=>{for(let sort of sortModel){let{field,sort:direction}=sort,a=rowA[field],b=rowB[field],column2=allColumnsByField[field];if(!column2)continue;let comparison=0;if(column2.sortComparator?comparison=column2.sortComparator({rowA,rowB}):typeof a=="string"&&typeof b=="string"?comparison=a.localeCompare(b):typeof a=="number"&&typeof b=="number"?comparison=a-b:a instanceof Date&&b instanceof Date&&(comparison=a.getTime()-b.getTime()),comparison!==0)return direction==="asc"?comparison:-comparison}return 0},[sortModel,allColumnsByField]),rows=useMemo48(()=>sortModel.length?[..._rows].sort(sortComparator):_rows,[_rows,sortModel,sortComparator]),sortOrder=useMemo48(()=>Array.from(new Set(_sortOrder||["asc","desc",null])),[_sortOrder]),[page,setPage]=useState34((paginationModel==null?void 0:paginationModel.page)||1),pageSize2=(paginationModel==null?void 0:paginationModel.pageSize)||20,getId=useCallback36((row,index2)=>(_getId==null?void 0:_getId(row))??row.id??`${(index2||0)+(page-1)*pageSize2}`,[_getId,page,pageSize2]),selectedModelSet=useMemo48(()=>new Set(selectionModel||[]),[selectionModel]),dataInPage=useMemo48(()=>!pagination||paginationMode==="server"?rows:rows.slice((page-1)*pageSize2,(page-1)*pageSize2+pageSize2),[rows,page,pageSize2,paginationMode,pagination]),selectableDataInPage=useMemo48(()=>dataInPage.filter((row,i)=>isRowSelectable?isRowSelectable({row,id:getId(row,i)}):!0),[dataInPage,isRowSelectable,getId]),handleRangeSelection=useCallback36((anchor,targetIndex)=>{let startIndex=Math.min(anchor.rowIndex,targetIndex),endIndex=Math.max(anchor.rowIndex,targetIndex),rowIdsInRange=[];for(let i=startIndex;i<=endIndex;i++){let row=dataInPage[i];if(!row)continue;let rowId=getId(row,i);isRowSelectable&&!isRowSelectable({row,id:rowId})||rowIdsInRange.push(rowId)}if(anchor.wasSelected){let currentSet=new Set(selectionModel||[]);rowIdsInRange.forEach(id3=>currentSet.add(id3)),onSelectionModelChange==null||onSelectionModelChange(Array.from(currentSet))}else{let removeSet=new Set(rowIdsInRange);onSelectionModelChange==null||onSelectionModelChange((selectionModel||[]).filter(id3=>!removeSet.has(id3)))}},[dataInPage,getId,isRowSelectable,selectionModel,onSelectionModelChange]),isAllSelected=useMemo48(()=>selectableDataInPage.length>0&&selectableDataInPage.every((row,i)=>selectedModelSet.has(getId(row,i))),[selectableDataInPage,selectedModelSet,getId]),rowCount=totalRowsProp||rows.length,selectableRowCount=useMemo48(()=>isRowSelectable?rows.filter((row,i)=>isRowSelectable({row,id:getId(row,i)})).length:rowCount,[rows,isRowSelectable,getId,rowCount]),isTotalSelected=useMemo48(()=>_isTotalSelected??(selectableRowCount>0&&((selectionModel==null?void 0:selectionModel.length)||0)===selectableRowCount),[_isTotalSelected,selectionModel,selectableRowCount]),columnWidths=useColumnWidths(visibleColumnsByField),getWidth=useCallback36(f=>{var _a2,_b2;return columnWidths[f]??((_a2=allColumnsByField[f])==null?void 0:_a2.width)??((_b2=allColumnsByField[f])==null?void 0:_b2.minWidth)??0},[columnWidths,allColumnsByField]),processedColumnGroups=useMemo48(()=>columnGroupingModel?calculateColumnGroups(columnGroupingModel,visibleColumns,visibleFieldSet):null,[columnGroupingModel,visibleColumns,visibleFieldSet]),effectivePinnedLeft=useMemo48(()=>{var _a2;return(_a2=pinnedColumns==null?void 0:pinnedColumns.left)==null?void 0:_a2.filter(f=>visibleFieldSet.has(f))},[pinnedColumns==null?void 0:pinnedColumns.left,visibleFieldSet]),effectivePinnedRight=useMemo48(()=>{var _a2;return(_a2=pinnedColumns==null?void 0:pinnedColumns.right)==null?void 0:_a2.filter(f=>visibleFieldSet.has(f))},[pinnedColumns==null?void 0:pinnedColumns.right,visibleFieldSet]),columns=useMemo48(()=>(visibleColumns.length>0?visibleColumns:reorderedColumns.length>0?[]:Object.keys(rows[0]||{}).map(key=>({field:key}))).map(column2=>{var _a2,_b2,_c,_d;let isLeftPinned=effectivePinnedLeft==null?void 0:effectivePinnedLeft.includes(column2.field),isRightPinned=effectivePinnedRight==null?void 0:effectivePinnedRight.includes(column2.field),isPinned=isLeftPinned||isRightPinned;return{...column2,headerRef:(_a2=visibleColumnsByField[column2.field])==null?void 0:_a2.headerRef,tableColRef:(_b2=visibleColumnsByField[column2.field])==null?void 0:_b2.tableColRef,isCellEditable:editMode&&(typeof column2.isCellEditable=="function"?column2.isCellEditable:column2.isCellEditable??!0),sort:(_c=sortModel.find(sort=>sort.field===column2.field))==null?void 0:_c.sort,sortOrder:((_d=allColumnsByField[column2.field])==null?void 0:_d.sortOrder)||sortOrder,isPinned,isLastStartPinnedColumn:isLeftPinned&&[...effectivePinnedLeft||[]].pop()===column2.field,isLastEndPinnedColumn:isRightPinned&&((effectivePinnedRight==null?void 0:effectivePinnedRight[0])??null)===column2.field,pinnedStartPosition:effectivePinnedLeft==null?void 0:effectivePinnedLeft.slice(0,isLeftPinned?effectivePinnedLeft.indexOf(column2.field):effectivePinnedLeft.length).reduce((acc,curr)=>acc+getWidth(curr),0),pinnedEndPosition:effectivePinnedRight==null?void 0:effectivePinnedRight.slice(isRightPinned?effectivePinnedRight.indexOf(column2.field)+1:0).reduce((acc,curr)=>acc+getWidth(curr),0)}}),[visibleColumns,reorderedColumns,rows,effectivePinnedLeft,effectivePinnedRight,visibleColumnsByField,allColumnsByField,editMode,sortModel,sortOrder,getWidth]),handlePageChange=useCallback36(newPage=>{setPage(newPage),onPaginationModelChange==null||onPaginationModelChange({page:newPage,pageSize:pageSize2})},[onPaginationModelChange,pageSize2]),handleSortChange=useCallback36(props=>{let{field,currentSort,multiple}=props,column2=allColumnsByField[field],columnSortOrder=(column2==null?void 0:column2.sortOrder)||sortOrder;if(currentSort!==void 0){let nextSortOrderIndex=(columnSortOrder.indexOf(currentSort)+1)%columnSortOrder.length,nextSortOrder=columnSortOrder[nextSortOrderIndex];if(!nextSortOrder){let newSortModel2=multiple?sortModel.filter(model=>model.field!==field):[];setSortModel(newSortModel2);return}let newSortModel=multiple?sortModel.map(model=>model.field===field?{field,sort:nextSortOrder}:model):[{field,sort:nextSortOrder}];setSortModel(newSortModel)}else{let newSortModel=multiple?[...sortModel,{field,sort:columnSortOrder[0]}]:[{field,sort:columnSortOrder[0]}];setSortModel(newSortModel)}},[sortOrder,allColumnsByField,sortModel,setSortModel]);useEffect48(()=>{paginationModel||handlePageChange(1)},[rowCount,handlePageChange,paginationModel]),useEffect48(()=>{let lastPage=Math.max(1,Math.ceil(rowCount/pageSize2));page>lastPage&&handlePageChange(lastPage)},[page,rowCount,pageSize2,handlePageChange]),useEffect48(()=>{var _a2;(_a2=onSelectionModelChangeRef.current)==null||_a2.call(onSelectionModelChangeRef,[]),setSelectionAnchor(null)},[page]);let prevRowsRef=useRef55(_rows);useEffect48(()=>{prevRowsRef.current!==_rows&&(setSelectionAnchor(null),prevRowsRef.current=_rows)},[_rows]);let handleAutoFit=useCallback36(field=>{let colDef=visibleColumnsByField[field];if(!(colDef!=null&&colDef.headerRef.current))return;let column2=allColumnsByField[field];if((column2&&"type"in column2?column2.type:void 0)==="actions")return;let optimalWidth=computeAutoFitWidth({headerEl:colDef.headerRef.current,field,dataInPage});if(optimalWidth==null)return;let widthPx=`${optimalWidth}px`;colDef.headerRef.current.style.width=widthPx,colDef.tableColRef.current&&(colDef.tableColRef.current.style.width=widthPx)},[visibleColumnsByField,allColumnsByField,dataInPage]);return{rowCount,selectableRowCount,page,pageSize:pageSize2,onPaginationModelChange:handlePageChange,getId,HeadCell,BodyRow,dataInPage,handleSortChange,handleAutoFit,isAllSelected,isTotalSelected,isSelectedRow:useCallback36(model=>selectedModelSet.has(model),[selectedModelSet]),isRowSelectable:useCallback36((rowId,row)=>isRowSelectable?isRowSelectable({row,id:rowId}):!0,[isRowSelectable]),focusedRowId,onRowFocus:useCallback36(rowId=>{setFocusedRowId(rowId)},[]),onAllCheckboxChange:useCallback36(()=>{onSelectionModelChange==null||onSelectionModelChange(isAllSelected?[]:selectableDataInPage.map(getId))},[isAllSelected,selectableDataInPage,onSelectionModelChange,getId]),onCheckboxChange:useCallback36((event,selectedModel)=>{let isShiftClick="shiftKey"in event&&event.shiftKey,rowIndex=dataInPage.findIndex((row,i)=>getId(row,i)===selectedModel);if(isShiftClick&&selectionAnchor!==null)handleRangeSelection(selectionAnchor,rowIndex);else{let isCurrentlySelected=selectedModelSet.has(selectedModel),newIsSelected=!isCurrentlySelected;isCurrentlySelected?onSelectionModelChange==null||onSelectionModelChange((selectionModel||[]).filter(m=>m!==selectedModel)):onSelectionModelChange==null||onSelectionModelChange([...selectionModel||[],selectedModel]),setSelectionAnchor({rowId:selectedModel,rowIndex,wasSelected:newIsSelected})}},[selectionModel,onSelectionModelChange,selectedModelSet,dataInPage,getId,selectionAnchor,handleRangeSelection]),columns,tableMinWidth,processedColumnGroups,onTotalSelect:useCallback36(()=>{let selectableRows=rows.filter((row,i)=>isRowSelectable?isRowSelectable({row,id:getId(row,i)}):!0);onSelectionModelChange==null||onSelectionModelChange(isTotalSelected?[]:selectableRows.map(getId),!isTotalSelected)},[isTotalSelected,rows,onSelectionModelChange,getId,isRowSelectable]),selectionAnchor,setSelectionAnchor}}__name(useDataTableRenderer,"useDataTableRenderer");import React205 from"react";var Table3=__name(props=>{let{children,...inheritProps}=props;return React205.createElement(Table_default,{...inheritProps},children)},"Table");Table3.displayName="Table";function TableHead(props){let{headCells,showCheckbox,onCheckboxChange,slots:{checkbox:RenderCheckbox=Checkbox_default2}={},slotProps:{checkbox:checkboxProps={}}={}}=props;return React205.createElement("thead",null,React205.createElement("tr",null,showCheckbox&&React205.createElement("th",{style:{width:"40px",textAlign:"center"}},React205.createElement(RenderCheckbox,{onChange:onCheckboxChange,...checkboxProps})),headCells.map(headCell=>React205.createElement("th",{key:headCell.label,style:{width:headCell.width,minWidth:headCell.minWidth,maxWidth:headCell.maxWidth,textAlign:headCell.numeric?"right":"left"}},headCell.label))))}__name(TableHead,"TableHead");TableHead.displayName="TableHead";function TableBody(props){let{rows,cellOrder,rowOptions,showCheckbox,onCheckboxChange,slots:{checkbox:RenderCheckbox=Checkbox_default2}={},slotProps:{checkbox:checkboxProps={}}={}}=props;return React205.createElement("tbody",null,rows.map((row,rowIndex)=>React205.createElement("tr",{key:`table-row-${rowIndex}`},showCheckbox&&React205.createElement("td",{style:{textAlign:"center"}},React205.createElement(RenderCheckbox,{onChange:event=>onCheckboxChange==null?void 0:onCheckboxChange(event,rowIndex),...checkboxProps})),cellOrder.map(cellKey=>{var _a;return React205.createElement("td",{key:cellKey,style:{textAlign:(_a=rowOptions==null?void 0:rowOptions[cellKey])!=null&&_a.numeric?"right":"left"}},row[cellKey])}))))}__name(TableBody,"TableBody");TableBody.displayName="TableBody";import React206,{useCallback as useCallback37,useEffect as useEffect49}from"react";import{jsx as _jsx116}from"react/jsx-runtime";var ChevronLeftRounded_default=createSvgIcon2(_jsx116("path",{d:"M14.71 6.71a.996.996 0 0 0-1.41 0L8.71 11.3c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0s.39-1.02 0-1.41L10.83 12l3.88-3.88c.39-.39.38-1.03 0-1.41"}),"ChevronLeftRounded");import{jsx as _jsx117}from"react/jsx-runtime";var ChevronRightRounded_default=createSvgIcon2(_jsx117("path",{d:"M9.29 6.71c-.39.39-.39 1.02 0 1.41L13.17 12l-3.88 3.88c-.39.39-.39 1.02 0 1.41s1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41L10.7 6.7c-.38-.38-1.02-.38-1.41.01"}),"ChevronRightRounded");import{jsx as _jsx118}from"react/jsx-runtime";var FirstPageRounded_default=createSvgIcon2(_jsx118("path",{d:"M17.7 15.89 13.82 12l3.89-3.89c.39-.39.39-1.02 0-1.41a.996.996 0 0 0-1.41 0l-4.59 4.59c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0 .38-.38.38-1.02-.01-1.4M7 6c.55 0 1 .45 1 1v10c0 .55-.45 1-1 1s-1-.45-1-1V7c0-.55.45-1 1-1"}),"FirstPageRounded");import{jsx as _jsx119}from"react/jsx-runtime";var LastPageRounded_default=createSvgIcon2(_jsx119("path",{d:"M6.29 8.11 10.18 12l-3.89 3.89c-.39.39-.39 1.02 0 1.41s1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41L7.7 6.7a.996.996 0 0 0-1.41 0c-.38.39-.38 1.03 0 1.41M17 6c.55 0 1 .45 1 1v10c0 .55-.45 1-1 1s-1-.45-1-1V7c0-.55.45-1 1-1"}),"LastPageRounded");var PaginationButton=styled_default2(Button_default2,{name:"Pagination",slot:"button"})(({theme,active,size})=>({"--Button-size":{sm:"32px",md:"40px",lg:"48px"}[size],width:"var(--Button-size)",height:"var(--Button-size)",backgroundColor:active?theme.vars.palette.primary.softHoverBg:"transparent",color:active?theme.vars.palette.primary.softColor:theme.vars.palette.neutral.plainColor,"&:hover":{color:active?theme.vars.palette.primary.softColor:theme.vars.palette.neutral.softColor,backgroundColor:active?theme.vars.palette.primary.softActiveBg:theme.vars.palette.neutral.softHoverBg}})),PaginationIconButton=styled_default2(IconButton_default2,{name:"Pagination",slot:"button"})(({theme,size})=>({"--IconButton-size":{sm:"32px",md:"40px",lg:"48px"}[size],"--Icon-fontSize":"20px",width:"var(--IconButton-size)",height:"var(--IconButton-size)",color:theme.vars.palette.neutral.plainColor,"&:hover":{color:theme.vars.palette.neutral.softColor,backgroundColor:theme.vars.palette.neutral.softHoverBg}})),PaginationRoot=styled_default2(Stack_default2,{name:"Pagination",slot:"root"})({}),PaginationContainer=styled_default2(Stack_default2,{name:"Pagination",slot:"container"})(({theme,size})=>({gap:{sm:theme.spacing(1),md:theme.spacing(1.5),lg:theme.spacing(2)}[size]}));function Pagination(props){let{paginationModel:_paginationModel,defaultPaginationModel={page:1,pageSize:25},onPageChange,rowCount,size="md",variant="standard",...innerProps}=props,[paginationModel,setPaginationModel]=useControlledState(_paginationModel,defaultPaginationModel,useCallback37(newPage=>{onPageChange(newPage.page)},[onPageChange])),handlePageChange=__name(newPage=>{setPaginationModel({...paginationModel,page:newPage})},"handlePageChange"),firstPage=1,lastPage=Math.max(firstPage,Math.ceil(rowCount/paginationModel.pageSize)),beforePages=[paginationModel.page-2,paginationModel.page-1].filter(p=>p>1),afterPages=[paginationModel.page+1,paginationModel.page+2].filter(p=>p<=lastPage-1),isMoreAfterPages=lastPage>1&&paginationModel.page<lastPage-3,isMoreBeforePages=lastPage>1&&paginationModel.page>4;useEffect49(()=>{paginationModel.page>lastPage&&setPaginationModel({...paginationModel,page:lastPage})},[rowCount,paginationModel,lastPage,setPaginationModel]);let pageOptions=Array.from({length:lastPage},(_4,i)=>({label:`${i+1}`,value:`${i+1}`}));return variant==="compact"?React206.createElement(PaginationRoot,{...innerProps},React206.createElement(PaginationContainer,{direction:"row",size,alignItems:"center"},React206.createElement(Stack_default2,{direction:"row"},React206.createElement(PaginationIconButton,{size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(firstPage),disabled:paginationModel.page===firstPage,"aria-label":"First page"},React206.createElement(FirstPageRounded_default,null)),React206.createElement(PaginationIconButton,{size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(paginationModel.page-1),disabled:paginationModel.page===firstPage,"aria-label":"Previous page"},React206.createElement(ChevronLeftRounded_default,null))),React206.createElement(Autocomplete_default2,{size,value:`${paginationModel.page}`,onChange:event=>{event.target.value&&handlePageChange(parseInt(event.target.value,10))},options:pageOptions,sx:{width:{sm:"80px",md:"100px",lg:"120px"}[size]}}),React206.createElement(Typography_default2,{level:`body-${size}`,sx:theme=>({color:theme.palette.text.secondary,fontWeight:500})},"/ ",lastPage),React206.createElement(Stack_default2,{direction:"row"},React206.createElement(PaginationIconButton,{size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(paginationModel.page+1),disabled:paginationModel.page===lastPage,"aria-label":"Next page"},React206.createElement(ChevronRightRounded_default,null)),React206.createElement(PaginationIconButton,{size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(lastPage),disabled:paginationModel.page===lastPage,"aria-label":"Last page"},React206.createElement(LastPageRounded_default,null))))):React206.createElement(PaginationRoot,{...innerProps},React206.createElement(PaginationContainer,{direction:"row",size,alignItems:"center"},React206.createElement(PaginationIconButton,{size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(paginationModel.page-1),disabled:paginationModel.page===firstPage,"aria-label":"Previous page"},React206.createElement(ChevronLeftRounded_default,null)),paginationModel.page!==firstPage&&React206.createElement(PaginationButton,{size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(firstPage)},firstPage),isMoreBeforePages&&React206.createElement(PaginationButton,{size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(paginationModel.page-3),"aria-label":"More previous pages"},"..."),beforePages.map(p=>React206.createElement(PaginationButton,{key:p,size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(p)},p)),React206.createElement(PaginationButton,{active:"true",size,"aria-current":"page"},paginationModel.page),afterPages.map(p=>React206.createElement(PaginationButton,{key:p,size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(p)},p)),isMoreAfterPages&&React206.createElement(PaginationButton,{size,variant:"plain",color:"neutral","aria-label":"More next pages",onClick:()=>handlePageChange(paginationModel.page+3)},"..."),paginationModel.page!==lastPage&&React206.createElement(PaginationButton,{size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(lastPage)},lastPage),React206.createElement(PaginationIconButton,{size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(paginationModel.page+1),disabled:paginationModel.page===lastPage,"aria-label":"Next page"},React206.createElement(ChevronRightRounded_default,null))))}__name(Pagination,"Pagination");Pagination.displayName="Pagination";var Pagination_default=Pagination;function Component2(props,apiRef){var _a,_b,_c,_d,_e;let{rows,checkboxSelection,editMode,selectionModel,onSelectionModelChange,isRowSelectable,disableSelectionOnClick,onRowClick,pinnedColumns,rowCount:_4,columns:__,onPaginationModelChange:___,pagination,paginationMode:____,paginationModel:_____,sortModel:______,sortOrder:_______,onSortModelChange:________,initialState:_________,getId:____________,loading,columnGroupingModel:_________________,columnVisibilityModel:__________________,onColumnVisibilityModelChange:___________________,slots:{checkbox:RenderCheckbox=Checkbox_default2,toolbar:Toolbar,footer:Footer,loadingOverlay:LoadingOverlay=DefaultLoadingOverlay,noRowsOverlay:NoRowsOverlay=DefaultNoRowsOverlay}={},slotProps:{checkbox:checkboxProps={},toolbar:toolbarProps,background:backgroundProps={},noRowsOverlay:noRowsOverlayProps={}}={},stripe,isTotalSelected:___________,...innerProps}=props,tableId=useId6(),parentRef=useRef56(null),tableBodyRef=useRef56(null),{columns,processedColumnGroups,isAllSelected,isSelectedRow,isRowSelectable:isRowSelectableCheck,onAllCheckboxChange,onCheckboxChange,getId,rowCount,selectableRowCount,page,pageSize:pageSize2,onPaginationModelChange,handleSortChange,handleAutoFit,dataInPage,isTotalSelected,focusedRowId,onRowFocus,onTotalSelect,HeadCell:HeadCell2,BodyRow:BodyRow2,tableMinWidth,selectionAnchor,setSelectionAnchor}=useDataTableRenderer(props),virtualizer=useVirtualizer({count:dataInPage.length,getScrollElement:__name(()=>parentRef.current,"getScrollElement"),estimateSize:__name(()=>32,"estimateSize"),measureElement:__name(element3=>element3.clientHeight,"measureElement"),overscan:10}),paginationModel=useMemo49(()=>({page,pageSize:pageSize2}),[page,pageSize2]),totalSize=virtualizer.getTotalSize(),virtualizedItems=virtualizer.getVirtualItems(),showNoRowsOverlay=!loading&&rowCount===0,totalColCount=Math.max(1,columns.length+(checkboxSelection?1:0)),getRowClickHandler=useCallback38((row,rowId)=>e=>{onRowClick==null||onRowClick({row,rowId},e),checkboxSelection&&!disableSelectionOnClick&&isRowSelectableCheck(rowId,row)&&onCheckboxChange(e,rowId)},[onRowClick,checkboxSelection,disableSelectionOnClick,onCheckboxChange,isRowSelectableCheck]),getRowFocusHandler=useCallback38(rowId=>()=>{onRowFocus(rowId)},[onRowFocus]),getCheckboxClickHandler=useCallback38((rowId,row)=>e=>{e.stopPropagation(),isRowSelectableCheck(rowId,row)&&onCheckboxChange(e,rowId),onRowFocus(rowId)},[onCheckboxChange,isRowSelectableCheck,onRowFocus]),handleTableKeyDown=useCallback38(e=>{var _a2;if(!["ArrowUp","ArrowDown"," ","Home","End","PageUp","PageDown"].includes(e.key))return;let activeElement=document.activeElement,currentRowId=(_a2=activeElement==null?void 0:activeElement.closest("[data-row-id]"))==null?void 0:_a2.getAttribute("data-row-id");if(!currentRowId)return;let currentIndex=dataInPage.findIndex((row,i)=>String(getId(row,i))===currentRowId);if(currentIndex===-1)return;if(e.key===" "){e.preventDefault();let row=dataInPage[currentIndex],rowId=getId(row,currentIndex);checkboxSelection&&isRowSelectableCheck(rowId,row)&&onCheckboxChange(e,rowId);return}let nextIndex;switch(e.key){case"ArrowUp":nextIndex=currentIndex-1;break;case"ArrowDown":nextIndex=currentIndex+1;break;case"Home":nextIndex=0;break;case"End":nextIndex=dataInPage.length-1;break;case"PageUp":nextIndex=Math.max(0,currentIndex-10);break;case"PageDown":nextIndex=Math.min(dataInPage.length-1,currentIndex+10);break;default:return}if(nextIndex<0||nextIndex>=dataInPage.length||nextIndex===currentIndex)return;e.preventDefault();let nextRow=dataInPage[nextIndex],nextRowId=getId(nextRow,nextIndex);if(e.shiftKey&&checkboxSelection&&isRowSelectableCheck(nextRowId,nextRow)){let anchor=selectionAnchor;if(anchor===null){let currentRow=dataInPage[currentIndex],currentRowId2=getId(currentRow,currentIndex),currentIsSelected=isSelectedRow(currentRowId2);anchor={rowId:currentRowId2,rowIndex:currentIndex,wasSelected:currentIsSelected},setSelectionAnchor(anchor)}let targetShouldBeSelected=anchor.wasSelected,isCurrentlySelected=isSelectedRow(nextRowId);targetShouldBeSelected!==isCurrentlySelected&&(targetShouldBeSelected?onSelectionModelChange==null||onSelectionModelChange([...selectionModel||[],nextRowId]):onSelectionModelChange==null||onSelectionModelChange((selectionModel||[]).filter(id3=>id3!==nextRowId)))}onRowFocus(nextRowId),virtualizer.scrollToIndex(nextIndex,{align:"auto"}),requestAnimationFrame(()=>{var _a3,_b2;(_b2=(_a3=tableBodyRef.current)==null?void 0:_a3.querySelector(`[data-row-id='${nextRowId}']`))==null||_b2.focus()})},[dataInPage,getId,checkboxSelection,isRowSelectableCheck,isSelectedRow,onCheckboxChange,selectionAnchor,setSelectionAnchor,selectionModel,onSelectionModelChange,onRowFocus,virtualizer]);return useImperativeHandle9(apiRef,()=>({getRowIndexRelativeToVisibleRows(rowId){return dataInPage.findIndex(row=>String(getId(row))===rowId)},setCellFocus(rowId){var _a2;let rowIndex=this.getRowIndexRelativeToVisibleRows(rowId),scrollOffset=props.stickyHeader&&((_a2=virtualizer.getOffsetForIndex(rowIndex))==null?void 0:_a2[1])==="start"?0:1;virtualizer.scrollToIndex(rowIndex+scrollOffset),requestAnimationFrame(()=>{var _a3,_b2;(_b2=(_a3=tableBodyRef.current)==null?void 0:_a3.querySelector(`[data-row-id='${rowId}']`))==null||_b2.focus()})}})),React207.createElement(Box_default2,{sx:{maxHeight:"100%",overflow:"auto",display:"flex",flexDirection:"column"}},(!!checkboxSelection||!!Toolbar)&&React207.createElement(Stack_default2,{direction:"row",sx:{pb:2},justifyContent:"space-between",alignItems:"center"},!!checkboxSelection&&React207.createElement(Stack_default2,{direction:"row",spacing:1},!isAllSelected&&React207.createElement(Typography_default2,{level:"body-xs"},numberFormatter((selectionModel==null?void 0:selectionModel.length)||0)," items selected"),isAllSelected&&!isTotalSelected&&React207.createElement(Stack_default2,{direction:"row",spacing:1,alignItems:"center"},React207.createElement(Typography_default2,{level:"body-xs"},"All ",numberFormatter((selectionModel==null?void 0:selectionModel.length)||0)," items on this page are selected."),React207.createElement(Button_default2,{size:"sm",variant:"plain",onClick:onTotalSelect},"Select all ",numberFormatter(selectableRowCount)," items")),isTotalSelected&&React207.createElement(Stack_default2,{direction:"row",spacing:1,alignItems:"center"},React207.createElement(Typography_default2,{level:"body-xs"},"All ",numberFormatter(selectableRowCount)," items are selected."),React207.createElement(Button_default2,{size:"sm",variant:"plain",color:"danger",onClick:onTotalSelect},"Cancel"))),Toolbar&&React207.createElement(Toolbar,{...toolbarProps||{}})),React207.createElement(Sheet_default2,{variant:"outlined",sx:{height:"100%",overflow:"auto",width:"100%",boxShadow:"sm",borderRadius:"sm","--DataTableSheet-width":((_a=parentRef.current)==null?void 0:_a.clientWidth)+"px",backgroundColor:"white","--TableCell-cornerRadius":"0px"},className:[...(((_b=parentRef.current)==null?void 0:_b.scrollLeft)||0)>0?["ScrollableRight"]:[],...(((_c=parentRef.current)==null?void 0:_c.scrollLeft)||0)+(((_d=parentRef.current)==null?void 0:_d.clientWidth)||0)<(((_e=parentRef.current)==null?void 0:_e.scrollWidth)||0)?["ScrollableLeft"]:[]].join(" "),ref:parentRef,...backgroundProps},React207.createElement(Table3,{...innerProps,sx:{...innerProps.sx,minWidth:tableMinWidth}},React207.createElement("colgroup",null,checkboxSelection&&React207.createElement("col",{style:{width:"40px"}}),columns.map(c=>React207.createElement("col",{ref:c.tableColRef,key:`${c.field.toString()}_${c.width}`,style:{width:c.width,minWidth:c.minWidth??"50px"}}))),React207.createElement("thead",null,processedColumnGroups&&processedColumnGroups.groups.length>0&&processedColumnGroups.groups.map((levelGroups,level)=>{var _a2;return React207.createElement("tr",{key:`group-level-${level}`},checkboxSelection&&level===0&&React207.createElement("th",{rowSpan:processedColumnGroups.maxLevel+2,style:{width:"40px",textAlign:"center",verticalAlign:"middle"}},React207.createElement(RenderCheckbox,{onChange:onAllCheckboxChange,checked:isAllSelected,indeterminate:(selectionModel||[]).length>0&&!isAllSelected,disabled:dataInPage.length>0&&!selectableRowCount,...checkboxProps})),level>0&&Array.from({length:((_a2=levelGroups[0])==null?void 0:_a2.startIndex)||0}).map((_5,i)=>React207.createElement("th",{key:`empty-${level}-${i}`})),levelGroups.filter(g=>g.colspan>0).map((group,groupIndex)=>{let nextGroup=levelGroups[groupIndex+1],emptyCells=nextGroup?nextGroup.startIndex-(group.startIndex+group.colspan):columns.length-(group.startIndex+group.colspan),params={groupId:group.groupId},computedHeaderClassName=group.headerClassName?typeof group.headerClassName=="function"?group.headerClassName(params):group.headerClassName:void 0;return React207.createElement(Fragment18,{key:group.groupId},React207.createElement("th",{colSpan:group.colspan,style:{textAlign:"center",fontWeight:"bold",verticalAlign:"middle"},className:computedHeaderClassName},group.headerName??group.groupId),emptyCells>0&&Array.from({length:emptyCells}).map((_5,i)=>React207.createElement("th",{key:`empty-between-${level}-${groupIndex}-${i}`,colSpan:1})))}))}),React207.createElement("tr",null,(!processedColumnGroups||processedColumnGroups.groups.length===0)&&checkboxSelection&&React207.createElement("th",{style:{width:"40px",textAlign:"center"}},React207.createElement(RenderCheckbox,{onChange:onAllCheckboxChange,checked:isAllSelected,indeterminate:(selectionModel||[]).length>0&&!isAllSelected,disabled:dataInPage.length>0&&!selectableRowCount,...checkboxProps})),columns.map((c,i)=>React207.createElement(HeadCell2,{tableId,key:`${c.field.toString()}_${i}`,stickyHeader:props.stickyHeader,editMode:!!c.isCellEditable,onSortChange:handleSortChange,onAutoFit:handleAutoFit,...c})))),React207.createElement(VirtualizedTableBody,{ref:tableBodyRef,onKeyDown:handleTableKeyDown,style:{height:`${totalSize}px`},role:"rowgroup","aria-label":"DataTableBody"},!!loading&&React207.createElement(OverlayWrapper,null,React207.createElement("td",{style:{position:"fixed",width:"var(--DataTableSheet-width)",overflow:"visible"}},React207.createElement(Box_default2,{sx:{position:"absolute",top:0,left:0,right:0}},React207.createElement(LoadingOverlay,null)))),showNoRowsOverlay&&React207.createElement("tr",null,React207.createElement("td",{colSpan:totalColCount,style:{border:"none"}},React207.createElement(Box_default2,{sx:{display:"flex",alignItems:"center",justifyContent:"center",minHeight:"150px"}},React207.createElement(NoRowsOverlay,{...noRowsOverlayProps})))),virtualizedItems.map((virtualizedRow,index2)=>{let rowIndex=virtualizedRow.index,row=dataInPage[rowIndex],rowId=getId(row,rowIndex),striped=stripe&&(stripe==="even"&&(rowIndex+1)%2===0||stripe==="odd"&&(rowIndex+1)%2===1);return React207.createElement(VirtualizedTableRow,{key:virtualizedRow.key,"data-row-id":rowId,"data-index":rowIndex,"aria-rowindex":rowIndex+1,role:checkboxSelection&&!disableSelectionOnClick?"checkbox":void 0,tabIndex:focusedRowId===rowId?0:-1,onClick:getRowClickHandler(row,rowId),onFocus:getRowFocusHandler(rowId),"aria-checked":checkboxSelection?isSelectedRow(rowId):void 0,striped,style:{height:`${virtualizedRow.size}px`,transform:`translateY(${virtualizedRow.start-index2*virtualizedRow.size}px)`}},checkboxSelection&&React207.createElement("th",{scope:"row",style:{textAlign:"center"}},React207.createElement(RenderCheckbox,{onClick:getCheckboxClickHandler(rowId,row),checked:isSelectedRow(rowId),disabled:!isRowSelectableCheck(rowId,row),tabIndex:-1,...checkboxProps})),React207.createElement(BodyRow2,{tableId,columns,row,rowId,editMode,noWrap:props.noWrap}))})),Footer&&React207.createElement(Footer,null))),pagination&&React207.createElement(Pagination_default,{pt:2,size:"sm",alignItems:"flex-end",paginationModel,rowCount,onPageChange:onPaginationModelChange}))}__name(Component2,"Component");var DataTable=forwardRef90(Component2);DataTable.displayName="DataTable";import React208,{forwardRef as forwardRef91,useCallback as useCallback39,useEffect as useEffect50,useImperativeHandle as useImperativeHandle10,useMemo as useMemo50,useRef as useRef57,useState as useState35}from"react";var CalendarButton2=styled_default2(IconButton_default2,{name:"DateRangePicker",slot:"calendarButton"})(({theme})=>({"&:focus":{"--Icon-color":"currentColor",outlineOffset:`${theme.getCssVar("focus-thickness")}`,outline:`${theme.getCssVar("focus-thickness")} solid ${theme.getCssVar("palette-focusVisible")}`}})),StyledPopper2=styled_default2(Popper,{name:"DateRangePicker",slot:"popper"})(({theme})=>({zIndex:theme.zIndex.tooltip})),CalendarSheet2=styled_default2(Sheet_default2,{name:"DateRangePicker",slot:"sheet",overridesResolver:__name((props,styles2)=>styles2.root,"overridesResolver")})(({theme})=>({zIndex:theme.zIndex.tooltip,width:"264px",boxShadow:theme.shadow.md,borderRadius:theme.radius.md})),DateRangePickerRoot=styled_default2("div",{name:"DateRangePicker",slot:"root",overridesResolver:__name((props,styles2)=>styles2.root,"overridesResolver")})({width:"100%"}),validValueFormat2=__name((value,format2)=>{try{let[date1Str,date2Str]=value.split(" - ");if(!date1Str||!date2Str)return!1;let parsedDate1=parseDate2(date1Str,format2),parsedDate2=parseDate2(date2Str,format2);if(parsedDate1.toString()==="Invalid Date"||parsedDate2.toString()==="Invalid Date")return!1;let formattedValue=formatValueString2([parsedDate1,parsedDate2],format2);return value!==formattedValue?!1:new RegExp(`^${format2.replace(/Y/g,"\\d").replace(/M/g,"\\d").replace(/D/g,"\\d")} - ${format2.replace(/Y/g,"\\d").replace(/M/g,"\\d").replace(/D/g,"\\d")}$`).test(value)}catch{return!1}},"validValueFormat"),formatValueString2=__name(([date1,date2],format2)=>{let getStr=__name(date=>{let day=`${date.getDate()}`,month=`${date.getMonth()+1}`,year=date.getFullYear();return Number(day)<10&&(day="0"+day),Number(month)<10&&(month="0"+month),format2.replace(/YYYY/g,year.toString()).replace(/MM/g,month).replace(/DD/g,day)},"getStr");return[getStr(date1),date2?getStr(date2):""].join(" - ")},"formatValueString");function parseDate2(dateString,format2){let formatParts=format2.split(/[-./\s]/),dateParts=dateString.split(/[-./\s]/),day,month,year;for(let i=0;i<formatParts.length;i++){let value=parseInt(dateParts[i],10);switch(formatParts[i]){case"DD":day=value;break;case"MM":month=value-1;break;case"YYYY":year=value;break}}return new Date(year,month,day)}__name(parseDate2,"parseDate");var parseDates=__name((str,format2)=>{let date1=str.split(" - ")[0]||"",date2=str.split(" - ")[1]||"";return[parseDate2(date1,format2),parseDate2(date2,format2)]},"parseDates"),formatToPattern2=__name(format2=>`${format2} - ${format2}`.replace(/YYYY/g,"Y").replace(/MM/g,"M").replace(/DD/g,"D").replace(/[^YMD\s]/g,match2=>`${match2}\``),"formatToPattern"),TextMaskAdapter5=React208.forwardRef(__name(function(props,ref){let{onChange,format:format2,...other}=props;return React208.createElement(IMaskInput,{...other,inputRef:ref,onAccept:value=>onChange({target:{name:props.name,value}}),mask:Date,pattern:formatToPattern2(format2),blocks:{D:{mask:IMask.MaskedRange,from:1,to:31,maxLength:2},M:{mask:IMask.MaskedRange,from:1,to:12,maxLength:2},Y:{mask:IMask.MaskedRange,from:1900,to:9999}},format:dates=>formatValueString2(dates,format2),parse:str=>parseDates(str,format2),autofix:"pad",overwrite:!0})},"TextMaskAdapter")),DateRangePicker=forwardRef91((inProps,ref)=>{let props=useThemeProps2({props:inProps,name:"DateRangePicker"}),{onChange,disabled,label,error,helperText,minDate,maxDate,disableFuture,disablePast,required,sx,className,format:format2="YYYY/MM/DD",displayFormat="YYYY/MM/DD",size,inputReadOnly,hideClearButton,readOnly,...innerProps}=props,innerRef=useRef57(null),buttonRef=useRef57(null),[value,setValue]=useControlledState(props.value,props.defaultValue||"",useCallback39(value2=>onChange==null?void 0:onChange({target:{name:props.name,value:value2}}),[props.name,onChange])),[displayValue,setDisplayValue]=useState35(()=>value?formatValueString2(parseDates(value,format2),displayFormat):""),[anchorEl,setAnchorEl]=useState35(null),open=!!anchorEl,calendarValue=useMemo50(()=>value?parseDates(value,format2):void 0,[value,format2]);useEffect50(()=>{if(value)try{let dates=parseDates(value,format2),newDisplayValue=formatValueString2(dates,displayFormat);setDisplayValue(newDisplayValue)}catch{}else setDisplayValue("")},[displayFormat,value,format2]),useEffect50(()=>{var _a;anchorEl||(_a=innerRef.current)==null||_a.blur()},[anchorEl,innerRef]),useImperativeHandle10(ref,()=>innerRef.current,[innerRef]);let handleChange=useCallback39(event=>{let value2=event.target.value;setDisplayValue(value2&&formatValueString2(parseDates(value2,format2),displayFormat)),setValue(value2)},[displayFormat,format2,setValue]),handleDisplayInputChange=useCallback39(event=>{if(event.target.value===""){handleChange({target:{name:props.name,value:""}});return}if(validValueFormat2(event.target.value,displayFormat)){let dates=parseDates(event.target.value,displayFormat),formattedValue=formatValueString2(dates,format2);handleChange({target:{name:props.name,value:formattedValue}})}},[displayFormat,format2,handleChange,props.name]),handleCalendarToggle=useCallback39(event=>{var _a;setAnchorEl(anchorEl?null:event.currentTarget),(_a=innerRef.current)==null||_a.focus()},[anchorEl,setAnchorEl,innerRef]),handleCalendarChange=useCallback39(([date1,date2])=>{if(!date1||!date2)return;let formattedValue=formatValueString2([date1,date2],format2);props.value!==void 0?onChange==null||onChange({target:{name:props.name,value:formattedValue}}):(setDisplayValue(formatValueString2([date1,date2],displayFormat)),setValue(formattedValue)),setAnchorEl(null)},[props.value,props.name,onChange,setValue,setAnchorEl,format2,displayFormat]),handleInputMouseDown=useCallback39(event=>{var _a;inputReadOnly&&(event.preventDefault(),(_a=buttonRef.current)==null||_a.focus())},[inputReadOnly,buttonRef]);return React208.createElement(DateRangePickerRoot,null,React208.createElement(FocusTrap,{open:!0},React208.createElement(React208.Fragment,null,React208.createElement(Input_default2,{...innerProps,color:error?"danger":innerProps.color,ref,size,value:displayValue,onChange:handleDisplayInputChange,disabled,required,placeholder:`${displayFormat} - ${displayFormat}`,slotProps:{input:{component:TextMaskAdapter5,ref:innerRef,format:displayFormat,sx:{"&:hover":{cursor:inputReadOnly||readOnly?"default":"text"}},onMouseDown:handleInputMouseDown}},error,className,sx,endDecorator:React208.createElement(CalendarButton2,{ref:buttonRef,variant:"plain",onClick:readOnly?void 0:handleCalendarToggle,"aria-label":"Toggle Calendar","aria-controls":"date-range-picker-popper","aria-haspopup":"dialog","aria-expanded":open,disabled},React208.createElement(CalendarToday_default,null)),label,helperText,readOnly:readOnly||inputReadOnly}),open&&React208.createElement(ClickAwayListener,{onClickAway:()=>setAnchorEl(null)},React208.createElement(StyledPopper2,{id:"date-range-picker-popper",open:!0,anchorEl,placement:"bottom-end",onMouseDown:e=>e.preventDefault(),modifiers:[{name:"offset",options:{offset:[4,4]}}],"aria-label":"Calendar Tooltip","aria-expanded":open},React208.createElement(CalendarSheet2,{tabIndex:-1,role:"presentation"},React208.createElement(Calendar_default,{rangeSelection:!0,defaultValue:calendarValue,onChange:handleCalendarChange,minDate:minDate?new Date(minDate):void 0,maxDate:maxDate?new Date(maxDate):void 0,disableFuture,disablePast}),!hideClearButton&&React208.createElement(DialogActions_default2,{sx:{p:1}},React208.createElement(Button_default2,{size,variant:"plain",color:"neutral",onClick:()=>{setValue(""),setDisplayValue(""),setAnchorEl(null)}},"Clear"))))))))});DateRangePicker.displayName="DateRangePicker";var MotionDialogContent=motion(DialogContent_default),StyledDialogContent=styled_default2(MotionDialogContent)(({theme})=>({padding:theme.spacing(0,6,5)})),DialogContent3=StyledDialogContent;DialogContent3.displayName="DialogContent";var DialogContent_default2=DialogContent3;var MotionDialogTitle=motion(DialogTitle_default),StyledDialogTitle=styled_default2(MotionDialogTitle)(({theme})=>({padding:theme.spacing(4,6)})),DialogTitle3=StyledDialogTitle;DialogTitle3.displayName="DialogTitle";var DialogTitle_default2=DialogTitle3;import React210 from"react";import React209 from"react";var MotionModal=motion(Modal_default),Modal3=MotionModal;Modal3.displayName="Modal";var StyledModalDialog=styled_default2(ModalDialog_default)({padding:0}),ModalDialog3=StyledModalDialog;ModalDialog3.displayName="ModalDialog";var ModalClose3=ModalClose_default;var MotionModalOverflow=motion(ModalOverflow_default),ModalOverflow3=MotionModalOverflow;ModalOverflow3.displayName="ModalOverflow";function ModalFrame(props){let{title,children,titleStartDecorator,onClose,...innerProps}=props;return React209.createElement(StyledModalDialog,{...innerProps},React209.createElement(ModalClose3,{onClick:onClose}),React209.createElement(DialogTitle_default2,null,titleStartDecorator,title),React209.createElement(DialogContent_default2,null,children))}__name(ModalFrame,"ModalFrame");ModalFrame.displayName="ModalFrame";var StyledDialogFrame=styled_default2(ModalDialog3,{name:"Dialog",slot:"Root"})({padding:0}),DialogFrame=React210.forwardRef((props,ref)=>{let{title,children,actions,fullscreen,...innerProps}=props;return React210.createElement(StyledDialogFrame,{layout:fullscreen?"fullscreen":"center",ref,...innerProps},React210.createElement(DialogTitle_default2,null,title),React210.createElement(DialogContent_default2,null,children),React210.createElement(DialogActions_default2,null,actions))});DialogFrame.displayName="DialogFrame";import React211 from"react";var MotionDivider=motion(Divider_default),Divider3=__name(props=>React211.createElement(MotionDivider,{...props}),"Divider");Divider3.displayName="Divider";var InsetDrawer=styled_default2(Drawer_default)(({theme})=>({[`& .${drawerClasses_default.content}`]:{backgroundColor:"transparent",boxShadow:"none",[theme.breakpoints.down("md")]:{padding:0,width:"100%"},[theme.breakpoints.up("md")]:{padding:theme.spacing(3)}}}));import React212,{useCallback as useCallback40,useEffect as useEffect51,useMemo as useMemo51,useRef as useRef58,useState as useState36}from"react";import{jsx as _jsx120}from"react/jsx-runtime";var Search_default=createSvgIcon2(_jsx120("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"}),"Search");function LabelWithTooltip(props){let{label,size}=props,labelContentRef=useRef58(null),[isOverflowing2,setIsOverflowing]=useState36(!1),labelContent=React212.createElement("span",{ref:labelContentRef,style:{textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",display:"block",position:"relative",zIndex:1,cursor:"pointer"}},label);return useEffect51(()=>{let element3=labelContentRef.current;element3&&setIsOverflowing(element3.scrollWidth>element3.clientWidth)},[label]),isOverflowing2?React212.createElement(Tooltip_default2,{variant:"solid",size,title:label,placement:"bottom-start"},labelContent):labelContent}__name(LabelWithTooltip,"LabelWithTooltip");function FilterableCheckboxGroup(props){let{value,options,label,placeholder,helperText,size="md",required,onChange,maxHeight:maxHeight2=300,disabled}=props,[searchTerm,setSearchTerm]=useState36(""),[sortedOptions,setSortedOptions]=useState36(options),[internalValue,setInternalValue]=useControlledState(value,value??[],useCallback40(newValue=>onChange==null?void 0:onChange(newValue),[onChange])),parentRef=useRef58(null),isInitialSortRef=useRef58(!1),prevOptionsRef=useRef58([...options]),filteredOptions=useMemo51(()=>searchTerm?sortedOptions.filter(option=>option.label.toLowerCase().includes(searchTerm.toLowerCase())):sortedOptions,[sortedOptions,searchTerm]),itemSize=useMemo51(()=>{switch(size){case"sm":return 28;case"md":return 32;case"lg":return 36}},[size]),virtualizer=useVirtualizer({count:filteredOptions.length,estimateSize:__name(()=>itemSize,"estimateSize"),measureElement:__name(element3=>element3.clientHeight,"measureElement"),getScrollElement:__name(()=>parentRef.current,"getScrollElement"),overscan:5}),items=virtualizer.getVirtualItems();useEffect51(()=>{let optionsChanged=prevOptionsRef.current.length!==options.length||prevOptionsRef.current.some((prevOption,index2)=>{var _a,_b,_c;return prevOption.value!==((_a=options[index2])==null?void 0:_a.value)||prevOption.label!==((_b=options[index2])==null?void 0:_b.label)||prevOption.disabled!==((_c=options[index2])==null?void 0:_c.disabled)});if(!isInitialSortRef.current||optionsChanged){let initialValue=value??[],sorted=[...options].sort((a,b)=>{let aSelected=initialValue.includes(a.value),bSelected=initialValue.includes(b.value);if(aSelected!==bSelected)return aSelected?-1:1;let aIsAlpha=/^[a-zA-Z]/.test(a.label),bIsAlpha=/^[a-zA-Z]/.test(b.label);return aIsAlpha!==bIsAlpha?aIsAlpha?-1:1:a.label.localeCompare(b.label)});setSortedOptions(sorted),prevOptionsRef.current=[...options],isInitialSortRef.current||(isInitialSortRef.current=!0)}},[options,value]),useEffect51(()=>{virtualizer.measure()},[virtualizer,filteredOptions,size]);let handleSearchChange=useCallback40(event=>{setSearchTerm(event.target.value)},[]),handleCheckboxChange=useCallback40(optionValue=>event=>{let newValue=event.target.checked?[...internalValue,optionValue]:internalValue.filter(v=>v!==optionValue);setInternalValue(newValue)},[internalValue,setInternalValue]),handleSelectAll=useCallback40(event=>{let checked=event.target.checked,enabledOptions=filteredOptions.filter(option=>!option.disabled),disabledSelectedValues=internalValue.filter(v=>filteredOptions.some(opt=>opt.value===v&&opt.disabled));if(checked){let enabledValues=enabledOptions.map(option=>option.value);setInternalValue([...disabledSelectedValues,...enabledValues])}else setInternalValue(disabledSelectedValues)},[filteredOptions,internalValue,setInternalValue]),enabledFilteredOptions=useMemo51(()=>filteredOptions.filter(option=>!option.disabled),[filteredOptions]),isAllSelected=enabledFilteredOptions.length>0&&enabledFilteredOptions.every(option=>internalValue.includes(option.value)),isIndeterminate=!isAllSelected&&enabledFilteredOptions.some(option=>internalValue.includes(option.value));return React212.createElement("div",{style:{width:"100%"}},React212.createElement(Input_default2,{label,helperText,required,variant:"outlined",color:"neutral",placeholder,value:searchTerm,onChange:handleSearchChange,size,disabled,endDecorator:React212.createElement(Search_default,null)}),filteredOptions.length===0?React212.createElement(Typography_default2,{level:`body-${size}`,textColor:"neutral.softDisabledColor",padding:"20px 12px",textAlign:"center"},"No options found."):React212.createElement("div",{ref:parentRef,style:{overflow:"auto",maxHeight:typeof maxHeight2=="number"?`${maxHeight2}px`:maxHeight2,padding:"8px 0px",marginTop:"8px"}},!searchTerm&&React212.createElement(Checkbox_default2,{label:"Select all",checked:isAllSelected,indeterminate:isIndeterminate,onChange:handleSelectAll,size,disabled,slotProps:{action:{sx:{top:0,left:0,bottom:0,right:0}}},sx:{width:"100%",height:itemSize}}),React212.createElement(Stack_default2,{sx:{height:`${virtualizer.getTotalSize()}px`,position:"relative"}},items.map(virtualRow=>{let option=filteredOptions[virtualRow.index];return React212.createElement(Checkbox_default2,{key:virtualRow.key,label:React212.createElement(LabelWithTooltip,{label:option.label,size}),checked:internalValue.includes(option.value),onChange:handleCheckboxChange(option.value),size,disabled:disabled||option.disabled,slotProps:{action:{sx:{top:0,left:0,bottom:0,right:0}}},sx:{position:"absolute",top:0,left:0,width:"100%",height:`${virtualRow.size}px`,transform:`translateY(${virtualRow.start}px)`}})}))))}__name(FilterableCheckboxGroup,"FilterableCheckboxGroup");FilterableCheckboxGroup.displayName="FilterableCheckboxGroup";import React223,{useCallback as useCallback50}from"react";import React213,{useCallback as useCallback41}from"react";function CheckboxGroup(props){let{id:id3,label,options,value,onChange,hidden}=props,[internalValue,setInternalValue]=useControlledState(value,[],onChange),handleCheckboxChange=useCallback41(optionValue=>event=>{let checked=event.target.checked,newValue;checked?newValue=[...internalValue,optionValue]:newValue=internalValue.filter(v=>v!==optionValue),setInternalValue(newValue)},[internalValue,setInternalValue]);return hidden?null:React213.createElement(Stack_default,{spacing:3,role:"group","aria-labelledby":id3},!!label&&React213.createElement(Typography_default2,{id:id3,level:"title-sm",component:"label",textColor:"text.tertiary"},label),options.map(option=>React213.createElement(Checkbox_default2,{key:`${id3}-${option.value}`,label:option.label,checked:internalValue==null?void 0:internalValue.includes(option.value),onChange:handleCheckboxChange(option.value)})))}__name(CheckboxGroup,"CheckboxGroup");CheckboxGroup.displayName="CheckboxGroup";import React214,{useCallback as useCallback42}from"react";function FilterableCheckboxGroup2(props){let{id:id3,label,options,value,onChange,hidden,placeholder,maxHeight:maxHeight2}=props,[internalValue,setInternalValue]=useControlledState(value,[],onChange),handleChange=useCallback42(newValue=>{setInternalValue(newValue)},[setInternalValue]);return hidden?null:React214.createElement(Stack_default,{spacing:3,role:"group","aria-labelledby":id3},!!label&&React214.createElement(Typography_default2,{id:id3,level:"title-sm",component:"label",textColor:"text.tertiary"},label),React214.createElement(FilterableCheckboxGroup,{value:internalValue??[],onChange:handleChange,options,placeholder,maxHeight:maxHeight2,size:"sm"}))}__name(FilterableCheckboxGroup2,"FilterableCheckboxGroup");FilterableCheckboxGroup2.displayName="FilterableCheckboxGroup";import React215,{useCallback as useCallback43}from"react";var MotionRadio=motion(Radio_default),Radio3=MotionRadio;Radio3.displayName="Radio";var MotionRadioGroup=motion(RadioGroup_default),RadioGroup3=MotionRadioGroup;RadioGroup3.displayName="RadioGroup";function RadioGroup4(props){let{id:id3,label,options,value,onChange,hidden}=props,[internalValue,setInternalValue]=useControlledState(value,value??"",onChange),handleRadioChange=useCallback43(event=>{let newValue=event.target.value,option=options.find(opt=>opt.value.toString()===newValue),convertedValue=option?option.value:newValue;setInternalValue(convertedValue)},[options,setInternalValue]);return hidden?null:React215.createElement(Stack_default,{spacing:3,role:"group","aria-labelledby":id3},!!label&&React215.createElement(Stack_default,{spacing:1},React215.createElement(Typography_default2,{id:id3,level:"title-sm",component:"label",textColor:"text.tertiary"},label)),React215.createElement(RadioGroup3,{name:id3,value:internalValue==null?void 0:internalValue.toString(),onChange:handleRadioChange},options.map(option=>React215.createElement(Radio3,{key:`${id3}-${option.value}`,value:option.value.toString(),label:option.label}))))}__name(RadioGroup4,"RadioGroup");RadioGroup4.displayName="RadioGroup";import React216,{useCallback as useCallback44,useMemo as useMemo52,useState as useState37,useEffect as useEffect52}from"react";function DateRange(props){let{id:id3,label,value,onChange,hidden,minDate,maxDate,disableFuture,disablePast,displayFormat,inputReadOnly,hideClearButton}=props,[internalValue,setInternalValue]=useControlledState(value,null,onChange),[selectedOption,setSelectedOption]=useState37("all-time"),dateRangeOptions=useMemo52(()=>[{label:"All Time",value:"all-time"},{label:"This Month",value:"this-month"},{label:"This Year",value:"this-year"},{label:"Last Month",value:"last-month"},{label:"Custom",value:"custom"}],[]),getDateRangeForOption=useCallback44(option=>{let now2=new Date,currentYear=now2.getFullYear(),currentMonth=now2.getMonth(),formatDate=__name(date=>{let year=date.getFullYear(),month=String(date.getMonth()+1).padStart(2,"0"),day=String(date.getDate()).padStart(2,"0");return`${year}-${month}-${day}`},"formatDate");switch(option){case"all-time":return null;case"this-month":{let startOfMonth=new Date(currentYear,currentMonth,1),endOfMonth=new Date(currentYear,currentMonth+1,0);return[formatDate(startOfMonth),formatDate(endOfMonth)]}case"this-year":{let startOfYear=new Date(currentYear,0,1),endOfYear=new Date(currentYear,11,31);return[formatDate(startOfYear),formatDate(endOfYear)]}case"last-month":{let lastMonthYear=currentMonth===0?currentYear-1:currentYear,lastMonth=currentMonth===0?11:currentMonth-1,startOfLastMonth=new Date(lastMonthYear,lastMonth,1),endOfLastMonth=new Date(lastMonthYear,lastMonth+1,0);return[formatDate(startOfLastMonth),formatDate(endOfLastMonth)]}case"custom":return internalValue;default:return null}},[internalValue]),determineOptionFromValue=useCallback44(value2=>{if(!value2)return"all-time";let options=["this-month","this-year","last-month"];for(let option of options){let optionRange=getDateRangeForOption(option);if(optionRange&&optionRange[0]===value2[0]&&optionRange[1]===value2[1])return option}return"custom"},[getDateRangeForOption]),customDateRangeValue=useMemo52(()=>selectedOption==="custom"&&internalValue?`${internalValue[0]} - ${internalValue[1]}`:"",[selectedOption,internalValue]);useEffect52(()=>{let newOption=determineOptionFromValue(internalValue);setSelectedOption(newOption)},[internalValue,determineOptionFromValue]);let handleOptionChange=useCallback44(event=>{let newOption=event.target.value;setSelectedOption(newOption);let newDateRange=getDateRangeForOption(newOption);setInternalValue(newDateRange)},[getDateRangeForOption,setInternalValue]),handleCustomDateChange=useCallback44(event=>{let dateRangeString=event.target.value;if(dateRangeString&&dateRangeString.includes(" - ")){let[startDate,endDate]=dateRangeString.split(" - ");if(startDate&&endDate){let newValue=[startDate,endDate];(!internalValue||internalValue[0]!==startDate||internalValue[1]!==endDate)&&setInternalValue(newValue)}}else dateRangeString||setInternalValue(null)},[setInternalValue,internalValue]);return hidden?null:React216.createElement(Stack_default,{spacing:3,role:"group","aria-labelledby":id3},!!label&&React216.createElement(Typography_default2,{id:id3,level:"title-sm",component:"label",textColor:"text.tertiary"},label),React216.createElement(RadioGroup3,{name:`${id3}-options`,value:selectedOption,onChange:handleOptionChange},dateRangeOptions.map(option=>React216.createElement(Radio3,{key:`${id3}-${option.value}`,value:option.value,label:option.label}))),selectedOption==="custom"&&React216.createElement(DateRangePicker,{value:customDateRangeValue,onChange:handleCustomDateChange,minDate,maxDate,disableFuture,disablePast,format:"YYYY-MM-DD",displayFormat,inputReadOnly,hideClearButton}))}__name(DateRange,"DateRange");DateRange.displayName="DateRange";import React217,{useCallback as useCallback45}from"react";function CurrencyInput3(props){let{id:id3,label,value,onChange,hidden,max:max2,placeholder,useMinorUnit,currency="USD"}=props,[internalValue,setInternalValue]=useControlledState(value,value,onChange),handleCurrencyChange=useCallback45(event=>{let newValue=event.target.value;setInternalValue(newValue)},[setInternalValue]);return hidden?null:React217.createElement(Stack_default,{spacing:3,role:"group","aria-labelledby":id3},!!label&&React217.createElement(Typography_default2,{id:id3,level:"title-sm",component:"label",textColor:"text.tertiary"},label),React217.createElement(CurrencyInput,{value:internalValue,onChange:handleCurrencyChange,max:max2,placeholder,useMinorUnit,currency,"aria-labelledby":label?id3:void 0}))}__name(CurrencyInput3,"CurrencyInput");CurrencyInput3.displayName="CurrencyInput";import React218,{useCallback as useCallback46}from"react";function CurrencyRange(props){let{id:id3,label,value,onChange,hidden,max:max2,placeholder,useMinorUnit,currency="USD"}=props,[internalValue,setInternalValue]=useControlledState(value,null,onChange),minValue=internalValue==null?void 0:internalValue[0],maxValue=internalValue==null?void 0:internalValue[1],handleMinChange=useCallback46(event=>{let newMinValue=event.target.value,currentMaxValue=maxValue;setInternalValue(newMinValue!==void 0&&currentMaxValue!==void 0?[newMinValue,currentMaxValue]:newMinValue!==void 0?[newMinValue,newMinValue]:null)},[maxValue,setInternalValue]),handleMaxChange=useCallback46(event=>{let newMaxValue=event.target.value,currentMinValue=minValue;setInternalValue(currentMinValue!==void 0&&newMaxValue!==void 0?[currentMinValue,newMaxValue]:newMaxValue!==void 0?[newMaxValue,newMaxValue]:null)},[minValue,setInternalValue]);return hidden?null:React218.createElement(Stack_default,{spacing:3,role:"group","aria-labelledby":id3},!!label&&React218.createElement(Typography_default2,{id:id3,level:"title-sm",component:"label",textColor:"text.tertiary"},label),React218.createElement(Stack_default,{direction:"row",spacing:2,alignItems:"flex-end"},React218.createElement(CurrencyInput,{label:"Minimum",value:minValue,onChange:handleMinChange,max:max2,placeholder,useMinorUnit,currency,"aria-labelledby":label?id3:void 0,"aria-label":"Minimum amount"}),React218.createElement(CurrencyInput,{label:"Maximum",value:maxValue,onChange:handleMaxChange,max:max2,placeholder,useMinorUnit,currency,"aria-labelledby":label?id3:void 0,"aria-label":"Maximum amount"})))}__name(CurrencyRange,"CurrencyRange");CurrencyRange.displayName="CurrencyRange";import React220 from"react";import React219,{useCallback as useCallback47,useMemo as useMemo53,useState as useState38}from"react";var padDecimal=__name((value,decimalScale)=>{let[integer,decimal=""]=`${value}`.split(".");return+`${integer}${decimal.padEnd(decimalScale,"0")}`},"padDecimal"),TextMaskAdapter7=React219.forwardRef(__name(function(props,ref){let{onChange,min:min2,max:max2,...innerProps}=props;return React219.createElement(NumericFormat,{...innerProps,onValueChange:({value})=>{onChange==null||onChange({target:{name:props.name,value}})},valueIsNumericString:!0,thousandSeparator:!0,suffix:"%",getInputRef:ref,allowNegative:!0})},"TextMaskAdapter")),PercentageInputRoot=styled_default2(Input_default2,{name:"PercentageInput",slot:"Root",overridesResolver:__name((props,styles2)=>styles2.root,"overridesResolver")})({}),PercentageInput=React219.forwardRef(__name(function(inProps,ref){let props=useThemeProps2({props:inProps,name:"PercentageInput"}),{name:name2,onChange,label,error,helperText,required,disabled,useMinorUnit,maxDecimalScale=0,min:min2,max:max2,sx,className,...innerProps}=props,[_value,setValue]=useControlledState(props.value,props.defaultValue,useCallback47(value2=>onChange==null?void 0:onChange({target:{name:name2,value:value2}}),[onChange,name2])),[internalError,setInternalError]=useState38(max2&&_value&&_value>max2||min2&&_value&&_value<min2),value=useMemo53(()=>_value&&useMinorUnit?_value/Math.pow(10,maxDecimalScale):_value,[_value,useMinorUnit,maxDecimalScale]),handleChange=useCallback47(event=>{if(event.target.value===""){setValue(void 0);return}let originalAmount=Number(event.target.value);min2&&originalAmount<min2||max2&&originalAmount>max2?setInternalError(!0):setInternalError(!1);let amount=useMinorUnit?padDecimal(originalAmount,maxDecimalScale):originalAmount;setValue(amount)},[setValue,useMinorUnit,maxDecimalScale,min2,max2]);return React219.createElement(PercentageInputRoot,{...innerProps,ref,value,onChange:handleChange,error:internalError||error,disabled,required,color:internalError||error?"danger":props.color,label,helperText,slotProps:{input:{component:TextMaskAdapter7,"aria-label":innerProps["aria-label"],decimalScale:maxDecimalScale}},sx:{...sx},className})},"PercentageInput"));PercentageInput.displayName="PercentageInput";var PercentageInput3=__name(({id:id3,hidden,label,value,onChange,placeholder,useMinorUnit,maxDecimalScale,min:min2,max:max2})=>{let[_value,setValue]=useControlledState(value,void 0,onChange);return hidden?null:React220.createElement(Stack_default,{spacing:3,role:"group","aria-labelledby":id3},!!label&&React220.createElement(Typography_default,{id:id3,level:"title-sm",component:"label",textColor:"text.tertiary"},label),React220.createElement(PercentageInput,{value:_value,onChange:event=>setValue(event.target.value),useMinorUnit,maxDecimalScale,min:min2,max:max2,placeholder}))},"PercentageInput");import React221,{useCallback as useCallback48}from"react";function PercentageRange(props){let{id:id3,label,value,onChange,hidden,useMinorUnit,maxDecimalScale,min:min2,max:max2}=props,[internalValue,setInternalValue]=useControlledState(value,null,onChange),minValue=internalValue==null?void 0:internalValue[0],maxValue=internalValue==null?void 0:internalValue[1],handleMinChange=useCallback48(event=>{let newMinValue=event.target.value;setInternalValue(newMinValue!==void 0?[newMinValue,maxValue||null]:null)},[maxValue,setInternalValue]),handleMaxChange=useCallback48(event=>{let newMaxValue=event.target.value;setInternalValue(newMaxValue!==void 0?[minValue||null,newMaxValue]:null)},[minValue,setInternalValue]);return hidden?null:React221.createElement(Stack_default,{spacing:3,role:"group","aria-labelledby":id3},!!label&&React221.createElement(Typography_default2,{id:id3,level:"title-sm",component:"label",textColor:"text.tertiary"},label),React221.createElement(Stack_default,{direction:"row",spacing:2,alignItems:"flex-end"},React221.createElement(PercentageInput,{label:"Minimum",value:minValue??void 0,onChange:handleMinChange,useMinorUnit,maxDecimalScale,min:min2,max:max2,"aria-labelledby":label?id3:void 0,"aria-label":"Minimum percentage",placeholder:"0%"}),React221.createElement(PercentageInput,{label:"Maximum",value:maxValue??void 0,onChange:handleMaxChange,useMinorUnit,maxDecimalScale,min:min2,max:max2,"aria-labelledby":label?id3:void 0,"aria-label":"Maximum percentage",placeholder:"0%"})))}__name(PercentageRange,"PercentageRange");PercentageRange.displayName="PercentageRange";import React222,{useCallback as useCallback49}from"react";function Autocomplete4(props){let{id:id3,label,value,onChange,options,multiple,hidden,placeholder}=props,[internalValue,setInternalValue]=useControlledState(value,void 0,onChange),autocompleteValue=typeof internalValue=="string"||typeof internalValue=="number"?String(internalValue):void 0,handleChange=useCallback49(event=>{let val=event.target.value;if(val){let numVal=Number(val);setInternalValue(!isNaN(numVal)&&isFinite(numVal)?numVal:val)}else setInternalValue(void 0)},[setInternalValue]);return hidden?null:React222.createElement(Stack_default,{spacing:3,role:"group","aria-labelledby":id3},!!label&&React222.createElement(Typography_default2,{id:id3,level:"title-sm",component:"label",textColor:"text.tertiary"},label),React222.createElement(Autocomplete3,{value:autocompleteValue,onChange:handleChange,options,multiple,placeholder,"aria-labelledby":label?id3:void 0}))}__name(Autocomplete4,"Autocomplete");Autocomplete4.displayName="Autocomplete";var componentMap={"checkbox-group":CheckboxGroup,"filterable-checkbox-group":FilterableCheckboxGroup2,"radio-group":RadioGroup4,"date-range":DateRange,"currency-input":CurrencyInput3,"currency-range":CurrencyRange,"percentage-input":PercentageInput3,"percentage-range":PercentageRange,autocomplete:Autocomplete4};function FilterMenu(props){let{filters,values:values2,defaultValues,resetValues={},onChange,onClose,useClear,useReset}=props,[internalValues,setInternalValues]=useControlledState(values2,defaultValues||{},void 0),handleFilterChange=useCallback50((filterId,value)=>{setInternalValues(prev2=>({...prev2,[filterId]:value}))},[setInternalValues]),handleApply=useCallback50(()=>{onChange==null||onChange(internalValues),onClose==null||onClose()},[onChange,onClose,internalValues]),handleClear=useCallback50(()=>{let clearedValues=resetValues||{};setInternalValues(clearedValues),onChange==null||onChange(clearedValues),onClose==null||onClose()},[resetValues,setInternalValues,onChange,onClose]);return React223.createElement(ModalDialog3,{sx:{position:"relative",transform:"none",left:"initial",top:"initial"}},React223.createElement(DialogContent3,{sx:{paddingTop:5}},React223.createElement(Stack_default,{spacing:6},filters==null?void 0:filters.map(filter2=>{let FilterComponent=componentMap[filter2.type];return FilterComponent?React223.createElement(FilterComponent,{key:filter2.id,...filter2,value:internalValues[filter2.id],onChange:value=>{handleFilterChange(filter2.id,value)}}):null}))),React223.createElement(DialogActions3,{sx:{justifyContent:"space-between"}},useClear&&(filters==null?void 0:filters.length)===1&&React223.createElement(Button_default,{variant:"plain",color:"neutral",size:"md",onClick:handleClear},"Clear"),useReset&&!useClear&&React223.createElement(Button_default,{variant:"plain",color:"neutral",size:"md",onClick:handleClear},"Reset"),React223.createElement(Button_default,{variant:"solid",color:"primary",size:"md",onClick:handleApply},"Apply")))}__name(FilterMenu,"FilterMenu");FilterMenu.displayName="FilterMenu";import React224,{useCallback as useCallback51,useEffect as useEffect53,useMemo as useMemo54,useRef as useRef59,useState as useState39}from"react";import{jsx as _jsx121}from"react/jsx-runtime";var CloudUploadRounded_default=createSvgIcon2(_jsx121("path",{d:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M14 13v4h-4v-4H7l4.65-4.65c.2-.2.51-.2.71 0L17 13z"}),"CloudUploadRounded");import{jsx as _jsx122}from"react/jsx-runtime";var UploadFileRounded_default=createSvgIcon2(_jsx122("path",{d:"m19.41 7.41-4.83-4.83c-.37-.37-.88-.58-1.41-.58H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8.83c0-.53-.21-1.04-.59-1.42M14.8 15H13v3c0 .55-.45 1-1 1s-1-.45-1-1v-3H9.21c-.45 0-.67-.54-.35-.85l2.8-2.79c.2-.19.51-.19.71 0l2.79 2.79c.3.31.08.85-.36.85M14 9c-.55 0-1-.45-1-1V3.5L18.5 9z"}),"UploadFileRounded");import{jsx as _jsx123}from"react/jsx-runtime";var ClearRounded_default=createSvgIcon2(_jsx123("path",{d:"M18.3 5.71a.996.996 0 0 0-1.41 0L12 10.59 7.11 5.7a.996.996 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41L10.59 12 5.7 16.89c-.39.39-.39 1.02 0 1.41s1.02.39 1.41 0L12 13.41l4.89 4.89c.39.39 1.02.39 1.41 0s.39-1.02 0-1.41L13.41 12l4.89-4.89c.38-.38.38-1.02 0-1.4"}),"ClearRounded");var esmFiles={combine:Promise.resolve().then(()=>(init_combine2(),combine_exports)),adapter:Promise.resolve().then(()=>(init_adapter(),adapter_exports)),file:Promise.resolve().then(()=>(init_file2(),file_exports)),preventUnhandled:Promise.resolve().then(()=>(init_prevent_unhandled2(),prevent_unhandled_exports))},VisuallyHiddenInput=styled_default2(Input_default)({width:"1px",height:"1px",overflow:"hidden",whiteSpace:"nowrap",clip:"rect(0 0 0 0)",clipPath:"inset(50%)",position:"absolute"}),PreviewRoot=styled_default2(Stack_default2,{name:"Uploader",slot:"PreviewRoot"})({}),UploadCard=styled_default2(Card3,{name:"Uploader",slot:"UploadCard"})(({theme})=>({padding:theme.spacing(2.5),border:`1px solid ${theme.palette.neutral.outlinedBorder}`})),UploadFileIcon=styled_default2(UploadFileRounded_default,{name:"Uploader",slot:"UploadFileIcon"})(({theme})=>({color:theme.palette.neutral[400],width:"32px",height:"32px"})),ClearIcon=styled_default2(ClearRounded_default,{name:"Uploader",slot:"ClearIcon"})(({theme})=>({color:theme.palette.neutral.plainColor,width:"18px",height:"18px"})),UNITS=["byte","kilobyte","megabyte","gigabyte","terabyte","petabyte"],ALL_EXTENSIONS_BY_TYPE={"image/*":[".jpeg",".jpg",".png",".gif",".bmp",".tiff",".svg",".webp",".heic",".ico"],"audio/*":[".mp3",".wav",".flac",".aac",".ogg",".m4a",".wma",".aiff",".alac",".midi",".mp4"],"video/*":[".mp4",".avi",".mkv",".mov",".wmv",".flv",".webm",".mpeg",".3gp",".m4v"]},getFileSize=__name(n=>{let i=n==0?0:Math.floor(Math.log(n)/Math.log(1024)),value=n/Math.pow(1024,i),unit=UNITS[i];return Intl.NumberFormat("en-us",{style:"unit",unit,unitDisplay:"narrow"}).format(value)},"getFileSize"),Preview=__name(props=>{let{files,uploaded,onDelete}=props;return React224.createElement(PreviewRoot,{gap:1},[...uploaded,...files].map(file=>React224.createElement(UploadCard,{key:file.name,size:"sm",color:"neutral"},React224.createElement(Stack_default2,{direction:"row",alignItems:"center",gap:2},React224.createElement(UploadFileIcon,null),React224.createElement(Stack_default2,{flex:"1",sx:{overflow:"hidden"}},React224.createElement(Typography_default2,{level:"body-sm",textColor:"common.black",sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},file.name),!!file.size&&React224.createElement(Typography_default2,{level:"body-xs",fontWeight:"300",lineHeight:"1.33",textColor:"text.tertiary"},getFileSize(file.size))),React224.createElement(IconButton_default2,{onClick:()=>onDelete==null?void 0:onDelete(file)},React224.createElement(ClearIcon,null))))))},"Preview"),UploaderRoot=styled_default2(Stack_default2,{name:"Uploader",slot:"root"})(({theme})=>({gap:theme.spacing(2)})),FileDropZone=styled_default2(Sheet_default2,{name:"Uploader",slot:"dropZone",shouldForwardProp:__name(prop=>prop!=="error"&&prop!=="disabled","shouldForwardProp")})(({theme,state,error,disabled})=>({width:"100%",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",padding:theme.spacing(5),gap:theme.spacing(4),cursor:disabled?"not-allowed":"pointer",backgroundColor:theme.palette.background.surface,border:disabled?`1px solid ${theme.palette.danger.outlinedDisabledBorder}`:error?`1px solid ${theme.palette.danger.outlinedBorder}`:state==="idle"?`1px solid ${theme.palette.neutral.outlinedBorder}`:`1px solid ${theme.palette.primary.outlinedBorder}`,"&:hover":{border:disabled?`1px solid ${theme.palette.danger.outlinedDisabledBorder}`:error?`1px solid ${theme.palette.danger.outlinedBorder}`:`1px solid ${theme.palette.primary.outlinedBorder}`}})),UploaderIcon=styled_default2(CloudUploadRounded_default,{name:"Uploader",slot:"iconContainer",shouldForwardProp:__name(prop=>prop!=="error"&&prop!=="disabled","shouldForwardProp")})(({theme,state,error,disabled})=>({color:disabled?theme.palette.primary.outlinedDisabledBorder:error?`rgba(${theme.vars.palette.danger.mainChannel} / 0.6)`:state==="over"?`rgba(${theme.palette.primary.mainChannel} / 0.6)`:theme.palette.neutral.softActiveBg,width:"32px",height:"32px",".MuiSheet-root:hover &":{color:disabled?theme.palette.primary.outlinedDisabledBorder:error?`rgba(${theme.vars.palette.danger.mainChannel} / 0.6)`:`rgba(${theme.palette.primary.mainChannel} / 0.6)`}})),Uploader=React224.memo(props=>{let{accept,minCount,maxCount,name:name2,size,maxFileSize,maxFileTotalSize,onChange,label,disabled,onDelete,error:errorProp,helperText:helperTextProp}=props,dropZoneRef=useRef59(null),inputRef=useRef59(null),[errorText,setErrorText]=useState39(),[files,setFiles]=useState39([]),[uploaded,setUploaded]=useState39(props.uploaded||[]),[previewState,setPreviewState]=useState39("idle"),accepts=useMemo54(()=>accept.split(",").map(accept2=>accept2.trim()),[accept]),parsedAccepts=useMemo54(()=>accepts.flatMap(type=>["image/*","video/*","audio/*"].includes(type)?ALL_EXTENSIONS_BY_TYPE[type]:type),[accepts]),helperText=useMemo54(()=>{if(helperTextProp)return helperTextProp;let[allAcceptedTypes,acceptedTypes]=[accepts.filter(accept2=>["image/*","video/*","audio/*"].includes(accept2)).map(accept2=>{let[type]=accept2.split("/");return type.toLowerCase()}),accepts.filter(accept2=>!["image/*","video/*","audio/*"].includes(accept2)).map(accept2=>{let[extensionOrType,subType]=accept2.split("/");return subType?subType.toUpperCase():extensionOrType.toUpperCase().replace(".","")})],helperTexts=[];return allAcceptedTypes.length>0&&helperTexts.push(`Any ${allAcceptedTypes.join(", ")} file`),acceptedTypes.length>0&&helperTexts.push(acceptedTypes.join(", ")),helperTexts.push(`Maximum ${getFileSize(maxFileTotalSize)}`),maxCount&&helperTexts.push(`Up to ${maxCount} ${maxCount===1?"file":"files"}`),helperTexts.join(", ")},[accepts,maxFileTotalSize,maxCount,helperTextProp]),error=useMemo54(()=>!!errorText||errorProp,[errorProp,errorText]),showDropZone=useMemo54(()=>!maxCount||maxCount&&[...uploaded,...files].length!==maxCount,[files,maxCount,uploaded]),addFiles=useCallback51(uploads=>{try{let types=parsedAccepts.map(type=>type.replace(".",""))||[],fileExtension=new RegExp(`${types.join("|")}`);if(uploads.forEach(file=>{let ext=file.name.split(".").pop()||"";if(!fileExtension.test(ext))throw new Error("Please upload the correct file type.")}),maxFileSize&&uploads.forEach(file=>{if(file.size>maxFileSize)throw new Error(`One or more files exceeded the maximum file size. Each file size must be ${getFileSize(maxFileSize)} or less.`)}),[...files,...uploads].reduce((acc,file)=>acc+file.size,0)>maxFileTotalSize)throw new Error("The total file size exceeds the maximum limit.");let newFiles=[...files,...uploads];if(maxCount&&[...uploaded,...newFiles].length>maxCount)throw new Error("Exceeded the maximum number of files.");onChange==null||onChange({target:{name:name2,value:newFiles}}),setFiles(newFiles),setErrorText(void 0)}catch(error2){setErrorText(error2.message)}},[files,uploaded,maxCount,parsedAccepts,maxFileSize,maxFileTotalSize,name2,onChange]);useEffect53(()=>{if(!dropZoneRef.current||disabled)return;let cleanup2;return Promise.all([esmFiles.combine,esmFiles.adapter,esmFiles.file,esmFiles.preventUnhandled]).then(([combineModule,adapterModule,fileModule,preventUnhandledModule])=>{let{combine:combine3}=combineModule,{dropTargetForExternal:dropTargetForExternal2,monitorForExternal:monitorForExternal2}=adapterModule,{containsFiles:containsFiles2,getFiles:getFiles2}=fileModule,{preventUnhandled:preventUnhandled2}=preventUnhandledModule;cleanup2=combine3(dropTargetForExternal2({element:dropZoneRef.current,canDrop:containsFiles2,onDragEnter:__name(()=>setPreviewState("over"),"onDragEnter"),onDragLeave:__name(()=>setPreviewState("potential"),"onDragLeave"),onDrop:__name(async({source})=>{let files2=await getFiles2({source});addFiles(files2)},"onDrop")}),monitorForExternal2({canMonitor:containsFiles2,onDragStart:__name(()=>{setPreviewState("potential"),preventUnhandled2.start()},"onDragStart"),onDrop:__name(()=>{setPreviewState("idle"),preventUnhandled2.stop()},"onDrop")}))}),()=>cleanup2==null?void 0:cleanup2()},[disabled,addFiles]),useEffect53(()=>{inputRef.current&&minCount&&(files.length<minCount?inputRef.current.setCustomValidity(`At least ${minCount} files are required.`):inputRef.current.setCustomValidity(""))},[inputRef,files,minCount]);let handleFileChanged=useCallback51(event=>{let files2=Array.from(event.target.files||[]);addFiles(files2)},[addFiles]),handleDeleteFile=useCallback51(deletedFile=>{deletedFile instanceof File?setFiles(current=>(onChange==null||onChange({target:{name:name2,value:current.filter(file=>file!==deletedFile)}}),current.filter(file=>file!==deletedFile))):(setUploaded(uploaded2=>uploaded2.filter(file=>file.id!==deletedFile.id)),onDelete==null||onDelete(deletedFile)),setErrorText(void 0)},[name2,onChange,onDelete]),handleUploaderButtonClick=useCallback51(()=>{var _a;(_a=inputRef.current)==null||_a.click()},[]),uploader=React224.createElement(FileDropZone,{state:previewState,error:!!(error||errorText),disabled,ref:dropZoneRef,onClick:handleUploaderButtonClick},React224.createElement(Stack_default2,{alignItems:"center",gap:1},React224.createElement(UploaderIcon,{state:previewState,error:!!(error||errorText),disabled})),React224.createElement(VisuallyHiddenInput,{disabled,required:!!minCount,onInvalid:e=>{minCount&&files.length<minCount&&setErrorText(`Please choose ${minCount} ${minCount===1?"file":"files"} to upload.`)},slotProps:{input:{multiple:!0,accept:parsedAccepts.join(","),type:"file",ref:inputRef,role:"button",onChange:handleFileChanged}}}));return React224.createElement(UploaderRoot,null,showDropZone&&React224.createElement(FormControl_default2,{size,error:!!(error||errorText),disabled,required:!!minCount},label&&React224.createElement(FormLabel_default2,null,label),uploader,React224.createElement(FormHelperText_default2,null,React224.createElement(Stack_default2,null,errorText&&React224.createElement("div",null,errorText),React224.createElement("div",null,helperText)))),[...uploaded,...files].length>0&&React224.createElement(Preview,{files,uploaded,onDelete:handleDeleteFile}))});Uploader.displayName="Uploader";import React225 from"react";function IconMenuButton(props){let{size,icon,items=[],disabled,loading,color:color3="neutral",variant="plain",placement="bottom"}=props;return items.length?React225.createElement(Dropdown_default,null,React225.createElement(MenuButton_default,{slots:{root:IconButton_default},slotProps:{root:{component:props.buttonComponent??"button",size,variant,color:color3,disabled,loading,...props.buttonComponentProps??{}}}},icon),React225.createElement(Menu3,{placement,size},items.map(i=>React225.createElement(MenuItem3,{key:i.text,component:i.component,...i.componentProps??{}},i.text)))):React225.createElement(IconButton_default,{component:props.buttonComponent??"button",size,variant,color:color3,disabled,loading,...props.buttonComponentProps??{}},icon)}__name(IconMenuButton,"IconMenuButton");IconMenuButton.displayName="IconMenuButton";import React226,{lazy,Suspense,useEffect as useEffect54,useState as useState40}from"react";function ccount(value,character2){let source=String(value);if(typeof character2!="string")throw new TypeError("Expected character");let count=0,index2=source.indexOf(character2);for(;index2!==-1;)count++,index2=source.indexOf(character2,index2+character2.length);return count}__name(ccount,"ccount");init_micromark_util_character();function escapeStringRegexp(string3){if(typeof string3!="string")throw new TypeError("Expected a string");return string3.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}__name(escapeStringRegexp,"escapeStringRegexp");init_unist_util_visit_parents();init_unist_util_is();function findAndReplace(tree,list4,options){let ignored=convert((options||{}).ignore||[]),pairs=toPairs(list4),pairIndex=-1;for(;++pairIndex<pairs.length;)visitParents(tree,"text",visitor);function visitor(node3,parents){let index2=-1,grandparent;for(;++index2<parents.length;){let parent=parents[index2],siblings=grandparent?grandparent.children:void 0;if(ignored(parent,siblings?siblings.indexOf(parent):void 0,grandparent))return;grandparent=parent}if(grandparent)return handler(node3,parents)}__name(visitor,"visitor");function handler(node3,parents){let parent=parents[parents.length-1],find2=pairs[pairIndex][0],replace3=pairs[pairIndex][1],start5=0,index2=parent.children.indexOf(node3),change=!1,nodes=[];find2.lastIndex=0;let match2=find2.exec(node3.value);for(;match2;){let position4=match2.index,matchObject={index:match2.index,input:match2.input,stack:[...parents,node3]},value=replace3(...match2,matchObject);if(typeof value=="string"&&(value=value.length>0?{type:"text",value}:void 0),value===!1?find2.lastIndex=position4+1:(start5!==position4&&nodes.push({type:"text",value:node3.value.slice(start5,position4)}),Array.isArray(value)?nodes.push(...value):value&&nodes.push(value),start5=position4+match2[0].length,change=!0),!find2.global)break;match2=find2.exec(node3.value)}return change?(start5<node3.value.length&&nodes.push({type:"text",value:node3.value.slice(start5)}),parent.children.splice(index2,1,...nodes)):nodes=[node3],index2+nodes.length}__name(handler,"handler")}__name(findAndReplace,"findAndReplace");function toPairs(tupleOrList){let result=[];if(!Array.isArray(tupleOrList))throw new TypeError("Expected find and replace tuple or list of tuples");let list4=!tupleOrList[0]||Array.isArray(tupleOrList[0])?tupleOrList:[tupleOrList],index2=-1;for(;++index2<list4.length;){let tuple=list4[index2];result.push([toExpression(tuple[0]),toFunction(tuple[1])])}return result}__name(toPairs,"toPairs");function toExpression(find2){return typeof find2=="string"?new RegExp(escapeStringRegexp(find2),"g"):find2}__name(toExpression,"toExpression");function toFunction(replace3){return typeof replace3=="function"?replace3:function(){return replace3}}__name(toFunction,"toFunction");var inConstruct="phrasing",notInConstruct=["autolink","link","image","label"];function gfmAutolinkLiteralFromMarkdown(){return{transforms:[transformGfmAutolinkLiterals],enter:{literalAutolink:enterLiteralAutolink,literalAutolinkEmail:enterLiteralAutolinkValue,literalAutolinkHttp:enterLiteralAutolinkValue,literalAutolinkWww:enterLiteralAutolinkValue},exit:{literalAutolink:exitLiteralAutolink,literalAutolinkEmail:exitLiteralAutolinkEmail,literalAutolinkHttp:exitLiteralAutolinkHttp,literalAutolinkWww:exitLiteralAutolinkWww}}}__name(gfmAutolinkLiteralFromMarkdown,"gfmAutolinkLiteralFromMarkdown");function gfmAutolinkLiteralToMarkdown(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct,notInConstruct},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct,notInConstruct},{character:":",before:"[ps]",after:"\\/",inConstruct,notInConstruct}]}}__name(gfmAutolinkLiteralToMarkdown,"gfmAutolinkLiteralToMarkdown");function enterLiteralAutolink(token2){this.enter({type:"link",title:null,url:"",children:[]},token2)}__name(enterLiteralAutolink,"enterLiteralAutolink");function enterLiteralAutolinkValue(token2){this.config.enter.autolinkProtocol.call(this,token2)}__name(enterLiteralAutolinkValue,"enterLiteralAutolinkValue");function exitLiteralAutolinkHttp(token2){this.config.exit.autolinkProtocol.call(this,token2)}__name(exitLiteralAutolinkHttp,"exitLiteralAutolinkHttp");function exitLiteralAutolinkWww(token2){this.config.exit.data.call(this,token2);let node3=this.stack[this.stack.length-1];node3.type,node3.url="http://"+this.sliceSerialize(token2)}__name(exitLiteralAutolinkWww,"exitLiteralAutolinkWww");function exitLiteralAutolinkEmail(token2){this.config.exit.autolinkEmail.call(this,token2)}__name(exitLiteralAutolinkEmail,"exitLiteralAutolinkEmail");function exitLiteralAutolink(token2){this.exit(token2)}__name(exitLiteralAutolink,"exitLiteralAutolink");function transformGfmAutolinkLiterals(tree){findAndReplace(tree,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,findUrl],[new RegExp("(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)","gu"),findEmail]],{ignore:["link","linkReference"]})}__name(transformGfmAutolinkLiterals,"transformGfmAutolinkLiterals");function findUrl(_4,protocol,domain2,path3,match2){let prefix2="";if(!previous(match2)||(/^w/i.test(protocol)&&(domain2=protocol+domain2,protocol="",prefix2="http://"),!isCorrectDomain(domain2)))return!1;let parts=splitUrl(domain2+path3);if(!parts[0])return!1;let result={type:"link",title:null,url:prefix2+protocol+parts[0],children:[{type:"text",value:protocol+parts[0]}]};return parts[1]?[result,{type:"text",value:parts[1]}]:result}__name(findUrl,"findUrl");function findEmail(_4,atext,label,match2){return!previous(match2,!0)||/[-\d_]$/.test(label)?!1:{type:"link",title:null,url:"mailto:"+atext+"@"+label,children:[{type:"text",value:atext+"@"+label}]}}__name(findEmail,"findEmail");function isCorrectDomain(domain2){let parts=domain2.split(".");return!(parts.length<2||parts[parts.length-1]&&(/_/.test(parts[parts.length-1])||!/[a-zA-Z\d]/.test(parts[parts.length-1]))||parts[parts.length-2]&&(/_/.test(parts[parts.length-2])||!/[a-zA-Z\d]/.test(parts[parts.length-2])))}__name(isCorrectDomain,"isCorrectDomain");function splitUrl(url){let trailExec=/[!"&'),.:;<>?\]}]+$/.exec(url);if(!trailExec)return[url,void 0];url=url.slice(0,trailExec.index);let trail2=trailExec[0],closingParenIndex=trail2.indexOf(")"),openingParens=ccount(url,"("),closingParens=ccount(url,")");for(;closingParenIndex!==-1&&openingParens>closingParens;)url+=trail2.slice(0,closingParenIndex+1),trail2=trail2.slice(closingParenIndex+1),closingParenIndex=trail2.indexOf(")"),closingParens++;return[url,trail2]}__name(splitUrl,"splitUrl");function previous(match2,email){let code4=match2.input.charCodeAt(match2.index-1);return(match2.index===0||unicodeWhitespace(code4)||unicodePunctuation(code4))&&(!email||code4!==47)}__name(previous,"previous");init_micromark_util_normalize_identifier();footnoteReference.peek=footnoteReferencePeek;function enterFootnoteCallString(){this.buffer()}__name(enterFootnoteCallString,"enterFootnoteCallString");function enterFootnoteCall(token2){this.enter({type:"footnoteReference",identifier:"",label:""},token2)}__name(enterFootnoteCall,"enterFootnoteCall");function enterFootnoteDefinitionLabelString(){this.buffer()}__name(enterFootnoteDefinitionLabelString,"enterFootnoteDefinitionLabelString");function enterFootnoteDefinition(token2){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},token2)}__name(enterFootnoteDefinition,"enterFootnoteDefinition");function exitFootnoteCallString(token2){let label=this.resume(),node3=this.stack[this.stack.length-1];node3.type,node3.identifier=normalizeIdentifier(this.sliceSerialize(token2)).toLowerCase(),node3.label=label}__name(exitFootnoteCallString,"exitFootnoteCallString");function exitFootnoteCall(token2){this.exit(token2)}__name(exitFootnoteCall,"exitFootnoteCall");function exitFootnoteDefinitionLabelString(token2){let label=this.resume(),node3=this.stack[this.stack.length-1];node3.type,node3.identifier=normalizeIdentifier(this.sliceSerialize(token2)).toLowerCase(),node3.label=label}__name(exitFootnoteDefinitionLabelString,"exitFootnoteDefinitionLabelString");function exitFootnoteDefinition(token2){this.exit(token2)}__name(exitFootnoteDefinition,"exitFootnoteDefinition");function footnoteReferencePeek(){return"["}__name(footnoteReferencePeek,"footnoteReferencePeek");function footnoteReference(node3,_4,state,info){let tracker=state.createTracker(info),value=tracker.move("[^"),exit3=state.enter("footnoteReference"),subexit=state.enter("reference");return value+=tracker.move(state.safe(state.associationId(node3),{after:"]",before:value})),subexit(),exit3(),value+=tracker.move("]"),value}__name(footnoteReference,"footnoteReference");function gfmFootnoteFromMarkdown(){return{enter:{gfmFootnoteCallString:enterFootnoteCallString,gfmFootnoteCall:enterFootnoteCall,gfmFootnoteDefinitionLabelString:enterFootnoteDefinitionLabelString,gfmFootnoteDefinition:enterFootnoteDefinition},exit:{gfmFootnoteCallString:exitFootnoteCallString,gfmFootnoteCall:exitFootnoteCall,gfmFootnoteDefinitionLabelString:exitFootnoteDefinitionLabelString,gfmFootnoteDefinition:exitFootnoteDefinition}}}__name(gfmFootnoteFromMarkdown,"gfmFootnoteFromMarkdown");function gfmFootnoteToMarkdown(options){let firstLineBlank=!1;return options&&options.firstLineBlank&&(firstLineBlank=!0),{handlers:{footnoteDefinition,footnoteReference},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function footnoteDefinition(node3,_4,state,info){let tracker=state.createTracker(info),value=tracker.move("[^"),exit3=state.enter("footnoteDefinition"),subexit=state.enter("label");return value+=tracker.move(state.safe(state.associationId(node3),{before:value,after:"]"})),subexit(),value+=tracker.move("]:"),node3.children&&node3.children.length>0&&(tracker.shift(4),value+=tracker.move((firstLineBlank?`
150
+ `),allowNegative=!1),Object.assign(Object.assign({},props),{allowNegative})}__name(validateAndUpdateProps,"validateAndUpdateProps");function useNumericFormat(props){props=validateAndUpdateProps(props);var _decimalSeparator=props.decimalSeparator,_allowedDecimalSeparators=props.allowedDecimalSeparators,thousandsGroupStyle=props.thousandsGroupStyle,suffix=props.suffix,allowNegative=props.allowNegative,allowLeadingZeros=props.allowLeadingZeros,onKeyDown=props.onKeyDown;onKeyDown===void 0&&(onKeyDown=noop2);var onBlur=props.onBlur;onBlur===void 0&&(onBlur=noop2);var thousandSeparator=props.thousandSeparator,decimalScale=props.decimalScale,fixedDecimalScale=props.fixedDecimalScale,prefix2=props.prefix;prefix2===void 0&&(prefix2="");var defaultValue=props.defaultValue,value=props.value,valueIsNumericString=props.valueIsNumericString,onValueChange=props.onValueChange,restProps=__rest(props,["decimalSeparator","allowedDecimalSeparators","thousandsGroupStyle","suffix","allowNegative","allowLeadingZeros","onKeyDown","onBlur","thousandSeparator","decimalScale","fixedDecimalScale","prefix","defaultValue","value","valueIsNumericString","onValueChange"]),ref=getSeparators(props),decimalSeparator=ref.decimalSeparator,allowedDecimalSeparators=ref.allowedDecimalSeparators,_format=__name(function(numStr){return format(numStr,props)},"_format"),_removeFormatting=__name(function(inputValue,changeMeta){return removeFormatting(inputValue,changeMeta,props)},"_removeFormatting"),_value=isNil(value)?defaultValue:value,_valueIsNumericString=valueIsNumericString??isNumericString(_value,prefix2,suffix);isNil(value)?isNil(defaultValue)||(_valueIsNumericString=_valueIsNumericString||typeof defaultValue=="number"):_valueIsNumericString=_valueIsNumericString||typeof value=="number";var roundIncomingValueToPrecision=__name(function(value2){return isNotValidValue(value2)?value2:(typeof value2=="number"&&(value2=toNumericString(value2)),_valueIsNumericString&&typeof decimalScale=="number"?roundToPrecision(value2,decimalScale,!!fixedDecimalScale):value2)},"roundIncomingValueToPrecision"),ref$1=useInternalValues(roundIncomingValueToPrecision(value),roundIncomingValueToPrecision(defaultValue),!!_valueIsNumericString,_format,_removeFormatting,onValueChange),ref$1_0=ref$1[0],numAsString=ref$1_0.numAsString,formattedValue=ref$1_0.formattedValue,_onValueChange=ref$1[1],_onKeyDown=__name(function(e){var el=e.target,key=e.key,selectionStart=el.selectionStart,selectionEnd=el.selectionEnd,value2=el.value;if(value2===void 0&&(value2=""),selectionStart!==selectionEnd){onKeyDown(e);return}key==="Backspace"&&value2[0]==="-"&&selectionStart===prefix2.length+1&&allowNegative&&setCaretPosition(el,1),decimalScale&&fixedDecimalScale&&(key==="Backspace"&&value2[selectionStart-1]===decimalSeparator?(setCaretPosition(el,selectionStart-1),e.preventDefault()):key==="Delete"&&value2[selectionStart]===decimalSeparator&&e.preventDefault()),allowedDecimalSeparators!=null&&allowedDecimalSeparators.includes(key)&&value2[selectionStart]===decimalSeparator&&setCaretPosition(el,selectionStart+1);var _thousandSeparator=thousandSeparator===!0?",":thousandSeparator;key==="Backspace"&&value2[selectionStart-1]===_thousandSeparator&&setCaretPosition(el,selectionStart-1),key==="Delete"&&value2[selectionStart]===_thousandSeparator&&setCaretPosition(el,selectionStart+1),onKeyDown(e)},"_onKeyDown"),_onBlur=__name(function(e){var _value2=numAsString;if(_value2.match(/\d/g)||(_value2=""),allowLeadingZeros||(_value2=fixLeadingZero(_value2)),fixedDecimalScale&&decimalScale&&(_value2=roundToPrecision(_value2,decimalScale,fixedDecimalScale)),_value2!==numAsString){var formattedValue2=format(_value2,props);_onValueChange({formattedValue:formattedValue2,value:_value2,floatValue:parseFloat(_value2)},{event:e,source:SourceType.event})}onBlur(e)},"_onBlur"),isValidInputCharacter=__name(function(inputChar){return inputChar===decimalSeparator?!0:charIsNumber(inputChar)},"isValidInputCharacter"),isCharacterSame=__name(function(ref2){var currentValue=ref2.currentValue,lastValue=ref2.lastValue,formattedValue2=ref2.formattedValue,currentValueIndex=ref2.currentValueIndex,formattedValueIndex=ref2.formattedValueIndex,curChar=currentValue[currentValueIndex],newChar=formattedValue2[formattedValueIndex],typedRange=findChangeRange(lastValue,currentValue),to=typedRange.to;return currentValueIndex>=to.start&&currentValueIndex<to.end&&allowedDecimalSeparators&&allowedDecimalSeparators.includes(curChar)&&newChar===decimalSeparator?!0:curChar===newChar},"isCharacterSame");return Object.assign(Object.assign({},restProps),{value:formattedValue,valueIsNumericString:!1,isValidInputCharacter,isCharacterSame,onValueChange:_onValueChange,format:_format,removeFormatting:_removeFormatting,getCaretBoundary:__name(function(formattedValue2){return getCaretBoundary(formattedValue2,props)},"getCaretBoundary"),onKeyDown:_onKeyDown,onBlur:_onBlur})}__name(useNumericFormat,"useNumericFormat");function NumericFormat(props){var numericFormatProps=useNumericFormat(props);return React194.createElement(NumberFormatBase,Object.assign({},numericFormatProps))}__name(NumericFormat,"NumericFormat");import React195,{useCallback as useCallback31,useState as useState29}from"react";import{jsx as _jsx111}from"react/jsx-runtime";var Visibility_default=createSvgIcon2(_jsx111("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility");import{jsx as _jsx112}from"react/jsx-runtime";var VisibilityOff_default=createSvgIcon2(_jsx112("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7M2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2m4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3z"}),"VisibilityOff");var MotionInput=motion(Input_default),Input3=React195.forwardRef((props,ref)=>{var _a;let{label,helperText,error,style:style4,size,color:color3,disabled,required,onChange,name:name2,type,sx,className,enableClearable,disableTogglePasswordButton,...innerProps}=props;type==="password"&&innerProps.endDecorator&&console.warn('Input: endDecorator is not supported when type="password"');let[passwordVisible,setPasswordVisible]=useState29(!1),[value,setValue]=useControlledState(props.value,props.defaultValue,useCallback31(value2=>{onChange==null||onChange({target:{value:(value2==null?void 0:value2.toString())||"",name:name2||""}})},[onChange,name2])),handleChange=__name(e=>{setValue(e.target.value)},"handleChange"),handleClear=__name(()=>{setValue(props.defaultValue||"")},"handleClear"),handleTogglePasswordVisibility=__name(()=>{setPasswordVisible(prev2=>!prev2)},"handleTogglePasswordVisibility"),actualType=type==="password"&&passwordVisible?"text":type,isPasswordType=type==="password",showPasswordToggle=isPasswordType&&!disableTogglePasswordButton,input=React195.createElement(MotionInput,{value,name:name2,onChange:handleChange,required,color:error?"danger":color3,disabled,type:actualType,slotProps:{input:{ref,...(_a=innerProps.slotProps)==null?void 0:_a.input},...innerProps.slotProps},...innerProps,endDecorator:isPasswordType?showPasswordToggle?React195.createElement(Stack_default2,{gap:1,direction:"row"},React195.createElement(IconButton_default2,{onMouseDown:e=>e.preventDefault(),onClick:handleTogglePasswordVisibility,disabled,"aria-label":passwordVisible?"Hide password":"Show password"},passwordVisible?React195.createElement(VisibilityOff_default,null):React195.createElement(Visibility_default,null))):null:enableClearable?React195.createElement(Stack_default2,{gap:1,direction:"row"},innerProps.endDecorator,value&&React195.createElement(IconButton_default2,{onMouseDown:e=>e.preventDefault(),onClick:handleClear,"aria-label":"Clear"},React195.createElement(Close_default2,null))):innerProps.endDecorator});return React195.createElement(FormControl_default2,{required,color:color3,size,error,disabled,sx,className},label&&React195.createElement(FormLabel_default2,null,label),input,helperText&&React195.createElement(FormHelperText_default2,null,helperText))});Input3.displayName="Input";var Input_default2=Input3;var CURRENCY_DECIMAL_MAP={AED:2,ALL:2,AMD:2,ANG:2,AOA:2,ARS:2,AUD:2,AWG:2,AZN:2,BAM:2,BBD:2,BDT:2,BGN:2,BHD:3,BMD:2,BND:2,BOB:2,BRL:2,BSD:2,BWP:2,BYN:2,BZD:2,CAD:2,CHF:2,CLP:2,CNH:2,CNY:2,COP:2,CRC:2,CUP:2,CVE:0,CZK:2,DJF:0,DKK:2,DOP:2,DZD:2,EGP:2,ETB:2,EUR:2,FJD:2,FKP:2,GBP:2,GEL:2,GHS:2,GIP:2,GMD:2,GNF:0,GTQ:2,GYD:2,HKD:2,HNL:2,HTG:2,HUF:2,IDR:0,ILS:2,INR:2,IQD:3,ISK:2,JMD:2,JOD:3,JPY:0,KES:2,KGS:2,KHR:2,KMF:0,KRW:0,KWD:3,KYD:2,KZT:2,LAK:2,LBP:2,LKR:2,LYD:3,MAD:2,MDL:2,MKD:2,MMK:2,MNT:2,MOP:2,MRU:2,MUR:2,MVR:2,MWK:2,MXN:2,MYR:2,MZN:2,NAD:2,NGN:2,NIO:2,NOK:2,NPR:2,NZD:2,OMR:3,PAB:2,PEN:2,PGK:2,PHP:2,PKR:2,PLN:2,PYG:0,QAR:2,RON:2,RSD:2,RUB:2,RWF:0,SAR:2,SBD:2,SCR:2,SEK:2,SGD:2,SHP:2,SLE:2,SOS:2,SRD:2,STN:2,SVC:2,SZL:2,THB:2,TND:3,TOP:2,TRY:2,TTD:2,TWD:2,TZS:2,UAH:2,UGX:0,USD:2,UYU:2,UZS:2,VEF:2,VND:0,VUV:0,WST:2,XAF:0,XCD:2,XOF:0,XPF:0,YER:2,ZAR:2,ZMW:2},useCurrencySetting=__name(props=>{var _a,_b,_c;let{currency="USD",placeholder}=props,parts=new Intl.NumberFormat("en-US",{style:"currency",currency}).formatToParts(1000.01),symbol=((_a=parts.find(p=>p.type==="currency"))==null?void 0:_a.value)??"$",thousandSeparator=((_b=parts.find(p=>p.type==="group"))==null?void 0:_b.value)??",",decimalSeparator=(_c=parts.find(p=>p.type==="decimal"))==null?void 0:_c.value,decimalScale=CURRENCY_DECIMAL_MAP[currency];return{symbol:`${symbol} `,thousandSeparator,decimalSeparator,placeholder:placeholder?`${symbol} ${placeholder}`:decimalSeparator?`${symbol} 0${decimalSeparator}${Array.from(Array(decimalScale)).map(()=>0).join("")}`:`${symbol} 0`,fixedDecimalScale:!!decimalSeparator,decimalScale}},"useCurrencySetting");var TextMaskAdapter=React196.forwardRef(__name(function(props,ref){let{onChange,...innerProps}=props;return React196.createElement(NumericFormat,{...innerProps,onValueChange:({value})=>{onChange==null||onChange({target:{name:props.name,value}})},valueIsNumericString:!0,getInputRef:ref,allowNegative:!0})},"TextMaskAdapter")),CurrencyInputRoot=styled_default2(Input_default2,{name:"CurrencyInput",slot:"root",overridesResolver:__name((props,styles2)=>styles2.root,"overridesResolver")})({}),CurrencyInput=React196.forwardRef(__name(function(inProps,ref){let props=useThemeProps2({props:inProps,name:"CurrencyInput"}),{currency="USD",name:name2,onChange,label,error,helperText,required,disabled,useMinorUnit,sx,className,...innerProps}=props,{symbol,thousandSeparator,decimalSeparator,placeholder,fixedDecimalScale,decimalScale}=useCurrencySetting(props),[_value,setValue]=useControlledState(props.value,props.defaultValue,useCallback32(value2=>onChange==null?void 0:onChange({target:{name:name2,value:value2}}),[onChange,name2])),value=useMemo44(()=>_value&&useMinorUnit?_value/Math.pow(10,decimalScale):_value,[_value,useMinorUnit,decimalScale]),max2=useMemo44(()=>props.max&&useMinorUnit?props.max/Math.pow(10,decimalScale):props.max,[props.max,useMinorUnit,decimalScale]),[isOverLimit,setIsOverLimit]=useState30(!!max2&&!!value&&value>max2),handleChange=useCallback32(event=>{var _a;if(event.target.value===""){setValue(void 0);return}let amount=Number(useMinorUnit&&decimalSeparator?(_a=event.target.value)==null?void 0:_a.replace(decimalSeparator,""):event.target.value);max2&&Number(event.target.value)>max2?setIsOverLimit(!0):setIsOverLimit(!1),setValue(amount)},[decimalSeparator,max2,useMinorUnit,setValue]);return React196.createElement(CurrencyInputRoot,{...innerProps,ref,value,placeholder,onChange:handleChange,error:error||isOverLimit,disabled,required,color:error||isOverLimit?"danger":props.color,label,helperText:isOverLimit?`limit: ${new Intl.NumberFormat("en-US",{style:"currency",currency}).format(max2)}`:helperText,slotProps:{input:{component:TextMaskAdapter,decimalSeparator,thousandSeparator,prefix:symbol,fixedDecimalScale,decimalScale,"aria-label":innerProps["aria-label"]}},sx:{...sx},className})},"CurrencyInput"));var CurrencyInput_default=CurrencyInput;import React207,{useCallback as useCallback38,useMemo as useMemo49,useRef as useRef56,useId as useId6,forwardRef as forwardRef90,useImperativeHandle as useImperativeHandle9,Fragment as Fragment18}from"react";var _TextMeasurer=class _TextMeasurer{constructor(font){let canvas=document.createElement("canvas");this.ctx=canvas.getContext("2d"),this.ctx&&font&&(this.ctx.font=font)}setFont(font){return this.ctx&&(this.ctx.font=font),this}setFontFromElement(el){return this.ctx&&(this.ctx.font=getComputedStyle(el).font),this}measureText(text7){return this.ctx?this.ctx.measureText(text7).width:0}measureMaxWidth(values2){if(!this.ctx)return 0;let max2=0;for(let i=0;i<values2.length;i++){let w=this.ctx.measureText(values2[i]).width;w>max2&&(max2=w)}return max2}};__name(_TextMeasurer,"TextMeasurer");var TextMeasurer=_TextMeasurer;function extractFieldsFromGroupingModel(items){let fields=new Set;for(let item of items)if("groupId"in item){let children=Array.isArray(item.children)?item.children:[item.children];extractFieldsFromGroupingModel(children).forEach(field=>fields.add(field))}else fields.add(item.field);return fields}__name(extractFieldsFromGroupingModel,"extractFieldsFromGroupingModel");function reorderColumnsByGroupingModel(columns,columnGroupingModel){let fieldsInGroupingModel=extractFieldsFromGroupingModel(columnGroupingModel),orderedFields=[];function collectFieldsInOrder(items){for(let item of items)if("groupId"in item){let children=Array.isArray(item.children)?item.children:[item.children];collectFieldsInOrder(children)}else orderedFields.includes(item.field)||orderedFields.push(item.field)}__name(collectFieldsInOrder,"collectFieldsInOrder"),collectFieldsInOrder(columnGroupingModel);let columnMap=new Map(columns.map(col=>[col.field,col])),reorderedColumns=[];for(let field of orderedFields){let column2=columnMap.get(field);column2&&reorderedColumns.push(column2)}for(let column2 of columns)fieldsInGroupingModel.has(column2.field)||reorderedColumns.push(column2);return reorderedColumns}__name(reorderColumnsByGroupingModel,"reorderColumnsByGroupingModel");function flattenColumnGroups(items,groupPath=[],columnIndex={current:0},visibleFields){let result=[];for(let item of items)if("groupId"in item){let newPath=[...groupPath,item.groupId],children=Array.isArray(item.children)?item.children:[item.children];result.push(...flattenColumnGroups(children,newPath,columnIndex,visibleFields))}else{if(visibleFields&&!visibleFields.has(item.field))continue;result.push({...item,groupPath,columnIndex:columnIndex.current++})}return result}__name(flattenColumnGroups,"flattenColumnGroups");function calculateColumnGroups(columnGroupingModel,columns,visibleFields){let fieldsInGroupingModel=extractFieldsFromGroupingModel(columnGroupingModel),flattenedColumns=flattenColumnGroups(columnGroupingModel,[],{current:0},visibleFields),columnIndexMap=new Map(flattenedColumns.map(col=>[col.field,col.columnIndex])),processedGroups=new Map,groupsByLevel=[],maxLevel=0;function processGroup(items,level,parentGroupId){let minIndex=1/0,maxIndex=-1/0;for(let item of items)if("groupId"in item){let groupKey=parentGroupId?`${parentGroupId}.${item.groupId}`:item.groupId;if(!processedGroups.has(groupKey)){let children=Array.isArray(item.children)?item.children:[item.children],{startIndex,colspan}=processGroup(children,level+1,groupKey),group={groupId:item.groupId,headerName:item.headerName,headerClassName:item.headerClassName,colspan,level,startIndex};processedGroups.set(groupKey,group),groupsByLevel[level]||(groupsByLevel[level]=[]),groupsByLevel[level].push(group),maxLevel=Math.max(maxLevel,level),minIndex=Math.min(minIndex,startIndex),maxIndex=Math.max(maxIndex,startIndex+colspan-1)}}else{let columnIndex=columnIndexMap.get(item.field);columnIndex!==void 0&&(minIndex=Math.min(minIndex,columnIndex),maxIndex=Math.max(maxIndex,columnIndex))}return{startIndex:minIndex===1/0?0:minIndex,colspan:maxIndex===-1/0?0:maxIndex-minIndex+1}}__name(processGroup,"processGroup"),processGroup(columnGroupingModel,0),groupsByLevel.forEach(level=>{level.sort((a,b)=>a.startIndex-b.startIndex)});let filteredGroupsByLevel=groupsByLevel.map(level=>level.filter(g=>g.colspan>0)).filter(level=>level.length>0),correctedMaxLevel=filteredGroupsByLevel.length>0?filteredGroupsByLevel.length-1:-1;return{groups:filteredGroupsByLevel,maxLevel:correctedMaxLevel,fieldsInGroupingModel}}__name(calculateColumnGroups,"calculateColumnGroups");function parsePxValue(value){if(!value)return null;let trimmed=value.trim();if(trimmed.endsWith("px")){let num=parseFloat(trimmed);return isNaN(num)?null:num}return null}__name(parsePxValue,"parsePxValue");function getTextAlign(props){return!props.editMode&&["number","date","currency"].includes(props.type||"")?"end":"start"}__name(getTextAlign,"getTextAlign");var numberFormatter=__name(value=>"Intl"in window?new Intl.NumberFormat().format(value):value,"numberFormatter");function computeHeaderWidth(headerEl){var _a,_b;let thStyle=getComputedStyle(headerEl),paddingX=parseFloat(thStyle.paddingLeft)+parseFloat(thStyle.paddingRight),borderX=parseFloat(thStyle.borderLeftWidth)+parseFloat(thStyle.borderRightWidth),stack=headerEl.firstElementChild;if(!stack)return paddingX;let stackStyle=getComputedStyle(stack),gap2=parseFloat(stackStyle.gap)||parseFloat(stackStyle.columnGap)||0,totalChildWidth=0,visibleChildCount=0;for(let child of Array.from(stack.children)){let el=child;if(!el.offsetWidth&&!el.offsetHeight)continue;visibleChildCount++;let textEl=((_a=el.querySelector)==null?void 0:_a.call(el,'[data-slot="header-text"]'))||(((_b=el.dataset)==null?void 0:_b.slot)==="header-text"?el:null);if(textEl){let htmlEl=textEl;if(getComputedStyle(htmlEl).display==="-webkit-box"){let measurer=new TextMeasurer;measurer.setFontFromElement(htmlEl),totalChildWidth+=measurer.measureText(htmlEl.textContent||"")}else totalChildWidth+=htmlEl.scrollWidth}else totalChildWidth+=el.offsetWidth}let totalGaps=visibleChildCount>1?(visibleChildCount-1)*gap2:0;return totalChildWidth+totalGaps+paddingX+borderX}__name(computeHeaderWidth,"computeHeaderWidth");function computeBodyWidth(headerEl,table2,field,dataInPage){let headId=headerEl.id,styleSource=(headId?table2.querySelector(`tbody td[headers="${CSS.escape(headId)}"]`):null)||headerEl,tdStyle=getComputedStyle(styleSource),bodyPaddingX=parseFloat(tdStyle.paddingLeft)+parseFloat(tdStyle.paddingRight),bodyBorderX=parseFloat(tdStyle.borderLeftWidth)+parseFloat(tdStyle.borderRightWidth),measurer=new TextMeasurer;measurer.setFont(tdStyle.font);let texts=[];for(let i=0;i<dataInPage.length;i++){let val=dataInPage[i][field];texts.push(val==null?"":String(val))}return measurer.measureMaxWidth(texts)+bodyPaddingX+bodyBorderX}__name(computeBodyWidth,"computeBodyWidth");function computeAutoFitWidth(params){let{headerEl,field,dataInPage}=params,table2=headerEl.closest("table");if(!table2)return null;let headerWidth=computeHeaderWidth(headerEl),bodyWidth=computeBodyWidth(headerEl,table2,field,dataInPage),finalWidth=Math.ceil(Math.max(headerWidth,bodyWidth)),thStyle=getComputedStyle(headerEl),resolvedMin=thStyle.minWidth,resolvedMax=thStyle.maxWidth,minPx=resolvedMin!=="none"?parseFloat(resolvedMin):NaN,maxPx=resolvedMax!=="none"?parseFloat(resolvedMax):NaN;return!isNaN(minPx)&&minPx>0&&(finalWidth=Math.max(finalWidth,minPx)),!isNaN(maxPx)&&maxPx>0&&(finalWidth=Math.min(finalWidth,maxPx)),finalWidth}__name(computeAutoFitWidth,"computeAutoFitWidth");import React197 from"react";import{jsx as _jsx113}from"react/jsx-runtime";var ArrowUpwardRounded_default=createSvgIcon2(_jsx113("path",{d:"M13 19V7.83l4.88 4.88c.39.39 1.03.39 1.42 0s.39-1.02 0-1.41l-6.59-6.59a.996.996 0 0 0-1.41 0l-6.6 6.58c-.39.39-.39 1.02 0 1.41s1.02.39 1.41 0L11 7.83V19c0 .55.45 1 1 1s1-.45 1-1"}),"ArrowUpwardRounded");var EllipsisDiv=styled_default2("div",{name:"DataTable",slot:"textEllipsis",shouldForwardProp:__name(prop=>prop!=="lineClamp","shouldForwardProp")})(({lineClamp})=>lineClamp&&lineClamp>1?{overflow:"hidden",display:"-webkit-box !important",WebkitBoxOrient:"vertical",WebkitLineClamp:lineClamp,whiteSpace:"normal",overflowWrap:"anywhere"}:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}),OverlayWrapper=styled_default2("tr",{name:"DataTable",slot:"overlayWrapper"})({position:"sticky",top:"calc(var(--unstable_TableCell-height, 32px))",left:0,right:0,zIndex:1,"& > td":{height:0,padding:0,border:"none !important"}}),VirtualizedTableBody=styled_default2("tbody",{name:"DataTable",slot:"tableBody"})({"&::after":{content:"''",display:"block",height:"0.01em"},[`& .${buttonClasses_default.root}`]:{"--Button-minHeight":"26px","--Button-paddingBlock":"0.25rem",lineHeight:1,marginTop:"-2px",marginBottom:"-2px"},[`& .${iconButtonClasses_default.root}`]:{"--IconButton-size":"26px",verticalAlign:"middle",marginTop:"-2px",marginBottom:"-2px"}}),StyledTableRow=styled_default2("tr",{name:"DataTable",slot:"tableRow",shouldForwardProp:__name(prop=>prop!=="striped","shouldForwardProp")})(({striped})=>({...striped&&{backgroundColor:"var(--TableRow-stripeBackground, var(--ceed-palette-background-level2))",color:"var(--ceed-palette-text-primary)","& td":{backgroundColor:"background.surface"}},"&:hover":{backgroundColor:"var(--TableRow-hoverBackground, var(--ceed-palette-background-level3))","& td":{backgroundColor:"var(--TableRow-hoverBackground, var(--ceed-palette-background-level3))"}}})),Asterisk=styled_default2("span",{name:"DataTable",slot:"headCellAsterisk"})(({theme})=>({color:"var(--ceed-palette-danger-500)",marginLeft:theme.spacing(.5)})),StyledTh=styled_default2(motion.th)(({theme})=>({boxShadow:"1px 0 var(--TableCell-borderColor)"})),StyledTd=styled_default2("td")(({theme})=>({transition:"box-shadow 0.3s","&:not(.is-last-left):not(.is-last-right)":{boxShadow:"1px 0 var(--TableCell-borderColor)"},".ScrollableRight &":{"&.is-last-left":{boxShadow:`1px 0 var(--TableCell-borderColor), ${theme.shadow.md}`}},".ScrollableLeft &":{"&.is-last-right":{boxShadow:`1px 0 var(--TableCell-borderColor), ${theme.shadow.md}`}}})),MotionSortIcon=motion(ArrowUpwardRounded_default),DefaultLoadingOverlay=__name(()=>React197.createElement(LinearProgress_default,{value:8,variant:"plain"}),"DefaultLoadingOverlay"),DefaultNoRowsOverlay=__name(()=>React197.createElement(Typography_default,{level:"body-sm",textColor:"text.tertiary"},"No rows"),"DefaultNoRowsOverlay"),Resizer=__name((ref,targetRef=ref,onResizeStateChange,onAutoFit)=>React197.createElement(Box_default2,{sx:{position:"absolute",top:0,right:0,bottom:0,width:"7px",cursor:"col-resize","&::after":{content:'""',position:"absolute",top:0,bottom:0,right:0,width:"2px",bgcolor:"transparent",transition:"background-color 150ms ease"},"&:hover::after":{bgcolor:"primary.300"},"&[data-resizing]::after":{bgcolor:"primary.500"}},onClick:e=>e.stopPropagation(),onDoubleClick:e=>{e.stopPropagation(),e.preventDefault(),onAutoFit==null||onAutoFit()},onMouseDown:e=>{var _a;if(e.detail>=2)return;let resizerEl=e.currentTarget;resizerEl.dataset.resizing="";let initialX=e.clientX,initialWidth=(_a=ref.current)==null?void 0:_a.getBoundingClientRect().width,activated=!1,DRAG_THRESHOLD=3,thStyle=ref.current?getComputedStyle(ref.current):null,minW=thStyle?parseFloat(thStyle.minWidth):NaN,maxW=thStyle?parseFloat(thStyle.maxWidth):NaN,onMouseMove=__name(e2=>{if(!initialWidth)return;let delta=e2.clientX-initialX;if(!activated){if(Math.abs(delta)<DRAG_THRESHOLD)return;activated=!0,onResizeStateChange==null||onResizeStateChange(!0)}if(!ref.current||!targetRef.current){onMouseUp();return}let newWidth=initialWidth+delta;!isNaN(minW)&&minW>0&&(newWidth=Math.max(newWidth,minW)),!isNaN(maxW)&&maxW>0&&(newWidth=Math.min(newWidth,maxW)),ref.current.style.width=`${newWidth}px`,targetRef.current.style.width=`${newWidth}px`},"onMouseMove"),onMouseUp=__name(()=>{resizerEl.removeAttribute("data-resizing"),document.removeEventListener("mousemove",onMouseMove),document.removeEventListener("mouseup",onMouseUp),activated&&requestAnimationFrame(()=>onResizeStateChange==null?void 0:onResizeStateChange(!1))},"onMouseUp");document.addEventListener("mousemove",onMouseMove),document.addEventListener("mouseup",onMouseUp)}}),"Resizer");import React204,{useRef as useRef54,useState as useState33,useLayoutEffect as useLayoutEffect6,useMemo as useMemo47,useCallback as useCallback35,useEffect as useEffect47,memo as memo7,createElement as createElement9}from"react";import React200,{forwardRef as forwardRef89,useCallback as useCallback34,useEffect as useEffect46,useImperativeHandle as useImperativeHandle8,useRef as useRef53,useState as useState32}from"react";function isString2(str){return typeof str=="string"||str instanceof String}__name(isString2,"isString");function isObject(obj){var _obj$constructor;return typeof obj=="object"&&obj!=null&&(obj==null||(_obj$constructor=obj.constructor)==null?void 0:_obj$constructor.name)==="Object"}__name(isObject,"isObject");function pick(obj,keys2){return Array.isArray(keys2)?pick(obj,(_4,k)=>keys2.includes(k)):Object.entries(obj).reduce((acc,_ref)=>{let[k,v]=_ref;return keys2(v,k)&&(acc[k]=v),acc},{})}__name(pick,"pick");var DIRECTION={NONE:"NONE",LEFT:"LEFT",FORCE_LEFT:"FORCE_LEFT",RIGHT:"RIGHT",FORCE_RIGHT:"FORCE_RIGHT"};function forceDirection(direction){switch(direction){case DIRECTION.LEFT:return DIRECTION.FORCE_LEFT;case DIRECTION.RIGHT:return DIRECTION.FORCE_RIGHT;default:return direction}}__name(forceDirection,"forceDirection");function escapeRegExp2(str){return str.replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1")}__name(escapeRegExp2,"escapeRegExp");function objectIncludes(b,a){if(a===b)return!0;let arrA=Array.isArray(a),arrB=Array.isArray(b),i;if(arrA&&arrB){if(a.length!=b.length)return!1;for(i=0;i<a.length;i++)if(!objectIncludes(a[i],b[i]))return!1;return!0}if(arrA!=arrB)return!1;if(a&&b&&typeof a=="object"&&typeof b=="object"){let dateA=a instanceof Date,dateB=b instanceof Date;if(dateA&&dateB)return a.getTime()==b.getTime();if(dateA!=dateB)return!1;let regexpA=a instanceof RegExp,regexpB=b instanceof RegExp;if(regexpA&&regexpB)return a.toString()==b.toString();if(regexpA!=regexpB)return!1;let keys2=Object.keys(a);for(i=0;i<keys2.length;i++)if(!Object.prototype.hasOwnProperty.call(b,keys2[i]))return!1;for(i=0;i<keys2.length;i++)if(!objectIncludes(b[keys2[i]],a[keys2[i]]))return!1;return!0}else if(a&&b&&typeof a=="function"&&typeof b=="function")return a.toString()===b.toString();return!1}__name(objectIncludes,"objectIncludes");var _ActionDetails=class _ActionDetails{constructor(opts){for(Object.assign(this,opts);this.value.slice(0,this.startChangePos)!==this.oldValue.slice(0,this.startChangePos);)--this.oldSelection.start;if(this.insertedCount)for(;this.value.slice(this.cursorPos)!==this.oldValue.slice(this.oldSelection.end);)this.value.length-this.cursorPos<this.oldValue.length-this.oldSelection.end?++this.oldSelection.end:++this.cursorPos}get startChangePos(){return Math.min(this.cursorPos,this.oldSelection.start)}get insertedCount(){return this.cursorPos-this.startChangePos}get inserted(){return this.value.substr(this.startChangePos,this.insertedCount)}get removedCount(){return Math.max(this.oldSelection.end-this.startChangePos||this.oldValue.length-this.value.length,0)}get removed(){return this.oldValue.substr(this.startChangePos,this.removedCount)}get head(){return this.value.substring(0,this.startChangePos)}get tail(){return this.value.substring(this.startChangePos+this.insertedCount)}get removeDirection(){return!this.removedCount||this.insertedCount?DIRECTION.NONE:(this.oldSelection.end===this.cursorPos||this.oldSelection.start===this.cursorPos)&&this.oldSelection.end===this.oldSelection.start?DIRECTION.RIGHT:DIRECTION.LEFT}};__name(_ActionDetails,"ActionDetails");var ActionDetails=_ActionDetails;function IMask(el,opts){return new IMask.InputMask(el,opts)}__name(IMask,"IMask");function maskedClass(mask){if(mask==null)throw new Error("mask property should be defined");return mask instanceof RegExp?IMask.MaskedRegExp:isString2(mask)?IMask.MaskedPattern:mask===Date?IMask.MaskedDate:mask===Number?IMask.MaskedNumber:Array.isArray(mask)||mask===Array?IMask.MaskedDynamic:IMask.Masked&&mask.prototype instanceof IMask.Masked?mask:IMask.Masked&&mask instanceof IMask.Masked?mask.constructor:mask instanceof Function?IMask.MaskedFunction:(console.warn("Mask not found for mask",mask),IMask.Masked)}__name(maskedClass,"maskedClass");function normalizeOpts(opts){if(!opts)throw new Error("Options in not defined");if(IMask.Masked){if(opts.prototype instanceof IMask.Masked)return{mask:opts};let{mask=void 0,...instanceOpts}=opts instanceof IMask.Masked?{mask:opts}:isObject(opts)&&opts.mask instanceof IMask.Masked?opts:{};if(mask){let _mask=mask.mask;return{...pick(mask,(_4,k)=>!k.startsWith("_")),mask:mask.constructor,_mask,...instanceOpts}}}return isObject(opts)?{...opts}:{mask:opts}}__name(normalizeOpts,"normalizeOpts");function createMask(opts){if(IMask.Masked&&opts instanceof IMask.Masked)return opts;let nOpts=normalizeOpts(opts),MaskedClass=maskedClass(nOpts.mask);if(!MaskedClass)throw new Error("Masked class is not found for provided mask "+nOpts.mask+", appropriate module needs to be imported manually before creating mask.");return nOpts.mask===MaskedClass&&delete nOpts.mask,nOpts._mask&&(nOpts.mask=nOpts._mask,delete nOpts._mask),new MaskedClass(nOpts)}__name(createMask,"createMask");IMask.createMask=createMask;var _MaskElement=class _MaskElement{get selectionStart(){let start5;try{start5=this._unsafeSelectionStart}catch{}return start5??this.value.length}get selectionEnd(){let end2;try{end2=this._unsafeSelectionEnd}catch{}return end2??this.value.length}select(start5,end2){if(!(start5==null||end2==null||start5===this.selectionStart&&end2===this.selectionEnd))try{this._unsafeSelect(start5,end2)}catch{}}get isActive(){return!1}};__name(_MaskElement,"MaskElement");var MaskElement=_MaskElement;IMask.MaskElement=MaskElement;var KEY_Z=90,KEY_Y=89,_HTMLMaskElement=class _HTMLMaskElement extends MaskElement{constructor(input){super(),this.input=input,this._onKeydown=this._onKeydown.bind(this),this._onInput=this._onInput.bind(this),this._onBeforeinput=this._onBeforeinput.bind(this),this._onCompositionEnd=this._onCompositionEnd.bind(this)}get rootElement(){var _this$input$getRootNo,_this$input$getRootNo2,_this$input;return(_this$input$getRootNo=(_this$input$getRootNo2=(_this$input=this.input).getRootNode)==null?void 0:_this$input$getRootNo2.call(_this$input))!=null?_this$input$getRootNo:document}get isActive(){return this.input===this.rootElement.activeElement}bindEvents(handlers2){this.input.addEventListener("keydown",this._onKeydown),this.input.addEventListener("input",this._onInput),this.input.addEventListener("beforeinput",this._onBeforeinput),this.input.addEventListener("compositionend",this._onCompositionEnd),this.input.addEventListener("drop",handlers2.drop),this.input.addEventListener("click",handlers2.click),this.input.addEventListener("focus",handlers2.focus),this.input.addEventListener("blur",handlers2.commit),this._handlers=handlers2}_onKeydown(e){if(this._handlers.redo&&(e.keyCode===KEY_Z&&e.shiftKey&&(e.metaKey||e.ctrlKey)||e.keyCode===KEY_Y&&e.ctrlKey))return e.preventDefault(),this._handlers.redo(e);if(this._handlers.undo&&e.keyCode===KEY_Z&&(e.metaKey||e.ctrlKey))return e.preventDefault(),this._handlers.undo(e);e.isComposing||this._handlers.selectionChange(e)}_onBeforeinput(e){if(e.inputType==="historyUndo"&&this._handlers.undo)return e.preventDefault(),this._handlers.undo(e);if(e.inputType==="historyRedo"&&this._handlers.redo)return e.preventDefault(),this._handlers.redo(e)}_onCompositionEnd(e){this._handlers.input(e)}_onInput(e){e.isComposing||this._handlers.input(e)}unbindEvents(){this.input.removeEventListener("keydown",this._onKeydown),this.input.removeEventListener("input",this._onInput),this.input.removeEventListener("beforeinput",this._onBeforeinput),this.input.removeEventListener("compositionend",this._onCompositionEnd),this.input.removeEventListener("drop",this._handlers.drop),this.input.removeEventListener("click",this._handlers.click),this.input.removeEventListener("focus",this._handlers.focus),this.input.removeEventListener("blur",this._handlers.commit),this._handlers={}}};__name(_HTMLMaskElement,"HTMLMaskElement");var HTMLMaskElement=_HTMLMaskElement;IMask.HTMLMaskElement=HTMLMaskElement;var _HTMLInputMaskElement=class _HTMLInputMaskElement extends HTMLMaskElement{constructor(input){super(input),this.input=input}get _unsafeSelectionStart(){return this.input.selectionStart!=null?this.input.selectionStart:this.value.length}get _unsafeSelectionEnd(){return this.input.selectionEnd}_unsafeSelect(start5,end2){this.input.setSelectionRange(start5,end2)}get value(){return this.input.value}set value(value){this.input.value=value}};__name(_HTMLInputMaskElement,"HTMLInputMaskElement");var HTMLInputMaskElement=_HTMLInputMaskElement;IMask.HTMLMaskElement=HTMLMaskElement;var _HTMLContenteditableMaskElement=class _HTMLContenteditableMaskElement extends HTMLMaskElement{get _unsafeSelectionStart(){let root4=this.rootElement,selection=root4.getSelection&&root4.getSelection(),anchorOffset=selection&&selection.anchorOffset,focusOffset=selection&&selection.focusOffset;return focusOffset==null||anchorOffset==null||anchorOffset<focusOffset?anchorOffset:focusOffset}get _unsafeSelectionEnd(){let root4=this.rootElement,selection=root4.getSelection&&root4.getSelection(),anchorOffset=selection&&selection.anchorOffset,focusOffset=selection&&selection.focusOffset;return focusOffset==null||anchorOffset==null||anchorOffset>focusOffset?anchorOffset:focusOffset}_unsafeSelect(start5,end2){if(!this.rootElement.createRange)return;let range=this.rootElement.createRange();range.setStart(this.input.firstChild||this.input,start5),range.setEnd(this.input.lastChild||this.input,end2);let root4=this.rootElement,selection=root4.getSelection&&root4.getSelection();selection&&(selection.removeAllRanges(),selection.addRange(range))}get value(){return this.input.textContent||""}set value(value){this.input.textContent=value}};__name(_HTMLContenteditableMaskElement,"HTMLContenteditableMaskElement");var HTMLContenteditableMaskElement=_HTMLContenteditableMaskElement;IMask.HTMLContenteditableMaskElement=HTMLContenteditableMaskElement;var _InputHistory=class _InputHistory{constructor(){this.states=[],this.currentIndex=0}get currentState(){return this.states[this.currentIndex]}get isEmpty(){return this.states.length===0}push(state){this.currentIndex<this.states.length-1&&(this.states.length=this.currentIndex+1),this.states.push(state),this.states.length>_InputHistory.MAX_LENGTH&&this.states.shift(),this.currentIndex=this.states.length-1}go(steps2){return this.currentIndex=Math.min(Math.max(this.currentIndex+steps2,0),this.states.length-1),this.currentState}undo(){return this.go(-1)}redo(){return this.go(1)}clear(){this.states.length=0,this.currentIndex=0}};__name(_InputHistory,"InputHistory");var InputHistory=_InputHistory;InputHistory.MAX_LENGTH=100;var _InputMask=class _InputMask{constructor(el,opts){this.el=el instanceof MaskElement?el:el.isContentEditable&&el.tagName!=="INPUT"&&el.tagName!=="TEXTAREA"?new HTMLContenteditableMaskElement(el):new HTMLInputMaskElement(el),this.masked=createMask(opts),this._listeners={},this._value="",this._unmaskedValue="",this._rawInputValue="",this.history=new InputHistory,this._saveSelection=this._saveSelection.bind(this),this._onInput=this._onInput.bind(this),this._onChange=this._onChange.bind(this),this._onDrop=this._onDrop.bind(this),this._onFocus=this._onFocus.bind(this),this._onClick=this._onClick.bind(this),this._onUndo=this._onUndo.bind(this),this._onRedo=this._onRedo.bind(this),this.alignCursor=this.alignCursor.bind(this),this.alignCursorFriendly=this.alignCursorFriendly.bind(this),this._bindEvents(),this.updateValue(),this._onChange()}maskEquals(mask){var _this$masked;return mask==null||((_this$masked=this.masked)==null?void 0:_this$masked.maskEquals(mask))}get mask(){return this.masked.mask}set mask(mask){if(this.maskEquals(mask))return;if(!(mask instanceof IMask.Masked)&&this.masked.constructor===maskedClass(mask)){this.masked.updateOptions({mask});return}let masked=mask instanceof IMask.Masked?mask:createMask({mask});masked.unmaskedValue=this.masked.unmaskedValue,this.masked=masked}get value(){return this._value}set value(str){this.value!==str&&(this.masked.value=str,this.updateControl("auto"))}get unmaskedValue(){return this._unmaskedValue}set unmaskedValue(str){this.unmaskedValue!==str&&(this.masked.unmaskedValue=str,this.updateControl("auto"))}get rawInputValue(){return this._rawInputValue}set rawInputValue(str){this.rawInputValue!==str&&(this.masked.rawInputValue=str,this.updateControl(),this.alignCursor())}get typedValue(){return this.masked.typedValue}set typedValue(val){this.masked.typedValueEquals(val)||(this.masked.typedValue=val,this.updateControl("auto"))}get displayValue(){return this.masked.displayValue}_bindEvents(){this.el.bindEvents({selectionChange:this._saveSelection,input:this._onInput,drop:this._onDrop,click:this._onClick,focus:this._onFocus,commit:this._onChange,undo:this._onUndo,redo:this._onRedo})}_unbindEvents(){this.el&&this.el.unbindEvents()}_fireEvent(ev,e){let listeners=this._listeners[ev];listeners&&listeners.forEach(l=>l(e))}get selectionStart(){return this._cursorChanging?this._changingCursorPos:this.el.selectionStart}get cursorPos(){return this._cursorChanging?this._changingCursorPos:this.el.selectionEnd}set cursorPos(pos){!this.el||!this.el.isActive||(this.el.select(pos,pos),this._saveSelection())}_saveSelection(){this.displayValue!==this.el.value&&console.warn("Element value was changed outside of mask. Syncronize mask using `mask.updateValue()` to work properly."),this._selection={start:this.selectionStart,end:this.cursorPos}}updateValue(){this.masked.value=this.el.value,this._value=this.masked.value}updateControl(cursorPos){let newUnmaskedValue=this.masked.unmaskedValue,newValue=this.masked.value,newRawInputValue=this.masked.rawInputValue,newDisplayValue=this.displayValue,isChanged=this.unmaskedValue!==newUnmaskedValue||this.value!==newValue||this._rawInputValue!==newRawInputValue;this._unmaskedValue=newUnmaskedValue,this._value=newValue,this._rawInputValue=newRawInputValue,this.el.value!==newDisplayValue&&(this.el.value=newDisplayValue),cursorPos==="auto"?this.alignCursor():cursorPos!=null&&(this.cursorPos=cursorPos),isChanged&&this._fireChangeEvents(),!this._historyChanging&&(isChanged||this.history.isEmpty)&&this.history.push({unmaskedValue:newUnmaskedValue,selection:{start:this.selectionStart,end:this.cursorPos}})}updateOptions(opts){let{mask,...restOpts}=opts,updateMask=!this.maskEquals(mask),updateOpts=this.masked.optionsIsChanged(restOpts);updateMask&&(this.mask=mask),updateOpts&&this.masked.updateOptions(restOpts),(updateMask||updateOpts)&&this.updateControl()}updateCursor(cursorPos){cursorPos!=null&&(this.cursorPos=cursorPos,this._delayUpdateCursor(cursorPos))}_delayUpdateCursor(cursorPos){this._abortUpdateCursor(),this._changingCursorPos=cursorPos,this._cursorChanging=setTimeout(()=>{this.el&&(this.cursorPos=this._changingCursorPos,this._abortUpdateCursor())},10)}_fireChangeEvents(){this._fireEvent("accept",this._inputEvent),this.masked.isComplete&&this._fireEvent("complete",this._inputEvent)}_abortUpdateCursor(){this._cursorChanging&&(clearTimeout(this._cursorChanging),delete this._cursorChanging)}alignCursor(){this.cursorPos=this.masked.nearestInputPos(this.masked.nearestInputPos(this.cursorPos,DIRECTION.LEFT))}alignCursorFriendly(){this.selectionStart===this.cursorPos&&this.alignCursor()}on(ev,handler){return this._listeners[ev]||(this._listeners[ev]=[]),this._listeners[ev].push(handler),this}off(ev,handler){if(!this._listeners[ev])return this;if(!handler)return delete this._listeners[ev],this;let hIndex=this._listeners[ev].indexOf(handler);return hIndex>=0&&this._listeners[ev].splice(hIndex,1),this}_onInput(e){this._inputEvent=e,this._abortUpdateCursor();let details=new ActionDetails({value:this.el.value,cursorPos:this.cursorPos,oldValue:this.displayValue,oldSelection:this._selection}),oldRawValue=this.masked.rawInputValue,offset2=this.masked.splice(details.startChangePos,details.removed.length,details.inserted,details.removeDirection,{input:!0,raw:!0}).offset,removeDirection=oldRawValue===this.masked.rawInputValue?details.removeDirection:DIRECTION.NONE,cursorPos=this.masked.nearestInputPos(details.startChangePos+offset2,removeDirection);removeDirection!==DIRECTION.NONE&&(cursorPos=this.masked.nearestInputPos(cursorPos,DIRECTION.NONE)),this.updateControl(cursorPos),delete this._inputEvent}_onChange(){this.displayValue!==this.el.value&&this.updateValue(),this.masked.doCommit(),this.updateControl(),this._saveSelection()}_onDrop(ev){ev.preventDefault(),ev.stopPropagation()}_onFocus(ev){this.alignCursorFriendly()}_onClick(ev){this.alignCursorFriendly()}_onUndo(){this._applyHistoryState(this.history.undo())}_onRedo(){this._applyHistoryState(this.history.redo())}_applyHistoryState(state){state&&(this._historyChanging=!0,this.unmaskedValue=state.unmaskedValue,this.el.select(state.selection.start,state.selection.end),this._saveSelection(),this._historyChanging=!1)}destroy(){this._unbindEvents(),this._listeners.length=0,delete this.el}};__name(_InputMask,"InputMask");var InputMask=_InputMask;IMask.InputMask=InputMask;var _ChangeDetails=class _ChangeDetails{static normalize(prep){return Array.isArray(prep)?prep:[prep,new _ChangeDetails]}constructor(details){Object.assign(this,{inserted:"",rawInserted:"",tailShift:0,skip:!1},details)}aggregate(details){return this.inserted+=details.inserted,this.rawInserted+=details.rawInserted,this.tailShift+=details.tailShift,this.skip=this.skip||details.skip,this}get offset(){return this.tailShift+this.inserted.length}get consumed(){return!!this.rawInserted||this.skip}equals(details){return this.inserted===details.inserted&&this.tailShift===details.tailShift&&this.rawInserted===details.rawInserted&&this.skip===details.skip}};__name(_ChangeDetails,"ChangeDetails");var ChangeDetails=_ChangeDetails;IMask.ChangeDetails=ChangeDetails;var _ContinuousTailDetails=class _ContinuousTailDetails{constructor(value,from2,stop2){value===void 0&&(value=""),from2===void 0&&(from2=0),this.value=value,this.from=from2,this.stop=stop2}toString(){return this.value}extend(tail){this.value+=String(tail)}appendTo(masked){return masked.append(this.toString(),{tail:!0}).aggregate(masked._appendPlaceholder())}get state(){return{value:this.value,from:this.from,stop:this.stop}}set state(state){Object.assign(this,state)}unshift(beforePos){if(!this.value.length||beforePos!=null&&this.from>=beforePos)return"";let shiftChar=this.value[0];return this.value=this.value.slice(1),shiftChar}shift(){if(!this.value.length)return"";let shiftChar=this.value[this.value.length-1];return this.value=this.value.slice(0,-1),shiftChar}};__name(_ContinuousTailDetails,"ContinuousTailDetails");var ContinuousTailDetails=_ContinuousTailDetails;var _Masked=class _Masked{constructor(opts){this._value="",this._update({..._Masked.DEFAULTS,...opts}),this._initialized=!0}updateOptions(opts){this.optionsIsChanged(opts)&&this.withValueRefresh(this._update.bind(this,opts))}_update(opts){Object.assign(this,opts)}get state(){return{_value:this.value,_rawInputValue:this.rawInputValue}}set state(state){this._value=state._value}reset(){this._value=""}get value(){return this._value}set value(value){this.resolve(value,{input:!0})}resolve(value,flags){flags===void 0&&(flags={input:!0}),this.reset(),this.append(value,flags,""),this.doCommit()}get unmaskedValue(){return this.value}set unmaskedValue(value){this.resolve(value,{})}get typedValue(){return this.parse?this.parse(this.value,this):this.unmaskedValue}set typedValue(value){this.format?this.value=this.format(value,this):this.unmaskedValue=String(value)}get rawInputValue(){return this.extractInput(0,this.displayValue.length,{raw:!0})}set rawInputValue(value){this.resolve(value,{raw:!0})}get displayValue(){return this.value}get isComplete(){return!0}get isFilled(){return this.isComplete}nearestInputPos(cursorPos,direction){return cursorPos}totalInputPositions(fromPos,toPos){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length),Math.min(this.displayValue.length,toPos-fromPos)}extractInput(fromPos,toPos,flags){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length),this.displayValue.slice(fromPos,toPos)}extractTail(fromPos,toPos){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length),new ContinuousTailDetails(this.extractInput(fromPos,toPos),fromPos)}appendTail(tail){return isString2(tail)&&(tail=new ContinuousTailDetails(String(tail))),tail.appendTo(this)}_appendCharRaw(ch,flags){return ch?(this._value+=ch,new ChangeDetails({inserted:ch,rawInserted:ch})):new ChangeDetails}_appendChar(ch,flags,checkTail){flags===void 0&&(flags={});let consistentState=this.state,details;if([ch,details]=this.doPrepareChar(ch,flags),ch&&(details=details.aggregate(this._appendCharRaw(ch,flags)),!details.rawInserted&&this.autofix==="pad")){let noFixState=this.state;this.state=consistentState;let fixDetails=this.pad(flags),chDetails=this._appendCharRaw(ch,flags);fixDetails=fixDetails.aggregate(chDetails),chDetails.rawInserted||fixDetails.equals(details)?details=fixDetails:this.state=noFixState}if(details.inserted){let consistentTail,appended=this.doValidate(flags)!==!1;if(appended&&checkTail!=null){let beforeTailState=this.state;if(this.overwrite===!0){consistentTail=checkTail.state;for(let i=0;i<details.rawInserted.length;++i)checkTail.unshift(this.displayValue.length-details.tailShift)}let tailDetails=this.appendTail(checkTail);if(appended=tailDetails.rawInserted.length===checkTail.toString().length,!(appended&&tailDetails.inserted)&&this.overwrite==="shift"){this.state=beforeTailState,consistentTail=checkTail.state;for(let i=0;i<details.rawInserted.length;++i)checkTail.shift();tailDetails=this.appendTail(checkTail),appended=tailDetails.rawInserted.length===checkTail.toString().length}appended&&tailDetails.inserted&&(this.state=beforeTailState)}appended||(details=new ChangeDetails,this.state=consistentState,checkTail&&consistentTail&&(checkTail.state=consistentTail))}return details}_appendPlaceholder(){return new ChangeDetails}_appendEager(){return new ChangeDetails}append(str,flags,tail){if(!isString2(str))throw new Error("value should be string");let checkTail=isString2(tail)?new ContinuousTailDetails(String(tail)):tail;flags!=null&&flags.tail&&(flags._beforeTailState=this.state);let details;[str,details]=this.doPrepare(str,flags);for(let ci=0;ci<str.length;++ci){let d=this._appendChar(str[ci],flags,checkTail);if(!d.rawInserted&&!this.doSkipInvalid(str[ci],flags,checkTail))break;details.aggregate(d)}return(this.eager===!0||this.eager==="append")&&flags!=null&&flags.input&&str&&details.aggregate(this._appendEager()),checkTail!=null&&(details.tailShift+=this.appendTail(checkTail).tailShift),details}remove(fromPos,toPos){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length),this._value=this.displayValue.slice(0,fromPos)+this.displayValue.slice(toPos),new ChangeDetails}withValueRefresh(fn2){if(this._refreshing||!this._initialized)return fn2();this._refreshing=!0;let rawInput=this.rawInputValue,value=this.value,ret=fn2();return this.rawInputValue=rawInput,this.value&&this.value!==value&&value.indexOf(this.value)===0&&(this.append(value.slice(this.displayValue.length),{},""),this.doCommit()),delete this._refreshing,ret}runIsolated(fn2){if(this._isolated||!this._initialized)return fn2(this);this._isolated=!0;let state=this.state,ret=fn2(this);return this.state=state,delete this._isolated,ret}doSkipInvalid(ch,flags,checkTail){return!!this.skipInvalid}doPrepare(str,flags){return flags===void 0&&(flags={}),ChangeDetails.normalize(this.prepare?this.prepare(str,this,flags):str)}doPrepareChar(str,flags){return flags===void 0&&(flags={}),ChangeDetails.normalize(this.prepareChar?this.prepareChar(str,this,flags):str)}doValidate(flags){return(!this.validate||this.validate(this.value,this,flags))&&(!this.parent||this.parent.doValidate(flags))}doCommit(){this.commit&&this.commit(this.value,this)}splice(start5,deleteCount,inserted,removeDirection,flags){inserted===void 0&&(inserted=""),removeDirection===void 0&&(removeDirection=DIRECTION.NONE),flags===void 0&&(flags={input:!0});let tailPos=start5+deleteCount,tail=this.extractTail(tailPos),eagerRemove=this.eager===!0||this.eager==="remove",oldRawValue;eagerRemove&&(removeDirection=forceDirection(removeDirection),oldRawValue=this.extractInput(0,tailPos,{raw:!0}));let startChangePos=start5,details=new ChangeDetails;if(removeDirection!==DIRECTION.NONE&&(startChangePos=this.nearestInputPos(start5,deleteCount>1&&start5!==0&&!eagerRemove?DIRECTION.NONE:removeDirection),details.tailShift=startChangePos-start5),details.aggregate(this.remove(startChangePos)),eagerRemove&&removeDirection!==DIRECTION.NONE&&oldRawValue===this.rawInputValue)if(removeDirection===DIRECTION.FORCE_LEFT){let valLength;for(;oldRawValue===this.rawInputValue&&(valLength=this.displayValue.length);)details.aggregate(new ChangeDetails({tailShift:-1})).aggregate(this.remove(valLength-1))}else removeDirection===DIRECTION.FORCE_RIGHT&&tail.unshift();return details.aggregate(this.append(inserted,flags,tail))}maskEquals(mask){return this.mask===mask}optionsIsChanged(opts){return!objectIncludes(this,opts)}typedValueEquals(value){let tval=this.typedValue;return value===tval||_Masked.EMPTY_VALUES.includes(value)&&_Masked.EMPTY_VALUES.includes(tval)||(this.format?this.format(value,this)===this.format(this.typedValue,this):!1)}pad(flags){return new ChangeDetails}};__name(_Masked,"Masked");var Masked=_Masked;Masked.DEFAULTS={skipInvalid:!0};Masked.EMPTY_VALUES=[void 0,null,""];IMask.Masked=Masked;var _ChunksTailDetails=class _ChunksTailDetails{constructor(chunks,from2){chunks===void 0&&(chunks=[]),from2===void 0&&(from2=0),this.chunks=chunks,this.from=from2}toString(){return this.chunks.map(String).join("")}extend(tailChunk){if(!String(tailChunk))return;tailChunk=isString2(tailChunk)?new ContinuousTailDetails(String(tailChunk)):tailChunk;let lastChunk=this.chunks[this.chunks.length-1],extendLast=lastChunk&&(lastChunk.stop===tailChunk.stop||tailChunk.stop==null)&&tailChunk.from===lastChunk.from+lastChunk.toString().length;if(tailChunk instanceof ContinuousTailDetails)extendLast?lastChunk.extend(tailChunk.toString()):this.chunks.push(tailChunk);else if(tailChunk instanceof _ChunksTailDetails){if(tailChunk.stop==null){let firstTailChunk;for(;tailChunk.chunks.length&&tailChunk.chunks[0].stop==null;)firstTailChunk=tailChunk.chunks.shift(),firstTailChunk.from+=tailChunk.from,this.extend(firstTailChunk)}tailChunk.toString()&&(tailChunk.stop=tailChunk.blockIndex,this.chunks.push(tailChunk))}}appendTo(masked){if(!(masked instanceof IMask.MaskedPattern))return new ContinuousTailDetails(this.toString()).appendTo(masked);let details=new ChangeDetails;for(let ci=0;ci<this.chunks.length;++ci){let chunk=this.chunks[ci],lastBlockIter=masked._mapPosToBlock(masked.displayValue.length),stop2=chunk.stop,chunkBlock;if(stop2!=null&&(!lastBlockIter||lastBlockIter.index<=stop2)&&((chunk instanceof _ChunksTailDetails||masked._stops.indexOf(stop2)>=0)&&details.aggregate(masked._appendPlaceholder(stop2)),chunkBlock=chunk instanceof _ChunksTailDetails&&masked._blocks[stop2]),chunkBlock){let tailDetails=chunkBlock.appendTail(chunk);details.aggregate(tailDetails);let remainChars=chunk.toString().slice(tailDetails.rawInserted.length);remainChars&&details.aggregate(masked.append(remainChars,{tail:!0}))}else details.aggregate(masked.append(chunk.toString(),{tail:!0}))}return details}get state(){return{chunks:this.chunks.map(c=>c.state),from:this.from,stop:this.stop,blockIndex:this.blockIndex}}set state(state){let{chunks,...props}=state;Object.assign(this,props),this.chunks=chunks.map(cstate=>{let chunk="chunks"in cstate?new _ChunksTailDetails:new ContinuousTailDetails;return chunk.state=cstate,chunk})}unshift(beforePos){if(!this.chunks.length||beforePos!=null&&this.from>=beforePos)return"";let chunkShiftPos=beforePos!=null?beforePos-this.from:beforePos,ci=0;for(;ci<this.chunks.length;){let chunk=this.chunks[ci],shiftChar=chunk.unshift(chunkShiftPos);if(chunk.toString()){if(!shiftChar)break;++ci}else this.chunks.splice(ci,1);if(shiftChar)return shiftChar}return""}shift(){if(!this.chunks.length)return"";let ci=this.chunks.length-1;for(;0<=ci;){let chunk=this.chunks[ci],shiftChar=chunk.shift();if(chunk.toString()){if(!shiftChar)break;--ci}else this.chunks.splice(ci,1);if(shiftChar)return shiftChar}return""}};__name(_ChunksTailDetails,"ChunksTailDetails");var ChunksTailDetails=_ChunksTailDetails;var _PatternCursor=class _PatternCursor{constructor(masked,pos){this.masked=masked,this._log=[];let{offset:offset2,index:index2}=masked._mapPosToBlock(pos)||(pos<0?{index:0,offset:0}:{index:this.masked._blocks.length,offset:0});this.offset=offset2,this.index=index2,this.ok=!1}get block(){return this.masked._blocks[this.index]}get pos(){return this.masked._blockStartPos(this.index)+this.offset}get state(){return{index:this.index,offset:this.offset,ok:this.ok}}set state(s){Object.assign(this,s)}pushState(){this._log.push(this.state)}popState(){let s=this._log.pop();return s&&(this.state=s),s}bindBlock(){this.block||(this.index<0&&(this.index=0,this.offset=0),this.index>=this.masked._blocks.length&&(this.index=this.masked._blocks.length-1,this.offset=this.block.displayValue.length))}_pushLeft(fn2){for(this.pushState(),this.bindBlock();0<=this.index;--this.index,this.offset=((_this$block=this.block)==null?void 0:_this$block.displayValue.length)||0){var _this$block;if(fn2())return this.ok=!0}return this.ok=!1}_pushRight(fn2){for(this.pushState(),this.bindBlock();this.index<this.masked._blocks.length;++this.index,this.offset=0)if(fn2())return this.ok=!0;return this.ok=!1}pushLeftBeforeFilled(){return this._pushLeft(()=>{if(!(this.block.isFixed||!this.block.value)&&(this.offset=this.block.nearestInputPos(this.offset,DIRECTION.FORCE_LEFT),this.offset!==0))return!0})}pushLeftBeforeInput(){return this._pushLeft(()=>{if(!this.block.isFixed)return this.offset=this.block.nearestInputPos(this.offset,DIRECTION.LEFT),!0})}pushLeftBeforeRequired(){return this._pushLeft(()=>{if(!(this.block.isFixed||this.block.isOptional&&!this.block.value))return this.offset=this.block.nearestInputPos(this.offset,DIRECTION.LEFT),!0})}pushRightBeforeFilled(){return this._pushRight(()=>{if(!(this.block.isFixed||!this.block.value)&&(this.offset=this.block.nearestInputPos(this.offset,DIRECTION.FORCE_RIGHT),this.offset!==this.block.value.length))return!0})}pushRightBeforeInput(){return this._pushRight(()=>{if(!this.block.isFixed)return this.offset=this.block.nearestInputPos(this.offset,DIRECTION.NONE),!0})}pushRightBeforeRequired(){return this._pushRight(()=>{if(!(this.block.isFixed||this.block.isOptional&&!this.block.value))return this.offset=this.block.nearestInputPos(this.offset,DIRECTION.NONE),!0})}};__name(_PatternCursor,"PatternCursor");var PatternCursor=_PatternCursor;var _PatternFixedDefinition=class _PatternFixedDefinition{constructor(opts){Object.assign(this,opts),this._value="",this.isFixed=!0}get value(){return this._value}get unmaskedValue(){return this.isUnmasking?this.value:""}get rawInputValue(){return this._isRawInput?this.value:""}get displayValue(){return this.value}reset(){this._isRawInput=!1,this._value=""}remove(fromPos,toPos){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this._value.length),this._value=this._value.slice(0,fromPos)+this._value.slice(toPos),this._value||(this._isRawInput=!1),new ChangeDetails}nearestInputPos(cursorPos,direction){direction===void 0&&(direction=DIRECTION.NONE);let minPos=0,maxPos=this._value.length;switch(direction){case DIRECTION.LEFT:case DIRECTION.FORCE_LEFT:return minPos;case DIRECTION.NONE:case DIRECTION.RIGHT:case DIRECTION.FORCE_RIGHT:default:return maxPos}}totalInputPositions(fromPos,toPos){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this._value.length),this._isRawInput?toPos-fromPos:0}extractInput(fromPos,toPos,flags){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this._value.length),flags===void 0&&(flags={}),flags.raw&&this._isRawInput&&this._value.slice(fromPos,toPos)||""}get isComplete(){return!0}get isFilled(){return!!this._value}_appendChar(ch,flags){if(flags===void 0&&(flags={}),this.isFilled)return new ChangeDetails;let appendEager=this.eager===!0||this.eager==="append",isResolved=this.char===ch&&(this.isUnmasking||flags.input||flags.raw)&&(!flags.raw||!appendEager)&&!flags.tail,details=new ChangeDetails({inserted:this.char,rawInserted:isResolved?this.char:""});return this._value=this.char,this._isRawInput=isResolved&&(flags.raw||flags.input),details}_appendEager(){return this._appendChar(this.char,{tail:!0})}_appendPlaceholder(){let details=new ChangeDetails;return this.isFilled||(this._value=details.inserted=this.char),details}extractTail(){return new ContinuousTailDetails("")}appendTail(tail){return isString2(tail)&&(tail=new ContinuousTailDetails(String(tail))),tail.appendTo(this)}append(str,flags,tail){let details=this._appendChar(str[0],flags);return tail!=null&&(details.tailShift+=this.appendTail(tail).tailShift),details}doCommit(){}get state(){return{_value:this._value,_rawInputValue:this.rawInputValue}}set state(state){this._value=state._value,this._isRawInput=!!state._rawInputValue}pad(flags){return this._appendPlaceholder()}};__name(_PatternFixedDefinition,"PatternFixedDefinition");var PatternFixedDefinition=_PatternFixedDefinition;var _PatternInputDefinition=class _PatternInputDefinition{constructor(opts){let{parent,isOptional,placeholderChar,displayChar,lazy:lazy2,eager,...maskOpts}=opts;this.masked=createMask(maskOpts),Object.assign(this,{parent,isOptional,placeholderChar,displayChar,lazy:lazy2,eager})}reset(){this.isFilled=!1,this.masked.reset()}remove(fromPos,toPos){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.value.length),fromPos===0&&toPos>=1?(this.isFilled=!1,this.masked.remove(fromPos,toPos)):new ChangeDetails}get value(){return this.masked.value||(this.isFilled&&!this.isOptional?this.placeholderChar:"")}get unmaskedValue(){return this.masked.unmaskedValue}get rawInputValue(){return this.masked.rawInputValue}get displayValue(){return this.masked.value&&this.displayChar||this.value}get isComplete(){return!!this.masked.value||this.isOptional}_appendChar(ch,flags){if(flags===void 0&&(flags={}),this.isFilled)return new ChangeDetails;let state=this.masked.state,details=this.masked._appendChar(ch,this.currentMaskFlags(flags));return details.inserted&&this.doValidate(flags)===!1&&(details=new ChangeDetails,this.masked.state=state),!details.inserted&&!this.isOptional&&!this.lazy&&!flags.input&&(details.inserted=this.placeholderChar),details.skip=!details.inserted&&!this.isOptional,this.isFilled=!!details.inserted,details}append(str,flags,tail){return this.masked.append(str,this.currentMaskFlags(flags),tail)}_appendPlaceholder(){return this.isFilled||this.isOptional?new ChangeDetails:(this.isFilled=!0,new ChangeDetails({inserted:this.placeholderChar}))}_appendEager(){return new ChangeDetails}extractTail(fromPos,toPos){return this.masked.extractTail(fromPos,toPos)}appendTail(tail){return this.masked.appendTail(tail)}extractInput(fromPos,toPos,flags){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.value.length),this.masked.extractInput(fromPos,toPos,flags)}nearestInputPos(cursorPos,direction){direction===void 0&&(direction=DIRECTION.NONE);let minPos=0,maxPos=this.value.length,boundPos=Math.min(Math.max(cursorPos,minPos),maxPos);switch(direction){case DIRECTION.LEFT:case DIRECTION.FORCE_LEFT:return this.isComplete?boundPos:minPos;case DIRECTION.RIGHT:case DIRECTION.FORCE_RIGHT:return this.isComplete?boundPos:maxPos;case DIRECTION.NONE:default:return boundPos}}totalInputPositions(fromPos,toPos){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.value.length),this.value.slice(fromPos,toPos).length}doValidate(flags){return this.masked.doValidate(this.currentMaskFlags(flags))&&(!this.parent||this.parent.doValidate(this.currentMaskFlags(flags)))}doCommit(){this.masked.doCommit()}get state(){return{_value:this.value,_rawInputValue:this.rawInputValue,masked:this.masked.state,isFilled:this.isFilled}}set state(state){this.masked.state=state.masked,this.isFilled=state.isFilled}currentMaskFlags(flags){var _flags$_beforeTailSta;return{...flags,_beforeTailState:(flags==null||(_flags$_beforeTailSta=flags._beforeTailState)==null?void 0:_flags$_beforeTailSta.masked)||(flags==null?void 0:flags._beforeTailState)}}pad(flags){return new ChangeDetails}};__name(_PatternInputDefinition,"PatternInputDefinition");var PatternInputDefinition=_PatternInputDefinition;PatternInputDefinition.DEFAULT_DEFINITIONS={0:/\d/,a:/[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,"*":/./};var _MaskedRegExp=class _MaskedRegExp extends Masked{updateOptions(opts){super.updateOptions(opts)}_update(opts){let mask=opts.mask;mask&&(opts.validate=value=>value.search(mask)>=0),super._update(opts)}};__name(_MaskedRegExp,"MaskedRegExp");var MaskedRegExp=_MaskedRegExp;IMask.MaskedRegExp=MaskedRegExp;var _MaskedPattern=class _MaskedPattern extends Masked{constructor(opts){super({..._MaskedPattern.DEFAULTS,...opts,definitions:Object.assign({},PatternInputDefinition.DEFAULT_DEFINITIONS,opts==null?void 0:opts.definitions)})}updateOptions(opts){super.updateOptions(opts)}_update(opts){opts.definitions=Object.assign({},this.definitions,opts.definitions),super._update(opts),this._rebuildMask()}_rebuildMask(){let defs=this.definitions;this._blocks=[],this.exposeBlock=void 0,this._stops=[],this._maskedBlocks={};let pattern=this.mask;if(!pattern||!defs)return;let unmaskingBlock=!1,optionalBlock=!1;for(let i=0;i<pattern.length;++i){if(this.blocks){let p=pattern.slice(i),bNames=Object.keys(this.blocks).filter(bName2=>p.indexOf(bName2)===0);bNames.sort((a,b)=>b.length-a.length);let bName=bNames[0];if(bName){let{expose,repeat:repeat2,...bOpts}=normalizeOpts(this.blocks[bName]),blockOpts={lazy:this.lazy,eager:this.eager,placeholderChar:this.placeholderChar,displayChar:this.displayChar,overwrite:this.overwrite,autofix:this.autofix,...bOpts,repeat:repeat2,parent:this},maskedBlock=repeat2!=null?new IMask.RepeatBlock(blockOpts):createMask(blockOpts);maskedBlock&&(this._blocks.push(maskedBlock),expose&&(this.exposeBlock=maskedBlock),this._maskedBlocks[bName]||(this._maskedBlocks[bName]=[]),this._maskedBlocks[bName].push(this._blocks.length-1)),i+=bName.length-1;continue}}let char2=pattern[i],isInput=char2 in defs;if(char2===_MaskedPattern.STOP_CHAR){this._stops.push(this._blocks.length);continue}if(char2==="{"||char2==="}"){unmaskingBlock=!unmaskingBlock;continue}if(char2==="["||char2==="]"){optionalBlock=!optionalBlock;continue}if(char2===_MaskedPattern.ESCAPE_CHAR){if(++i,char2=pattern[i],!char2)break;isInput=!1}let def=isInput?new PatternInputDefinition({isOptional:optionalBlock,lazy:this.lazy,eager:this.eager,placeholderChar:this.placeholderChar,displayChar:this.displayChar,...normalizeOpts(defs[char2]),parent:this}):new PatternFixedDefinition({char:char2,eager:this.eager,isUnmasking:unmaskingBlock});this._blocks.push(def)}}get state(){return{...super.state,_blocks:this._blocks.map(b=>b.state)}}set state(state){if(!state){this.reset();return}let{_blocks,...maskedState}=state;this._blocks.forEach((b,bi)=>b.state=_blocks[bi]),super.state=maskedState}reset(){super.reset(),this._blocks.forEach(b=>b.reset())}get isComplete(){return this.exposeBlock?this.exposeBlock.isComplete:this._blocks.every(b=>b.isComplete)}get isFilled(){return this._blocks.every(b=>b.isFilled)}get isFixed(){return this._blocks.every(b=>b.isFixed)}get isOptional(){return this._blocks.every(b=>b.isOptional)}doCommit(){this._blocks.forEach(b=>b.doCommit()),super.doCommit()}get unmaskedValue(){return this.exposeBlock?this.exposeBlock.unmaskedValue:this._blocks.reduce((str,b)=>str+=b.unmaskedValue,"")}set unmaskedValue(unmaskedValue){if(this.exposeBlock){let tail=this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock))+this.exposeBlock.displayValue.length);this.exposeBlock.unmaskedValue=unmaskedValue,this.appendTail(tail),this.doCommit()}else super.unmaskedValue=unmaskedValue}get value(){return this.exposeBlock?this.exposeBlock.value:this._blocks.reduce((str,b)=>str+=b.value,"")}set value(value){if(this.exposeBlock){let tail=this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock))+this.exposeBlock.displayValue.length);this.exposeBlock.value=value,this.appendTail(tail),this.doCommit()}else super.value=value}get typedValue(){return this.exposeBlock?this.exposeBlock.typedValue:super.typedValue}set typedValue(value){if(this.exposeBlock){let tail=this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock))+this.exposeBlock.displayValue.length);this.exposeBlock.typedValue=value,this.appendTail(tail),this.doCommit()}else super.typedValue=value}get displayValue(){return this._blocks.reduce((str,b)=>str+=b.displayValue,"")}appendTail(tail){return super.appendTail(tail).aggregate(this._appendPlaceholder())}_appendEager(){var _this$_mapPosToBlock;let details=new ChangeDetails,startBlockIndex=(_this$_mapPosToBlock=this._mapPosToBlock(this.displayValue.length))==null?void 0:_this$_mapPosToBlock.index;if(startBlockIndex==null)return details;this._blocks[startBlockIndex].isFilled&&++startBlockIndex;for(let bi=startBlockIndex;bi<this._blocks.length;++bi){let d=this._blocks[bi]._appendEager();if(!d.inserted)break;details.aggregate(d)}return details}_appendCharRaw(ch,flags){flags===void 0&&(flags={});let blockIter=this._mapPosToBlock(this.displayValue.length),details=new ChangeDetails;if(!blockIter)return details;for(let bi=blockIter.index,block;block=this._blocks[bi];++bi){var _flags$_beforeTailSta;let blockDetails=block._appendChar(ch,{...flags,_beforeTailState:(_flags$_beforeTailSta=flags._beforeTailState)==null||(_flags$_beforeTailSta=_flags$_beforeTailSta._blocks)==null?void 0:_flags$_beforeTailSta[bi]});if(details.aggregate(blockDetails),blockDetails.consumed)break}return details}extractTail(fromPos,toPos){fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length);let chunkTail=new ChunksTailDetails;return fromPos===toPos||this._forEachBlocksInRange(fromPos,toPos,(b,bi,bFromPos,bToPos)=>{let blockChunk=b.extractTail(bFromPos,bToPos);blockChunk.stop=this._findStopBefore(bi),blockChunk.from=this._blockStartPos(bi),blockChunk instanceof ChunksTailDetails&&(blockChunk.blockIndex=bi),chunkTail.extend(blockChunk)}),chunkTail}extractInput(fromPos,toPos,flags){if(fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length),flags===void 0&&(flags={}),fromPos===toPos)return"";let input="";return this._forEachBlocksInRange(fromPos,toPos,(b,_4,fromPos2,toPos2)=>{input+=b.extractInput(fromPos2,toPos2,flags)}),input}_findStopBefore(blockIndex){let stopBefore;for(let si=0;si<this._stops.length;++si){let stop2=this._stops[si];if(stop2<=blockIndex)stopBefore=stop2;else break}return stopBefore}_appendPlaceholder(toBlockIndex){let details=new ChangeDetails;if(this.lazy&&toBlockIndex==null)return details;let startBlockIter=this._mapPosToBlock(this.displayValue.length);if(!startBlockIter)return details;let startBlockIndex=startBlockIter.index,endBlockIndex=toBlockIndex??this._blocks.length;return this._blocks.slice(startBlockIndex,endBlockIndex).forEach(b=>{if(!b.lazy||toBlockIndex!=null){var _blocks2;details.aggregate(b._appendPlaceholder((_blocks2=b._blocks)==null?void 0:_blocks2.length))}}),details}_mapPosToBlock(pos){let accVal="";for(let bi=0;bi<this._blocks.length;++bi){let block=this._blocks[bi],blockStartPos=accVal.length;if(accVal+=block.displayValue,pos<=accVal.length)return{index:bi,offset:pos-blockStartPos}}}_blockStartPos(blockIndex){return this._blocks.slice(0,blockIndex).reduce((pos,b)=>pos+=b.displayValue.length,0)}_forEachBlocksInRange(fromPos,toPos,fn2){toPos===void 0&&(toPos=this.displayValue.length);let fromBlockIter=this._mapPosToBlock(fromPos);if(fromBlockIter){let toBlockIter=this._mapPosToBlock(toPos),isSameBlock=toBlockIter&&fromBlockIter.index===toBlockIter.index,fromBlockStartPos=fromBlockIter.offset,fromBlockEndPos=toBlockIter&&isSameBlock?toBlockIter.offset:this._blocks[fromBlockIter.index].displayValue.length;if(fn2(this._blocks[fromBlockIter.index],fromBlockIter.index,fromBlockStartPos,fromBlockEndPos),toBlockIter&&!isSameBlock){for(let bi=fromBlockIter.index+1;bi<toBlockIter.index;++bi)fn2(this._blocks[bi],bi,0,this._blocks[bi].displayValue.length);fn2(this._blocks[toBlockIter.index],toBlockIter.index,0,toBlockIter.offset)}}}remove(fromPos,toPos){fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length);let removeDetails=super.remove(fromPos,toPos);return this._forEachBlocksInRange(fromPos,toPos,(b,_4,bFromPos,bToPos)=>{removeDetails.aggregate(b.remove(bFromPos,bToPos))}),removeDetails}nearestInputPos(cursorPos,direction){if(direction===void 0&&(direction=DIRECTION.NONE),!this._blocks.length)return 0;let cursor2=new PatternCursor(this,cursorPos);if(direction===DIRECTION.NONE)return cursor2.pushRightBeforeInput()||(cursor2.popState(),cursor2.pushLeftBeforeInput())?cursor2.pos:this.displayValue.length;if(direction===DIRECTION.LEFT||direction===DIRECTION.FORCE_LEFT){if(direction===DIRECTION.LEFT){if(cursor2.pushRightBeforeFilled(),cursor2.ok&&cursor2.pos===cursorPos)return cursorPos;cursor2.popState()}if(cursor2.pushLeftBeforeInput(),cursor2.pushLeftBeforeRequired(),cursor2.pushLeftBeforeFilled(),direction===DIRECTION.LEFT){if(cursor2.pushRightBeforeInput(),cursor2.pushRightBeforeRequired(),cursor2.ok&&cursor2.pos<=cursorPos||(cursor2.popState(),cursor2.ok&&cursor2.pos<=cursorPos))return cursor2.pos;cursor2.popState()}return cursor2.ok?cursor2.pos:direction===DIRECTION.FORCE_LEFT?0:(cursor2.popState(),cursor2.ok||(cursor2.popState(),cursor2.ok)?cursor2.pos:0)}return direction===DIRECTION.RIGHT||direction===DIRECTION.FORCE_RIGHT?(cursor2.pushRightBeforeInput(),cursor2.pushRightBeforeRequired(),cursor2.pushRightBeforeFilled()?cursor2.pos:direction===DIRECTION.FORCE_RIGHT?this.displayValue.length:(cursor2.popState(),cursor2.ok||(cursor2.popState(),cursor2.ok)?cursor2.pos:this.nearestInputPos(cursorPos,DIRECTION.LEFT))):cursorPos}totalInputPositions(fromPos,toPos){fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length);let total=0;return this._forEachBlocksInRange(fromPos,toPos,(b,_4,bFromPos,bToPos)=>{total+=b.totalInputPositions(bFromPos,bToPos)}),total}maskedBlock(name2){return this.maskedBlocks(name2)[0]}maskedBlocks(name2){let indices=this._maskedBlocks[name2];return indices?indices.map(gi=>this._blocks[gi]):[]}pad(flags){let details=new ChangeDetails;return this._forEachBlocksInRange(0,this.displayValue.length,b=>details.aggregate(b.pad(flags))),details}};__name(_MaskedPattern,"MaskedPattern");var MaskedPattern=_MaskedPattern;MaskedPattern.DEFAULTS={...Masked.DEFAULTS,lazy:!0,placeholderChar:"_"};MaskedPattern.STOP_CHAR="`";MaskedPattern.ESCAPE_CHAR="\\";MaskedPattern.InputDefinition=PatternInputDefinition;MaskedPattern.FixedDefinition=PatternFixedDefinition;IMask.MaskedPattern=MaskedPattern;var _MaskedRange=class _MaskedRange extends MaskedPattern{get _matchFrom(){return this.maxLength-String(this.from).length}constructor(opts){super(opts)}updateOptions(opts){super.updateOptions(opts)}_update(opts){let{to=this.to||0,from:from2=this.from||0,maxLength=this.maxLength||0,autofix=this.autofix,...patternOpts}=opts;this.to=to,this.from=from2,this.maxLength=Math.max(String(to).length,maxLength),this.autofix=autofix;let fromStr=String(this.from).padStart(this.maxLength,"0"),toStr=String(this.to).padStart(this.maxLength,"0"),sameCharsCount=0;for(;sameCharsCount<toStr.length&&toStr[sameCharsCount]===fromStr[sameCharsCount];)++sameCharsCount;patternOpts.mask=toStr.slice(0,sameCharsCount).replace(/0/g,"\\0")+"0".repeat(this.maxLength-sameCharsCount),super._update(patternOpts)}get isComplete(){return super.isComplete&&!!this.value}boundaries(str){let minstr="",maxstr="",[,placeholder,num]=str.match(/^(\D*)(\d*)(\D*)/)||[];return num&&(minstr="0".repeat(placeholder.length)+num,maxstr="9".repeat(placeholder.length)+num),minstr=minstr.padEnd(this.maxLength,"0"),maxstr=maxstr.padEnd(this.maxLength,"9"),[minstr,maxstr]}doPrepareChar(ch,flags){flags===void 0&&(flags={});let details;return[ch,details]=super.doPrepareChar(ch.replace(/\D/g,""),flags),ch||(details.skip=!this.isComplete),[ch,details]}_appendCharRaw(ch,flags){if(flags===void 0&&(flags={}),!this.autofix||this.value.length+1>this.maxLength)return super._appendCharRaw(ch,flags);let fromStr=String(this.from).padStart(this.maxLength,"0"),toStr=String(this.to).padStart(this.maxLength,"0"),[minstr,maxstr]=this.boundaries(this.value+ch);return Number(maxstr)<this.from?super._appendCharRaw(fromStr[this.value.length],flags):Number(minstr)>this.to?!flags.tail&&this.autofix==="pad"&&this.value.length+1<this.maxLength?super._appendCharRaw(fromStr[this.value.length],flags).aggregate(this._appendCharRaw(ch,flags)):super._appendCharRaw(toStr[this.value.length],flags):super._appendCharRaw(ch,flags)}doValidate(flags){let str=this.value;if(str.search(/[^0]/)===-1&&str.length<=this._matchFrom)return!0;let[minstr,maxstr]=this.boundaries(str);return this.from<=Number(maxstr)&&Number(minstr)<=this.to&&super.doValidate(flags)}pad(flags){let details=new ChangeDetails;if(this.value.length===this.maxLength)return details;let value=this.value,padLength=this.maxLength-this.value.length;if(padLength){this.reset();for(let i=0;i<padLength;++i)details.aggregate(super._appendCharRaw("0",flags));value.split("").forEach(ch=>this._appendCharRaw(ch))}return details}};__name(_MaskedRange,"MaskedRange");var MaskedRange=_MaskedRange;IMask.MaskedRange=MaskedRange;var _MaskedDate=class _MaskedDate extends MaskedPattern{static extractPatternOptions(opts){let{mask,pattern,...patternOpts}=opts;return{...patternOpts,mask:isString2(mask)?mask:pattern}}constructor(opts){super(_MaskedDate.extractPatternOptions({..._MaskedDate.DEFAULTS,...opts}))}updateOptions(opts){super.updateOptions(opts)}_update(opts){let{mask,pattern,blocks,...patternOpts}={..._MaskedDate.DEFAULTS,...opts},patternBlocks=Object.assign({},_MaskedDate.GET_DEFAULT_BLOCKS());opts.min&&(patternBlocks.Y.from=opts.min.getFullYear()),opts.max&&(patternBlocks.Y.to=opts.max.getFullYear()),opts.min&&opts.max&&patternBlocks.Y.from===patternBlocks.Y.to&&(patternBlocks.m.from=opts.min.getMonth()+1,patternBlocks.m.to=opts.max.getMonth()+1,patternBlocks.m.from===patternBlocks.m.to&&(patternBlocks.d.from=opts.min.getDate(),patternBlocks.d.to=opts.max.getDate())),Object.assign(patternBlocks,this.blocks,blocks),super._update({...patternOpts,mask:isString2(mask)?mask:pattern,blocks:patternBlocks})}doValidate(flags){let date=this.date;return super.doValidate(flags)&&(!this.isComplete||this.isDateExist(this.value)&&date!=null&&(this.min==null||this.min<=date)&&(this.max==null||date<=this.max))}isDateExist(str){return this.format(this.parse(str,this),this).indexOf(str)>=0}get date(){return this.typedValue}set date(date){this.typedValue=date}get typedValue(){return this.isComplete?super.typedValue:null}set typedValue(value){super.typedValue=value}maskEquals(mask){return mask===Date||super.maskEquals(mask)}optionsIsChanged(opts){return super.optionsIsChanged(_MaskedDate.extractPatternOptions(opts))}};__name(_MaskedDate,"MaskedDate");var MaskedDate=_MaskedDate;MaskedDate.GET_DEFAULT_BLOCKS=()=>({d:{mask:MaskedRange,from:1,to:31,maxLength:2},m:{mask:MaskedRange,from:1,to:12,maxLength:2},Y:{mask:MaskedRange,from:1900,to:9999}});MaskedDate.DEFAULTS={...MaskedPattern.DEFAULTS,mask:Date,pattern:"d{.}`m{.}`Y",format:__name((date,masked)=>{if(!date)return"";let day=String(date.getDate()).padStart(2,"0"),month=String(date.getMonth()+1).padStart(2,"0"),year=date.getFullYear();return[day,month,year].join(".")},"format"),parse:__name((str,masked)=>{let[day,month,year]=str.split(".").map(Number);return new Date(year,month-1,day)},"parse")};IMask.MaskedDate=MaskedDate;var _MaskedDynamic=class _MaskedDynamic extends Masked{constructor(opts){super({..._MaskedDynamic.DEFAULTS,...opts}),this.currentMask=void 0}updateOptions(opts){super.updateOptions(opts)}_update(opts){super._update(opts),"mask"in opts&&(this.exposeMask=void 0,this.compiledMasks=Array.isArray(opts.mask)?opts.mask.map(m=>{let{expose,...maskOpts}=normalizeOpts(m),masked=createMask({overwrite:this._overwrite,eager:this._eager,skipInvalid:this._skipInvalid,...maskOpts});return expose&&(this.exposeMask=masked),masked}):[])}_appendCharRaw(ch,flags){flags===void 0&&(flags={});let details=this._applyDispatch(ch,flags);return this.currentMask&&details.aggregate(this.currentMask._appendChar(ch,this.currentMaskFlags(flags))),details}_applyDispatch(appended,flags,tail){appended===void 0&&(appended=""),flags===void 0&&(flags={}),tail===void 0&&(tail="");let prevValueBeforeTail=flags.tail&&flags._beforeTailState!=null?flags._beforeTailState._value:this.value,inputValue=this.rawInputValue,insertValue=flags.tail&&flags._beforeTailState!=null?flags._beforeTailState._rawInputValue:inputValue,tailValue=inputValue.slice(insertValue.length),prevMask=this.currentMask,details=new ChangeDetails,prevMaskState=prevMask==null?void 0:prevMask.state;return this.currentMask=this.doDispatch(appended,{...flags},tail),this.currentMask&&(this.currentMask!==prevMask?(this.currentMask.reset(),insertValue&&(this.currentMask.append(insertValue,{raw:!0}),details.tailShift=this.currentMask.value.length-prevValueBeforeTail.length),tailValue&&(details.tailShift+=this.currentMask.append(tailValue,{raw:!0,tail:!0}).tailShift)):prevMaskState&&(this.currentMask.state=prevMaskState)),details}_appendPlaceholder(){let details=this._applyDispatch();return this.currentMask&&details.aggregate(this.currentMask._appendPlaceholder()),details}_appendEager(){let details=this._applyDispatch();return this.currentMask&&details.aggregate(this.currentMask._appendEager()),details}appendTail(tail){let details=new ChangeDetails;return tail&&details.aggregate(this._applyDispatch("",{},tail)),details.aggregate(this.currentMask?this.currentMask.appendTail(tail):super.appendTail(tail))}currentMaskFlags(flags){var _flags$_beforeTailSta,_flags$_beforeTailSta2;return{...flags,_beforeTailState:((_flags$_beforeTailSta=flags._beforeTailState)==null?void 0:_flags$_beforeTailSta.currentMaskRef)===this.currentMask&&((_flags$_beforeTailSta2=flags._beforeTailState)==null?void 0:_flags$_beforeTailSta2.currentMask)||flags._beforeTailState}}doDispatch(appended,flags,tail){return flags===void 0&&(flags={}),tail===void 0&&(tail=""),this.dispatch(appended,this,flags,tail)}doValidate(flags){return super.doValidate(flags)&&(!this.currentMask||this.currentMask.doValidate(this.currentMaskFlags(flags)))}doPrepare(str,flags){flags===void 0&&(flags={});let[s,details]=super.doPrepare(str,flags);if(this.currentMask){let currentDetails;[s,currentDetails]=super.doPrepare(s,this.currentMaskFlags(flags)),details=details.aggregate(currentDetails)}return[s,details]}doPrepareChar(str,flags){flags===void 0&&(flags={});let[s,details]=super.doPrepareChar(str,flags);if(this.currentMask){let currentDetails;[s,currentDetails]=super.doPrepareChar(s,this.currentMaskFlags(flags)),details=details.aggregate(currentDetails)}return[s,details]}reset(){var _this$currentMask;(_this$currentMask=this.currentMask)==null||_this$currentMask.reset(),this.compiledMasks.forEach(m=>m.reset())}get value(){return this.exposeMask?this.exposeMask.value:this.currentMask?this.currentMask.value:""}set value(value){this.exposeMask?(this.exposeMask.value=value,this.currentMask=this.exposeMask,this._applyDispatch()):super.value=value}get unmaskedValue(){return this.exposeMask?this.exposeMask.unmaskedValue:this.currentMask?this.currentMask.unmaskedValue:""}set unmaskedValue(unmaskedValue){this.exposeMask?(this.exposeMask.unmaskedValue=unmaskedValue,this.currentMask=this.exposeMask,this._applyDispatch()):super.unmaskedValue=unmaskedValue}get typedValue(){return this.exposeMask?this.exposeMask.typedValue:this.currentMask?this.currentMask.typedValue:""}set typedValue(typedValue){if(this.exposeMask){this.exposeMask.typedValue=typedValue,this.currentMask=this.exposeMask,this._applyDispatch();return}let unmaskedValue=String(typedValue);this.currentMask&&(this.currentMask.typedValue=typedValue,unmaskedValue=this.currentMask.unmaskedValue),this.unmaskedValue=unmaskedValue}get displayValue(){return this.currentMask?this.currentMask.displayValue:""}get isComplete(){var _this$currentMask2;return!!((_this$currentMask2=this.currentMask)!=null&&_this$currentMask2.isComplete)}get isFilled(){var _this$currentMask3;return!!((_this$currentMask3=this.currentMask)!=null&&_this$currentMask3.isFilled)}remove(fromPos,toPos){let details=new ChangeDetails;return this.currentMask&&details.aggregate(this.currentMask.remove(fromPos,toPos)).aggregate(this._applyDispatch()),details}get state(){var _this$currentMask4;return{...super.state,_rawInputValue:this.rawInputValue,compiledMasks:this.compiledMasks.map(m=>m.state),currentMaskRef:this.currentMask,currentMask:(_this$currentMask4=this.currentMask)==null?void 0:_this$currentMask4.state}}set state(state){let{compiledMasks,currentMaskRef,currentMask,...maskedState}=state;compiledMasks&&this.compiledMasks.forEach((m,mi)=>m.state=compiledMasks[mi]),currentMaskRef!=null&&(this.currentMask=currentMaskRef,this.currentMask.state=currentMask),super.state=maskedState}extractInput(fromPos,toPos,flags){return this.currentMask?this.currentMask.extractInput(fromPos,toPos,flags):""}extractTail(fromPos,toPos){return this.currentMask?this.currentMask.extractTail(fromPos,toPos):super.extractTail(fromPos,toPos)}doCommit(){this.currentMask&&this.currentMask.doCommit(),super.doCommit()}nearestInputPos(cursorPos,direction){return this.currentMask?this.currentMask.nearestInputPos(cursorPos,direction):super.nearestInputPos(cursorPos,direction)}get overwrite(){return this.currentMask?this.currentMask.overwrite:this._overwrite}set overwrite(overwrite){this._overwrite=overwrite}get eager(){return this.currentMask?this.currentMask.eager:this._eager}set eager(eager){this._eager=eager}get skipInvalid(){return this.currentMask?this.currentMask.skipInvalid:this._skipInvalid}set skipInvalid(skipInvalid){this._skipInvalid=skipInvalid}get autofix(){return this.currentMask?this.currentMask.autofix:this._autofix}set autofix(autofix){this._autofix=autofix}maskEquals(mask){return Array.isArray(mask)?this.compiledMasks.every((m,mi)=>{if(!mask[mi])return;let{mask:oldMask,...restOpts}=mask[mi];return objectIncludes(m,restOpts)&&m.maskEquals(oldMask)}):super.maskEquals(mask)}typedValueEquals(value){var _this$currentMask5;return!!((_this$currentMask5=this.currentMask)!=null&&_this$currentMask5.typedValueEquals(value))}};__name(_MaskedDynamic,"MaskedDynamic");var MaskedDynamic=_MaskedDynamic;MaskedDynamic.DEFAULTS={...Masked.DEFAULTS,dispatch:__name((appended,masked,flags,tail)=>{if(!masked.compiledMasks.length)return;let inputValue=masked.rawInputValue,inputs=masked.compiledMasks.map((m,index2)=>{let isCurrent=masked.currentMask===m,startInputPos=isCurrent?m.displayValue.length:m.nearestInputPos(m.displayValue.length,DIRECTION.FORCE_LEFT);return m.rawInputValue!==inputValue?(m.reset(),m.append(inputValue,{raw:!0})):isCurrent||m.remove(startInputPos),m.append(appended,masked.currentMaskFlags(flags)),m.appendTail(tail),{index:index2,weight:m.rawInputValue.length,totalInputPositions:m.totalInputPositions(0,Math.max(startInputPos,m.nearestInputPos(m.displayValue.length,DIRECTION.FORCE_LEFT)))}});return inputs.sort((i1,i2)=>i2.weight-i1.weight||i2.totalInputPositions-i1.totalInputPositions),masked.compiledMasks[inputs[0].index]},"dispatch")};IMask.MaskedDynamic=MaskedDynamic;var _MaskedEnum=class _MaskedEnum extends MaskedPattern{constructor(opts){super({..._MaskedEnum.DEFAULTS,...opts})}updateOptions(opts){super.updateOptions(opts)}_update(opts){let{enum:enum_,...eopts}=opts;if(enum_){let lengths=enum_.map(e=>e.length),requiredLength=Math.min(...lengths),optionalLength=Math.max(...lengths)-requiredLength;eopts.mask="*".repeat(requiredLength),optionalLength&&(eopts.mask+="["+"*".repeat(optionalLength)+"]"),this.enum=enum_}super._update(eopts)}_appendCharRaw(ch,flags){flags===void 0&&(flags={});let matchFrom=Math.min(this.nearestInputPos(0,DIRECTION.FORCE_RIGHT),this.value.length),matches=this.enum.filter(e=>this.matchValue(e,this.unmaskedValue+ch,matchFrom));if(matches.length){matches.length===1&&this._forEachBlocksInRange(0,this.value.length,(b,bi)=>{let mch=matches[0][bi];bi>=this.value.length||mch===b.value||(b.reset(),b._appendChar(mch,flags))});let d=super._appendCharRaw(matches[0][this.value.length],flags);return matches.length===1&&matches[0].slice(this.unmaskedValue.length).split("").forEach(mch=>d.aggregate(super._appendCharRaw(mch))),d}return new ChangeDetails}extractTail(fromPos,toPos){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length),new ContinuousTailDetails("",fromPos)}remove(fromPos,toPos){if(fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length),fromPos===toPos)return new ChangeDetails;let matchFrom=Math.min(super.nearestInputPos(0,DIRECTION.FORCE_RIGHT),this.value.length),pos;for(pos=fromPos;pos>=0&&!(this.enum.filter(e=>this.matchValue(e,this.value.slice(matchFrom,pos),matchFrom)).length>1);--pos);let details=super.remove(pos,toPos);return details.tailShift+=pos-fromPos,details}};__name(_MaskedEnum,"MaskedEnum");var MaskedEnum=_MaskedEnum;MaskedEnum.DEFAULTS={...MaskedPattern.DEFAULTS,matchValue:__name((estr,istr,matchFrom)=>estr.indexOf(istr,matchFrom)===matchFrom,"matchValue")};IMask.MaskedEnum=MaskedEnum;var _MaskedFunction=class _MaskedFunction extends Masked{updateOptions(opts){super.updateOptions(opts)}_update(opts){super._update({...opts,validate:opts.mask})}};__name(_MaskedFunction,"MaskedFunction");var MaskedFunction=_MaskedFunction;IMask.MaskedFunction=MaskedFunction;var _MaskedNumber,_MaskedNumber2=class _MaskedNumber2 extends Masked{constructor(opts){super({..._MaskedNumber2.DEFAULTS,...opts})}updateOptions(opts){super.updateOptions(opts)}_update(opts){super._update(opts),this._updateRegExps()}_updateRegExps(){let start5="^"+(this.allowNegative?"[+|\\-]?":""),mid="\\d*",end2=(this.scale?"("+escapeRegExp2(this.radix)+"\\d{0,"+this.scale+"})?":"")+"$";this._numberRegExp=new RegExp(start5+mid+end2),this._mapToRadixRegExp=new RegExp("["+this.mapToRadix.map(escapeRegExp2).join("")+"]","g"),this._thousandsSeparatorRegExp=new RegExp(escapeRegExp2(this.thousandsSeparator),"g")}_removeThousandsSeparators(value){return value.replace(this._thousandsSeparatorRegExp,"")}_insertThousandsSeparators(value){let parts=value.split(this.radix);return parts[0]=parts[0].replace(/\B(?=(\d{3})+(?!\d))/g,this.thousandsSeparator),parts.join(this.radix)}doPrepareChar(ch,flags){flags===void 0&&(flags={});let[prepCh,details]=super.doPrepareChar(this._removeThousandsSeparators(this.scale&&this.mapToRadix.length&&(flags.input&&flags.raw||!flags.input&&!flags.raw)?ch.replace(this._mapToRadixRegExp,this.radix):ch),flags);return ch&&!prepCh&&(details.skip=!0),prepCh&&!this.allowPositive&&!this.value&&prepCh!=="-"&&details.aggregate(this._appendChar("-")),[prepCh,details]}_separatorsCount(to,extendOnSeparators){extendOnSeparators===void 0&&(extendOnSeparators=!1);let count=0;for(let pos=0;pos<to;++pos)this._value.indexOf(this.thousandsSeparator,pos)===pos&&(++count,extendOnSeparators&&(to+=this.thousandsSeparator.length));return count}_separatorsCountFromSlice(slice2){return slice2===void 0&&(slice2=this._value),this._separatorsCount(this._removeThousandsSeparators(slice2).length,!0)}extractInput(fromPos,toPos,flags){return fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length),[fromPos,toPos]=this._adjustRangeWithSeparators(fromPos,toPos),this._removeThousandsSeparators(super.extractInput(fromPos,toPos,flags))}_appendCharRaw(ch,flags){flags===void 0&&(flags={});let prevBeforeTailValue=flags.tail&&flags._beforeTailState?flags._beforeTailState._value:this._value,prevBeforeTailSeparatorsCount=this._separatorsCountFromSlice(prevBeforeTailValue);this._value=this._removeThousandsSeparators(this.value);let oldValue=this._value;this._value+=ch;let num=this.number,accepted=!isNaN(num),skip=!1;if(accepted){let fixedNum;this.min!=null&&this.min<0&&this.number<this.min&&(fixedNum=this.min),this.max!=null&&this.max>0&&this.number>this.max&&(fixedNum=this.max),fixedNum!=null&&(this.autofix?(this._value=this.format(fixedNum,this).replace(_MaskedNumber2.UNMASKED_RADIX,this.radix),skip||(skip=oldValue===this._value&&!flags.tail)):accepted=!1),accepted&&(accepted=!!this._value.match(this._numberRegExp))}let appendDetails;accepted?appendDetails=new ChangeDetails({inserted:this._value.slice(oldValue.length),rawInserted:skip?"":ch,skip}):(this._value=oldValue,appendDetails=new ChangeDetails),this._value=this._insertThousandsSeparators(this._value);let beforeTailValue=flags.tail&&flags._beforeTailState?flags._beforeTailState._value:this._value,beforeTailSeparatorsCount=this._separatorsCountFromSlice(beforeTailValue);return appendDetails.tailShift+=(beforeTailSeparatorsCount-prevBeforeTailSeparatorsCount)*this.thousandsSeparator.length,appendDetails}_findSeparatorAround(pos){if(this.thousandsSeparator){let searchFrom=pos-this.thousandsSeparator.length+1,separatorPos=this.value.indexOf(this.thousandsSeparator,searchFrom);if(separatorPos<=pos)return separatorPos}return-1}_adjustRangeWithSeparators(from2,to){let separatorAroundFromPos=this._findSeparatorAround(from2);separatorAroundFromPos>=0&&(from2=separatorAroundFromPos);let separatorAroundToPos=this._findSeparatorAround(to);return separatorAroundToPos>=0&&(to=separatorAroundToPos+this.thousandsSeparator.length),[from2,to]}remove(fromPos,toPos){fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length),[fromPos,toPos]=this._adjustRangeWithSeparators(fromPos,toPos);let valueBeforePos=this.value.slice(0,fromPos),valueAfterPos=this.value.slice(toPos),prevBeforeTailSeparatorsCount=this._separatorsCount(valueBeforePos.length);this._value=this._insertThousandsSeparators(this._removeThousandsSeparators(valueBeforePos+valueAfterPos));let beforeTailSeparatorsCount=this._separatorsCountFromSlice(valueBeforePos);return new ChangeDetails({tailShift:(beforeTailSeparatorsCount-prevBeforeTailSeparatorsCount)*this.thousandsSeparator.length})}nearestInputPos(cursorPos,direction){if(!this.thousandsSeparator)return cursorPos;switch(direction){case DIRECTION.NONE:case DIRECTION.LEFT:case DIRECTION.FORCE_LEFT:{let separatorAtLeftPos=this._findSeparatorAround(cursorPos-1);if(separatorAtLeftPos>=0){let separatorAtLeftEndPos=separatorAtLeftPos+this.thousandsSeparator.length;if(cursorPos<separatorAtLeftEndPos||this.value.length<=separatorAtLeftEndPos||direction===DIRECTION.FORCE_LEFT)return separatorAtLeftPos}break}case DIRECTION.RIGHT:case DIRECTION.FORCE_RIGHT:{let separatorAtRightPos=this._findSeparatorAround(cursorPos);if(separatorAtRightPos>=0)return separatorAtRightPos+this.thousandsSeparator.length}}return cursorPos}doCommit(){if(this.value){let number3=this.number,validnum=number3;this.min!=null&&(validnum=Math.max(validnum,this.min)),this.max!=null&&(validnum=Math.min(validnum,this.max)),validnum!==number3&&(this.unmaskedValue=this.format(validnum,this));let formatted=this.value;this.normalizeZeros&&(formatted=this._normalizeZeros(formatted)),this.padFractionalZeros&&this.scale>0&&(formatted=this._padFractionalZeros(formatted)),this._value=formatted}super.doCommit()}_normalizeZeros(value){let parts=this._removeThousandsSeparators(value).split(this.radix);return parts[0]=parts[0].replace(/^(\D*)(0*)(\d*)/,(match2,sign,zeros,num)=>sign+num),value.length&&!/\d$/.test(parts[0])&&(parts[0]=parts[0]+"0"),parts.length>1&&(parts[1]=parts[1].replace(/0*$/,""),parts[1].length||(parts.length=1)),this._insertThousandsSeparators(parts.join(this.radix))}_padFractionalZeros(value){if(!value)return value;let parts=value.split(this.radix);return parts.length<2&&parts.push(""),parts[1]=parts[1].padEnd(this.scale,"0"),parts.join(this.radix)}doSkipInvalid(ch,flags,checkTail){flags===void 0&&(flags={});let dropFractional=this.scale===0&&ch!==this.thousandsSeparator&&(ch===this.radix||ch===_MaskedNumber2.UNMASKED_RADIX||this.mapToRadix.includes(ch));return super.doSkipInvalid(ch,flags,checkTail)&&!dropFractional}get unmaskedValue(){return this._removeThousandsSeparators(this._normalizeZeros(this.value)).replace(this.radix,_MaskedNumber2.UNMASKED_RADIX)}set unmaskedValue(unmaskedValue){super.unmaskedValue=unmaskedValue}get typedValue(){return this.parse(this.unmaskedValue,this)}set typedValue(n){this.rawInputValue=this.format(n,this).replace(_MaskedNumber2.UNMASKED_RADIX,this.radix)}get number(){return this.typedValue}set number(number3){this.typedValue=number3}get allowNegative(){return this.min!=null&&this.min<0||this.max!=null&&this.max<0}get allowPositive(){return this.min!=null&&this.min>0||this.max!=null&&this.max>0}typedValueEquals(value){return(super.typedValueEquals(value)||_MaskedNumber2.EMPTY_VALUES.includes(value)&&_MaskedNumber2.EMPTY_VALUES.includes(this.typedValue))&&!(value===0&&this.value==="")}};__name(_MaskedNumber2,"MaskedNumber");var MaskedNumber=_MaskedNumber2;_MaskedNumber=MaskedNumber;MaskedNumber.UNMASKED_RADIX=".";MaskedNumber.EMPTY_VALUES=[...Masked.EMPTY_VALUES,0];MaskedNumber.DEFAULTS={...Masked.DEFAULTS,mask:Number,radix:",",thousandsSeparator:"",mapToRadix:[_MaskedNumber.UNMASKED_RADIX],min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER,scale:2,normalizeZeros:!0,padFractionalZeros:!1,parse:Number,format:__name(n=>n.toLocaleString("en-US",{useGrouping:!1,maximumFractionDigits:20}),"format")};IMask.MaskedNumber=MaskedNumber;var PIPE_TYPE={MASKED:"value",UNMASKED:"unmaskedValue",TYPED:"typedValue"};function createPipe(arg,from2,to){from2===void 0&&(from2=PIPE_TYPE.MASKED),to===void 0&&(to=PIPE_TYPE.MASKED);let masked=createMask(arg);return value=>masked.runIsolated(m=>(m[from2]=value,m[to]))}__name(createPipe,"createPipe");function pipe2(value,mask,from2,to){return createPipe(mask,from2,to)(value)}__name(pipe2,"pipe");IMask.PIPE_TYPE=PIPE_TYPE;IMask.createPipe=createPipe;IMask.pipe=pipe2;var _RepeatBlock=class _RepeatBlock extends MaskedPattern{get repeatFrom(){var _ref;return(_ref=Array.isArray(this.repeat)?this.repeat[0]:this.repeat===1/0?0:this.repeat)!=null?_ref:0}get repeatTo(){var _ref2;return(_ref2=Array.isArray(this.repeat)?this.repeat[1]:this.repeat)!=null?_ref2:1/0}constructor(opts){super(opts)}updateOptions(opts){super.updateOptions(opts)}_update(opts){var _ref3,_ref4,_this$_blocks;let{repeat:repeat2,...blockOpts}=normalizeOpts(opts);this._blockOpts=Object.assign({},this._blockOpts,blockOpts);let block=createMask(this._blockOpts);this.repeat=(_ref3=(_ref4=repeat2??block.repeat)!=null?_ref4:this.repeat)!=null?_ref3:1/0,super._update({mask:"m".repeat(Math.max(this.repeatTo===1/0&&((_this$_blocks=this._blocks)==null?void 0:_this$_blocks.length)||0,this.repeatFrom)),blocks:{m:block},eager:block.eager,overwrite:block.overwrite,skipInvalid:block.skipInvalid,lazy:block.lazy,placeholderChar:block.placeholderChar,displayChar:block.displayChar})}_allocateBlock(bi){if(bi<this._blocks.length)return this._blocks[bi];if(this.repeatTo===1/0||this._blocks.length<this.repeatTo)return this._blocks.push(createMask(this._blockOpts)),this.mask+="m",this._blocks[this._blocks.length-1]}_appendCharRaw(ch,flags){flags===void 0&&(flags={});let details=new ChangeDetails;for(let bi=(_this$_mapPosToBlock$=(_this$_mapPosToBlock=this._mapPosToBlock(this.displayValue.length))==null?void 0:_this$_mapPosToBlock.index)!=null?_this$_mapPosToBlock$:Math.max(this._blocks.length-1,0),block,allocated;block=(_this$_blocks$bi=this._blocks[bi])!=null?_this$_blocks$bi:allocated=!allocated&&this._allocateBlock(bi);++bi){var _this$_mapPosToBlock$,_this$_mapPosToBlock,_this$_blocks$bi,_flags$_beforeTailSta;let blockDetails=block._appendChar(ch,{...flags,_beforeTailState:(_flags$_beforeTailSta=flags._beforeTailState)==null||(_flags$_beforeTailSta=_flags$_beforeTailSta._blocks)==null?void 0:_flags$_beforeTailSta[bi]});if(blockDetails.skip&&allocated){this._blocks.pop(),this.mask=this.mask.slice(1);break}if(details.aggregate(blockDetails),blockDetails.consumed)break}return details}_trimEmptyTail(fromPos,toPos){var _this$_mapPosToBlock2,_this$_mapPosToBlock3;fromPos===void 0&&(fromPos=0);let firstBlockIndex=Math.max(((_this$_mapPosToBlock2=this._mapPosToBlock(fromPos))==null?void 0:_this$_mapPosToBlock2.index)||0,this.repeatFrom,0),lastBlockIndex;toPos!=null&&(lastBlockIndex=(_this$_mapPosToBlock3=this._mapPosToBlock(toPos))==null?void 0:_this$_mapPosToBlock3.index),lastBlockIndex==null&&(lastBlockIndex=this._blocks.length-1);let removeCount=0;for(let blockIndex=lastBlockIndex;firstBlockIndex<=blockIndex&&!this._blocks[blockIndex].unmaskedValue;--blockIndex,++removeCount);removeCount&&(this._blocks.splice(lastBlockIndex-removeCount+1,removeCount),this.mask=this.mask.slice(removeCount))}reset(){super.reset(),this._trimEmptyTail()}remove(fromPos,toPos){fromPos===void 0&&(fromPos=0),toPos===void 0&&(toPos=this.displayValue.length);let removeDetails=super.remove(fromPos,toPos);return this._trimEmptyTail(fromPos,toPos),removeDetails}totalInputPositions(fromPos,toPos){return fromPos===void 0&&(fromPos=0),toPos==null&&this.repeatTo===1/0?1/0:super.totalInputPositions(fromPos,toPos)}get state(){return super.state}set state(state){this._blocks.length=state._blocks.length,this.mask=this.mask.slice(0,this._blocks.length),super.state=state}};__name(_RepeatBlock,"RepeatBlock");var RepeatBlock=_RepeatBlock;IMask.RepeatBlock=RepeatBlock;try{globalThis.IMask=IMask}catch{}import React199 from"react";var import_prop_types=__toESM(require_prop_types(),1);import React198 from"react";var MASK_PROPS={mask:import_prop_types.default.oneOfType([import_prop_types.default.array,import_prop_types.default.func,import_prop_types.default.string,import_prop_types.default.instanceOf(RegExp),import_prop_types.default.oneOf([Date,Number,IMask.Masked]),import_prop_types.default.instanceOf(IMask.Masked)]),value:import_prop_types.default.any,unmask:import_prop_types.default.oneOfType([import_prop_types.default.bool,import_prop_types.default.oneOf(["typed"])]),prepare:import_prop_types.default.func,prepareChar:import_prop_types.default.func,validate:import_prop_types.default.func,commit:import_prop_types.default.func,overwrite:import_prop_types.default.oneOfType([import_prop_types.default.bool,import_prop_types.default.oneOf(["shift"])]),eager:import_prop_types.default.oneOfType([import_prop_types.default.bool,import_prop_types.default.oneOf(["append","remove"])]),skipInvalid:import_prop_types.default.bool,onAccept:import_prop_types.default.func,onComplete:import_prop_types.default.func,placeholderChar:import_prop_types.default.string,displayChar:import_prop_types.default.string,lazy:import_prop_types.default.bool,definitions:import_prop_types.default.object,blocks:import_prop_types.default.object,enum:import_prop_types.default.arrayOf(import_prop_types.default.string),maxLength:import_prop_types.default.number,from:import_prop_types.default.number,to:import_prop_types.default.number,pattern:import_prop_types.default.string,format:import_prop_types.default.func,parse:import_prop_types.default.func,autofix:import_prop_types.default.oneOfType([import_prop_types.default.bool,import_prop_types.default.oneOf(["pad"])]),radix:import_prop_types.default.string,thousandsSeparator:import_prop_types.default.string,mapToRadix:import_prop_types.default.arrayOf(import_prop_types.default.string),scale:import_prop_types.default.number,normalizeZeros:import_prop_types.default.bool,padFractionalZeros:import_prop_types.default.bool,min:import_prop_types.default.oneOfType([import_prop_types.default.number,import_prop_types.default.instanceOf(Date)]),max:import_prop_types.default.oneOfType([import_prop_types.default.number,import_prop_types.default.instanceOf(Date)]),dispatch:import_prop_types.default.func,inputRef:import_prop_types.default.oneOfType([import_prop_types.default.func,import_prop_types.default.shape({current:import_prop_types.default.object})])},MASK_PROPS_NAMES=Object.keys(MASK_PROPS).filter(p=>p!=="value"),NON_MASK_OPTIONS_NAMES=["value","unmask","onAccept","onComplete","inputRef"],MASK_OPTIONS_NAMES=MASK_PROPS_NAMES.filter(pName=>NON_MASK_OPTIONS_NAMES.indexOf(pName)<0);function IMaskMixin(ComposedComponent){var _a;var _Class;let MaskedComponent=(_Class=(_a=class extends React198.Component{constructor(props){super(props),this._inputRef=this._inputRef.bind(this)}componentDidMount(){this.props.mask&&this.initMask()}componentDidUpdate(){let props=this.props,maskOptions=this._extractMaskOptionsFromProps(props);if(maskOptions.mask)this.maskRef?(this.maskRef.updateOptions(maskOptions),"value"in props&&props.value!==void 0&&(this.maskValue=props.value)):this.initMask(maskOptions);else if(this.destroyMask(),"value"in props&&props.value!==void 0){var _this$element;(_this$element=this.element)!=null&&_this$element.isContentEditable&&this.element.tagName!=="INPUT"&&this.element.tagName!=="TEXTAREA"?this.element.textContent=props.value:this.element.value=props.value}}componentWillUnmount(){this.destroyMask()}_inputRef(el){this.element=el,this.props.inputRef&&(Object.prototype.hasOwnProperty.call(this.props.inputRef,"current")?this.props.inputRef.current=el:this.props.inputRef(el))}initMask(maskOptions){maskOptions===void 0&&(maskOptions=this._extractMaskOptionsFromProps(this.props)),this.maskRef=IMask(this.element,maskOptions).on("accept",this._onAccept.bind(this)).on("complete",this._onComplete.bind(this)),"value"in this.props&&this.props.value!==void 0&&(this.maskValue=this.props.value)}destroyMask(){this.maskRef&&(this.maskRef.destroy(),delete this.maskRef)}_extractMaskOptionsFromProps(props){let{...cloneProps}=props;return Object.keys(cloneProps).filter(prop=>MASK_OPTIONS_NAMES.indexOf(prop)<0).forEach(nonMaskProp=>{delete cloneProps[nonMaskProp]}),cloneProps}_extractNonMaskProps(props){let{...cloneProps}=props;return MASK_PROPS_NAMES.forEach(maskProp=>{maskProp!=="maxLength"&&delete cloneProps[maskProp]}),"defaultValue"in cloneProps||(cloneProps.defaultValue=props.mask?"":cloneProps.value),delete cloneProps.value,cloneProps}get maskValue(){return this.maskRef?this.props.unmask==="typed"?this.maskRef.typedValue:this.props.unmask?this.maskRef.unmaskedValue:this.maskRef.value:""}set maskValue(value){this.maskRef&&(value=value==null&&this.props.unmask!=="typed"?"":value,this.props.unmask==="typed"?this.maskRef.typedValue=value:this.props.unmask?this.maskRef.unmaskedValue=value:this.maskRef.value=value)}_onAccept(e){this.props.onAccept&&this.maskRef&&this.props.onAccept(this.maskValue,this.maskRef,e)}_onComplete(e){this.props.onComplete&&this.maskRef&&this.props.onComplete(this.maskValue,this.maskRef,e)}render(){return React198.createElement(ComposedComponent,{...this._extractNonMaskProps(this.props),inputRef:this._inputRef})}},__name(_a,"MaskedComponent"),_a),_Class.displayName=void 0,_Class.propTypes=void 0,_Class),nestedComponentName=ComposedComponent.displayName||ComposedComponent.name||"Component";return MaskedComponent.displayName="IMask("+nestedComponentName+")",MaskedComponent.propTypes=MASK_PROPS,React198.forwardRef((props,ref)=>React198.createElement(MaskedComponent,{...props,ref}))}__name(IMaskMixin,"IMaskMixin");var IMaskInputClass=IMaskMixin(_ref=>{let{inputRef,...props}=_ref;return React199.createElement("input",{...props,ref:inputRef})}),IMaskInputFn=__name((props,ref)=>React199.createElement(IMaskInputClass,{...props,ref}),"IMaskInputFn"),IMaskInput=React199.forwardRef(IMaskInputFn);import{useRef as useRef52,useState as useState31,useCallback as useCallback33,useEffect as useEffect45}from"react";import"react";import{jsx as _jsx114}from"react/jsx-runtime";var CalendarToday_default=createSvgIcon2(_jsx114("path",{d:"M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m0 18H4V8h16z"}),"CalendarToday");var Sheet3=Sheet_default;var Sheet_default2=Sheet3;var MotionDialogActions=motion(DialogActions_default),StyledDialogActions=styled_default2(MotionDialogActions)(({theme})=>({padding:theme.spacing(2),gap:theme.spacing(2),flexDirection:"row",justifyContent:"flex-end"})),DialogActions3=StyledDialogActions;DialogActions3.displayName="DialogActions";var DialogActions_default2=DialogActions3;var CalendarButton=styled_default2(IconButton_default2,{name:"DatePicker",slot:"calendarButton"})(({theme})=>({"&:focus":{"--Icon-color":"currentColor",outlineOffset:`${theme.getCssVar("focus-thickness")}`,outline:`${theme.getCssVar("focus-thickness")} solid ${theme.getCssVar("palette-focusVisible")}`}})),StyledPopper=styled_default2(Popper,{name:"DatePicker",slot:"popper"})(({theme})=>({zIndex:theme.zIndex.tooltip})),CalendarSheet=styled_default2(Sheet_default2,{name:"DatePicker",slot:"sheet",overridesResolver:__name((props,styles2)=>styles2.root,"overridesResolver")})(({theme})=>({boxShadow:theme.shadow.md,borderRadius:theme.radius.md})),CalendarSheetContent=styled_default2("div",{name:"DatePicker",slot:"sheetContent"})({display:"flex",flexDirection:"row"}),CalendarSection=styled_default2("div",{name:"DatePicker",slot:"calendarSection"})({width:"264px"}),PresetPanel=styled_default2("div",{name:"DatePicker",slot:"presetPanel"})(({theme})=>({display:"flex",flexDirection:"column",borderLeft:`1px solid ${theme.vars.palette.divider}`,padding:theme.spacing(1),minWidth:"120px",overflowY:"auto"})),PresetItem=styled_default2(Button_default2,{name:"DatePicker",slot:"presetItem",shouldForwardProp:__name(prop=>prop!=="active","shouldForwardProp")})(({active})=>[{width:"100%",justifyContent:"flex-start",whiteSpace:"nowrap"},active&&{fontWeight:"bold"}]),DatePickerRoot=styled_default2("div",{name:"DatePicker",slot:"root",overridesResolver:__name((props,styles2)=>styles2.root,"overridesResolver")})({width:"100%"}),validValueFormat=__name((value,format2)=>{try{let parsedValue=parseDate(value,format2);return parsedValue.toString()==="Invalid Date"||value!==formatValueString(parsedValue,format2)?!1:new RegExp(`^${format2.replace(/Y/g,"\\d").replace(/M/g,"\\d").replace(/D/g,"\\d")}$`).test(value)}catch{return!1}},"validValueFormat"),formatValueString=__name((date,format2)=>{let day=`${date.getDate()}`,month=`${date.getMonth()+1}`,year=date.getFullYear();return Number(day)<10&&(day="0"+day),Number(month)<10&&(month="0"+month),format2.replace(/YYYY/g,year.toString()).replace(/MM/g,month).replace(/DD/g,day)},"formatValueString");function parseDate(dateString,format2){let formatParts=format2.split(/[-./\s]/),dateParts=dateString.split(/[-./\s]/);if(formatParts.length!==dateParts.length)throw new Error("Invalid date string or format");let day,month,year;for(let i=0;i<formatParts.length;i++){let value=parseInt(dateParts[i],10);switch(formatParts[i]){case"DD":day=value;break;case"MM":month=value-1;break;case"YYYY":year=value;break}}return new Date(year,month,day)}__name(parseDate,"parseDate");var formatToPattern=__name(format2=>format2.replace(/YYYY/g,"Y").replace(/MM/g,"M").replace(/DD/g,"D").replace(/[^YMD\s]/g,match2=>`${match2}\``),"formatToPattern"),TextMaskAdapter3=React200.forwardRef(__name(function(props,ref){let{onChange,format:format2,...other}=props;return React200.createElement(IMaskInput,{...other,inputRef:ref,onAccept:value=>onChange({target:{name:props.name,value}}),mask:Date,pattern:formatToPattern(format2),blocks:{D:{mask:IMask.MaskedRange,from:1,to:31,maxLength:2},M:{mask:IMask.MaskedRange,from:1,to:12,maxLength:2},Y:{mask:IMask.MaskedRange,from:1900,to:9999,maxLength:4}},format:date=>formatValueString(date,format2),parse:str=>parseDate(str,format2),autofix:"pad",overwrite:!0})},"TextMaskAdapter")),DatePicker=forwardRef89((inProps,ref)=>{let props=useThemeProps2({props:inProps,name:"DatePicker"}),{onChange,disabled,label,error,helperText,minDate,maxDate,disableFuture,disablePast,required,sx,className,format:format2="YYYY/MM/DD",displayFormat="YYYY/MM/DD",size,inputReadOnly,hideClearButton,readOnly,shouldDisableDate,presets,...innerProps}=props,innerRef=useRef53(null),buttonRef=useRef53(null),[value,setValue]=useControlledState(props.value,props.defaultValue||"",useCallback34(value2=>onChange==null?void 0:onChange({target:{name:props.name,value:value2}}),[props.name,onChange])),[displayValue,setDisplayValue]=useState32(()=>value?formatValueString(parseDate(value,format2),displayFormat):""),[anchorEl,setAnchorEl]=useState32(null),open=!!anchorEl;useEffect46(()=>{var _a;anchorEl||(_a=innerRef.current)==null||_a.blur()},[anchorEl,innerRef]),useEffect46(()=>{if(value===""){setDisplayValue("");return}let formattedValue=formatValueString(parseDate(value,format2),displayFormat);validValueFormat(formattedValue,displayFormat)&&formattedValue!==displayValue&&setDisplayValue(formattedValue)},[displayFormat,displayValue,format2,value]),useImperativeHandle8(ref,()=>innerRef.current,[innerRef]);let handleChange=useCallback34(event=>{let value2=event.target.value;setDisplayValue(value2&&formatValueString(parseDate(value2,format2),displayFormat)),setValue(value2)},[displayFormat,format2,setValue]),handleDisplayInputChange=useCallback34(event=>{if(event.target.value===""){handleChange({target:{name:props.name,value:""}});return}if(validValueFormat(event.target.value,displayFormat)){let parsedDate=parseDate(event.target.value,displayFormat),formattedValue=formatValueString(parsedDate,format2);handleChange({target:{name:props.name,value:formattedValue}})}},[displayFormat,format2,handleChange,props.name]),handleCalendarToggle=useCallback34(event=>{setAnchorEl(anchorEl?null:event.currentTarget),setTimeout(()=>{var _a;(_a=innerRef.current)==null||_a.focus()},0)},[anchorEl,setAnchorEl,innerRef]),handleInputMouseDown=useCallback34(event=>{var _a;inputReadOnly&&(event.preventDefault(),(_a=buttonRef.current)==null||_a.focus())},[inputReadOnly,buttonRef]),handlePresetClick=useCallback34(presetValue=>{handleChange({target:{name:props.name,value:presetValue}}),setAnchorEl(null)},[handleChange,props.name]),isPresetDisabled=useCallback34(presetValue=>{try{let date=parseDate(presetValue,format2);return!!(Number.isNaN(date.getTime())||minDate&&date<new Date(minDate)||maxDate&&date>new Date(maxDate)||disableFuture&&date>new Date(new Date().toDateString())||disablePast&&date<new Date(new Date().toDateString())||shouldDisableDate!=null&&shouldDisableDate(presetValue))}catch{return!0}},[format2,minDate,maxDate,disableFuture,disablePast,shouldDisableDate]);return React200.createElement(DatePickerRoot,null,React200.createElement(FocusTrap,{open:!0},React200.createElement(React200.Fragment,null,React200.createElement(Input_default2,{...innerProps,color:error?"danger":innerProps.color,ref:innerRef,size,value:displayValue,onChange:handleDisplayInputChange,placeholder:displayFormat,disabled,required,error,slotProps:{input:{component:TextMaskAdapter3,ref:innerRef,format:displayFormat,sx:{"&:hover":{cursor:inputReadOnly||readOnly?"default":"text"}},onMouseDown:handleInputMouseDown}},className,sx,endDecorator:React200.createElement(CalendarButton,{ref:buttonRef,variant:"plain",onClick:readOnly?void 0:handleCalendarToggle,"aria-label":"Toggle Calendar","aria-controls":"date-picker-popper","aria-haspopup":"dialog","aria-expanded":open,disabled},React200.createElement(CalendarToday_default,null)),label,helperText,readOnly:readOnly||inputReadOnly}),open&&React200.createElement(ClickAwayListener,{onClickAway:()=>setAnchorEl(null)},React200.createElement(StyledPopper,{id:"date-picker-popper",open:!0,anchorEl,placement:"bottom-end",onMouseDown:e=>e.preventDefault(),modifiers:[{name:"offset",options:{offset:[4,4]}}],"aria-label":"Calendar Tooltip","aria-expanded":open},React200.createElement(CalendarSheet,{tabIndex:-1,role:"presentation"},React200.createElement(CalendarSheetContent,null,React200.createElement(CalendarSection,null,React200.createElement(Calendar_default,{value:value&&!Number.isNaN(parseDate(value,format2).getTime())?[parseDate(value,format2),void 0]:void 0,onChange:([date])=>{handleChange({target:{name:props.name,value:formatValueString(date,format2)}}),setAnchorEl(null)},minDate:minDate?new Date(minDate):void 0,maxDate:maxDate?new Date(maxDate):void 0,disableFuture,disablePast,shouldDisableDate:shouldDisableDate?date=>shouldDisableDate(formatValueString(date,format2)):void 0}),!hideClearButton&&React200.createElement(DialogActions_default2,{sx:{p:1}},React200.createElement(Button_default2,{size,variant:"plain",color:"neutral",onClick:()=>{handleChange({target:{name:props.name,value:""}}),setAnchorEl(null)}},"Clear"))),presets&&presets.length>0&&React200.createElement(PresetPanel,null,presets.map(preset=>{let disabled2=isPresetDisabled(preset.value);return React200.createElement(PresetItem,{key:preset.label,size:"sm",variant:value===preset.value?"soft":"plain",color:value===preset.value?"primary":"neutral",active:value===preset.value,disabled:disabled2,onClick:()=>handlePresetClick(preset.value)},preset.label)})))))))))});var DatePicker_default=DatePicker;import React201 from"react";var MotionTextarea=motion(Textarea_default),Textarea3=__name(props=>{let{label,error,helperText,color:color3,size,disabled,required,minRows=2,maxRows=4,sx,className,...innerProps}=props,textarea=React201.createElement(MotionTextarea,{required,disabled,color:error?"danger":color3,size,minRows,maxRows,...innerProps});return React201.createElement(FormControl_default2,{required,disabled,color:color3,size,error,sx,className},label&&React201.createElement(FormLabel_default2,null,label),textarea,helperText&&React201.createElement(FormHelperText_default2,null,helperText))},"Textarea");Textarea3.displayName="Textarea";var Textarea_default2=Textarea3;import React202,{useMemo as useMemo46}from"react";var MotionOption=motion(Option_default),Option3=MotionOption,secondaryTextLevelMap2={sm:"body-xs",md:"body-sm",lg:"body-md"};Option3.displayName="Option";function Select3(props){let{label,helperText,error,size,color:color3,disabled,required,onChange,sx,className,...innerProps}=props,options=useMemo46(()=>props.options.map(option=>option.hasOwnProperty("value")&&option.hasOwnProperty("label")?option:{value:option,label:option}),[props.options]),handleChange=__name((event,newValue)=>{var _a;let _event=event||{target:{}},newEvent={..._event,target:{..._event.target,name:((_a=_event.target)==null?void 0:_a.name)||props.name,value:newValue}};onChange==null||onChange(newEvent,newValue)},"handleChange"),optionMap=useMemo46(()=>{let map3=new Map;return options.forEach(option=>{map3.set(option.value,option)}),map3},[options]),select=React202.createElement(Select_default,{...innerProps,required,disabled,size,color:error?"danger":color3,onChange:handleChange,renderValue:selected=>{var _a;return selected?Array.isArray(selected)?selected.map(s=>{var _a2;return(_a2=optionMap.get(s.value))==null?void 0:_a2.label}).join(", "):(_a=optionMap.get(selected.value))==null?void 0:_a.label:null}},options.map(option=>React202.createElement(Option3,{key:option.value,value:option.value,disabled:option.disabled},option.secondaryText?React202.createElement(ListItemContent_default,{sx:{gap:.5}},React202.createElement(Typography_default,{level:"inherit"},option.label),React202.createElement(Typography_default,{level:secondaryTextLevelMap2[size??"md"],textColor:"text.tertiary"},option.secondaryText)):option.label)));return React202.createElement(FormControl_default2,{required,disabled,size,color:color3,error,sx,className},label&&React202.createElement(FormLabel_default2,null,label),select,helperText&&React202.createElement(FormHelperText_default2,null,helperText))}__name(Select3,"Select");Select3.displayName="Select";var Select_default2=Select3;import React203 from"react";import{jsx as _jsx115}from"react/jsx-runtime";var Info_default=createSvgIcon2(_jsx115("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-6h2zm0-8h-2V7h2z"}),"Info");var InfoIcon=styled_default2(Info_default,{name:"InfoSign",slot:"InfoSign"})(({theme})=>({color:theme.palette.text.icon,width:"14px",height:"14px"}));function InfoSign(props){let{message,placement}=props;return React203.createElement(Tooltip_default2,{arrow:!0,placement,sx:{[`&.${tooltipClasses_default.root}`]:{maxWidth:"320px"}},title:message==null?void 0:message.split(`
151
+ `).map((line2,i)=>React203.createElement("div",{key:`info-sign-${i}`},line2))},React203.createElement(InfoIcon,null))}__name(InfoSign,"InfoSign");var InfoSign_default=InfoSign;var TextEllipsis=__name(({children,lineClamp,...rest})=>{let textRef=useRef54(null),[showTooltip,setShowTooltip]=useState33(!1);return useLayoutEffect6(()=>{let element3=textRef.current;if(!element3)return;let checkTruncation=__name(()=>{let isTruncated=lineClamp&&lineClamp>1?element3.scrollHeight>element3.clientHeight+1:element3.scrollWidth>element3.clientWidth;setShowTooltip(isTruncated)},"checkTruncation");checkTruncation();let ro=new ResizeObserver(checkTruncation);return ro.observe(element3),()=>ro.disconnect()},[children,lineClamp]),React204.createElement(Tooltip_default2,{title:showTooltip?children:"",placement:"top"},React204.createElement(EllipsisDiv,{ref:textRef,lineClamp,...rest},children))},"TextEllipsis"),CellTextEllipsis=__name(({children})=>{let textRef=useRef54(null),[showTooltip,setShowTooltip]=useState33(!1);useLayoutEffect6(()=>{let element3=textRef.current;if(element3){let isTextTruncated=element3.scrollWidth>element3.clientWidth;setShowTooltip(isTextTruncated)}},[children]);let content3=React204.createElement(EllipsisDiv,{ref:textRef},children);return showTooltip?React204.createElement(Tooltip_default2,{title:children,placement:"top",enterDelay:800,enterNextDelay:200,onClick:e=>e.stopPropagation()},content3):content3},"CellTextEllipsis"),HeadCell=__name(props=>{let{width:width2,maxWidth:maxWidth2,minWidth:minWidth2,stickyHeader,resizable,field,type,tableId,headerName,required,editMode,sort,onSortChange,sortable:_sortable=!0,sortOrder,description,isPinned,pinnedStartPosition,pinnedEndPosition,headerRef,tableColRef,headerClassName,headerLineClamp,onAutoFit}=props,theme=useTheme5(),ref=headerRef,colRef=tableColRef,localRef=useRef54(null);useLayoutEffect6(()=>{ref.current=localRef.current},[ref]);let[isHovered,setIsHovered]=useState33(!1),sortable=type==="actions"?!1:_sortable,headId=useMemo47(()=>`${tableId}_header_${headerName??field}`.trim(),[tableId,headerName,field]),isResizingRef=useRef54(!1),resizer=useMemo47(()=>resizable??!0?Resizer(ref,colRef,isResizing=>{isResizingRef.current=isResizing},onAutoFit?()=>onAutoFit(field):void 0):null,[resizable,ref,colRef,onAutoFit,field]),style4=useMemo47(()=>({width:width2,minWidth:minWidth2??"50px",maxWidth:maxWidth2,position:isPinned?"sticky":stickyHeader?void 0:"relative",left:isPinned?pinnedStartPosition:void 0,right:isPinned?pinnedEndPosition:void 0,zIndex:isPinned?`calc(${theme.getCssVar("zIndex-table")} + 2)`:void 0,cursor:sortable?"pointer":"default",userSelect:"none"}),[isPinned,maxWidth2,minWidth2,pinnedEndPosition,pinnedStartPosition,sortable,stickyHeader,theme,width2]),textAlign=getTextAlign(props),initialSort=sortOrder[0],sortIcon=useMemo47(()=>{let isSorted=!!sort;return React204.createElement(AnimatePresence,{mode:"wait"},sortable&&(isSorted||isHovered)&&React204.createElement(MotionSortIcon,{key:"sort-icon",style:{width:"16px",height:"16px"},role:"img","aria-labelledby":headId,"aria-description":(sort??initialSort)==="desc"?"descending":"ascending","data-testid":void 0,initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1,color:isSorted?"var(--ceed-palette-text-secondary)":"var(--ceed-palette-primary-solidDisabledColor)",rotate:(sort??initialSort)==="desc"?180:0},exit:{opacity:0,scale:.8},transition:{duration:.2,ease:"easeInOut",rotate:{duration:.2,ease:"easeOut"}}}))},[headId,initialSort,sort,sortable,isHovered]),infoSign=useMemo47(()=>description?React204.createElement(InfoSign_default,{message:description,placement:"bottom"}):null,[description]),params=useMemo47(()=>({field}),[field]),computedHeaderClassName=useMemo47(()=>(typeof headerClassName=="function"?headerClassName(params):headerClassName)||void 0,[headerClassName,params]);return React204.createElement(StyledTh,{id:headId,"aria-label":headerName??field,"aria-sort":sort?{asc:"ascending",desc:"descending"}[sort]:"none",ref:localRef,key:field,style:style4,onClick:useCallback35(e=>{isResizingRef.current||!(e.target instanceof Element)||!e.currentTarget.contains(e.target)||sortable&&(onSortChange==null||onSortChange({field,currentSort:sort,multiple:e.shiftKey}))},[field,onSortChange,sort,sortable]),onMouseEnter:()=>setIsHovered(!0),onMouseLeave:()=>setIsHovered(!1),whileHover:"hover",initial:"initial",className:computedHeaderClassName},React204.createElement(Stack_default2,{gap:1,direction:"row",justifyContent:textAlign,alignItems:"center",sx:{minWidth:0}},textAlign==="end"&&sortIcon,textAlign==="end"&&infoSign,React204.createElement(TextEllipsis,{lineClamp:headerLineClamp,"data-slot":"header-text"},headerName??field,editMode&&required&&React204.createElement(Asterisk,null,"*")),textAlign==="start"&&infoSign,textAlign==="start"&&sortIcon),resizer)},"HeadCell"),BodyCell=__name(props=>{let{tableId,field,type,renderCell,renderEditCell,isCellEditable,noWrap,isPinned,isLastStartPinnedColumn,isLastEndPinnedColumn,pinnedStartPosition,pinnedEndPosition,row,rowId,cellClassName,onCellEditStart,onCellEditStop}=props,theme=useTheme5(),[value,setValue]=useState33(row[field]),cellRef=useRef54(null),params=useMemo47(()=>({row,value,id:rowId,field}),[row,rowId,value,field]),editMode=useMemo47(()=>!!(props.editMode&&(typeof isCellEditable=="function"?isCellEditable(params):isCellEditable??!0)),[props.editMode,isCellEditable,params]),propsComponentProps="componentProps"in props?props.componentProps:null,componentProps=useMemo47(()=>({..."componentProps"in props&&(typeof propsComponentProps=="function"?propsComponentProps(params):propsComponentProps||{}),size:"sm"}),[props,propsComponentProps,params]),editModeComponentProps=useMemo47(()=>({...componentProps,onChange:__name(e=>{var _a;(_a=componentProps.onChange)==null||_a.call(componentProps,e),setValue(e.target.value),type==="select"&&(onCellEditStop==null||onCellEditStop({...params,originalRow:row,row:{...params.row,[field]:e.target.value},value:e.target.value}))},"onChange"),onFocus:__name(e=>{var _a;(_a=componentProps.onFocus)==null||_a.call(componentProps,e),onCellEditStart==null||onCellEditStart({...params,originalRow:row,row:{...params.row,value},value})},"onFocus"),onBlur:__name(e=>{var _a;(_a=componentProps.onBlur)==null||_a.call(componentProps,e),type&&["number","text","longText","currency","date"].includes(type)&&(onCellEditStop==null||onCellEditStop({...params,originalRow:row,row:{...params.row,[field]:value},value}))},"onBlur"),...type==="autocomplete"&&{onChangeComplete:__name(e=>{var _a;(_a=componentProps.onChangeComplete)==null||_a.call(componentProps,e),setValue(e.target.value),onCellEditStop==null||onCellEditStop({...params,originalRow:row,row:{...params.row,[field]:e.target.value},value:e.target.value})},"onChangeComplete")}}),[params,row,field,value,componentProps,type,onCellEditStop,onCellEditStart]),EditModeComponent=useMemo47(()=>renderEditCell?createElement9(memo7(renderEditCell),params):{date:React204.createElement(DatePicker_default,{value,...editModeComponentProps}),currency:React204.createElement(CurrencyInput_default,{value,...editModeComponentProps}),number:React204.createElement(Input_default2,{value,type:"number",...editModeComponentProps}),text:React204.createElement(Input_default2,{value,type:"text",...editModeComponentProps}),longText:React204.createElement(Textarea_default2,{value,...editModeComponentProps}),autocomplete:React204.createElement(Autocomplete_default2,{value,options:editModeComponentProps.options||[value],...editModeComponentProps}),select:React204.createElement(Select_default2,{value,options:editModeComponentProps.options||[value],...editModeComponentProps})}[type||"text"],[value,editModeComponentProps,type,renderEditCell,params]),linkComponentFromProps=props.component,ReadModeComponent=useMemo47(()=>{if(renderCell)return createElement9(memo7(renderCell),params);let innerText=value;return{link:React204.createElement(linkComponentFromProps||Link_default,{children:innerText,...componentProps})}[type||"text"]||innerText},[value,renderCell,params,type,componentProps,linkComponentFromProps]),getActions=props.getActions,CellComponent=useMemo47(()=>type==="actions"?React204.createElement(Stack_default2,{direction:"row",gap:1,justifyContent:"center",alignItems:"center"},getActions==null?void 0:getActions(params)):editMode&&EditModeComponent?EditModeComponent:ReadModeComponent,[type,getActions,params,editMode,EditModeComponent,ReadModeComponent]),showTooltip=useMemo47(()=>noWrap&&type==="longText",[noWrap,type]),isBoundary=props.isLastStartPinnedColumn||props.isLastEndPinnedColumn,computedCellClassName=useMemo47(()=>(typeof cellClassName=="function"?cellClassName(params):cellClassName)||"",[cellClassName,params]);return useEffect47(()=>{setValue(row[field])},[row,field]),React204.createElement(StyledTd,{ref:cellRef,key:field,headers:`${tableId}_header_${props.headerName??field}`,sx:{textAlign:getTextAlign({type}),verticalAlign:editMode?"top":"middle",position:isPinned?"sticky":void 0,left:isPinned?pinnedStartPosition:void 0,right:isPinned?pinnedEndPosition:void 0,zIndex:isPinned?`calc(${theme.getCssVar("zIndex-table")} + ${isBoundary?2:3})`:void 0,"--TableCell-dataBackground":isPinned?"var(--TableCell-headBackground)":void 0},className:[isLastStartPinnedColumn&&"is-last-left",isLastEndPinnedColumn&&"is-last-right",computedCellClassName].filter(Boolean).join(" ")||""},useMemo47(()=>showTooltip?React204.createElement(CellTextEllipsis,null,CellComponent):CellComponent,[CellComponent,showTooltip]))},"BodyCell"),BodyRow=memo7(props=>{let{tableId,columns,rowId,editMode,noWrap,row}=props;return React204.createElement(React204.Fragment,null,columns.map((column2,i)=>React204.createElement(BodyCell,{key:`${rowId}_${column2.field.toString()}_${i}`,...column2,tableId,row,rowId,editMode,noWrap})))}),StyledTableRow2=styled_default2("tr",{name:"DataTable",slot:"tableRow",shouldForwardProp:__name(prop=>prop!=="striped","shouldForwardProp")})(({striped})=>({...striped&&{backgroundColor:"var(--TableRow-stripeBackground, var(--ceed-palette-background-level2))",color:"var(--ceed-palette-text-primary)","& td":{backgroundColor:"background.surface"}},"&:hover":{backgroundColor:"var(--TableRow-hoverBackground, var(--ceed-palette-background-level3))","& td":{backgroundColor:"var(--TableRow-hoverBackground, var(--ceed-palette-background-level3))"}}})),VirtualizedTableRow=memo7(StyledTableRow2,(prevProps,nextProps)=>{var _a,_b,_c,_d;return prevProps.striped===nextProps.striped&&((_a=prevProps.style)==null?void 0:_a.height)===((_b=nextProps.style)==null?void 0:_b.height)&&((_c=prevProps.style)==null?void 0:_c.transform)===((_d=nextProps.style)==null?void 0:_d.transform)&&prevProps["data-row-id"]===nextProps["data-row-id"]&&prevProps["data-index"]===nextProps["data-index"]&&prevProps.tabIndex===nextProps.tabIndex&&prevProps["aria-checked"]===nextProps["aria-checked"]&&prevProps.children===nextProps.children});import{useState as useState34,useLayoutEffect as useLayoutEffect7,useRef as useRef55,useMemo as useMemo48,useCallback as useCallback36,useEffect as useEffect48,createRef as createRef2}from"react";function useColumnWidths(columnsByField){let[widths,setWidths]=useState34({}),roRef=useRef55();return useLayoutEffect7(()=>(roRef.current&&roRef.current.disconnect(),roRef.current=new ResizeObserver(entries=>{let changed=!1;setWidths(prev2=>{let next2={...prev2};return entries.forEach(entry=>{let field=entry.target.dataset.field,w=Math.round(entry.target.getBoundingClientRect().width);next2[field]!==w&&(next2[field]=w,changed=!0)}),changed?next2:prev2})}),Object.entries(columnsByField).forEach(([field,def])=>{let el=def.headerRef.current;el&&(el.dataset.field=field,roRef.current.observe(el))}),()=>{var _a;return(_a=roRef.current)==null?void 0:_a.disconnect()}),[columnsByField]),widths}__name(useColumnWidths,"useColumnWidths");function useDataTableRenderer({rows:_rows,columns:columnsProp,pinnedColumns,rowCount:totalRowsProp,initialState,pagination,paginationMode,paginationModel,onPaginationModelChange,sortModel:controlledSortModel,sortOrder:_sortOrder,selectionModel,onSortModelChange,onSelectionModelChange,editMode,getId:_getId,isTotalSelected:_isTotalSelected,isRowSelectable,columnGroupingModel,columnVisibilityModel,onColumnVisibilityModelChange,checkboxSelection}){var _a,_b;if(pinnedColumns&&columnGroupingModel)throw new Error("You cannot use both `pinnedColumns` and `columnGroupingModel` at the same time. Please choose one of them.");let onSelectionModelChangeRef=useRef55(onSelectionModelChange);onSelectionModelChangeRef.current=onSelectionModelChange;let[focusedRowId,setFocusedRowId]=useState34(null),[selectionAnchor,setSelectionAnchor]=useState34(null),[sortModel,setSortModel]=useControlledState(controlledSortModel,((_a=initialState==null?void 0:initialState.sorting)==null?void 0:_a.sortModel)??[],useCallback36(sortModel2=>onSortModelChange==null?void 0:onSortModelChange(sortModel2),[onSortModelChange])),[visibilityModel]=useControlledState(columnVisibilityModel,((_b=initialState==null?void 0:initialState.columns)==null?void 0:_b.columnVisibilityModel)??{},useCallback36(model=>onColumnVisibilityModelChange==null?void 0:onColumnVisibilityModelChange(model),[onColumnVisibilityModelChange])),reorderedColumns=useMemo48(()=>columnGroupingModel?reorderColumnsByGroupingModel(columnsProp,columnGroupingModel):columnsProp,[columnsProp,columnGroupingModel]),visibleColumns=useMemo48(()=>reorderedColumns.filter(col=>visibilityModel[col.field]!==!1),[reorderedColumns,visibilityModel]),visibleFieldSet=useMemo48(()=>new Set(visibleColumns.map(c=>c.field)),[visibleColumns]),tableMinWidth=useMemo48(()=>{let total=checkboxSelection?40:0;for(let col of visibleColumns)total+=parsePxValue(col.minWidth)??parsePxValue(col.width)??50;return total},[visibleColumns,checkboxSelection]),allColumnsByField=useMemo48(()=>reorderedColumns.reduce((acc,curr)=>({...acc,[curr.field]:curr}),{}),[reorderedColumns]),visibleColumnsByField=useMemo48(()=>visibleColumns.reduce((acc,curr)=>({...acc,[curr.field]:{...curr,headerRef:createRef2(),tableColRef:createRef2()}}),{}),[visibleColumns]),sortComparator=useCallback36((rowA,rowB)=>{for(let sort of sortModel){let{field,sort:direction}=sort,a=rowA[field],b=rowB[field],column2=allColumnsByField[field];if(!column2)continue;let comparison=0;if(column2.sortComparator?comparison=column2.sortComparator({rowA,rowB}):typeof a=="string"&&typeof b=="string"?comparison=a.localeCompare(b):typeof a=="number"&&typeof b=="number"?comparison=a-b:a instanceof Date&&b instanceof Date&&(comparison=a.getTime()-b.getTime()),comparison!==0)return direction==="asc"?comparison:-comparison}return 0},[sortModel,allColumnsByField]),rows=useMemo48(()=>sortModel.length?[..._rows].sort(sortComparator):_rows,[_rows,sortModel,sortComparator]),sortOrder=useMemo48(()=>Array.from(new Set(_sortOrder||["asc","desc",null])),[_sortOrder]),[page,setPage]=useState34((paginationModel==null?void 0:paginationModel.page)||1),pageSize2=(paginationModel==null?void 0:paginationModel.pageSize)||20,getId=useCallback36((row,index2)=>(_getId==null?void 0:_getId(row))??row.id??`${(index2||0)+(page-1)*pageSize2}`,[_getId,page,pageSize2]),selectedModelSet=useMemo48(()=>new Set(selectionModel||[]),[selectionModel]),dataInPage=useMemo48(()=>!pagination||paginationMode==="server"?rows:rows.slice((page-1)*pageSize2,(page-1)*pageSize2+pageSize2),[rows,page,pageSize2,paginationMode,pagination]),selectableDataInPage=useMemo48(()=>dataInPage.filter((row,i)=>isRowSelectable?isRowSelectable({row,id:getId(row,i)}):!0),[dataInPage,isRowSelectable,getId]),handleRangeSelection=useCallback36((anchor,targetIndex)=>{let startIndex=Math.min(anchor.rowIndex,targetIndex),endIndex=Math.max(anchor.rowIndex,targetIndex),rowIdsInRange=[];for(let i=startIndex;i<=endIndex;i++){let row=dataInPage[i];if(!row)continue;let rowId=getId(row,i);isRowSelectable&&!isRowSelectable({row,id:rowId})||rowIdsInRange.push(rowId)}if(anchor.wasSelected){let currentSet=new Set(selectionModel||[]);rowIdsInRange.forEach(id3=>currentSet.add(id3)),onSelectionModelChange==null||onSelectionModelChange(Array.from(currentSet))}else{let removeSet=new Set(rowIdsInRange);onSelectionModelChange==null||onSelectionModelChange((selectionModel||[]).filter(id3=>!removeSet.has(id3)))}},[dataInPage,getId,isRowSelectable,selectionModel,onSelectionModelChange]),isAllSelected=useMemo48(()=>selectableDataInPage.length>0&&selectableDataInPage.every((row,i)=>selectedModelSet.has(getId(row,i))),[selectableDataInPage,selectedModelSet,getId]),rowCount=totalRowsProp||rows.length,selectableRowCount=useMemo48(()=>isRowSelectable?rows.filter((row,i)=>isRowSelectable({row,id:getId(row,i)})).length:rowCount,[rows,isRowSelectable,getId,rowCount]),isTotalSelected=useMemo48(()=>_isTotalSelected??(selectableRowCount>0&&((selectionModel==null?void 0:selectionModel.length)||0)===selectableRowCount),[_isTotalSelected,selectionModel,selectableRowCount]),columnWidths=useColumnWidths(visibleColumnsByField),getWidth=useCallback36(f=>{var _a2,_b2;return columnWidths[f]??((_a2=allColumnsByField[f])==null?void 0:_a2.width)??((_b2=allColumnsByField[f])==null?void 0:_b2.minWidth)??0},[columnWidths,allColumnsByField]),processedColumnGroups=useMemo48(()=>columnGroupingModel?calculateColumnGroups(columnGroupingModel,visibleColumns,visibleFieldSet):null,[columnGroupingModel,visibleColumns,visibleFieldSet]),effectivePinnedLeft=useMemo48(()=>{var _a2;return(_a2=pinnedColumns==null?void 0:pinnedColumns.left)==null?void 0:_a2.filter(f=>visibleFieldSet.has(f))},[pinnedColumns==null?void 0:pinnedColumns.left,visibleFieldSet]),effectivePinnedRight=useMemo48(()=>{var _a2;return(_a2=pinnedColumns==null?void 0:pinnedColumns.right)==null?void 0:_a2.filter(f=>visibleFieldSet.has(f))},[pinnedColumns==null?void 0:pinnedColumns.right,visibleFieldSet]),columns=useMemo48(()=>(visibleColumns.length>0?visibleColumns:reorderedColumns.length>0?[]:Object.keys(rows[0]||{}).map(key=>({field:key}))).map(column2=>{var _a2,_b2,_c,_d;let isLeftPinned=effectivePinnedLeft==null?void 0:effectivePinnedLeft.includes(column2.field),isRightPinned=effectivePinnedRight==null?void 0:effectivePinnedRight.includes(column2.field),isPinned=isLeftPinned||isRightPinned;return{...column2,headerRef:(_a2=visibleColumnsByField[column2.field])==null?void 0:_a2.headerRef,tableColRef:(_b2=visibleColumnsByField[column2.field])==null?void 0:_b2.tableColRef,isCellEditable:editMode&&(typeof column2.isCellEditable=="function"?column2.isCellEditable:column2.isCellEditable??!0),sort:(_c=sortModel.find(sort=>sort.field===column2.field))==null?void 0:_c.sort,sortOrder:((_d=allColumnsByField[column2.field])==null?void 0:_d.sortOrder)||sortOrder,isPinned,isLastStartPinnedColumn:isLeftPinned&&[...effectivePinnedLeft||[]].pop()===column2.field,isLastEndPinnedColumn:isRightPinned&&((effectivePinnedRight==null?void 0:effectivePinnedRight[0])??null)===column2.field,pinnedStartPosition:effectivePinnedLeft==null?void 0:effectivePinnedLeft.slice(0,isLeftPinned?effectivePinnedLeft.indexOf(column2.field):effectivePinnedLeft.length).reduce((acc,curr)=>acc+getWidth(curr),0),pinnedEndPosition:effectivePinnedRight==null?void 0:effectivePinnedRight.slice(isRightPinned?effectivePinnedRight.indexOf(column2.field)+1:0).reduce((acc,curr)=>acc+getWidth(curr),0)}}),[visibleColumns,reorderedColumns,rows,effectivePinnedLeft,effectivePinnedRight,visibleColumnsByField,allColumnsByField,editMode,sortModel,sortOrder,getWidth]),handlePageChange=useCallback36(newPage=>{setPage(newPage),onPaginationModelChange==null||onPaginationModelChange({page:newPage,pageSize:pageSize2})},[onPaginationModelChange,pageSize2]),handleSortChange=useCallback36(props=>{let{field,currentSort,multiple}=props,column2=allColumnsByField[field],columnSortOrder=(column2==null?void 0:column2.sortOrder)||sortOrder;if(currentSort!==void 0){let nextSortOrderIndex=(columnSortOrder.indexOf(currentSort)+1)%columnSortOrder.length,nextSortOrder=columnSortOrder[nextSortOrderIndex];if(!nextSortOrder){let newSortModel2=multiple?sortModel.filter(model=>model.field!==field):[];setSortModel(newSortModel2);return}let newSortModel=multiple?sortModel.map(model=>model.field===field?{field,sort:nextSortOrder}:model):[{field,sort:nextSortOrder}];setSortModel(newSortModel)}else{let newSortModel=multiple?[...sortModel,{field,sort:columnSortOrder[0]}]:[{field,sort:columnSortOrder[0]}];setSortModel(newSortModel)}},[sortOrder,allColumnsByField,sortModel,setSortModel]);useEffect48(()=>{paginationModel||handlePageChange(1)},[rowCount,handlePageChange,paginationModel]),useEffect48(()=>{let lastPage=Math.max(1,Math.ceil(rowCount/pageSize2));page>lastPage&&handlePageChange(lastPage)},[page,rowCount,pageSize2,handlePageChange]),useEffect48(()=>{var _a2;(_a2=onSelectionModelChangeRef.current)==null||_a2.call(onSelectionModelChangeRef,[]),setSelectionAnchor(null)},[page]);let prevRowsRef=useRef55(_rows);useEffect48(()=>{prevRowsRef.current!==_rows&&(setSelectionAnchor(null),prevRowsRef.current=_rows)},[_rows]);let handleAutoFit=useCallback36(field=>{let colDef=visibleColumnsByField[field];if(!(colDef!=null&&colDef.headerRef.current))return;let column2=allColumnsByField[field];if((column2&&"type"in column2?column2.type:void 0)==="actions")return;let optimalWidth=computeAutoFitWidth({headerEl:colDef.headerRef.current,field,dataInPage});if(optimalWidth==null)return;let widthPx=`${optimalWidth}px`;colDef.headerRef.current.style.width=widthPx,colDef.tableColRef.current&&(colDef.tableColRef.current.style.width=widthPx)},[visibleColumnsByField,allColumnsByField,dataInPage]);return{rowCount,selectableRowCount,page,pageSize:pageSize2,onPaginationModelChange:handlePageChange,getId,HeadCell,BodyRow,dataInPage,handleSortChange,handleAutoFit,isAllSelected,isTotalSelected,isSelectedRow:useCallback36(model=>selectedModelSet.has(model),[selectedModelSet]),isRowSelectable:useCallback36((rowId,row)=>isRowSelectable?isRowSelectable({row,id:rowId}):!0,[isRowSelectable]),focusedRowId,onRowFocus:useCallback36(rowId=>{setFocusedRowId(rowId)},[]),onAllCheckboxChange:useCallback36(()=>{onSelectionModelChange==null||onSelectionModelChange(isAllSelected?[]:selectableDataInPage.map(getId))},[isAllSelected,selectableDataInPage,onSelectionModelChange,getId]),onCheckboxChange:useCallback36((event,selectedModel)=>{let isShiftClick="shiftKey"in event&&event.shiftKey,rowIndex=dataInPage.findIndex((row,i)=>getId(row,i)===selectedModel);if(isShiftClick&&selectionAnchor!==null)handleRangeSelection(selectionAnchor,rowIndex);else{let isCurrentlySelected=selectedModelSet.has(selectedModel),newIsSelected=!isCurrentlySelected;isCurrentlySelected?onSelectionModelChange==null||onSelectionModelChange((selectionModel||[]).filter(m=>m!==selectedModel)):onSelectionModelChange==null||onSelectionModelChange([...selectionModel||[],selectedModel]),setSelectionAnchor({rowId:selectedModel,rowIndex,wasSelected:newIsSelected})}},[selectionModel,onSelectionModelChange,selectedModelSet,dataInPage,getId,selectionAnchor,handleRangeSelection]),columns,tableMinWidth,processedColumnGroups,onTotalSelect:useCallback36(()=>{let selectableRows=rows.filter((row,i)=>isRowSelectable?isRowSelectable({row,id:getId(row,i)}):!0);onSelectionModelChange==null||onSelectionModelChange(isTotalSelected?[]:selectableRows.map(getId),!isTotalSelected)},[isTotalSelected,rows,onSelectionModelChange,getId,isRowSelectable]),selectionAnchor,setSelectionAnchor}}__name(useDataTableRenderer,"useDataTableRenderer");import React205 from"react";var Table3=__name(props=>{let{children,...inheritProps}=props;return React205.createElement(Table_default,{...inheritProps},children)},"Table");Table3.displayName="Table";function TableHead(props){let{headCells,showCheckbox,onCheckboxChange,slots:{checkbox:RenderCheckbox=Checkbox_default2}={},slotProps:{checkbox:checkboxProps={}}={}}=props;return React205.createElement("thead",null,React205.createElement("tr",null,showCheckbox&&React205.createElement("th",{style:{width:"40px",textAlign:"center"}},React205.createElement(RenderCheckbox,{onChange:onCheckboxChange,...checkboxProps})),headCells.map(headCell=>React205.createElement("th",{key:headCell.label,style:{width:headCell.width,minWidth:headCell.minWidth,maxWidth:headCell.maxWidth,textAlign:headCell.numeric?"right":"left"}},headCell.label))))}__name(TableHead,"TableHead");TableHead.displayName="TableHead";function TableBody(props){let{rows,cellOrder,rowOptions,showCheckbox,onCheckboxChange,slots:{checkbox:RenderCheckbox=Checkbox_default2}={},slotProps:{checkbox:checkboxProps={}}={}}=props;return React205.createElement("tbody",null,rows.map((row,rowIndex)=>React205.createElement("tr",{key:`table-row-${rowIndex}`},showCheckbox&&React205.createElement("td",{style:{textAlign:"center"}},React205.createElement(RenderCheckbox,{onChange:event=>onCheckboxChange==null?void 0:onCheckboxChange(event,rowIndex),...checkboxProps})),cellOrder.map(cellKey=>{var _a;return React205.createElement("td",{key:cellKey,style:{textAlign:(_a=rowOptions==null?void 0:rowOptions[cellKey])!=null&&_a.numeric?"right":"left"}},row[cellKey])}))))}__name(TableBody,"TableBody");TableBody.displayName="TableBody";import React206,{useCallback as useCallback37,useEffect as useEffect49}from"react";import{jsx as _jsx116}from"react/jsx-runtime";var ChevronLeftRounded_default=createSvgIcon2(_jsx116("path",{d:"M14.71 6.71a.996.996 0 0 0-1.41 0L8.71 11.3c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0s.39-1.02 0-1.41L10.83 12l3.88-3.88c.39-.39.38-1.03 0-1.41"}),"ChevronLeftRounded");import{jsx as _jsx117}from"react/jsx-runtime";var ChevronRightRounded_default=createSvgIcon2(_jsx117("path",{d:"M9.29 6.71c-.39.39-.39 1.02 0 1.41L13.17 12l-3.88 3.88c-.39.39-.39 1.02 0 1.41s1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41L10.7 6.7c-.38-.38-1.02-.38-1.41.01"}),"ChevronRightRounded");import{jsx as _jsx118}from"react/jsx-runtime";var FirstPageRounded_default=createSvgIcon2(_jsx118("path",{d:"M17.7 15.89 13.82 12l3.89-3.89c.39-.39.39-1.02 0-1.41a.996.996 0 0 0-1.41 0l-4.59 4.59c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0 .38-.38.38-1.02-.01-1.4M7 6c.55 0 1 .45 1 1v10c0 .55-.45 1-1 1s-1-.45-1-1V7c0-.55.45-1 1-1"}),"FirstPageRounded");import{jsx as _jsx119}from"react/jsx-runtime";var LastPageRounded_default=createSvgIcon2(_jsx119("path",{d:"M6.29 8.11 10.18 12l-3.89 3.89c-.39.39-.39 1.02 0 1.41s1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41L7.7 6.7a.996.996 0 0 0-1.41 0c-.38.39-.38 1.03 0 1.41M17 6c.55 0 1 .45 1 1v10c0 .55-.45 1-1 1s-1-.45-1-1V7c0-.55.45-1 1-1"}),"LastPageRounded");var PaginationButton=styled_default2(Button_default2,{name:"Pagination",slot:"button"})(({theme,active,size})=>({"--Button-size":{sm:"32px",md:"40px",lg:"48px"}[size],width:"var(--Button-size)",height:"var(--Button-size)",backgroundColor:active?theme.vars.palette.primary.softHoverBg:"transparent",color:active?theme.vars.palette.primary.softColor:theme.vars.palette.neutral.plainColor,"&:hover":{color:active?theme.vars.palette.primary.softColor:theme.vars.palette.neutral.softColor,backgroundColor:active?theme.vars.palette.primary.softActiveBg:theme.vars.palette.neutral.softHoverBg}})),PaginationIconButton=styled_default2(IconButton_default2,{name:"Pagination",slot:"button"})(({theme,size})=>({"--IconButton-size":{sm:"32px",md:"40px",lg:"48px"}[size],"--Icon-fontSize":"20px",width:"var(--IconButton-size)",height:"var(--IconButton-size)",color:theme.vars.palette.neutral.plainColor,"&:hover":{color:theme.vars.palette.neutral.softColor,backgroundColor:theme.vars.palette.neutral.softHoverBg}})),PaginationRoot=styled_default2(Stack_default2,{name:"Pagination",slot:"root"})({}),PaginationContainer=styled_default2(Stack_default2,{name:"Pagination",slot:"container"})(({theme,size})=>({gap:{sm:theme.spacing(1),md:theme.spacing(1.5),lg:theme.spacing(2)}[size]}));function Pagination(props){let{paginationModel:_paginationModel,defaultPaginationModel={page:1,pageSize:25},onPageChange,rowCount,size="md",variant="standard",...innerProps}=props,[paginationModel,setPaginationModel]=useControlledState(_paginationModel,defaultPaginationModel,useCallback37(newPage=>{onPageChange(newPage.page)},[onPageChange])),handlePageChange=__name(newPage=>{setPaginationModel({...paginationModel,page:newPage})},"handlePageChange"),firstPage=1,lastPage=Math.max(firstPage,Math.ceil(rowCount/paginationModel.pageSize)),beforePages=[paginationModel.page-2,paginationModel.page-1].filter(p=>p>1),afterPages=[paginationModel.page+1,paginationModel.page+2].filter(p=>p<=lastPage-1),isMoreAfterPages=lastPage>1&&paginationModel.page<lastPage-3,isMoreBeforePages=lastPage>1&&paginationModel.page>4;useEffect49(()=>{paginationModel.page>lastPage&&setPaginationModel({...paginationModel,page:lastPage})},[rowCount,paginationModel,lastPage,setPaginationModel]);let pageOptions=Array.from({length:lastPage},(_4,i)=>({label:`${i+1}`,value:`${i+1}`}));return variant==="compact"?React206.createElement(PaginationRoot,{...innerProps},React206.createElement(PaginationContainer,{direction:"row",size,alignItems:"center"},React206.createElement(Stack_default2,{direction:"row"},React206.createElement(PaginationIconButton,{size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(firstPage),disabled:paginationModel.page===firstPage,"aria-label":"First page"},React206.createElement(FirstPageRounded_default,null)),React206.createElement(PaginationIconButton,{size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(paginationModel.page-1),disabled:paginationModel.page===firstPage,"aria-label":"Previous page"},React206.createElement(ChevronLeftRounded_default,null))),React206.createElement(Autocomplete_default2,{size,value:`${paginationModel.page}`,onChange:event=>{event.target.value&&handlePageChange(parseInt(event.target.value,10))},options:pageOptions,sx:{width:{sm:"80px",md:"100px",lg:"120px"}[size]}}),React206.createElement(Typography_default2,{level:`body-${size}`,sx:theme=>({color:theme.palette.text.secondary,fontWeight:500})},"/ ",lastPage),React206.createElement(Stack_default2,{direction:"row"},React206.createElement(PaginationIconButton,{size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(paginationModel.page+1),disabled:paginationModel.page===lastPage,"aria-label":"Next page"},React206.createElement(ChevronRightRounded_default,null)),React206.createElement(PaginationIconButton,{size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(lastPage),disabled:paginationModel.page===lastPage,"aria-label":"Last page"},React206.createElement(LastPageRounded_default,null))))):React206.createElement(PaginationRoot,{...innerProps},React206.createElement(PaginationContainer,{direction:"row",size,alignItems:"center"},React206.createElement(PaginationIconButton,{size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(paginationModel.page-1),disabled:paginationModel.page===firstPage,"aria-label":"Previous page"},React206.createElement(ChevronLeftRounded_default,null)),paginationModel.page!==firstPage&&React206.createElement(PaginationButton,{size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(firstPage)},firstPage),isMoreBeforePages&&React206.createElement(PaginationButton,{size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(paginationModel.page-3),"aria-label":"More previous pages"},"..."),beforePages.map(p=>React206.createElement(PaginationButton,{key:p,size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(p)},p)),React206.createElement(PaginationButton,{active:"true",size,"aria-current":"page"},paginationModel.page),afterPages.map(p=>React206.createElement(PaginationButton,{key:p,size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(p)},p)),isMoreAfterPages&&React206.createElement(PaginationButton,{size,variant:"plain",color:"neutral","aria-label":"More next pages",onClick:()=>handlePageChange(paginationModel.page+3)},"..."),paginationModel.page!==lastPage&&React206.createElement(PaginationButton,{size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(lastPage)},lastPage),React206.createElement(PaginationIconButton,{size,variant:"plain",color:"neutral",onClick:()=>handlePageChange(paginationModel.page+1),disabled:paginationModel.page===lastPage,"aria-label":"Next page"},React206.createElement(ChevronRightRounded_default,null))))}__name(Pagination,"Pagination");Pagination.displayName="Pagination";var Pagination_default=Pagination;function Component2(props,apiRef){var _a,_b,_c,_d,_e;let{rows,checkboxSelection,editMode,selectionModel,onSelectionModelChange,isRowSelectable,disableSelectionOnClick,onRowClick,pinnedColumns,rowCount:_4,columns:__,onPaginationModelChange:___,pagination,paginationMode:____,paginationModel:_____,sortModel:______,sortOrder:_______,onSortModelChange:________,initialState:_________,getId:____________,loading,columnGroupingModel:_________________,columnVisibilityModel:__________________,onColumnVisibilityModelChange:___________________,slots:{checkbox:RenderCheckbox=Checkbox_default2,toolbar:Toolbar,footer:Footer,loadingOverlay:LoadingOverlay=DefaultLoadingOverlay,noRowsOverlay:NoRowsOverlay=DefaultNoRowsOverlay}={},slotProps:{checkbox:checkboxProps={},toolbar:toolbarProps,background:backgroundProps={},noRowsOverlay:noRowsOverlayProps={}}={},stripe,isTotalSelected:___________,...innerProps}=props,tableId=useId6(),parentRef=useRef56(null),tableBodyRef=useRef56(null),{columns,processedColumnGroups,isAllSelected,isSelectedRow,isRowSelectable:isRowSelectableCheck,onAllCheckboxChange,onCheckboxChange,getId,rowCount,selectableRowCount,page,pageSize:pageSize2,onPaginationModelChange,handleSortChange,handleAutoFit,dataInPage,isTotalSelected,focusedRowId,onRowFocus,onTotalSelect,HeadCell:HeadCell2,BodyRow:BodyRow2,tableMinWidth,selectionAnchor,setSelectionAnchor}=useDataTableRenderer(props),virtualizer=useVirtualizer({count:dataInPage.length,getScrollElement:__name(()=>parentRef.current,"getScrollElement"),estimateSize:__name(()=>32,"estimateSize"),measureElement:__name(element3=>element3.clientHeight,"measureElement"),overscan:10}),paginationModel=useMemo49(()=>({page,pageSize:pageSize2}),[page,pageSize2]),totalSize=virtualizer.getTotalSize(),virtualizedItems=virtualizer.getVirtualItems(),showNoRowsOverlay=!loading&&rowCount===0,totalColCount=Math.max(1,columns.length+(checkboxSelection?1:0)),getRowClickHandler=useCallback38((row,rowId)=>e=>{onRowClick==null||onRowClick({row,rowId},e),checkboxSelection&&!disableSelectionOnClick&&isRowSelectableCheck(rowId,row)&&onCheckboxChange(e,rowId)},[onRowClick,checkboxSelection,disableSelectionOnClick,onCheckboxChange,isRowSelectableCheck]),getRowFocusHandler=useCallback38(rowId=>()=>{onRowFocus(rowId)},[onRowFocus]),getCheckboxClickHandler=useCallback38((rowId,row)=>e=>{e.stopPropagation(),isRowSelectableCheck(rowId,row)&&onCheckboxChange(e,rowId),onRowFocus(rowId)},[onCheckboxChange,isRowSelectableCheck,onRowFocus]),handleTableKeyDown=useCallback38(e=>{var _a2;if(!["ArrowUp","ArrowDown"," ","Home","End","PageUp","PageDown"].includes(e.key))return;let activeElement=document.activeElement,currentRowId=(_a2=activeElement==null?void 0:activeElement.closest("[data-row-id]"))==null?void 0:_a2.getAttribute("data-row-id");if(!currentRowId)return;let currentIndex=dataInPage.findIndex((row,i)=>String(getId(row,i))===currentRowId);if(currentIndex===-1)return;if(e.key===" "){e.preventDefault();let row=dataInPage[currentIndex],rowId=getId(row,currentIndex);checkboxSelection&&isRowSelectableCheck(rowId,row)&&onCheckboxChange(e,rowId);return}let nextIndex;switch(e.key){case"ArrowUp":nextIndex=currentIndex-1;break;case"ArrowDown":nextIndex=currentIndex+1;break;case"Home":nextIndex=0;break;case"End":nextIndex=dataInPage.length-1;break;case"PageUp":nextIndex=Math.max(0,currentIndex-10);break;case"PageDown":nextIndex=Math.min(dataInPage.length-1,currentIndex+10);break;default:return}if(nextIndex<0||nextIndex>=dataInPage.length||nextIndex===currentIndex)return;e.preventDefault();let nextRow=dataInPage[nextIndex],nextRowId=getId(nextRow,nextIndex);if(e.shiftKey&&checkboxSelection&&isRowSelectableCheck(nextRowId,nextRow)){let anchor=selectionAnchor;if(anchor===null){let currentRow=dataInPage[currentIndex],currentRowId2=getId(currentRow,currentIndex),currentIsSelected=isSelectedRow(currentRowId2);anchor={rowId:currentRowId2,rowIndex:currentIndex,wasSelected:currentIsSelected},setSelectionAnchor(anchor)}let targetShouldBeSelected=anchor.wasSelected,isCurrentlySelected=isSelectedRow(nextRowId);targetShouldBeSelected!==isCurrentlySelected&&(targetShouldBeSelected?onSelectionModelChange==null||onSelectionModelChange([...selectionModel||[],nextRowId]):onSelectionModelChange==null||onSelectionModelChange((selectionModel||[]).filter(id3=>id3!==nextRowId)))}onRowFocus(nextRowId),virtualizer.scrollToIndex(nextIndex,{align:"auto"}),requestAnimationFrame(()=>{var _a3,_b2;(_b2=(_a3=tableBodyRef.current)==null?void 0:_a3.querySelector(`[data-row-id='${nextRowId}']`))==null||_b2.focus()})},[dataInPage,getId,checkboxSelection,isRowSelectableCheck,isSelectedRow,onCheckboxChange,selectionAnchor,setSelectionAnchor,selectionModel,onSelectionModelChange,onRowFocus,virtualizer]);return useImperativeHandle9(apiRef,()=>({getRowIndexRelativeToVisibleRows(rowId){return dataInPage.findIndex(row=>String(getId(row))===rowId)},setCellFocus(rowId){var _a2;let rowIndex=this.getRowIndexRelativeToVisibleRows(rowId),scrollOffset=props.stickyHeader&&((_a2=virtualizer.getOffsetForIndex(rowIndex))==null?void 0:_a2[1])==="start"?0:1;virtualizer.scrollToIndex(rowIndex+scrollOffset),requestAnimationFrame(()=>{var _a3,_b2;(_b2=(_a3=tableBodyRef.current)==null?void 0:_a3.querySelector(`[data-row-id='${rowId}']`))==null||_b2.focus()})}})),React207.createElement(Box_default2,{sx:{maxHeight:"100%",overflow:"auto",display:"flex",flexDirection:"column"}},(!!checkboxSelection||!!Toolbar)&&React207.createElement(Stack_default2,{direction:"row",sx:{pb:2},justifyContent:"space-between",alignItems:"center"},!!checkboxSelection&&React207.createElement(Stack_default2,{direction:"row",spacing:1},!isAllSelected&&React207.createElement(Typography_default2,{level:"body-xs"},numberFormatter((selectionModel==null?void 0:selectionModel.length)||0)," items selected"),isAllSelected&&!isTotalSelected&&React207.createElement(Stack_default2,{direction:"row",spacing:1,alignItems:"center"},React207.createElement(Typography_default2,{level:"body-xs"},"All ",numberFormatter((selectionModel==null?void 0:selectionModel.length)||0)," items on this page are selected."),React207.createElement(Button_default2,{size:"sm",variant:"plain",onClick:onTotalSelect},"Select all ",numberFormatter(selectableRowCount)," items")),isTotalSelected&&React207.createElement(Stack_default2,{direction:"row",spacing:1,alignItems:"center"},React207.createElement(Typography_default2,{level:"body-xs"},"All ",numberFormatter(selectableRowCount)," items are selected."),React207.createElement(Button_default2,{size:"sm",variant:"plain",color:"danger",onClick:onTotalSelect},"Cancel"))),Toolbar&&React207.createElement(Toolbar,{...toolbarProps||{}})),React207.createElement(Sheet_default2,{variant:"outlined",sx:{height:"100%",overflow:"auto",width:"100%",boxShadow:"sm",borderRadius:"sm","--DataTableSheet-width":((_a=parentRef.current)==null?void 0:_a.clientWidth)+"px",backgroundColor:"white","--TableCell-cornerRadius":"0px"},className:[...(((_b=parentRef.current)==null?void 0:_b.scrollLeft)||0)>0?["ScrollableRight"]:[],...(((_c=parentRef.current)==null?void 0:_c.scrollLeft)||0)+(((_d=parentRef.current)==null?void 0:_d.clientWidth)||0)<(((_e=parentRef.current)==null?void 0:_e.scrollWidth)||0)?["ScrollableLeft"]:[]].join(" "),ref:parentRef,...backgroundProps},React207.createElement(Table3,{...innerProps,sx:{...innerProps.sx,minWidth:tableMinWidth}},React207.createElement("colgroup",null,checkboxSelection&&React207.createElement("col",{style:{width:"40px"}}),columns.map(c=>React207.createElement("col",{ref:c.tableColRef,key:`${c.field.toString()}_${c.width}`,style:{width:c.width,minWidth:c.minWidth??"50px"}}))),React207.createElement("thead",null,processedColumnGroups&&processedColumnGroups.groups.length>0&&processedColumnGroups.groups.map((levelGroups,level)=>{var _a2;return React207.createElement("tr",{key:`group-level-${level}`},checkboxSelection&&level===0&&React207.createElement("th",{rowSpan:processedColumnGroups.maxLevel+2,style:{width:"40px",textAlign:"center",verticalAlign:"middle"}},React207.createElement(RenderCheckbox,{onChange:onAllCheckboxChange,checked:isAllSelected,indeterminate:(selectionModel||[]).length>0&&!isAllSelected,disabled:dataInPage.length>0&&!selectableRowCount,...checkboxProps})),level>0&&Array.from({length:((_a2=levelGroups[0])==null?void 0:_a2.startIndex)||0}).map((_5,i)=>React207.createElement("th",{key:`empty-${level}-${i}`})),levelGroups.filter(g=>g.colspan>0).map((group,groupIndex)=>{let nextGroup=levelGroups[groupIndex+1],emptyCells=nextGroup?nextGroup.startIndex-(group.startIndex+group.colspan):columns.length-(group.startIndex+group.colspan),params={groupId:group.groupId},computedHeaderClassName=group.headerClassName?typeof group.headerClassName=="function"?group.headerClassName(params):group.headerClassName:void 0;return React207.createElement(Fragment18,{key:group.groupId},React207.createElement("th",{colSpan:group.colspan,style:{textAlign:"center",fontWeight:"bold",verticalAlign:"middle"},className:computedHeaderClassName},group.headerName??group.groupId),emptyCells>0&&Array.from({length:emptyCells}).map((_5,i)=>React207.createElement("th",{key:`empty-between-${level}-${groupIndex}-${i}`,colSpan:1})))}))}),React207.createElement("tr",null,(!processedColumnGroups||processedColumnGroups.groups.length===0)&&checkboxSelection&&React207.createElement("th",{style:{width:"40px",textAlign:"center"}},React207.createElement(RenderCheckbox,{onChange:onAllCheckboxChange,checked:isAllSelected,indeterminate:(selectionModel||[]).length>0&&!isAllSelected,disabled:dataInPage.length>0&&!selectableRowCount,...checkboxProps})),columns.map((c,i)=>React207.createElement(HeadCell2,{tableId,key:`${c.field.toString()}_${i}`,stickyHeader:props.stickyHeader,editMode:!!c.isCellEditable,onSortChange:handleSortChange,onAutoFit:handleAutoFit,...c})))),React207.createElement(VirtualizedTableBody,{ref:tableBodyRef,onKeyDown:handleTableKeyDown,style:{height:`${totalSize}px`},role:"rowgroup","aria-label":"DataTableBody"},!!loading&&React207.createElement(OverlayWrapper,null,React207.createElement("td",{style:{position:"fixed",width:"var(--DataTableSheet-width)",overflow:"visible"}},React207.createElement(Box_default2,{sx:{position:"absolute",top:0,left:0,right:0}},React207.createElement(LoadingOverlay,null)))),showNoRowsOverlay&&React207.createElement("tr",null,React207.createElement("td",{colSpan:totalColCount,style:{border:"none"}},React207.createElement(Box_default2,{sx:{display:"flex",alignItems:"center",justifyContent:"center",minHeight:"150px"}},React207.createElement(NoRowsOverlay,{...noRowsOverlayProps})))),virtualizedItems.map((virtualizedRow,index2)=>{let rowIndex=virtualizedRow.index,row=dataInPage[rowIndex],rowId=getId(row,rowIndex),striped=stripe&&(stripe==="even"&&(rowIndex+1)%2===0||stripe==="odd"&&(rowIndex+1)%2===1);return React207.createElement(VirtualizedTableRow,{key:virtualizedRow.key,"data-row-id":rowId,"data-index":rowIndex,"aria-rowindex":rowIndex+1,role:checkboxSelection&&!disableSelectionOnClick?"checkbox":void 0,tabIndex:focusedRowId===rowId?0:-1,onClick:getRowClickHandler(row,rowId),onFocus:getRowFocusHandler(rowId),"aria-checked":checkboxSelection?isSelectedRow(rowId):void 0,striped,style:{height:`${virtualizedRow.size}px`,transform:`translateY(${virtualizedRow.start-index2*virtualizedRow.size}px)`}},checkboxSelection&&React207.createElement("th",{scope:"row",style:{textAlign:"center"}},React207.createElement(RenderCheckbox,{onClick:getCheckboxClickHandler(rowId,row),checked:isSelectedRow(rowId),disabled:!isRowSelectableCheck(rowId,row),tabIndex:-1,...checkboxProps})),React207.createElement(BodyRow2,{tableId,columns,row,rowId,editMode,noWrap:props.noWrap}))})),Footer&&React207.createElement(Footer,null))),pagination&&React207.createElement(Pagination_default,{pt:2,size:"sm",alignItems:"flex-end",paginationModel,rowCount,onPageChange:onPaginationModelChange}))}__name(Component2,"Component");var DataTable=forwardRef90(Component2);DataTable.displayName="DataTable";import React208,{forwardRef as forwardRef91,useCallback as useCallback39,useEffect as useEffect50,useImperativeHandle as useImperativeHandle10,useMemo as useMemo50,useRef as useRef57,useState as useState35}from"react";var CalendarButton2=styled_default2(IconButton_default2,{name:"DateRangePicker",slot:"calendarButton"})(({theme})=>({"&:focus":{"--Icon-color":"currentColor",outlineOffset:`${theme.getCssVar("focus-thickness")}`,outline:`${theme.getCssVar("focus-thickness")} solid ${theme.getCssVar("palette-focusVisible")}`}})),StyledPopper2=styled_default2(Popper,{name:"DateRangePicker",slot:"popper"})(({theme})=>({zIndex:theme.zIndex.tooltip})),CalendarSheet2=styled_default2(Sheet_default2,{name:"DateRangePicker",slot:"sheet",overridesResolver:__name((props,styles2)=>styles2.root,"overridesResolver")})(({theme})=>({zIndex:theme.zIndex.tooltip,boxShadow:theme.shadow.md,borderRadius:theme.radius.md})),CalendarSheetContent2=styled_default2("div",{name:"DateRangePicker",slot:"sheetContent"})({display:"flex",flexDirection:"row"}),CalendarSection2=styled_default2("div",{name:"DateRangePicker",slot:"calendarSection"})({width:"264px"}),PresetPanel2=styled_default2("div",{name:"DateRangePicker",slot:"presetPanel"})(({theme})=>({display:"flex",flexDirection:"column",borderLeft:`1px solid ${theme.vars.palette.divider}`,padding:theme.spacing(1),minWidth:"120px",overflowY:"auto"})),PresetItem2=styled_default2(Button_default2,{name:"DateRangePicker",slot:"presetItem",shouldForwardProp:__name(prop=>prop!=="active","shouldForwardProp")})(({active})=>[{width:"100%",justifyContent:"flex-start",whiteSpace:"nowrap"},active&&{fontWeight:"bold"}]),DateRangePickerRoot=styled_default2("div",{name:"DateRangePicker",slot:"root",overridesResolver:__name((props,styles2)=>styles2.root,"overridesResolver")})({width:"100%"}),validValueFormat2=__name((value,format2)=>{try{let[date1Str,date2Str]=value.split(" - ");if(!date1Str||!date2Str)return!1;let parsedDate1=parseDate2(date1Str,format2),parsedDate2=parseDate2(date2Str,format2);if(parsedDate1.toString()==="Invalid Date"||parsedDate2.toString()==="Invalid Date")return!1;let formattedValue=formatValueString2([parsedDate1,parsedDate2],format2);return value!==formattedValue?!1:new RegExp(`^${format2.replace(/Y/g,"\\d").replace(/M/g,"\\d").replace(/D/g,"\\d")} - ${format2.replace(/Y/g,"\\d").replace(/M/g,"\\d").replace(/D/g,"\\d")}$`).test(value)}catch{return!1}},"validValueFormat"),formatValueString2=__name(([date1,date2],format2)=>{let getStr=__name(date=>{let day=`${date.getDate()}`,month=`${date.getMonth()+1}`,year=date.getFullYear();return Number(day)<10&&(day="0"+day),Number(month)<10&&(month="0"+month),format2.replace(/YYYY/g,year.toString()).replace(/MM/g,month).replace(/DD/g,day)},"getStr");return[getStr(date1),date2?getStr(date2):""].join(" - ")},"formatValueString");function parseDate2(dateString,format2){let formatParts=format2.split(/[-./\s]/),dateParts=dateString.split(/[-./\s]/),day,month,year;for(let i=0;i<formatParts.length;i++){let value=parseInt(dateParts[i],10);switch(formatParts[i]){case"DD":day=value;break;case"MM":month=value-1;break;case"YYYY":year=value;break}}return new Date(year,month,day)}__name(parseDate2,"parseDate");var parseDates=__name((str,format2)=>{let date1=str.split(" - ")[0]||"",date2=str.split(" - ")[1]||"";return[parseDate2(date1,format2),parseDate2(date2,format2)]},"parseDates"),formatToPattern2=__name(format2=>`${format2} - ${format2}`.replace(/YYYY/g,"Y").replace(/MM/g,"M").replace(/DD/g,"D").replace(/[^YMD\s]/g,match2=>`${match2}\``),"formatToPattern"),TextMaskAdapter5=React208.forwardRef(__name(function(props,ref){let{onChange,format:format2,...other}=props;return React208.createElement(IMaskInput,{...other,inputRef:ref,onAccept:value=>onChange({target:{name:props.name,value}}),mask:Date,pattern:formatToPattern2(format2),blocks:{D:{mask:IMask.MaskedRange,from:1,to:31,maxLength:2},M:{mask:IMask.MaskedRange,from:1,to:12,maxLength:2},Y:{mask:IMask.MaskedRange,from:1900,to:9999}},format:dates=>formatValueString2(dates,format2),parse:str=>parseDates(str,format2),autofix:"pad",overwrite:!0})},"TextMaskAdapter")),DateRangePicker=forwardRef91((inProps,ref)=>{let props=useThemeProps2({props:inProps,name:"DateRangePicker"}),{onChange,disabled,label,error,helperText,minDate,maxDate,disableFuture,disablePast,required,sx,className,format:format2="YYYY/MM/DD",displayFormat="YYYY/MM/DD",size,inputReadOnly,hideClearButton,readOnly,presets,...innerProps}=props,innerRef=useRef57(null),buttonRef=useRef57(null),[value,setValue]=useControlledState(props.value,props.defaultValue||"",useCallback39(value2=>onChange==null?void 0:onChange({target:{name:props.name,value:value2}}),[props.name,onChange])),[displayValue,setDisplayValue]=useState35(()=>value?formatValueString2(parseDates(value,format2),displayFormat):""),[anchorEl,setAnchorEl]=useState35(null),open=!!anchorEl,calendarValue=useMemo50(()=>value?parseDates(value,format2):void 0,[value,format2]);useEffect50(()=>{if(value)try{let dates=parseDates(value,format2),newDisplayValue=formatValueString2(dates,displayFormat);setDisplayValue(newDisplayValue)}catch{}else setDisplayValue("")},[displayFormat,value,format2]),useEffect50(()=>{var _a;anchorEl||(_a=innerRef.current)==null||_a.blur()},[anchorEl,innerRef]),useImperativeHandle10(ref,()=>innerRef.current,[innerRef]);let handleChange=useCallback39(event=>{let value2=event.target.value;setDisplayValue(value2&&formatValueString2(parseDates(value2,format2),displayFormat)),setValue(value2)},[displayFormat,format2,setValue]),handleDisplayInputChange=useCallback39(event=>{if(event.target.value===""){handleChange({target:{name:props.name,value:""}});return}if(validValueFormat2(event.target.value,displayFormat)){let dates=parseDates(event.target.value,displayFormat),formattedValue=formatValueString2(dates,format2);handleChange({target:{name:props.name,value:formattedValue}})}},[displayFormat,format2,handleChange,props.name]),handleCalendarToggle=useCallback39(event=>{var _a;setAnchorEl(anchorEl?null:event.currentTarget),(_a=innerRef.current)==null||_a.focus()},[anchorEl,setAnchorEl,innerRef]),handleCalendarChange=useCallback39(([date1,date2])=>{if(!date1||!date2)return;let formattedValue=formatValueString2([date1,date2],format2);props.value!==void 0?onChange==null||onChange({target:{name:props.name,value:formattedValue}}):(setDisplayValue(formatValueString2([date1,date2],displayFormat)),setValue(formattedValue)),setAnchorEl(null)},[props.value,props.name,onChange,setValue,setAnchorEl,format2,displayFormat]),handleInputMouseDown=useCallback39(event=>{var _a;inputReadOnly&&(event.preventDefault(),(_a=buttonRef.current)==null||_a.focus())},[inputReadOnly,buttonRef]),handlePresetClick=useCallback39(presetValue=>{if(props.value!==void 0)onChange==null||onChange({target:{name:props.name,value:presetValue}});else{let dates=parseDates(presetValue,format2);setDisplayValue(formatValueString2(dates,displayFormat)),setValue(presetValue)}setAnchorEl(null)},[props.value,props.name,onChange,setValue,setAnchorEl,format2,displayFormat]),isPresetDisabled=useCallback39(presetValue=>{try{let dates=parseDates(presetValue,format2);if(dates.some(d=>Number.isNaN(d.getTime())))return!0;let today=new Date(new Date().toDateString());for(let date of dates)if(minDate&&date<new Date(minDate)||maxDate&&date>new Date(maxDate)||disableFuture&&date>today||disablePast&&date<today)return!0;return!1}catch{return!0}},[format2,minDate,maxDate,disableFuture,disablePast]);return React208.createElement(DateRangePickerRoot,null,React208.createElement(FocusTrap,{open:!0},React208.createElement(React208.Fragment,null,React208.createElement(Input_default2,{...innerProps,color:error?"danger":innerProps.color,ref,size,value:displayValue,onChange:handleDisplayInputChange,disabled,required,placeholder:`${displayFormat} - ${displayFormat}`,slotProps:{input:{component:TextMaskAdapter5,ref:innerRef,format:displayFormat,sx:{"&:hover":{cursor:inputReadOnly||readOnly?"default":"text"}},onMouseDown:handleInputMouseDown}},error,className,sx,endDecorator:React208.createElement(CalendarButton2,{ref:buttonRef,variant:"plain",onClick:readOnly?void 0:handleCalendarToggle,"aria-label":"Toggle Calendar","aria-controls":"date-range-picker-popper","aria-haspopup":"dialog","aria-expanded":open,disabled},React208.createElement(CalendarToday_default,null)),label,helperText,readOnly:readOnly||inputReadOnly}),open&&React208.createElement(ClickAwayListener,{onClickAway:()=>setAnchorEl(null)},React208.createElement(StyledPopper2,{id:"date-range-picker-popper",open:!0,anchorEl,placement:"bottom-end",onMouseDown:e=>e.preventDefault(),modifiers:[{name:"offset",options:{offset:[4,4]}}],"aria-label":"Calendar Tooltip","aria-expanded":open},React208.createElement(CalendarSheet2,{tabIndex:-1,role:"presentation"},React208.createElement(CalendarSheetContent2,null,React208.createElement(CalendarSection2,null,React208.createElement(Calendar_default,{rangeSelection:!0,defaultValue:calendarValue,onChange:handleCalendarChange,minDate:minDate?new Date(minDate):void 0,maxDate:maxDate?new Date(maxDate):void 0,disableFuture,disablePast}),!hideClearButton&&React208.createElement(DialogActions_default2,{sx:{p:1}},React208.createElement(Button_default2,{size,variant:"plain",color:"neutral",onClick:()=>{setValue(""),setDisplayValue(""),setAnchorEl(null)}},"Clear"))),presets&&presets.length>0&&React208.createElement(PresetPanel2,null,presets.map(preset=>{let disabled2=isPresetDisabled(preset.value);return React208.createElement(PresetItem2,{key:preset.label,size:"sm",variant:value===preset.value?"soft":"plain",color:value===preset.value?"primary":"neutral",active:value===preset.value,disabled:disabled2,onClick:()=>handlePresetClick(preset.value)},preset.label)})))))))))});DateRangePicker.displayName="DateRangePicker";var MotionDialogContent=motion(DialogContent_default),StyledDialogContent=styled_default2(MotionDialogContent)(({theme})=>({padding:theme.spacing(0,6,5)})),DialogContent3=StyledDialogContent;DialogContent3.displayName="DialogContent";var DialogContent_default2=DialogContent3;var MotionDialogTitle=motion(DialogTitle_default),StyledDialogTitle=styled_default2(MotionDialogTitle)(({theme})=>({padding:theme.spacing(4,6)})),DialogTitle3=StyledDialogTitle;DialogTitle3.displayName="DialogTitle";var DialogTitle_default2=DialogTitle3;import React210 from"react";import React209 from"react";var MotionModal=motion(Modal_default),Modal3=MotionModal;Modal3.displayName="Modal";var StyledModalDialog=styled_default2(ModalDialog_default)({padding:0}),ModalDialog3=StyledModalDialog;ModalDialog3.displayName="ModalDialog";var ModalClose3=ModalClose_default;var MotionModalOverflow=motion(ModalOverflow_default),ModalOverflow3=MotionModalOverflow;ModalOverflow3.displayName="ModalOverflow";function ModalFrame(props){let{title,children,titleStartDecorator,onClose,...innerProps}=props;return React209.createElement(StyledModalDialog,{...innerProps},React209.createElement(ModalClose3,{onClick:onClose}),React209.createElement(DialogTitle_default2,null,titleStartDecorator,title),React209.createElement(DialogContent_default2,null,children))}__name(ModalFrame,"ModalFrame");ModalFrame.displayName="ModalFrame";var StyledDialogFrame=styled_default2(ModalDialog3,{name:"Dialog",slot:"Root"})({padding:0}),DialogFrame=React210.forwardRef((props,ref)=>{let{title,children,actions,fullscreen,...innerProps}=props;return React210.createElement(StyledDialogFrame,{layout:fullscreen?"fullscreen":"center",ref,...innerProps},React210.createElement(DialogTitle_default2,null,title),React210.createElement(DialogContent_default2,null,children),React210.createElement(DialogActions_default2,null,actions))});DialogFrame.displayName="DialogFrame";import React211 from"react";var MotionDivider=motion(Divider_default),Divider3=__name(props=>React211.createElement(MotionDivider,{...props}),"Divider");Divider3.displayName="Divider";var InsetDrawer=styled_default2(Drawer_default)(({theme})=>({[`& .${drawerClasses_default.content}`]:{backgroundColor:"transparent",boxShadow:"none",[theme.breakpoints.down("md")]:{padding:0,width:"100%"},[theme.breakpoints.up("md")]:{padding:theme.spacing(3)}}}));import React212,{useCallback as useCallback40,useEffect as useEffect51,useMemo as useMemo51,useRef as useRef58,useState as useState36}from"react";import{jsx as _jsx120}from"react/jsx-runtime";var Search_default=createSvgIcon2(_jsx120("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"}),"Search");function LabelWithTooltip(props){let{label,size}=props,labelContentRef=useRef58(null),[isOverflowing2,setIsOverflowing]=useState36(!1),labelContent=React212.createElement("span",{ref:labelContentRef,style:{textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",display:"block",position:"relative",zIndex:1,cursor:"pointer"}},label);return useEffect51(()=>{let element3=labelContentRef.current;element3&&setIsOverflowing(element3.scrollWidth>element3.clientWidth)},[label]),isOverflowing2?React212.createElement(Tooltip_default2,{variant:"solid",size,title:label,placement:"bottom-start"},labelContent):labelContent}__name(LabelWithTooltip,"LabelWithTooltip");function FilterableCheckboxGroup(props){let{value,options,label,placeholder,helperText,size="md",required,onChange,maxHeight:maxHeight2=300,disabled}=props,[searchTerm,setSearchTerm]=useState36(""),[sortedOptions,setSortedOptions]=useState36(options),[internalValue,setInternalValue]=useControlledState(value,value??[],useCallback40(newValue=>onChange==null?void 0:onChange(newValue),[onChange])),parentRef=useRef58(null),isInitialSortRef=useRef58(!1),prevOptionsRef=useRef58([...options]),filteredOptions=useMemo51(()=>searchTerm?sortedOptions.filter(option=>option.label.toLowerCase().includes(searchTerm.toLowerCase())):sortedOptions,[sortedOptions,searchTerm]),itemSize=useMemo51(()=>{switch(size){case"sm":return 28;case"md":return 32;case"lg":return 36}},[size]),virtualizer=useVirtualizer({count:filteredOptions.length,estimateSize:__name(()=>itemSize,"estimateSize"),measureElement:__name(element3=>element3.clientHeight,"measureElement"),getScrollElement:__name(()=>parentRef.current,"getScrollElement"),overscan:5}),items=virtualizer.getVirtualItems();useEffect51(()=>{let optionsChanged=prevOptionsRef.current.length!==options.length||prevOptionsRef.current.some((prevOption,index2)=>{var _a,_b,_c;return prevOption.value!==((_a=options[index2])==null?void 0:_a.value)||prevOption.label!==((_b=options[index2])==null?void 0:_b.label)||prevOption.disabled!==((_c=options[index2])==null?void 0:_c.disabled)});if(!isInitialSortRef.current||optionsChanged){let initialValue=value??[],sorted=[...options].sort((a,b)=>{let aSelected=initialValue.includes(a.value),bSelected=initialValue.includes(b.value);if(aSelected!==bSelected)return aSelected?-1:1;let aIsAlpha=/^[a-zA-Z]/.test(a.label),bIsAlpha=/^[a-zA-Z]/.test(b.label);return aIsAlpha!==bIsAlpha?aIsAlpha?-1:1:a.label.localeCompare(b.label)});setSortedOptions(sorted),prevOptionsRef.current=[...options],isInitialSortRef.current||(isInitialSortRef.current=!0)}},[options,value]),useEffect51(()=>{virtualizer.measure()},[virtualizer,filteredOptions,size]);let handleSearchChange=useCallback40(event=>{setSearchTerm(event.target.value)},[]),handleCheckboxChange=useCallback40(optionValue=>event=>{let newValue=event.target.checked?[...internalValue,optionValue]:internalValue.filter(v=>v!==optionValue);setInternalValue(newValue)},[internalValue,setInternalValue]),handleSelectAll=useCallback40(event=>{let checked=event.target.checked,enabledOptions=filteredOptions.filter(option=>!option.disabled),disabledSelectedValues=internalValue.filter(v=>filteredOptions.some(opt=>opt.value===v&&opt.disabled));if(checked){let enabledValues=enabledOptions.map(option=>option.value);setInternalValue([...disabledSelectedValues,...enabledValues])}else setInternalValue(disabledSelectedValues)},[filteredOptions,internalValue,setInternalValue]),enabledFilteredOptions=useMemo51(()=>filteredOptions.filter(option=>!option.disabled),[filteredOptions]),isAllSelected=enabledFilteredOptions.length>0&&enabledFilteredOptions.every(option=>internalValue.includes(option.value)),isIndeterminate=!isAllSelected&&enabledFilteredOptions.some(option=>internalValue.includes(option.value));return React212.createElement("div",{style:{width:"100%"}},React212.createElement(Input_default2,{label,helperText,required,variant:"outlined",color:"neutral",placeholder,value:searchTerm,onChange:handleSearchChange,size,disabled,endDecorator:React212.createElement(Search_default,null)}),filteredOptions.length===0?React212.createElement(Typography_default2,{level:`body-${size}`,textColor:"neutral.softDisabledColor",padding:"20px 12px",textAlign:"center"},"No options found."):React212.createElement("div",{ref:parentRef,style:{overflow:"auto",maxHeight:typeof maxHeight2=="number"?`${maxHeight2}px`:maxHeight2,padding:"8px 0px",marginTop:"8px"}},!searchTerm&&React212.createElement(Checkbox_default2,{label:"Select all",checked:isAllSelected,indeterminate:isIndeterminate,onChange:handleSelectAll,size,disabled,slotProps:{action:{sx:{top:0,left:0,bottom:0,right:0}}},sx:{width:"100%",height:itemSize}}),React212.createElement(Stack_default2,{sx:{height:`${virtualizer.getTotalSize()}px`,position:"relative"}},items.map(virtualRow=>{let option=filteredOptions[virtualRow.index];return React212.createElement(Checkbox_default2,{key:virtualRow.key,label:React212.createElement(LabelWithTooltip,{label:option.label,size}),checked:internalValue.includes(option.value),onChange:handleCheckboxChange(option.value),size,disabled:disabled||option.disabled,slotProps:{action:{sx:{top:0,left:0,bottom:0,right:0}}},sx:{position:"absolute",top:0,left:0,width:"100%",height:`${virtualRow.size}px`,transform:`translateY(${virtualRow.start}px)`}})}))))}__name(FilterableCheckboxGroup,"FilterableCheckboxGroup");FilterableCheckboxGroup.displayName="FilterableCheckboxGroup";import React223,{useCallback as useCallback50}from"react";import React213,{useCallback as useCallback41}from"react";function CheckboxGroup(props){let{id:id3,label,options,value,onChange,hidden}=props,[internalValue,setInternalValue]=useControlledState(value,[],onChange),handleCheckboxChange=useCallback41(optionValue=>event=>{let checked=event.target.checked,newValue;checked?newValue=[...internalValue,optionValue]:newValue=internalValue.filter(v=>v!==optionValue),setInternalValue(newValue)},[internalValue,setInternalValue]);return hidden?null:React213.createElement(Stack_default,{spacing:3,role:"group","aria-labelledby":id3},!!label&&React213.createElement(Typography_default2,{id:id3,level:"title-sm",component:"label",textColor:"text.tertiary"},label),options.map(option=>React213.createElement(Checkbox_default2,{key:`${id3}-${option.value}`,label:option.label,checked:internalValue==null?void 0:internalValue.includes(option.value),onChange:handleCheckboxChange(option.value)})))}__name(CheckboxGroup,"CheckboxGroup");CheckboxGroup.displayName="CheckboxGroup";import React214,{useCallback as useCallback42}from"react";function FilterableCheckboxGroup2(props){let{id:id3,label,options,value,onChange,hidden,placeholder,maxHeight:maxHeight2}=props,[internalValue,setInternalValue]=useControlledState(value,[],onChange),handleChange=useCallback42(newValue=>{setInternalValue(newValue)},[setInternalValue]);return hidden?null:React214.createElement(Stack_default,{spacing:3,role:"group","aria-labelledby":id3},!!label&&React214.createElement(Typography_default2,{id:id3,level:"title-sm",component:"label",textColor:"text.tertiary"},label),React214.createElement(FilterableCheckboxGroup,{value:internalValue??[],onChange:handleChange,options,placeholder,maxHeight:maxHeight2,size:"sm"}))}__name(FilterableCheckboxGroup2,"FilterableCheckboxGroup");FilterableCheckboxGroup2.displayName="FilterableCheckboxGroup";import React215,{useCallback as useCallback43}from"react";var MotionRadio=motion(Radio_default),Radio3=MotionRadio;Radio3.displayName="Radio";var MotionRadioGroup=motion(RadioGroup_default),RadioGroup3=MotionRadioGroup;RadioGroup3.displayName="RadioGroup";function RadioGroup4(props){let{id:id3,label,options,value,onChange,hidden}=props,[internalValue,setInternalValue]=useControlledState(value,value??"",onChange),handleRadioChange=useCallback43(event=>{let newValue=event.target.value,option=options.find(opt=>opt.value.toString()===newValue),convertedValue=option?option.value:newValue;setInternalValue(convertedValue)},[options,setInternalValue]);return hidden?null:React215.createElement(Stack_default,{spacing:3,role:"group","aria-labelledby":id3},!!label&&React215.createElement(Stack_default,{spacing:1},React215.createElement(Typography_default2,{id:id3,level:"title-sm",component:"label",textColor:"text.tertiary"},label)),React215.createElement(RadioGroup3,{name:id3,value:internalValue==null?void 0:internalValue.toString(),onChange:handleRadioChange},options.map(option=>React215.createElement(Radio3,{key:`${id3}-${option.value}`,value:option.value.toString(),label:option.label}))))}__name(RadioGroup4,"RadioGroup");RadioGroup4.displayName="RadioGroup";import React216,{useCallback as useCallback44,useMemo as useMemo52,useState as useState37,useEffect as useEffect52}from"react";function DateRange(props){let{id:id3,label,value,onChange,hidden,minDate,maxDate,disableFuture,disablePast,displayFormat,inputReadOnly,hideClearButton}=props,[internalValue,setInternalValue]=useControlledState(value,null,onChange),[selectedOption,setSelectedOption]=useState37("all-time"),dateRangeOptions=useMemo52(()=>[{label:"All Time",value:"all-time"},{label:"This Month",value:"this-month"},{label:"This Year",value:"this-year"},{label:"Last Month",value:"last-month"},{label:"Custom",value:"custom"}],[]),getDateRangeForOption=useCallback44(option=>{let now2=new Date,currentYear=now2.getFullYear(),currentMonth=now2.getMonth(),formatDate=__name(date=>{let year=date.getFullYear(),month=String(date.getMonth()+1).padStart(2,"0"),day=String(date.getDate()).padStart(2,"0");return`${year}-${month}-${day}`},"formatDate");switch(option){case"all-time":return null;case"this-month":{let startOfMonth=new Date(currentYear,currentMonth,1),endOfMonth=new Date(currentYear,currentMonth+1,0);return[formatDate(startOfMonth),formatDate(endOfMonth)]}case"this-year":{let startOfYear=new Date(currentYear,0,1),endOfYear=new Date(currentYear,11,31);return[formatDate(startOfYear),formatDate(endOfYear)]}case"last-month":{let lastMonthYear=currentMonth===0?currentYear-1:currentYear,lastMonth=currentMonth===0?11:currentMonth-1,startOfLastMonth=new Date(lastMonthYear,lastMonth,1),endOfLastMonth=new Date(lastMonthYear,lastMonth+1,0);return[formatDate(startOfLastMonth),formatDate(endOfLastMonth)]}case"custom":return internalValue;default:return null}},[internalValue]),determineOptionFromValue=useCallback44(value2=>{if(!value2)return"all-time";let options=["this-month","this-year","last-month"];for(let option of options){let optionRange=getDateRangeForOption(option);if(optionRange&&optionRange[0]===value2[0]&&optionRange[1]===value2[1])return option}return"custom"},[getDateRangeForOption]),customDateRangeValue=useMemo52(()=>selectedOption==="custom"&&internalValue?`${internalValue[0]} - ${internalValue[1]}`:"",[selectedOption,internalValue]);useEffect52(()=>{let newOption=determineOptionFromValue(internalValue);setSelectedOption(newOption)},[internalValue,determineOptionFromValue]);let handleOptionChange=useCallback44(event=>{let newOption=event.target.value;setSelectedOption(newOption);let newDateRange=getDateRangeForOption(newOption);setInternalValue(newDateRange)},[getDateRangeForOption,setInternalValue]),handleCustomDateChange=useCallback44(event=>{let dateRangeString=event.target.value;if(dateRangeString&&dateRangeString.includes(" - ")){let[startDate,endDate]=dateRangeString.split(" - ");if(startDate&&endDate){let newValue=[startDate,endDate];(!internalValue||internalValue[0]!==startDate||internalValue[1]!==endDate)&&setInternalValue(newValue)}}else dateRangeString||setInternalValue(null)},[setInternalValue,internalValue]);return hidden?null:React216.createElement(Stack_default,{spacing:3,role:"group","aria-labelledby":id3},!!label&&React216.createElement(Typography_default2,{id:id3,level:"title-sm",component:"label",textColor:"text.tertiary"},label),React216.createElement(RadioGroup3,{name:`${id3}-options`,value:selectedOption,onChange:handleOptionChange},dateRangeOptions.map(option=>React216.createElement(Radio3,{key:`${id3}-${option.value}`,value:option.value,label:option.label}))),selectedOption==="custom"&&React216.createElement(DateRangePicker,{value:customDateRangeValue,onChange:handleCustomDateChange,minDate,maxDate,disableFuture,disablePast,format:"YYYY-MM-DD",displayFormat,inputReadOnly,hideClearButton}))}__name(DateRange,"DateRange");DateRange.displayName="DateRange";import React217,{useCallback as useCallback45}from"react";function CurrencyInput3(props){let{id:id3,label,value,onChange,hidden,max:max2,placeholder,useMinorUnit,currency="USD"}=props,[internalValue,setInternalValue]=useControlledState(value,value,onChange),handleCurrencyChange=useCallback45(event=>{let newValue=event.target.value;setInternalValue(newValue)},[setInternalValue]);return hidden?null:React217.createElement(Stack_default,{spacing:3,role:"group","aria-labelledby":id3},!!label&&React217.createElement(Typography_default2,{id:id3,level:"title-sm",component:"label",textColor:"text.tertiary"},label),React217.createElement(CurrencyInput,{value:internalValue,onChange:handleCurrencyChange,max:max2,placeholder,useMinorUnit,currency,"aria-labelledby":label?id3:void 0}))}__name(CurrencyInput3,"CurrencyInput");CurrencyInput3.displayName="CurrencyInput";import React218,{useCallback as useCallback46}from"react";function CurrencyRange(props){let{id:id3,label,value,onChange,hidden,max:max2,placeholder,useMinorUnit,currency="USD"}=props,[internalValue,setInternalValue]=useControlledState(value,null,onChange),minValue=internalValue==null?void 0:internalValue[0],maxValue=internalValue==null?void 0:internalValue[1],handleMinChange=useCallback46(event=>{let newMinValue=event.target.value,currentMaxValue=maxValue;setInternalValue(newMinValue!==void 0&&currentMaxValue!==void 0?[newMinValue,currentMaxValue]:newMinValue!==void 0?[newMinValue,newMinValue]:null)},[maxValue,setInternalValue]),handleMaxChange=useCallback46(event=>{let newMaxValue=event.target.value,currentMinValue=minValue;setInternalValue(currentMinValue!==void 0&&newMaxValue!==void 0?[currentMinValue,newMaxValue]:newMaxValue!==void 0?[newMaxValue,newMaxValue]:null)},[minValue,setInternalValue]);return hidden?null:React218.createElement(Stack_default,{spacing:3,role:"group","aria-labelledby":id3},!!label&&React218.createElement(Typography_default2,{id:id3,level:"title-sm",component:"label",textColor:"text.tertiary"},label),React218.createElement(Stack_default,{direction:"row",spacing:2,alignItems:"flex-end"},React218.createElement(CurrencyInput,{label:"Minimum",value:minValue,onChange:handleMinChange,max:max2,placeholder,useMinorUnit,currency,"aria-labelledby":label?id3:void 0,"aria-label":"Minimum amount"}),React218.createElement(CurrencyInput,{label:"Maximum",value:maxValue,onChange:handleMaxChange,max:max2,placeholder,useMinorUnit,currency,"aria-labelledby":label?id3:void 0,"aria-label":"Maximum amount"})))}__name(CurrencyRange,"CurrencyRange");CurrencyRange.displayName="CurrencyRange";import React220 from"react";import React219,{useCallback as useCallback47,useMemo as useMemo53,useState as useState38}from"react";var padDecimal=__name((value,decimalScale)=>{let[integer,decimal=""]=`${value}`.split(".");return+`${integer}${decimal.padEnd(decimalScale,"0")}`},"padDecimal"),TextMaskAdapter7=React219.forwardRef(__name(function(props,ref){let{onChange,min:min2,max:max2,...innerProps}=props;return React219.createElement(NumericFormat,{...innerProps,onValueChange:({value})=>{onChange==null||onChange({target:{name:props.name,value}})},valueIsNumericString:!0,thousandSeparator:!0,suffix:"%",getInputRef:ref,allowNegative:!0})},"TextMaskAdapter")),PercentageInputRoot=styled_default2(Input_default2,{name:"PercentageInput",slot:"Root",overridesResolver:__name((props,styles2)=>styles2.root,"overridesResolver")})({}),PercentageInput=React219.forwardRef(__name(function(inProps,ref){let props=useThemeProps2({props:inProps,name:"PercentageInput"}),{name:name2,onChange,label,error,helperText,required,disabled,useMinorUnit,maxDecimalScale=0,min:min2,max:max2,sx,className,...innerProps}=props,[_value,setValue]=useControlledState(props.value,props.defaultValue,useCallback47(value2=>onChange==null?void 0:onChange({target:{name:name2,value:value2}}),[onChange,name2])),[internalError,setInternalError]=useState38(max2&&_value&&_value>max2||min2&&_value&&_value<min2),value=useMemo53(()=>_value&&useMinorUnit?_value/Math.pow(10,maxDecimalScale):_value,[_value,useMinorUnit,maxDecimalScale]),handleChange=useCallback47(event=>{if(event.target.value===""){setValue(void 0);return}let originalAmount=Number(event.target.value);min2&&originalAmount<min2||max2&&originalAmount>max2?setInternalError(!0):setInternalError(!1);let amount=useMinorUnit?padDecimal(originalAmount,maxDecimalScale):originalAmount;setValue(amount)},[setValue,useMinorUnit,maxDecimalScale,min2,max2]);return React219.createElement(PercentageInputRoot,{...innerProps,ref,value,onChange:handleChange,error:internalError||error,disabled,required,color:internalError||error?"danger":props.color,label,helperText,slotProps:{input:{component:TextMaskAdapter7,"aria-label":innerProps["aria-label"],decimalScale:maxDecimalScale}},sx:{...sx},className})},"PercentageInput"));PercentageInput.displayName="PercentageInput";var PercentageInput3=__name(({id:id3,hidden,label,value,onChange,placeholder,useMinorUnit,maxDecimalScale,min:min2,max:max2})=>{let[_value,setValue]=useControlledState(value,void 0,onChange);return hidden?null:React220.createElement(Stack_default,{spacing:3,role:"group","aria-labelledby":id3},!!label&&React220.createElement(Typography_default,{id:id3,level:"title-sm",component:"label",textColor:"text.tertiary"},label),React220.createElement(PercentageInput,{value:_value,onChange:event=>setValue(event.target.value),useMinorUnit,maxDecimalScale,min:min2,max:max2,placeholder}))},"PercentageInput");import React221,{useCallback as useCallback48}from"react";function PercentageRange(props){let{id:id3,label,value,onChange,hidden,useMinorUnit,maxDecimalScale,min:min2,max:max2}=props,[internalValue,setInternalValue]=useControlledState(value,null,onChange),minValue=internalValue==null?void 0:internalValue[0],maxValue=internalValue==null?void 0:internalValue[1],handleMinChange=useCallback48(event=>{let newMinValue=event.target.value;setInternalValue(newMinValue!==void 0?[newMinValue,maxValue||null]:null)},[maxValue,setInternalValue]),handleMaxChange=useCallback48(event=>{let newMaxValue=event.target.value;setInternalValue(newMaxValue!==void 0?[minValue||null,newMaxValue]:null)},[minValue,setInternalValue]);return hidden?null:React221.createElement(Stack_default,{spacing:3,role:"group","aria-labelledby":id3},!!label&&React221.createElement(Typography_default2,{id:id3,level:"title-sm",component:"label",textColor:"text.tertiary"},label),React221.createElement(Stack_default,{direction:"row",spacing:2,alignItems:"flex-end"},React221.createElement(PercentageInput,{label:"Minimum",value:minValue??void 0,onChange:handleMinChange,useMinorUnit,maxDecimalScale,min:min2,max:max2,"aria-labelledby":label?id3:void 0,"aria-label":"Minimum percentage",placeholder:"0%"}),React221.createElement(PercentageInput,{label:"Maximum",value:maxValue??void 0,onChange:handleMaxChange,useMinorUnit,maxDecimalScale,min:min2,max:max2,"aria-labelledby":label?id3:void 0,"aria-label":"Maximum percentage",placeholder:"0%"})))}__name(PercentageRange,"PercentageRange");PercentageRange.displayName="PercentageRange";import React222,{useCallback as useCallback49}from"react";function Autocomplete4(props){let{id:id3,label,value,onChange,options,multiple,hidden,placeholder}=props,[internalValue,setInternalValue]=useControlledState(value,void 0,onChange),autocompleteValue=typeof internalValue=="string"||typeof internalValue=="number"?String(internalValue):void 0,handleChange=useCallback49(event=>{let val=event.target.value;if(val){let numVal=Number(val);setInternalValue(!isNaN(numVal)&&isFinite(numVal)?numVal:val)}else setInternalValue(void 0)},[setInternalValue]);return hidden?null:React222.createElement(Stack_default,{spacing:3,role:"group","aria-labelledby":id3},!!label&&React222.createElement(Typography_default2,{id:id3,level:"title-sm",component:"label",textColor:"text.tertiary"},label),React222.createElement(Autocomplete3,{value:autocompleteValue,onChange:handleChange,options,multiple,placeholder,"aria-labelledby":label?id3:void 0}))}__name(Autocomplete4,"Autocomplete");Autocomplete4.displayName="Autocomplete";var componentMap={"checkbox-group":CheckboxGroup,"filterable-checkbox-group":FilterableCheckboxGroup2,"radio-group":RadioGroup4,"date-range":DateRange,"currency-input":CurrencyInput3,"currency-range":CurrencyRange,"percentage-input":PercentageInput3,"percentage-range":PercentageRange,autocomplete:Autocomplete4};function FilterMenu(props){let{filters,values:values2,defaultValues,resetValues={},onChange,onClose,useClear,useReset}=props,[internalValues,setInternalValues]=useControlledState(values2,defaultValues||{},void 0),handleFilterChange=useCallback50((filterId,value)=>{setInternalValues(prev2=>({...prev2,[filterId]:value}))},[setInternalValues]),handleApply=useCallback50(()=>{onChange==null||onChange(internalValues),onClose==null||onClose()},[onChange,onClose,internalValues]),handleClear=useCallback50(()=>{let clearedValues=resetValues||{};setInternalValues(clearedValues),onChange==null||onChange(clearedValues),onClose==null||onClose()},[resetValues,setInternalValues,onChange,onClose]);return React223.createElement(ModalDialog3,{sx:{position:"relative",transform:"none",left:"initial",top:"initial"}},React223.createElement(DialogContent3,{sx:{paddingTop:5}},React223.createElement(Stack_default,{spacing:6},filters==null?void 0:filters.map(filter2=>{let FilterComponent=componentMap[filter2.type];return FilterComponent?React223.createElement(FilterComponent,{key:filter2.id,...filter2,value:internalValues[filter2.id],onChange:value=>{handleFilterChange(filter2.id,value)}}):null}))),React223.createElement(DialogActions3,{sx:{justifyContent:"space-between"}},useClear&&(filters==null?void 0:filters.length)===1&&React223.createElement(Button_default,{variant:"plain",color:"neutral",size:"md",onClick:handleClear},"Clear"),useReset&&!useClear&&React223.createElement(Button_default,{variant:"plain",color:"neutral",size:"md",onClick:handleClear},"Reset"),React223.createElement(Button_default,{variant:"solid",color:"primary",size:"md",onClick:handleApply},"Apply")))}__name(FilterMenu,"FilterMenu");FilterMenu.displayName="FilterMenu";import React224,{useCallback as useCallback51,useEffect as useEffect53,useMemo as useMemo54,useRef as useRef59,useState as useState39}from"react";import{jsx as _jsx121}from"react/jsx-runtime";var CloudUploadRounded_default=createSvgIcon2(_jsx121("path",{d:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M14 13v4h-4v-4H7l4.65-4.65c.2-.2.51-.2.71 0L17 13z"}),"CloudUploadRounded");import{jsx as _jsx122}from"react/jsx-runtime";var UploadFileRounded_default=createSvgIcon2(_jsx122("path",{d:"m19.41 7.41-4.83-4.83c-.37-.37-.88-.58-1.41-.58H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8.83c0-.53-.21-1.04-.59-1.42M14.8 15H13v3c0 .55-.45 1-1 1s-1-.45-1-1v-3H9.21c-.45 0-.67-.54-.35-.85l2.8-2.79c.2-.19.51-.19.71 0l2.79 2.79c.3.31.08.85-.36.85M14 9c-.55 0-1-.45-1-1V3.5L18.5 9z"}),"UploadFileRounded");import{jsx as _jsx123}from"react/jsx-runtime";var ClearRounded_default=createSvgIcon2(_jsx123("path",{d:"M18.3 5.71a.996.996 0 0 0-1.41 0L12 10.59 7.11 5.7a.996.996 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41L10.59 12 5.7 16.89c-.39.39-.39 1.02 0 1.41s1.02.39 1.41 0L12 13.41l4.89 4.89c.39.39 1.02.39 1.41 0s.39-1.02 0-1.41L13.41 12l4.89-4.89c.38-.38.38-1.02 0-1.4"}),"ClearRounded");var esmFiles={combine:Promise.resolve().then(()=>(init_combine2(),combine_exports)),adapter:Promise.resolve().then(()=>(init_adapter(),adapter_exports)),file:Promise.resolve().then(()=>(init_file2(),file_exports)),preventUnhandled:Promise.resolve().then(()=>(init_prevent_unhandled2(),prevent_unhandled_exports))},VisuallyHiddenInput=styled_default2(Input_default)({width:"1px",height:"1px",overflow:"hidden",whiteSpace:"nowrap",clip:"rect(0 0 0 0)",clipPath:"inset(50%)",position:"absolute"}),PreviewRoot=styled_default2(Stack_default2,{name:"Uploader",slot:"PreviewRoot"})({}),UploadCard=styled_default2(Card3,{name:"Uploader",slot:"UploadCard"})(({theme})=>({padding:theme.spacing(2.5),border:`1px solid ${theme.palette.neutral.outlinedBorder}`})),UploadFileIcon=styled_default2(UploadFileRounded_default,{name:"Uploader",slot:"UploadFileIcon"})(({theme})=>({color:theme.palette.neutral[400],width:"32px",height:"32px"})),ClearIcon=styled_default2(ClearRounded_default,{name:"Uploader",slot:"ClearIcon"})(({theme})=>({color:theme.palette.neutral.plainColor,width:"18px",height:"18px"})),UNITS=["byte","kilobyte","megabyte","gigabyte","terabyte","petabyte"],ALL_EXTENSIONS_BY_TYPE={"image/*":[".jpeg",".jpg",".png",".gif",".bmp",".tiff",".svg",".webp",".heic",".ico"],"audio/*":[".mp3",".wav",".flac",".aac",".ogg",".m4a",".wma",".aiff",".alac",".midi",".mp4"],"video/*":[".mp4",".avi",".mkv",".mov",".wmv",".flv",".webm",".mpeg",".3gp",".m4v"]},getFileSize=__name(n=>{let i=n==0?0:Math.floor(Math.log(n)/Math.log(1024)),value=n/Math.pow(1024,i),unit=UNITS[i];return Intl.NumberFormat("en-us",{style:"unit",unit,unitDisplay:"narrow"}).format(value)},"getFileSize"),Preview=__name(props=>{let{files,uploaded,onDelete}=props;return React224.createElement(PreviewRoot,{gap:1},[...uploaded,...files].map(file=>React224.createElement(UploadCard,{key:file.name,size:"sm",color:"neutral"},React224.createElement(Stack_default2,{direction:"row",alignItems:"center",gap:2},React224.createElement(UploadFileIcon,null),React224.createElement(Stack_default2,{flex:"1",sx:{overflow:"hidden"}},React224.createElement(Typography_default2,{level:"body-sm",textColor:"common.black",sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},file.name),!!file.size&&React224.createElement(Typography_default2,{level:"body-xs",fontWeight:"300",lineHeight:"1.33",textColor:"text.tertiary"},getFileSize(file.size))),React224.createElement(IconButton_default2,{onClick:()=>onDelete==null?void 0:onDelete(file)},React224.createElement(ClearIcon,null))))))},"Preview"),UploaderRoot=styled_default2(Stack_default2,{name:"Uploader",slot:"root"})(({theme})=>({gap:theme.spacing(2)})),FileDropZone=styled_default2(Sheet_default2,{name:"Uploader",slot:"dropZone",shouldForwardProp:__name(prop=>prop!=="error"&&prop!=="disabled","shouldForwardProp")})(({theme,state,error,disabled})=>({width:"100%",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",padding:theme.spacing(5),gap:theme.spacing(4),cursor:disabled?"not-allowed":"pointer",backgroundColor:theme.palette.background.surface,border:disabled?`1px solid ${theme.palette.danger.outlinedDisabledBorder}`:error?`1px solid ${theme.palette.danger.outlinedBorder}`:state==="idle"?`1px solid ${theme.palette.neutral.outlinedBorder}`:`1px solid ${theme.palette.primary.outlinedBorder}`,"&:hover":{border:disabled?`1px solid ${theme.palette.danger.outlinedDisabledBorder}`:error?`1px solid ${theme.palette.danger.outlinedBorder}`:`1px solid ${theme.palette.primary.outlinedBorder}`}})),UploaderIcon=styled_default2(CloudUploadRounded_default,{name:"Uploader",slot:"iconContainer",shouldForwardProp:__name(prop=>prop!=="error"&&prop!=="disabled","shouldForwardProp")})(({theme,state,error,disabled})=>({color:disabled?theme.palette.primary.outlinedDisabledBorder:error?`rgba(${theme.vars.palette.danger.mainChannel} / 0.6)`:state==="over"?`rgba(${theme.palette.primary.mainChannel} / 0.6)`:theme.palette.neutral.softActiveBg,width:"32px",height:"32px",".MuiSheet-root:hover &":{color:disabled?theme.palette.primary.outlinedDisabledBorder:error?`rgba(${theme.vars.palette.danger.mainChannel} / 0.6)`:`rgba(${theme.palette.primary.mainChannel} / 0.6)`}})),Uploader=React224.memo(props=>{let{accept,minCount,maxCount,name:name2,size,maxFileSize,maxFileTotalSize,onChange,label,disabled,onDelete,error:errorProp,helperText:helperTextProp}=props,dropZoneRef=useRef59(null),inputRef=useRef59(null),[errorText,setErrorText]=useState39(),[files,setFiles]=useState39([]),[uploaded,setUploaded]=useState39(props.uploaded||[]),[previewState,setPreviewState]=useState39("idle"),accepts=useMemo54(()=>accept.split(",").map(accept2=>accept2.trim()),[accept]),parsedAccepts=useMemo54(()=>accepts.flatMap(type=>["image/*","video/*","audio/*"].includes(type)?ALL_EXTENSIONS_BY_TYPE[type]:type),[accepts]),helperText=useMemo54(()=>{if(helperTextProp)return helperTextProp;let[allAcceptedTypes,acceptedTypes]=[accepts.filter(accept2=>["image/*","video/*","audio/*"].includes(accept2)).map(accept2=>{let[type]=accept2.split("/");return type.toLowerCase()}),accepts.filter(accept2=>!["image/*","video/*","audio/*"].includes(accept2)).map(accept2=>{let[extensionOrType,subType]=accept2.split("/");return subType?subType.toUpperCase():extensionOrType.toUpperCase().replace(".","")})],helperTexts=[];return allAcceptedTypes.length>0&&helperTexts.push(`Any ${allAcceptedTypes.join(", ")} file`),acceptedTypes.length>0&&helperTexts.push(acceptedTypes.join(", ")),helperTexts.push(`Maximum ${getFileSize(maxFileTotalSize)}`),maxCount&&helperTexts.push(`Up to ${maxCount} ${maxCount===1?"file":"files"}`),helperTexts.join(", ")},[accepts,maxFileTotalSize,maxCount,helperTextProp]),error=useMemo54(()=>!!errorText||errorProp,[errorProp,errorText]),showDropZone=useMemo54(()=>!maxCount||maxCount&&[...uploaded,...files].length!==maxCount,[files,maxCount,uploaded]),addFiles=useCallback51(uploads=>{try{let types=parsedAccepts.map(type=>type.replace(".",""))||[],fileExtension=new RegExp(`${types.join("|")}`);if(uploads.forEach(file=>{let ext=file.name.split(".").pop()||"";if(!fileExtension.test(ext))throw new Error("Please upload the correct file type.")}),maxFileSize&&uploads.forEach(file=>{if(file.size>maxFileSize)throw new Error(`One or more files exceeded the maximum file size. Each file size must be ${getFileSize(maxFileSize)} or less.`)}),[...files,...uploads].reduce((acc,file)=>acc+file.size,0)>maxFileTotalSize)throw new Error("The total file size exceeds the maximum limit.");let newFiles=[...files,...uploads];if(maxCount&&[...uploaded,...newFiles].length>maxCount)throw new Error("Exceeded the maximum number of files.");onChange==null||onChange({target:{name:name2,value:newFiles}}),setFiles(newFiles),setErrorText(void 0)}catch(error2){setErrorText(error2.message)}},[files,uploaded,maxCount,parsedAccepts,maxFileSize,maxFileTotalSize,name2,onChange]);useEffect53(()=>{if(!dropZoneRef.current||disabled)return;let cleanup2;return Promise.all([esmFiles.combine,esmFiles.adapter,esmFiles.file,esmFiles.preventUnhandled]).then(([combineModule,adapterModule,fileModule,preventUnhandledModule])=>{let{combine:combine3}=combineModule,{dropTargetForExternal:dropTargetForExternal2,monitorForExternal:monitorForExternal2}=adapterModule,{containsFiles:containsFiles2,getFiles:getFiles2}=fileModule,{preventUnhandled:preventUnhandled2}=preventUnhandledModule;cleanup2=combine3(dropTargetForExternal2({element:dropZoneRef.current,canDrop:containsFiles2,onDragEnter:__name(()=>setPreviewState("over"),"onDragEnter"),onDragLeave:__name(()=>setPreviewState("potential"),"onDragLeave"),onDrop:__name(async({source})=>{let files2=await getFiles2({source});addFiles(files2)},"onDrop")}),monitorForExternal2({canMonitor:containsFiles2,onDragStart:__name(()=>{setPreviewState("potential"),preventUnhandled2.start()},"onDragStart"),onDrop:__name(()=>{setPreviewState("idle"),preventUnhandled2.stop()},"onDrop")}))}),()=>cleanup2==null?void 0:cleanup2()},[disabled,addFiles]),useEffect53(()=>{inputRef.current&&minCount&&(files.length<minCount?inputRef.current.setCustomValidity(`At least ${minCount} files are required.`):inputRef.current.setCustomValidity(""))},[inputRef,files,minCount]);let handleFileChanged=useCallback51(event=>{let files2=Array.from(event.target.files||[]);addFiles(files2)},[addFiles]),handleDeleteFile=useCallback51(deletedFile=>{deletedFile instanceof File?setFiles(current=>(onChange==null||onChange({target:{name:name2,value:current.filter(file=>file!==deletedFile)}}),current.filter(file=>file!==deletedFile))):(setUploaded(uploaded2=>uploaded2.filter(file=>file.id!==deletedFile.id)),onDelete==null||onDelete(deletedFile)),setErrorText(void 0)},[name2,onChange,onDelete]),handleUploaderButtonClick=useCallback51(()=>{var _a;(_a=inputRef.current)==null||_a.click()},[]),uploader=React224.createElement(FileDropZone,{state:previewState,error:!!(error||errorText),disabled,ref:dropZoneRef,onClick:handleUploaderButtonClick},React224.createElement(Stack_default2,{alignItems:"center",gap:1},React224.createElement(UploaderIcon,{state:previewState,error:!!(error||errorText),disabled})),React224.createElement(VisuallyHiddenInput,{disabled,required:!!minCount,onInvalid:e=>{minCount&&files.length<minCount&&setErrorText(`Please choose ${minCount} ${minCount===1?"file":"files"} to upload.`)},slotProps:{input:{multiple:!0,accept:parsedAccepts.join(","),type:"file",ref:inputRef,role:"button",onChange:handleFileChanged}}}));return React224.createElement(UploaderRoot,null,showDropZone&&React224.createElement(FormControl_default2,{size,error:!!(error||errorText),disabled,required:!!minCount},label&&React224.createElement(FormLabel_default2,null,label),uploader,React224.createElement(FormHelperText_default2,null,React224.createElement(Stack_default2,null,errorText&&React224.createElement("div",null,errorText),React224.createElement("div",null,helperText)))),[...uploaded,...files].length>0&&React224.createElement(Preview,{files,uploaded,onDelete:handleDeleteFile}))});Uploader.displayName="Uploader";import React225 from"react";function IconMenuButton(props){let{size,icon,items=[],disabled,loading,color:color3="neutral",variant="plain",placement="bottom"}=props;return items.length?React225.createElement(Dropdown_default,null,React225.createElement(MenuButton_default,{slots:{root:IconButton_default},slotProps:{root:{component:props.buttonComponent??"button",size,variant,color:color3,disabled,loading,...props.buttonComponentProps??{}}}},icon),React225.createElement(Menu3,{placement,size},items.map(i=>React225.createElement(MenuItem3,{key:i.text,component:i.component,...i.componentProps??{}},i.text)))):React225.createElement(IconButton_default,{component:props.buttonComponent??"button",size,variant,color:color3,disabled,loading,...props.buttonComponentProps??{}},icon)}__name(IconMenuButton,"IconMenuButton");IconMenuButton.displayName="IconMenuButton";import React226,{lazy,Suspense,useEffect as useEffect54,useState as useState40}from"react";function ccount(value,character2){let source=String(value);if(typeof character2!="string")throw new TypeError("Expected character");let count=0,index2=source.indexOf(character2);for(;index2!==-1;)count++,index2=source.indexOf(character2,index2+character2.length);return count}__name(ccount,"ccount");init_micromark_util_character();function escapeStringRegexp(string3){if(typeof string3!="string")throw new TypeError("Expected a string");return string3.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}__name(escapeStringRegexp,"escapeStringRegexp");init_unist_util_visit_parents();init_unist_util_is();function findAndReplace(tree,list4,options){let ignored=convert((options||{}).ignore||[]),pairs=toPairs(list4),pairIndex=-1;for(;++pairIndex<pairs.length;)visitParents(tree,"text",visitor);function visitor(node3,parents){let index2=-1,grandparent;for(;++index2<parents.length;){let parent=parents[index2],siblings=grandparent?grandparent.children:void 0;if(ignored(parent,siblings?siblings.indexOf(parent):void 0,grandparent))return;grandparent=parent}if(grandparent)return handler(node3,parents)}__name(visitor,"visitor");function handler(node3,parents){let parent=parents[parents.length-1],find2=pairs[pairIndex][0],replace3=pairs[pairIndex][1],start5=0,index2=parent.children.indexOf(node3),change=!1,nodes=[];find2.lastIndex=0;let match2=find2.exec(node3.value);for(;match2;){let position4=match2.index,matchObject={index:match2.index,input:match2.input,stack:[...parents,node3]},value=replace3(...match2,matchObject);if(typeof value=="string"&&(value=value.length>0?{type:"text",value}:void 0),value===!1?find2.lastIndex=position4+1:(start5!==position4&&nodes.push({type:"text",value:node3.value.slice(start5,position4)}),Array.isArray(value)?nodes.push(...value):value&&nodes.push(value),start5=position4+match2[0].length,change=!0),!find2.global)break;match2=find2.exec(node3.value)}return change?(start5<node3.value.length&&nodes.push({type:"text",value:node3.value.slice(start5)}),parent.children.splice(index2,1,...nodes)):nodes=[node3],index2+nodes.length}__name(handler,"handler")}__name(findAndReplace,"findAndReplace");function toPairs(tupleOrList){let result=[];if(!Array.isArray(tupleOrList))throw new TypeError("Expected find and replace tuple or list of tuples");let list4=!tupleOrList[0]||Array.isArray(tupleOrList[0])?tupleOrList:[tupleOrList],index2=-1;for(;++index2<list4.length;){let tuple=list4[index2];result.push([toExpression(tuple[0]),toFunction(tuple[1])])}return result}__name(toPairs,"toPairs");function toExpression(find2){return typeof find2=="string"?new RegExp(escapeStringRegexp(find2),"g"):find2}__name(toExpression,"toExpression");function toFunction(replace3){return typeof replace3=="function"?replace3:function(){return replace3}}__name(toFunction,"toFunction");var inConstruct="phrasing",notInConstruct=["autolink","link","image","label"];function gfmAutolinkLiteralFromMarkdown(){return{transforms:[transformGfmAutolinkLiterals],enter:{literalAutolink:enterLiteralAutolink,literalAutolinkEmail:enterLiteralAutolinkValue,literalAutolinkHttp:enterLiteralAutolinkValue,literalAutolinkWww:enterLiteralAutolinkValue},exit:{literalAutolink:exitLiteralAutolink,literalAutolinkEmail:exitLiteralAutolinkEmail,literalAutolinkHttp:exitLiteralAutolinkHttp,literalAutolinkWww:exitLiteralAutolinkWww}}}__name(gfmAutolinkLiteralFromMarkdown,"gfmAutolinkLiteralFromMarkdown");function gfmAutolinkLiteralToMarkdown(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct,notInConstruct},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct,notInConstruct},{character:":",before:"[ps]",after:"\\/",inConstruct,notInConstruct}]}}__name(gfmAutolinkLiteralToMarkdown,"gfmAutolinkLiteralToMarkdown");function enterLiteralAutolink(token2){this.enter({type:"link",title:null,url:"",children:[]},token2)}__name(enterLiteralAutolink,"enterLiteralAutolink");function enterLiteralAutolinkValue(token2){this.config.enter.autolinkProtocol.call(this,token2)}__name(enterLiteralAutolinkValue,"enterLiteralAutolinkValue");function exitLiteralAutolinkHttp(token2){this.config.exit.autolinkProtocol.call(this,token2)}__name(exitLiteralAutolinkHttp,"exitLiteralAutolinkHttp");function exitLiteralAutolinkWww(token2){this.config.exit.data.call(this,token2);let node3=this.stack[this.stack.length-1];node3.type,node3.url="http://"+this.sliceSerialize(token2)}__name(exitLiteralAutolinkWww,"exitLiteralAutolinkWww");function exitLiteralAutolinkEmail(token2){this.config.exit.autolinkEmail.call(this,token2)}__name(exitLiteralAutolinkEmail,"exitLiteralAutolinkEmail");function exitLiteralAutolink(token2){this.exit(token2)}__name(exitLiteralAutolink,"exitLiteralAutolink");function transformGfmAutolinkLiterals(tree){findAndReplace(tree,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,findUrl],[new RegExp("(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)","gu"),findEmail]],{ignore:["link","linkReference"]})}__name(transformGfmAutolinkLiterals,"transformGfmAutolinkLiterals");function findUrl(_4,protocol,domain2,path3,match2){let prefix2="";if(!previous(match2)||(/^w/i.test(protocol)&&(domain2=protocol+domain2,protocol="",prefix2="http://"),!isCorrectDomain(domain2)))return!1;let parts=splitUrl(domain2+path3);if(!parts[0])return!1;let result={type:"link",title:null,url:prefix2+protocol+parts[0],children:[{type:"text",value:protocol+parts[0]}]};return parts[1]?[result,{type:"text",value:parts[1]}]:result}__name(findUrl,"findUrl");function findEmail(_4,atext,label,match2){return!previous(match2,!0)||/[-\d_]$/.test(label)?!1:{type:"link",title:null,url:"mailto:"+atext+"@"+label,children:[{type:"text",value:atext+"@"+label}]}}__name(findEmail,"findEmail");function isCorrectDomain(domain2){let parts=domain2.split(".");return!(parts.length<2||parts[parts.length-1]&&(/_/.test(parts[parts.length-1])||!/[a-zA-Z\d]/.test(parts[parts.length-1]))||parts[parts.length-2]&&(/_/.test(parts[parts.length-2])||!/[a-zA-Z\d]/.test(parts[parts.length-2])))}__name(isCorrectDomain,"isCorrectDomain");function splitUrl(url){let trailExec=/[!"&'),.:;<>?\]}]+$/.exec(url);if(!trailExec)return[url,void 0];url=url.slice(0,trailExec.index);let trail2=trailExec[0],closingParenIndex=trail2.indexOf(")"),openingParens=ccount(url,"("),closingParens=ccount(url,")");for(;closingParenIndex!==-1&&openingParens>closingParens;)url+=trail2.slice(0,closingParenIndex+1),trail2=trail2.slice(closingParenIndex+1),closingParenIndex=trail2.indexOf(")"),closingParens++;return[url,trail2]}__name(splitUrl,"splitUrl");function previous(match2,email){let code4=match2.input.charCodeAt(match2.index-1);return(match2.index===0||unicodeWhitespace(code4)||unicodePunctuation(code4))&&(!email||code4!==47)}__name(previous,"previous");init_micromark_util_normalize_identifier();footnoteReference.peek=footnoteReferencePeek;function enterFootnoteCallString(){this.buffer()}__name(enterFootnoteCallString,"enterFootnoteCallString");function enterFootnoteCall(token2){this.enter({type:"footnoteReference",identifier:"",label:""},token2)}__name(enterFootnoteCall,"enterFootnoteCall");function enterFootnoteDefinitionLabelString(){this.buffer()}__name(enterFootnoteDefinitionLabelString,"enterFootnoteDefinitionLabelString");function enterFootnoteDefinition(token2){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},token2)}__name(enterFootnoteDefinition,"enterFootnoteDefinition");function exitFootnoteCallString(token2){let label=this.resume(),node3=this.stack[this.stack.length-1];node3.type,node3.identifier=normalizeIdentifier(this.sliceSerialize(token2)).toLowerCase(),node3.label=label}__name(exitFootnoteCallString,"exitFootnoteCallString");function exitFootnoteCall(token2){this.exit(token2)}__name(exitFootnoteCall,"exitFootnoteCall");function exitFootnoteDefinitionLabelString(token2){let label=this.resume(),node3=this.stack[this.stack.length-1];node3.type,node3.identifier=normalizeIdentifier(this.sliceSerialize(token2)).toLowerCase(),node3.label=label}__name(exitFootnoteDefinitionLabelString,"exitFootnoteDefinitionLabelString");function exitFootnoteDefinition(token2){this.exit(token2)}__name(exitFootnoteDefinition,"exitFootnoteDefinition");function footnoteReferencePeek(){return"["}__name(footnoteReferencePeek,"footnoteReferencePeek");function footnoteReference(node3,_4,state,info){let tracker=state.createTracker(info),value=tracker.move("[^"),exit3=state.enter("footnoteReference"),subexit=state.enter("reference");return value+=tracker.move(state.safe(state.associationId(node3),{after:"]",before:value})),subexit(),exit3(),value+=tracker.move("]"),value}__name(footnoteReference,"footnoteReference");function gfmFootnoteFromMarkdown(){return{enter:{gfmFootnoteCallString:enterFootnoteCallString,gfmFootnoteCall:enterFootnoteCall,gfmFootnoteDefinitionLabelString:enterFootnoteDefinitionLabelString,gfmFootnoteDefinition:enterFootnoteDefinition},exit:{gfmFootnoteCallString:exitFootnoteCallString,gfmFootnoteCall:exitFootnoteCall,gfmFootnoteDefinitionLabelString:exitFootnoteDefinitionLabelString,gfmFootnoteDefinition:exitFootnoteDefinition}}}__name(gfmFootnoteFromMarkdown,"gfmFootnoteFromMarkdown");function gfmFootnoteToMarkdown(options){let firstLineBlank=!1;return options&&options.firstLineBlank&&(firstLineBlank=!0),{handlers:{footnoteDefinition,footnoteReference},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function footnoteDefinition(node3,_4,state,info){let tracker=state.createTracker(info),value=tracker.move("[^"),exit3=state.enter("footnoteDefinition"),subexit=state.enter("label");return value+=tracker.move(state.safe(state.associationId(node3),{before:value,after:"]"})),subexit(),value+=tracker.move("]:"),node3.children&&node3.children.length>0&&(tracker.shift(4),value+=tracker.move((firstLineBlank?`
152
152
  `:" ")+state.indentLines(state.containerFlow(node3,tracker.current()),firstLineBlank?mapAll:mapExceptFirst))),exit3(),value}__name(footnoteDefinition,"footnoteDefinition")}__name(gfmFootnoteToMarkdown,"gfmFootnoteToMarkdown");function mapExceptFirst(line2,index2,blank){return index2===0?line2:mapAll(line2,index2,blank)}__name(mapExceptFirst,"mapExceptFirst");function mapAll(line2,index2,blank){return(blank?"":" ")+line2}__name(mapAll,"mapAll");var constructsWithoutStrikethrough=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];handleDelete.peek=peekDelete;function gfmStrikethroughFromMarkdown(){return{canContainEols:["delete"],enter:{strikethrough:enterStrikethrough},exit:{strikethrough:exitStrikethrough}}}__name(gfmStrikethroughFromMarkdown,"gfmStrikethroughFromMarkdown");function gfmStrikethroughToMarkdown(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:constructsWithoutStrikethrough}],handlers:{delete:handleDelete}}}__name(gfmStrikethroughToMarkdown,"gfmStrikethroughToMarkdown");function enterStrikethrough(token2){this.enter({type:"delete",children:[]},token2)}__name(enterStrikethrough,"enterStrikethrough");function exitStrikethrough(token2){this.exit(token2)}__name(exitStrikethrough,"exitStrikethrough");function handleDelete(node3,_4,state,info){let tracker=state.createTracker(info),exit3=state.enter("strikethrough"),value=tracker.move("~~");return value+=state.containerPhrasing(node3,{...tracker.current(),before:value,after:"~"}),value+=tracker.move("~~"),exit3(),value}__name(handleDelete,"handleDelete");function peekDelete(){return"~"}__name(peekDelete,"peekDelete");function defaultStringLength(value){return value.length}__name(defaultStringLength,"defaultStringLength");function markdownTable(table2,options){let settings=options||{},align=(settings.align||[]).concat(),stringLength=settings.stringLength||defaultStringLength,alignments=[],cellMatrix=[],sizeMatrix=[],longestCellByColumn=[],mostCellsPerRow=0,rowIndex=-1;for(;++rowIndex<table2.length;){let row2=[],sizes2=[],columnIndex2=-1;for(table2[rowIndex].length>mostCellsPerRow&&(mostCellsPerRow=table2[rowIndex].length);++columnIndex2<table2[rowIndex].length;){let cell=serialize2(table2[rowIndex][columnIndex2]);if(settings.alignDelimiters!==!1){let size=stringLength(cell);sizes2[columnIndex2]=size,(longestCellByColumn[columnIndex2]===void 0||size>longestCellByColumn[columnIndex2])&&(longestCellByColumn[columnIndex2]=size)}row2.push(cell)}cellMatrix[rowIndex]=row2,sizeMatrix[rowIndex]=sizes2}let columnIndex=-1;if(typeof align=="object"&&"length"in align)for(;++columnIndex<mostCellsPerRow;)alignments[columnIndex]=toAlignment(align[columnIndex]);else{let code4=toAlignment(align);for(;++columnIndex<mostCellsPerRow;)alignments[columnIndex]=code4}columnIndex=-1;let row=[],sizes=[];for(;++columnIndex<mostCellsPerRow;){let code4=alignments[columnIndex],before="",after="";code4===99?(before=":",after=":"):code4===108?before=":":code4===114&&(after=":");let size=settings.alignDelimiters===!1?1:Math.max(1,longestCellByColumn[columnIndex]-before.length-after.length),cell=before+"-".repeat(size)+after;settings.alignDelimiters!==!1&&(size=before.length+size+after.length,size>longestCellByColumn[columnIndex]&&(longestCellByColumn[columnIndex]=size),sizes[columnIndex]=size),row[columnIndex]=cell}cellMatrix.splice(1,0,row),sizeMatrix.splice(1,0,sizes),rowIndex=-1;let lines=[];for(;++rowIndex<cellMatrix.length;){let row2=cellMatrix[rowIndex],sizes2=sizeMatrix[rowIndex];columnIndex=-1;let line2=[];for(;++columnIndex<mostCellsPerRow;){let cell=row2[columnIndex]||"",before="",after="";if(settings.alignDelimiters!==!1){let size=longestCellByColumn[columnIndex]-(sizes2[columnIndex]||0),code4=alignments[columnIndex];code4===114?before=" ".repeat(size):code4===99?size%2?(before=" ".repeat(size/2+.5),after=" ".repeat(size/2-.5)):(before=" ".repeat(size/2),after=before):after=" ".repeat(size)}settings.delimiterStart!==!1&&!columnIndex&&line2.push("|"),settings.padding!==!1&&!(settings.alignDelimiters===!1&&cell==="")&&(settings.delimiterStart!==!1||columnIndex)&&line2.push(" "),settings.alignDelimiters!==!1&&line2.push(before),line2.push(cell),settings.alignDelimiters!==!1&&line2.push(after),settings.padding!==!1&&line2.push(" "),(settings.delimiterEnd!==!1||columnIndex!==mostCellsPerRow-1)&&line2.push("|")}lines.push(settings.delimiterEnd===!1?line2.join("").replace(/ +$/,""):line2.join(""))}return lines.join(`
153
153
  `)}__name(markdownTable,"markdownTable");function serialize2(value){return value==null?"":String(value)}__name(serialize2,"serialize");function toAlignment(value){let code4=typeof value=="string"?value.codePointAt(0):0;return code4===67||code4===99?99:code4===76||code4===108?108:code4===82||code4===114?114:0}__name(toAlignment,"toAlignment");function blockquote(node3,_4,state,info){let exit3=state.enter("blockquote"),tracker=state.createTracker(info);tracker.move("> "),tracker.shift(2);let value=state.indentLines(state.containerFlow(node3,tracker.current()),map);return exit3(),value}__name(blockquote,"blockquote");function map(line2,_4,blank){return">"+(blank?"":" ")+line2}__name(map,"map");function patternInScope(stack,pattern){return listInScope(stack,pattern.inConstruct,!0)&&!listInScope(stack,pattern.notInConstruct,!1)}__name(patternInScope,"patternInScope");function listInScope(stack,list4,none){if(typeof list4=="string"&&(list4=[list4]),!list4||list4.length===0)return none;let index2=-1;for(;++index2<list4.length;)if(stack.includes(list4[index2]))return!0;return!1}__name(listInScope,"listInScope");function hardBreak(_4,_1,state,info){let index2=-1;for(;++index2<state.unsafe.length;)if(state.unsafe[index2].character===`
154
154
  `&&patternInScope(state.stack,state.unsafe[index2]))return/[ \t]/.test(info.before)?"":" ";return`\\