@progress/kendo-react-grid 13.3.0-develop.9 → 13.4.0-develop.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 (256) hide show
  1. package/BasePDFExport.d.ts +31 -0
  2. package/Grid.d.ts +129 -0
  3. package/GridClientContextReader.d.ts +17 -0
  4. package/GridClientWrapper.d.ts +32 -0
  5. package/GridClientWrapper.js +1 -1
  6. package/GridClientWrapper.mjs +21 -25
  7. package/GridColumn.d.ts +51 -0
  8. package/GridComponent.d.ts +14 -0
  9. package/GridComponent.js +1 -1
  10. package/GridComponent.mjs +35 -35
  11. package/GridPdfExportButton.d.ts +18 -0
  12. package/GridSearchBox.d.ts +27 -0
  13. package/GridState.d.ts +30 -0
  14. package/GridToolbar.d.ts +48 -0
  15. package/ScrollMode.d.ts +8 -0
  16. package/StatusBar.d.ts +59 -0
  17. package/VirtualScroll.d.ts +45 -0
  18. package/cells/GridDetailHierarchyCell.d.ts +16 -0
  19. package/cells/GridFilterCell.d.ts +10 -0
  20. package/cells/GridFilterCell.mjs +4 -4
  21. package/cells/datacell/GridCell.d.ts +15 -0
  22. package/cells/datacell/GridCellServer.d.ts +15 -0
  23. package/cells/datacell/GridCellServerContainer.d.ts +11 -0
  24. package/cells/datacell/useCellClientTdProps.d.ts +69 -0
  25. package/cells/datacell/utils.d.ts +20 -0
  26. package/cells/detailcell/GridDetailCell.d.ts +23 -0
  27. package/cells/detailcell/GridDetailCellServer.d.ts +11 -0
  28. package/cells/detailcell/GridDetailCellServerContainer.d.ts +12 -0
  29. package/cells/detailcell/useDetailCellClientTdProps.d.ts +23 -0
  30. package/cells/detailcell/utils.d.ts +19 -0
  31. package/cells/editcell/GridEditCell.d.ts +15 -0
  32. package/cells/editcell/GridEditCellEditor.d.ts +11 -0
  33. package/cells/editcell/GridEditCellServer.d.ts +15 -0
  34. package/cells/editcell/GridEditCellServerContainer.d.ts +11 -0
  35. package/cells/editcell/useEditCellClientTdProps.d.ts +25 -0
  36. package/cells/editcell/utils.d.ts +19 -0
  37. package/cells/groupcell/GridGroupCell.d.ts +15 -0
  38. package/cells/groupcell/GridGroupCellServer.d.ts +15 -0
  39. package/cells/groupcell/GridGroupCellServerContainer.d.ts +12 -0
  40. package/cells/groupcell/GridGroupCellToggle.d.ts +13 -0
  41. package/cells/groupcell/useGroupCellClientTdProps.d.ts +41 -0
  42. package/cells/groupcell/utils.d.ts +22 -0
  43. package/cells/hierarchycell/GridHierarchyCell.d.ts +15 -0
  44. package/cells/hierarchycell/GridHierarchyCellServer.d.ts +15 -0
  45. package/cells/hierarchycell/GridHierarchyCellServerContainer.d.ts +11 -0
  46. package/cells/hierarchycell/GridHierarchyCellToggle.d.ts +13 -0
  47. package/cells/hierarchycell/GridHierarchyCellToggle.mjs +2 -2
  48. package/cells/hierarchycell/useHierarchyCellClientTdProps.d.ts +32 -0
  49. package/cells/hierarchycell/utils.d.ts +20 -0
  50. package/cells/hooks.d.ts +25 -0
  51. package/cells/rowreordercell/GridRowReorderCell.d.ts +15 -0
  52. package/cells/rowreordercell/GridRowReorderCellServer.d.ts +15 -0
  53. package/cells/rowreordercell/GridRowReorderCellServerContainer.d.ts +11 -0
  54. package/cells/rowreordercell/useRowReorderCellClientTdProps.d.ts +27 -0
  55. package/cells/rowreordercell/utils.d.ts +15 -0
  56. package/cells/selectioncell/GridSelectionCell.d.ts +15 -0
  57. package/cells/selectioncell/GridSelectionCellInput.d.ts +13 -0
  58. package/cells/selectioncell/GridSelectionCellServer.d.ts +15 -0
  59. package/cells/selectioncell/GridSelectionCellServerContainer.d.ts +11 -0
  60. package/cells/selectioncell/useSelectionCellClientTdProps.d.ts +25 -0
  61. package/cells/selectioncell/utils.d.ts +25 -0
  62. package/codemods/v11/cell-render.js +2 -9
  63. package/codemods/v11/column-cell.js +2 -9
  64. package/codemods/v11/column-filter-cell.js +2 -9
  65. package/codemods/v11/column-footer-cell.js +2 -9
  66. package/codemods/v11/column-header-cell.js +2 -9
  67. package/codemods/v11/detail-expand-state.js +2 -9
  68. package/codemods/v11/edit-state.js +2 -9
  69. package/codemods/v11/filter-cell-render.js +2 -9
  70. package/codemods/v11/group-expand-state.js +2 -9
  71. package/codemods/v11/header-cell-render.js +2 -9
  72. package/codemods/v11/index.js +0 -7
  73. package/codemods/v11/row-render.js +2 -9
  74. package/codemods/v11/selection-state.js +2 -9
  75. package/codemods/v11/utils.js +2 -9
  76. package/columnMenu/GridColumnMenuCheckboxFilter.d.ts +58 -0
  77. package/columnMenu/GridColumnMenuCheckboxFilter.js +1 -1
  78. package/columnMenu/GridColumnMenuCheckboxFilter.mjs +0 -1
  79. package/columnMenu/GridColumnMenuColumnsChooser.d.ts +30 -0
  80. package/columnMenu/GridColumnMenuColumnsList.d.ts +34 -0
  81. package/columnMenu/GridColumnMenuFilter.d.ts +101 -0
  82. package/columnMenu/GridColumnMenuFilterCell.d.ts +29 -0
  83. package/columnMenu/GridColumnMenuFilterUI.d.ts +13 -0
  84. package/columnMenu/GridColumnMenuGroup.d.ts +61 -0
  85. package/columnMenu/GridColumnMenuGroup.mjs +3 -3
  86. package/columnMenu/GridColumnMenuItem.d.ts +48 -0
  87. package/columnMenu/GridColumnMenuItemContent.d.ts +22 -0
  88. package/columnMenu/GridColumnMenuItemGroup.d.ts +18 -0
  89. package/columnMenu/GridColumnMenuSort.d.ts +67 -0
  90. package/columnMenu/GridColumnMenuWrapper.d.ts +33 -0
  91. package/columnMenu/GridColumnMenuWrapper.mjs +5 -5
  92. package/columnMenu/adaptiveContent/GridActionSheetFooter.d.ts +26 -0
  93. package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.d.ts +27 -0
  94. package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.mjs +4 -4
  95. package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.d.ts +32 -0
  96. package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.mjs +3 -3
  97. package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.d.ts +12 -0
  98. package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.js +1 -1
  99. package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.mjs +4 -4
  100. package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.d.ts +27 -0
  101. package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.mjs +8 -8
  102. package/columnMenu/adaptiveContext/GridColumnMenuAdaptiveContext.d.ts +23 -0
  103. package/components/GridContainerElementContainer.d.ts +12 -0
  104. package/components/GridDragClue.d.ts +12 -0
  105. package/components/GridDraggableRowsContainer.d.ts +20 -0
  106. package/components/GridDropClue.d.ts +12 -0
  107. package/components/GridEditDialog.d.ts +22 -0
  108. package/components/GridEditDialog.mjs +1 -1
  109. package/components/GridElementContainer.d.ts +14 -0
  110. package/components/GridLoader.d.ts +17 -0
  111. package/components/PagerContainer.d.ts +12 -0
  112. package/components/VirtualScrollHeightContainer.d.ts +12 -0
  113. package/components/colGroup/GridColGroup.d.ts +12 -0
  114. package/components/icons/reorder-row-svg.d.ts +12 -0
  115. package/components/noRecords/GridNoRecords.d.ts +31 -0
  116. package/components/noRecords/GridNoRecordsContainer.d.ts +15 -0
  117. package/components/noRecords/GridNoRecordsContainer.mjs +1 -1
  118. package/components/table/GridTable.d.ts +12 -0
  119. package/components/table/GridTableBody.d.ts +12 -0
  120. package/components/table/GridTableScrollable.d.ts +12 -0
  121. package/components/utils.d.ts +21 -0
  122. package/constants/index.d.ts +15 -0
  123. package/constants/index.mjs +2 -2
  124. package/contextMenu/GridContextMenu.d.ts +205 -0
  125. package/contextMenu/GridContextMenu.mjs +19 -19
  126. package/contextMenu/enums.d.ts +36 -0
  127. package/dist/cdn/js/kendo-react-grid.js +1 -1
  128. package/drag/ColumnDraggable.d.ts +26 -0
  129. package/drag/ColumnResize.d.ts +47 -0
  130. package/drag/CommonDragLogic.d.ts +50 -0
  131. package/drag/GroupingIndicator.d.ts +26 -0
  132. package/drag/GroupingIndicator.js +1 -1
  133. package/drag/GroupingIndicator.mjs +20 -20
  134. package/filterCommon.d.ts +86 -0
  135. package/footer/Footer.d.ts +38 -0
  136. package/footer/Footer.js +1 -1
  137. package/footer/Footer.mjs +9 -9
  138. package/footer/FooterCell.d.ts +19 -0
  139. package/footer/FooterRow.d.ts +23 -0
  140. package/footer/client/FooterCellContainer.d.ts +12 -0
  141. package/header/FilterRow.d.ts +35 -0
  142. package/header/GridHeaderCell.d.ts +48 -0
  143. package/header/GridHeaderSelectionCell.d.ts +13 -0
  144. package/header/GroupPanel.d.ts +23 -0
  145. package/header/GroupPanel.js +1 -1
  146. package/header/GroupPanel.mjs +11 -11
  147. package/header/Header.d.ts +44 -0
  148. package/header/Header.js +1 -1
  149. package/header/Header.mjs +1 -1
  150. package/header/HeaderRow.d.ts +45 -0
  151. package/header/client/GridFilterCellContainer.d.ts +12 -0
  152. package/header/client/GridFilterCellElementContainer.d.ts +12 -0
  153. package/header/client/GridHeaderCellContainer.d.ts +12 -0
  154. package/header/client/GridHeaderCellElementContainer.d.ts +12 -0
  155. package/header/client/GridHeaderRowContainer.d.ts +16 -0
  156. package/header/client/GridHeaderRowReorderCell.d.ts +12 -0
  157. package/header/client/HeaderCellResizer.d.ts +11 -0
  158. package/header/client/HeaderRowDraggable.d.ts +11 -0
  159. package/index.d.mts +84 -5356
  160. package/index.d.ts +84 -5356
  161. package/interfaces/ColumnType.d.ts +13 -0
  162. package/interfaces/CompositeHighlightDescriptor.d.ts +29 -0
  163. package/interfaces/GridAIAssistantCommand.d.ts +110 -0
  164. package/interfaces/GridAICommands.d.ts +60 -0
  165. package/interfaces/GridCellProps.d.ts +112 -0
  166. package/interfaces/GridCellRenderModel.d.ts +15 -0
  167. package/interfaces/GridCellsSettings.d.ts +366 -0
  168. package/interfaces/GridColSpanProps.d.ts +21 -0
  169. package/interfaces/GridColumnChildrenProps.d.ts +18 -0
  170. package/interfaces/GridColumnMenuBaseProps.d.ts +21 -0
  171. package/interfaces/GridColumnMenuColumnProps.d.ts +32 -0
  172. package/interfaces/GridColumnMenuColumnsChooserBaseProps.d.ts +22 -0
  173. package/interfaces/GridColumnMenuFilterBaseProps.d.ts +31 -0
  174. package/interfaces/GridColumnMenuFilterUIProps.d.ts +38 -0
  175. package/interfaces/GridColumnMenuGroupBaseProps.d.ts +26 -0
  176. package/interfaces/GridColumnMenuProps.d.ts +24 -0
  177. package/interfaces/GridColumnMenuSortBaseProps.d.ts +27 -0
  178. package/interfaces/GridColumnProps.d.ts +230 -0
  179. package/interfaces/GridColumnState.d.ts +52 -0
  180. package/interfaces/GridDataType.d.ts +12 -0
  181. package/interfaces/GridDetailExpandableSettings.d.ts +11 -0
  182. package/interfaces/GridDetailRowProps.d.ts +20 -0
  183. package/interfaces/GridEditDialogProps.d.ts +30 -0
  184. package/interfaces/GridEditableSettings.d.ts +16 -0
  185. package/interfaces/GridFilterCellProps.d.ts +67 -0
  186. package/interfaces/GridFilterOperator.d.ts +13 -0
  187. package/interfaces/GridFilterOperators.d.ts +56 -0
  188. package/interfaces/GridFooterCellProps.d.ts +29 -0
  189. package/interfaces/GridGroupExpandableSettings.d.ts +22 -0
  190. package/interfaces/GridGroupableSettings.d.ts +25 -0
  191. package/interfaces/GridHeaderCellProps.d.ts +23 -0
  192. package/interfaces/GridHighlightDescriptor.d.ts +16 -0
  193. package/interfaces/GridNoRecordsProps.d.ts +16 -0
  194. package/interfaces/GridProps.d.ts +1083 -0
  195. package/interfaces/GridReorderDropDir.d.ts +11 -0
  196. package/interfaces/GridRowProps.d.ts +75 -0
  197. package/interfaces/GridRowReorderSettings.d.ts +25 -0
  198. package/interfaces/GridRowSpannableSettings.d.ts +21 -0
  199. package/interfaces/GridRowType.d.ts +16 -0
  200. package/interfaces/GridRowsSettings.d.ts +57 -0
  201. package/interfaces/GridSelectableSettings.d.ts +25 -0
  202. package/interfaces/GridSortSettings.d.ts +26 -0
  203. package/interfaces/GridStackedLayoutSettings.d.ts +60 -0
  204. package/interfaces/GridToolbarProps.d.ts +17 -0
  205. package/interfaces/VirtualScrollInterface.d.ts +29 -0
  206. package/interfaces/events.d.ts +357 -0
  207. package/interfaces/index.d.ts +15 -0
  208. package/messages/index.d.ts +365 -0
  209. package/messages/messagesMap.d.ts +14 -0
  210. package/package-metadata.d.ts +12 -0
  211. package/package-metadata.js +1 -1
  212. package/package-metadata.mjs +10 -16
  213. package/package.json +17 -17
  214. package/paging/GridPagerSettings.d.ts +89 -0
  215. package/paging/Page.d.ts +20 -0
  216. package/rows/GridDetailRow.d.ts +41 -0
  217. package/rows/GridDetailRowRenderer.d.ts +48 -0
  218. package/rows/GridRow.d.ts +13 -0
  219. package/rows/GridRowRenderer.d.ts +47 -0
  220. package/sortCommon.d.ts +20 -0
  221. package/stacked/GridStackedCell.d.ts +67 -0
  222. package/stacked/GridStackedDetailToggle.d.ts +20 -0
  223. package/stacked/GridStackedDetailToggle.mjs +2 -2
  224. package/stacked/GridStackedRow.d.ts +214 -0
  225. package/stacked/StackedModeComponents.d.ts +45 -0
  226. package/stacked/StackedModeRow.d.ts +46 -0
  227. package/toolbar-tools/GridToolbarAIAssistant.d.ts +246 -0
  228. package/toolbar-tools/GridToolbarCheckboxFilter.d.ts +89 -0
  229. package/toolbar-tools/GridToolbarCheckboxFilter.js +1 -1
  230. package/toolbar-tools/GridToolbarCheckboxFilter.mjs +0 -1
  231. package/toolbar-tools/GridToolbarColumnsChooser.d.ts +55 -0
  232. package/toolbar-tools/GridToolbarFilter.d.ts +72 -0
  233. package/toolbar-tools/GridToolbarFilter.mjs +5 -5
  234. package/toolbar-tools/GridToolbarGroup.d.ts +55 -0
  235. package/toolbar-tools/GridToolbarSeparator.d.ts +21 -0
  236. package/toolbar-tools/GridToolbarSort.d.ts +55 -0
  237. package/toolbar-tools/GridToolbarSpacer.d.ts +21 -0
  238. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarCheckboxFilter.d.ts +35 -0
  239. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarCheckboxFilter.mjs +3 -3
  240. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarColumnChooser.d.ts +33 -0
  241. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarColumnChooser.mjs +3 -3
  242. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarFilter.d.ts +34 -0
  243. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarFilter.mjs +3 -3
  244. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarGroup.d.ts +26 -0
  245. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarSort.d.ts +27 -0
  246. package/toolbar-tools/adaptiveContext/GridToolbarAdaptiveContext.d.ts +23 -0
  247. package/toolbar-tools/ai-tool/GridAIPrompt.d.ts +160 -0
  248. package/utils/GridContext.d.ts +12 -0
  249. package/utils/_clientModule.d.ts +11 -0
  250. package/utils/_serverModule.d.ts +12 -0
  251. package/utils/handleAIResponse.d.ts +221 -0
  252. package/utils/index.d.ts +185 -0
  253. package/utils/index.js +1 -1
  254. package/utils/index.mjs +2 -2
  255. package/utils/premium.d.ts +31 -0
  256. package/utils/virtualColumns.d.ts +18 -0
@@ -1,9 +1,2 @@
1
- /**
2
- * @license
3
- *-------------------------------------------------------------------------------------------
4
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
- * Licensed under commercial license. See LICENSE.md in the package root for more information
6
- *-------------------------------------------------------------------------------------------
7
- */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=(e,n,t,i)=>{if(i==="class"){if(n.size()>0&&n.get(0).node.value.body){const o=n.get(0).node.value.body.body;if(o){const r=e.emptyStatement();r.comments=[e.commentBlock(` ${t} `)],o.unshift(r)}}}else{let o;if(n.get(0).node.declarations&&n.get(0).node.declarations[0].init?o=n.get(0).node.declarations[0].init.body.body:n.get(0).node.body&&(o=n.get(0).node.body.body),o){const r=e.emptyStatement();r.comments=[e.commentBlock(` ${t} `)],o.unshift(r)}}},u=(e,n,t,i)=>{const o=n.find(e.ImportDeclaration,{source:{value:i}});if(o.size()>0){const r=o.get(0).node.specifiers;r.some(a=>a.type==="ImportSpecifier"&&a.imported.name===t)||r.push(e.importSpecifier(e.identifier(t)))}else{const r=e.importDeclaration([e.importSpecifier(e.identifier(t))],e.literal(i));n.get().node.program.body.unshift(r)}},f=(e,n)=>{let t=n.parentPath,i=!1,o=!1;for(;t;){if(e.ClassDeclaration.check(t.node)){i=!0;break}else if(e.FunctionDeclaration.check(t.node)||e.FunctionExpression.check(t.node)||e.ArrowFunctionExpression.check(t.node)){o=!0;break}t=t.parentPath}return{isClassComponent:i,isFunctionalComponent:o,parentNode:t}},m=(e,n)=>{let t=e,i=1;for(;n.has(t);)t=`${e}$${i}`,i++;return t},d=(e,n)=>e.find(t=>t.type==="JSXAttribute"&&t.name.name===n),b=(e,n)=>e.some(t=>t.type==="JSXAttribute"&&t.name.name===n),c=(e,n,t,i)=>{if(n.value&&n.value.type==="JSXExpressionContainer"){const o=n.value.expression;o.type==="ObjectExpression"&&o.properties.push(e.property("init",e.identifier(t),e.identifier(i)))}},p=(e,n,t,i,o)=>{const r=e.jsxAttribute(e.jsxIdentifier(t),e.jsxExpressionContainer(e.objectExpression([e.property("init",e.identifier(i),e.identifier(o))])));n.push(r)},y=(e,n)=>{const t=e==null?void 0:e.findIndex(i=>i.type==="JSXAttribute"&&i.name.name===n);return t!==-1?(e.splice(t,1),!0):!1},x=(e,n,t,i,o)=>{const r=d(n,t);r?c(e,r,i,o):p(e,n,t,i,o)},h=(e,n,t,i)=>e.jsxAttribute(e.jsxIdentifier(n),e.jsxExpressionContainer(e.objectExpression([e.property("init",e.identifier(t),e.identifier(i))]))),A=(e,n,t,i)=>{n.type==="ObjectExpression"&&n.properties.push(e.property("init",e.identifier(t),e.identifier(i)))},S=(e,n,t,i)=>e.methodDefinition("method",e.identifier(n),e.functionExpression(null,[e.identifier(t?`event: ${i}`:"event")],e.blockStatement([e.returnStatement(e.jsxFragment(e.jsxOpeningFragment(),e.jsxClosingFragment(),[]))]))),E=(e,n,t,i)=>e.variableDeclaration("const",[e.variableDeclarator(e.identifier(n),e.arrowFunctionExpression([e.identifier(`(event${t?`: ${i}`:""})`)],e.blockStatement([e.returnStatement(e.jsxFragment(e.jsxOpeningFragment(),e.jsxClosingFragment(),[]))])))]),g=(e,n,t,i)=>{i?n.node.body.body.push(t):(n.node.body.body||n.node.body).unshift(t)},C=(e,n,t,i)=>{const o=n.find(e.ImportDeclaration,{source:{value:i}});if(o.size()>0){const r=o.find(e.ImportSpecifier,{imported:{name:t}});if(r.size()>0)return r.get(0).node.local.name}return null},v=(e,n,t,i)=>{const o=n.node.body.body.find(r=>r.type==="ClassProperty"&&r.key.name==="state");o&&o.value.type==="ObjectExpression"?o.value.properties.some(s=>s.key.name===t)||o.value.properties.push(e.property("init",e.identifier(t),i)):n.node.body.body.unshift(e.classProperty(e.identifier("state"),e.objectExpression([e.property("init",e.identifier(t),i)])))},F=(e,n)=>(e==null?void 0:e.some(t=>t.type==="JSXAttribute"&&t.name.name===n))||!1,D=(e,n,t,i,o,r,s)=>{const a=e.variableDeclaration("const",[e.variableDeclarator(e.arrayPattern([e.identifier(t),e.identifier(i)]),e.callExpression(e.identifier(`React.useState${r?`<${s}>`:""}`),[o]))]);n.node.body.body.unshift(a)},I=(e,n,t,i)=>{n.push(e.jsxAttribute(e.jsxIdentifier(t),e.jsxExpressionContainer(e.identifier(i))))},k=(e,n,t,i)=>{n.push(e.jsxAttribute(e.jsxIdentifier(t),e.jsxExpressionContainer(e.identifier(i))))},w=(e,n,t,i)=>e.methodDefinition("method",e.identifier(n),e.functionExpression(null,t.map(o=>e.identifier(o)),e.blockStatement(i))),P=(e,n,t,i)=>e.variableDeclaration("const",[e.variableDeclarator(e.identifier(n),e.arrowFunctionExpression(t.map(o=>e.identifier(o)),e.blockStatement(i)))]);exports.addCommentToMethod=l;exports.addEventAttribute=I;exports.addMethodToComponent=g;exports.addNewAttribute=p;exports.addPropertyToObjectExpression=A;exports.addStateAttribute=k;exports.addStateDeclaration=v;exports.addUseStateDeclaration=D;exports.createArrowFunction=P;exports.createArrowFunctionForFunctionalComponent=E;exports.createAttribute=h;exports.createClassMethod=w;exports.createMethodForClassComponent=S;exports.doesAttributeExist=b;exports.ensureAttributeExists=x;exports.ensureImportExists=u;exports.findAttribute=d;exports.findImportedName=C;exports.findParentComponent=f;exports.generateUniqueName=m;exports.hasJSXAttribute=F;exports.modifyExistingAttribute=c;exports.removeAttribute=y;
9
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvY29kZW1vZHMvdjExL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29sbGVjdGlvbixcbiAgICBGdW5jdGlvbkRlY2xhcmF0aW9uLFxuICAgIEpTQ29kZXNoaWZ0LFxuICAgIEpTWEF0dHJpYnV0ZSxcbiAgICBKU1hTcHJlYWRBdHRyaWJ1dGUsXG4gICAgVmFyaWFibGVEZWNsYXJhdGlvblxufSBmcm9tICdqc2NvZGVzaGlmdCc7XG5cbmV4cG9ydCBjb25zdCBhZGRDb21tZW50VG9NZXRob2QgPSAoXG4gICAgajogSlNDb2Rlc2hpZnQsXG4gICAgbWV0aG9kOiBDb2xsZWN0aW9uPFZhcmlhYmxlRGVjbGFyYXRpb24+IHwgQ29sbGVjdGlvbjxGdW5jdGlvbkRlY2xhcmF0aW9uPixcbiAgICBjb21tZW50VGV4dDogc3RyaW5nLFxuICAgIHBhcmVudFR5cGU6ICdjbGFzcycgfCAnZnVuY3Rpb24nXG4pID0+IHtcbiAgICBpZiAocGFyZW50VHlwZSA9PT0gJ2NsYXNzJykge1xuICAgICAgICBpZiAobWV0aG9kLnNpemUoKSA+IDAgJiYgbWV0aG9kLmdldCgwKS5ub2RlLnZhbHVlLmJvZHkpIHtcbiAgICAgICAgICAgIGNvbnN0IG1ldGhvZEJvZHkgPSBtZXRob2QuZ2V0KDApLm5vZGUudmFsdWUuYm9keS5ib2R5O1xuXG4gICAgICAgICAgICBpZiAobWV0aG9kQm9keSkge1xuICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBhIGNvbW1lbnQgYW5kIGF0dGFjaCBpdCB0byBhbiBlbXB0eSBzdGF0ZW1lbnRcbiAgICAgICAgICAgICAgICBjb25zdCBwbGFjZWhvbGRlclN0YXRlbWVudCA9IGouZW1wdHlTdGF0ZW1lbnQoKTtcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlclN0YXRlbWVudC5jb21tZW50cyA9IFtqLmNvbW1lbnRCbG9jayhgICR7Y29tbWVudFRleHR9IGApXTtcblxuICAgICAgICAgICAgICAgIC8vIEFkZCB0aGUgcGxhY2Vob2xkZXIgc3RhdGVtZW50IHdpdGggdGhlIGNvbW1lbnQgdG8gdGhlIG1ldGhvZCBib2R5XG4gICAgICAgICAgICAgICAgbWV0aG9kQm9keS51bnNoaWZ0KHBsYWNlaG9sZGVyU3RhdGVtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBtZXRob2RCb2R5O1xuXG4gICAgICAgIGlmIChtZXRob2QuZ2V0KDApLm5vZGUuZGVjbGFyYXRpb25zICYmIG1ldGhvZC5nZXQoMCkubm9kZS5kZWNsYXJhdGlvbnNbMF0uaW5pdCkge1xuICAgICAgICAgICAgbWV0aG9kQm9keSA9IG1ldGhvZC5nZXQoMCkubm9kZS5kZWNsYXJhdGlvbnNbMF0uaW5pdC5ib2R5LmJvZHk7XG4gICAgICAgIH0gZWxzZSBpZiAobWV0aG9kLmdldCgwKS5ub2RlLmJvZHkpIHtcbiAgICAgICAgICAgIG1ldGhvZEJvZHkgPSBtZXRob2QuZ2V0KDApLm5vZGUuYm9keS5ib2R5O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1ldGhvZEJvZHkpIHtcbiAgICAgICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyU3RhdGVtZW50ID0gai5lbXB0eVN0YXRlbWVudCgpO1xuICAgICAgICAgICAgcGxhY2Vob2xkZXJTdGF0ZW1lbnQuY29tbWVudHMgPSBbai5jb21tZW50QmxvY2soYCAke2NvbW1lbnRUZXh0fSBgKV07XG5cbiAgICAgICAgICAgIG1ldGhvZEJvZHkudW5zaGlmdChwbGFjZWhvbGRlclN0YXRlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgZW5zdXJlSW1wb3J0RXhpc3RzID0gKGo6IEpTQ29kZXNoaWZ0LCByb290OiBDb2xsZWN0aW9uLCBpbXBvcnROYW1lOiBzdHJpbmcsIHNvdXJjZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgaW1wb3J0RGVjbGFyYXRpb24gPSByb290LmZpbmQoai5JbXBvcnREZWNsYXJhdGlvbiwge1xuICAgICAgICBzb3VyY2U6IHsgdmFsdWU6IHNvdXJjZSB9XG4gICAgfSk7XG5cbiAgICBpZiAoaW1wb3J0RGVjbGFyYXRpb24uc2l6ZSgpID4gMCkge1xuICAgICAgICAvLyBJZiB0aGUgaW1wb3J0IHN0YXRlbWVudCBleGlzdHMsIGFkZCB0aGUgbmV3IGltcG9ydCBuYW1lIGlmIG5vdCBhbHJlYWR5IHByZXNlbnRcbiAgICAgICAgY29uc3Qgc3BlY2lmaWVycyA9IGltcG9ydERlY2xhcmF0aW9uLmdldCgwKS5ub2RlLnNwZWNpZmllcnM7XG4gICAgICAgIGNvbnN0IGFscmVhZHlJbXBvcnRlZCA9IHNwZWNpZmllcnMuc29tZShcbiAgICAgICAgICAgIChzcGVjaWZpZXI6IGFueSkgPT4gc3BlY2lmaWVyLnR5cGUgPT09ICdJbXBvcnRTcGVjaWZpZXInICYmIHNwZWNpZmllci5pbXBvcnRlZC5uYW1lID09PSBpbXBvcnROYW1lXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCFhbHJlYWR5SW1wb3J0ZWQpIHtcbiAgICAgICAgICAgIHNwZWNpZmllcnMucHVzaChqLmltcG9ydFNwZWNpZmllcihqLmlkZW50aWZpZXIoaW1wb3J0TmFtZSkpKTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIElmIHRoZSBpbXBvcnQgc3RhdGVtZW50IGRvZXNuJ3QgZXhpc3QsIGNyZWF0ZSBhIG5ldyBvbmVcbiAgICAgICAgY29uc3QgbmV3SW1wb3J0ID0gai5pbXBvcnREZWNsYXJhdGlvbihbai5pbXBvcnRTcGVjaWZpZXIoai5pZGVudGlmaWVyKGltcG9ydE5hbWUpKV0sIGoubGl0ZXJhbChzb3VyY2UpKTtcbiAgICAgICAgcm9vdC5nZXQoKS5ub2RlLnByb2dyYW0uYm9keS51bnNoaWZ0KG5ld0ltcG9ydCk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRQYXJlbnRDb21wb25lbnQgPSAoajogSlNDb2Rlc2hpZnQsIHBhdGg6IGFueSkgPT4ge1xuICAgIGxldCBwYXJlbnROb2RlID0gcGF0aC5wYXJlbnRQYXRoO1xuICAgIGxldCBpc0NsYXNzQ29tcG9uZW50ID0gZmFsc2U7XG4gICAgbGV0IGlzRnVuY3Rpb25hbENvbXBvbmVudCA9IGZhbHNlO1xuXG4gICAgd2hpbGUgKHBhcmVudE5vZGUpIHtcbiAgICAgICAgaWYgKGouQ2xhc3NEZWNsYXJhdGlvbi5jaGVjayhwYXJlbnROb2RlLm5vZGUpKSB7XG4gICAgICAgICAgICBpc0NsYXNzQ29tcG9uZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgai5GdW5jdGlvbkRlY2xhcmF0aW9uLmNoZWNrKHBhcmVudE5vZGUubm9kZSkgfHxcbiAgICAgICAgICAgIGouRnVuY3Rpb25FeHByZXNzaW9uLmNoZWNrKHBhcmVudE5vZGUubm9kZSkgfHxcbiAgICAgICAgICAgIGouQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24uY2hlY2socGFyZW50Tm9kZS5ub2RlKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGlzRnVuY3Rpb25hbENvbXBvbmVudCA9IHRydWU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBwYXJlbnROb2RlID0gcGFyZW50Tm9kZS5wYXJlbnRQYXRoO1xuICAgIH1cblxuICAgIHJldHVybiB7IGlzQ2xhc3NDb21wb25lbnQsIGlzRnVuY3Rpb25hbENvbXBvbmVudCwgcGFyZW50Tm9kZSB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlVW5pcXVlTmFtZSA9IChiYXNlTmFtZTogc3RyaW5nLCBleGlzdGluZ05hbWVzOiBTZXQ8c3RyaW5nPik6IHN0cmluZyA9PiB7XG4gICAgbGV0IG5hbWUgPSBiYXNlTmFtZTtcbiAgICBsZXQgY291bnRlciA9IDE7XG4gICAgd2hpbGUgKGV4aXN0aW5nTmFtZXMuaGFzKG5hbWUpKSB7XG4gICAgICAgIG5hbWUgPSBgJHtiYXNlTmFtZX0kJHtjb3VudGVyfWA7XG4gICAgICAgIGNvdW50ZXIrKztcbiAgICB9XG4gICAgcmV0dXJuIG5hbWU7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZEF0dHJpYnV0ZSA9IChhdHRyaWJ1dGVzOiBhbnlbXSwgYXR0cmlidXRlTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIGF0dHJpYnV0ZXMuZmluZCgoYXR0cikgPT4gYXR0ci50eXBlID09PSAnSlNYQXR0cmlidXRlJyAmJiBhdHRyLm5hbWUubmFtZSA9PT0gYXR0cmlidXRlTmFtZSk7XG59O1xuXG5leHBvcnQgY29uc3QgZG9lc0F0dHJpYnV0ZUV4aXN0ID0gKGF0dHJpYnV0ZXM6IGFueVtdLCBhdHRyaWJ1dGVOYW1lOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgICByZXR1cm4gYXR0cmlidXRlcy5zb21lKChhdHRyKSA9PiBhdHRyLnR5cGUgPT09ICdKU1hBdHRyaWJ1dGUnICYmIGF0dHIubmFtZS5uYW1lID09PSBhdHRyaWJ1dGVOYW1lKTtcbn07XG5cbmV4cG9ydCBjb25zdCBtb2RpZnlFeGlzdGluZ0F0dHJpYnV0ZSA9IChcbiAgICBqOiBKU0NvZGVzaGlmdCxcbiAgICBleGlzdGluZ0F0dHJpYnV0ZTogYW55LFxuICAgIHByb3BlcnR5TmFtZTogc3RyaW5nLFxuICAgIHByb3BlcnR5VmFsdWU6IHN0cmluZ1xuKSA9PiB7XG4gICAgaWYgKGV4aXN0aW5nQXR0cmlidXRlLnZhbHVlICYmIGV4aXN0aW5nQXR0cmlidXRlLnZhbHVlLnR5cGUgPT09ICdKU1hFeHByZXNzaW9uQ29udGFpbmVyJykge1xuICAgICAgICBjb25zdCBleHByZXNzaW9uID0gZXhpc3RpbmdBdHRyaWJ1dGUudmFsdWUuZXhwcmVzc2lvbjtcbiAgICAgICAgaWYgKGV4cHJlc3Npb24udHlwZSA9PT0gJ09iamVjdEV4cHJlc3Npb24nKSB7XG4gICAgICAgICAgICBleHByZXNzaW9uLnByb3BlcnRpZXMucHVzaChqLnByb3BlcnR5KCdpbml0Jywgai5pZGVudGlmaWVyKHByb3BlcnR5TmFtZSksIGouaWRlbnRpZmllcihwcm9wZXJ0eVZhbHVlKSkpO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGFkZE5ld0F0dHJpYnV0ZSA9IChcbiAgICBqOiBKU0NvZGVzaGlmdCxcbiAgICBhdHRyaWJ1dGVzOiBhbnlbXSxcbiAgICBhdHRyaWJ1dGVOYW1lOiBzdHJpbmcsXG4gICAgcHJvcGVydHlOYW1lOiBzdHJpbmcsXG4gICAgcHJvcGVydHlWYWx1ZTogc3RyaW5nXG4pID0+IHtcbiAgICBjb25zdCBuZXdBdHRyaWJ1dGUgPSBqLmpzeEF0dHJpYnV0ZShcbiAgICAgICAgai5qc3hJZGVudGlmaWVyKGF0dHJpYnV0ZU5hbWUpLFxuICAgICAgICBqLmpzeEV4cHJlc3Npb25Db250YWluZXIoXG4gICAgICAgICAgICBqLm9iamVjdEV4cHJlc3Npb24oW2oucHJvcGVydHkoJ2luaXQnLCBqLmlkZW50aWZpZXIocHJvcGVydHlOYW1lKSwgai5pZGVudGlmaWVyKHByb3BlcnR5VmFsdWUpKV0pXG4gICAgICAgIClcbiAgICApO1xuICAgIGF0dHJpYnV0ZXMucHVzaChuZXdBdHRyaWJ1dGUpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUF0dHJpYnV0ZSA9IChhdHRyaWJ1dGVzOiBhbnlbXSwgYXR0cmlidXRlTmFtZTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc3QgYXR0cmlidXRlSW5kZXggPSBhdHRyaWJ1dGVzPy5maW5kSW5kZXgoXG4gICAgICAgIChhdHRyKSA9PiBhdHRyLnR5cGUgPT09ICdKU1hBdHRyaWJ1dGUnICYmIGF0dHIubmFtZS5uYW1lID09PSBhdHRyaWJ1dGVOYW1lXG4gICAgKTtcblxuICAgIGlmIChhdHRyaWJ1dGVJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgYXR0cmlidXRlcy5zcGxpY2UoYXR0cmlidXRlSW5kZXgsIDEpO1xuICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gSW5kaWNhdGVzIHRoZSBhdHRyaWJ1dGUgd2FzIGZvdW5kIGFuZCByZW1vdmVkXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlOyAvLyBJbmRpY2F0ZXMgdGhlIGF0dHJpYnV0ZSB3YXMgbm90IGZvdW5kXG59O1xuXG5leHBvcnQgY29uc3QgZW5zdXJlQXR0cmlidXRlRXhpc3RzID0gKFxuICAgIGo6IEpTQ29kZXNoaWZ0LFxuICAgIGF0dHJpYnV0ZXM6IGFueVtdLFxuICAgIGF0dHJpYnV0ZU5hbWU6IHN0cmluZyxcbiAgICBwcm9wZXJ0eU5hbWU6IHN0cmluZyxcbiAgICBwcm9wZXJ0eVZhbHVlOiBzdHJpbmdcbikgPT4ge1xuICAgIGNvbnN0IGV4aXN0aW5nQXR0cmlidXRlID0gZmluZEF0dHJpYnV0ZShhdHRyaWJ1dGVzLCBhdHRyaWJ1dGVOYW1lKTtcblxuICAgIGlmIChleGlzdGluZ0F0dHJpYnV0ZSkge1xuICAgICAgICBtb2RpZnlFeGlzdGluZ0F0dHJpYnV0ZShqLCBleGlzdGluZ0F0dHJpYnV0ZSwgcHJvcGVydHlOYW1lLCBwcm9wZXJ0eVZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBhZGROZXdBdHRyaWJ1dGUoaiwgYXR0cmlidXRlcywgYXR0cmlidXRlTmFtZSwgcHJvcGVydHlOYW1lLCBwcm9wZXJ0eVZhbHVlKTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQXR0cmlidXRlID0gKGo6IEpTQ29kZXNoaWZ0LCBhdHRyaWJ1dGVOYW1lOiBzdHJpbmcsIHByb3BlcnR5TmFtZTogc3RyaW5nLCBwcm9wZXJ0eVZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICByZXR1cm4gai5qc3hBdHRyaWJ1dGUoXG4gICAgICAgIGouanN4SWRlbnRpZmllcihhdHRyaWJ1dGVOYW1lKSxcbiAgICAgICAgai5qc3hFeHByZXNzaW9uQ29udGFpbmVyKFxuICAgICAgICAgICAgai5vYmplY3RFeHByZXNzaW9uKFtqLnByb3BlcnR5KCdpbml0Jywgai5pZGVudGlmaWVyKHByb3BlcnR5TmFtZSksIGouaWRlbnRpZmllcihwcm9wZXJ0eVZhbHVlKSldKVxuICAgICAgICApXG4gICAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBhZGRQcm9wZXJ0eVRvT2JqZWN0RXhwcmVzc2lvbiA9IChcbiAgICBqOiBKU0NvZGVzaGlmdCxcbiAgICBleHByZXNzaW9uOiBhbnksXG4gICAgcHJvcGVydHlOYW1lOiBzdHJpbmcsXG4gICAgcHJvcGVydHlWYWx1ZTogc3RyaW5nXG4pID0+IHtcbiAgICBpZiAoZXhwcmVzc2lvbi50eXBlID09PSAnT2JqZWN0RXhwcmVzc2lvbicpIHtcbiAgICAgICAgZXhwcmVzc2lvbi5wcm9wZXJ0aWVzLnB1c2goai5wcm9wZXJ0eSgnaW5pdCcsIGouaWRlbnRpZmllcihwcm9wZXJ0eU5hbWUpLCBqLmlkZW50aWZpZXIocHJvcGVydHlWYWx1ZSkpKTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTWV0aG9kRm9yQ2xhc3NDb21wb25lbnQgPSAoXG4gICAgajogSlNDb2Rlc2hpZnQsXG4gICAgbWV0aG9kTmFtZTogc3RyaW5nLFxuICAgIGlzVHlwZVNjcmlwdDogYm9vbGVhbixcbiAgICB0eXBlTmFtZTogc3RyaW5nXG4pID0+IHtcbiAgICByZXR1cm4gai5tZXRob2REZWZpbml0aW9uKFxuICAgICAgICAnbWV0aG9kJyxcbiAgICAgICAgai5pZGVudGlmaWVyKG1ldGhvZE5hbWUpLFxuICAgICAgICBqLmZ1bmN0aW9uRXhwcmVzc2lvbihcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICBbai5pZGVudGlmaWVyKGlzVHlwZVNjcmlwdCA/IGBldmVudDogJHt0eXBlTmFtZX1gIDogJ2V2ZW50JyldLFxuICAgICAgICAgICAgai5ibG9ja1N0YXRlbWVudChbai5yZXR1cm5TdGF0ZW1lbnQoai5qc3hGcmFnbWVudChqLmpzeE9wZW5pbmdGcmFnbWVudCgpLCBqLmpzeENsb3NpbmdGcmFnbWVudCgpLCBbXSkpXSlcbiAgICAgICAgKVxuICAgICk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQXJyb3dGdW5jdGlvbkZvckZ1bmN0aW9uYWxDb21wb25lbnQgPSAoXG4gICAgajogSlNDb2Rlc2hpZnQsXG4gICAgZnVuY3Rpb25OYW1lOiBzdHJpbmcsXG4gICAgaXNUeXBlU2NyaXB0OiBib29sZWFuLFxuICAgIHR5cGVOYW1lOiBzdHJpbmdcbikgPT4ge1xuICAgIHJldHVybiBqLnZhcmlhYmxlRGVjbGFyYXRpb24oJ2NvbnN0JywgW1xuICAgICAgICBqLnZhcmlhYmxlRGVjbGFyYXRvcihcbiAgICAgICAgICAgIGouaWRlbnRpZmllcihmdW5jdGlvbk5hbWUpLFxuICAgICAgICAgICAgai5hcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihcbiAgICAgICAgICAgICAgICBbai5pZGVudGlmaWVyKGAoZXZlbnQke2lzVHlwZVNjcmlwdCA/IGA6ICR7dHlwZU5hbWV9YCA6ICcnfSlgKV0sXG4gICAgICAgICAgICAgICAgai5ibG9ja1N0YXRlbWVudChbai5yZXR1cm5TdGF0ZW1lbnQoai5qc3hGcmFnbWVudChqLmpzeE9wZW5pbmdGcmFnbWVudCgpLCBqLmpzeENsb3NpbmdGcmFnbWVudCgpLCBbXSkpXSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKVxuICAgIF0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGFkZE1ldGhvZFRvQ29tcG9uZW50ID0gKGo6IEpTQ29kZXNoaWZ0LCBwYXJlbnROb2RlOiBhbnksIG1ldGhvZDogYW55LCBpc0NsYXNzQ29tcG9uZW50OiBib29sZWFuKSA9PiB7XG4gICAgaWYgKGlzQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgICAgY29uc3QgY2xhc3NCb2R5ID0gcGFyZW50Tm9kZS5ub2RlLmJvZHkuYm9keTtcbiAgICAgICAgY2xhc3NCb2R5LnB1c2gobWV0aG9kKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBwYXJlbnRCb2R5ID0gcGFyZW50Tm9kZS5ub2RlLmJvZHkuYm9keSB8fCBwYXJlbnROb2RlLm5vZGUuYm9keTtcbiAgICAgICAgcGFyZW50Qm9keS51bnNoaWZ0KG1ldGhvZCk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRJbXBvcnRlZE5hbWUgPSAoajogSlNDb2Rlc2hpZnQsIHJvb3Q6IGFueSwgb3JpZ2luYWxOYW1lOiBzdHJpbmcsIHNvdXJjZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gICAgY29uc3QgaW1wb3J0RGVjbGFyYXRpb24gPSByb290LmZpbmQoai5JbXBvcnREZWNsYXJhdGlvbiwge1xuICAgICAgICBzb3VyY2U6IHsgdmFsdWU6IHNvdXJjZSB9XG4gICAgfSk7XG5cbiAgICBpZiAoaW1wb3J0RGVjbGFyYXRpb24uc2l6ZSgpID4gMCkge1xuICAgICAgICBjb25zdCBzcGVjaWZpZXIgPSBpbXBvcnREZWNsYXJhdGlvbi5maW5kKGouSW1wb3J0U3BlY2lmaWVyLCB7XG4gICAgICAgICAgICBpbXBvcnRlZDogeyBuYW1lOiBvcmlnaW5hbE5hbWUgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoc3BlY2lmaWVyLnNpemUoKSA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGxvY2FsTmFtZSA9IHNwZWNpZmllci5nZXQoMCkubm9kZS5sb2NhbC5uYW1lO1xuICAgICAgICAgICAgcmV0dXJuIGxvY2FsTmFtZTsgLy8gUmV0dXJuIHRoZSBzaGFkb3cgbmFtZSBvciB0aGUgb3JpZ2luYWwgbmFtZVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7IC8vIFJldHVybiBudWxsIGlmIHRoZSBpbXBvcnQgaXMgbm90IGZvdW5kXG59O1xuXG5leHBvcnQgY29uc3QgYWRkU3RhdGVEZWNsYXJhdGlvbiA9IChqOiBKU0NvZGVzaGlmdCwgcGFyZW50Tm9kZTogYW55LCBzdGF0ZU5hbWU6IHN0cmluZywgaW5pdGlhbFZhbHVlOiBhbnkpID0+IHtcbiAgICBjb25zdCBzdGF0ZVByb3BlcnR5ID0gcGFyZW50Tm9kZS5ub2RlLmJvZHkuYm9keS5maW5kKFxuICAgICAgICAobm9kZTogYW55KSA9PiBub2RlLnR5cGUgPT09ICdDbGFzc1Byb3BlcnR5JyAmJiBub2RlLmtleS5uYW1lID09PSAnc3RhdGUnXG4gICAgKTtcblxuICAgIGlmIChzdGF0ZVByb3BlcnR5ICYmIHN0YXRlUHJvcGVydHkudmFsdWUudHlwZSA9PT0gJ09iamVjdEV4cHJlc3Npb24nKSB7XG4gICAgICAgIGNvbnN0IGhhc1N0YXRlID0gc3RhdGVQcm9wZXJ0eS52YWx1ZS5wcm9wZXJ0aWVzLnNvbWUoKHByb3A6IGFueSkgPT4gcHJvcC5rZXkubmFtZSA9PT0gc3RhdGVOYW1lKTtcbiAgICAgICAgaWYgKCFoYXNTdGF0ZSkge1xuICAgICAgICAgICAgc3RhdGVQcm9wZXJ0eS52YWx1ZS5wcm9wZXJ0aWVzLnB1c2goai5wcm9wZXJ0eSgnaW5pdCcsIGouaWRlbnRpZmllcihzdGF0ZU5hbWUpLCBpbml0aWFsVmFsdWUpKTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHBhcmVudE5vZGUubm9kZS5ib2R5LmJvZHkudW5zaGlmdChcbiAgICAgICAgICAgIGouY2xhc3NQcm9wZXJ0eShcbiAgICAgICAgICAgICAgICBqLmlkZW50aWZpZXIoJ3N0YXRlJyksXG4gICAgICAgICAgICAgICAgai5vYmplY3RFeHByZXNzaW9uKFtqLnByb3BlcnR5KCdpbml0Jywgai5pZGVudGlmaWVyKHN0YXRlTmFtZSksIGluaXRpYWxWYWx1ZSldKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBoYXNKU1hBdHRyaWJ1dGUgPSAoXG4gICAgYXR0cmlidXRlczogKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSB8IHVuZGVmaW5lZCxcbiAgICBhdHRyaWJ1dGVOYW1lOiBzdHJpbmdcbik6IGJvb2xlYW4gPT4ge1xuICAgIHJldHVybiBhdHRyaWJ1dGVzPy5zb21lKChhdHRyKSA9PiBhdHRyLnR5cGUgPT09ICdKU1hBdHRyaWJ1dGUnICYmIGF0dHIubmFtZS5uYW1lID09PSBhdHRyaWJ1dGVOYW1lKSB8fCBmYWxzZTtcbn07XG5cbmV4cG9ydCBjb25zdCBhZGRVc2VTdGF0ZURlY2xhcmF0aW9uID0gKFxuICAgIGo6IEpTQ29kZXNoaWZ0LFxuICAgIHBhcmVudE5vZGU6IGFueSxcbiAgICBzdGF0ZU5hbWU6IHN0cmluZyxcbiAgICBzZXRTdGF0ZU5hbWU6IHN0cmluZyxcbiAgICBpbml0aWFsVmFsdWU6IGFueSxcbiAgICBpc1R5cGVTY3JpcHQ6IGJvb2xlYW4sXG4gICAgdHlwZU5hbWU6IHN0cmluZ1xuKSA9PiB7XG4gICAgY29uc3QgdXNlU3RhdGVEZWNsYXJhdGlvbiA9IGoudmFyaWFibGVEZWNsYXJhdGlvbignY29uc3QnLCBbXG4gICAgICAgIGoudmFyaWFibGVEZWNsYXJhdG9yKFxuICAgICAgICAgICAgai5hcnJheVBhdHRlcm4oW2ouaWRlbnRpZmllcihzdGF0ZU5hbWUpLCBqLmlkZW50aWZpZXIoc2V0U3RhdGVOYW1lKV0pLFxuICAgICAgICAgICAgai5jYWxsRXhwcmVzc2lvbihqLmlkZW50aWZpZXIoYFJlYWN0LnVzZVN0YXRlJHtpc1R5cGVTY3JpcHQgPyBgPCR7dHlwZU5hbWV9PmAgOiAnJ31gKSwgW2luaXRpYWxWYWx1ZV0pXG4gICAgICAgIClcbiAgICBdKTtcbiAgICBwYXJlbnROb2RlLm5vZGUuYm9keS5ib2R5LnVuc2hpZnQodXNlU3RhdGVEZWNsYXJhdGlvbik7XG59O1xuXG5leHBvcnQgY29uc3QgYWRkRXZlbnRBdHRyaWJ1dGUgPSAoajogSlNDb2Rlc2hpZnQsIGF0dHJpYnV0ZXM6IGFueVtdLCBhdHRyaWJ1dGVOYW1lOiBzdHJpbmcsIGhhbmRsZXJOYW1lOiBzdHJpbmcpID0+IHtcbiAgICBhdHRyaWJ1dGVzLnB1c2goXG4gICAgICAgIGouanN4QXR0cmlidXRlKGouanN4SWRlbnRpZmllcihhdHRyaWJ1dGVOYW1lKSwgai5qc3hFeHByZXNzaW9uQ29udGFpbmVyKGouaWRlbnRpZmllcihoYW5kbGVyTmFtZSkpKVxuICAgICk7XG59O1xuXG5leHBvcnQgY29uc3QgYWRkU3RhdGVBdHRyaWJ1dGUgPSAoajogSlNDb2Rlc2hpZnQsIGF0dHJpYnV0ZXM6IGFueVtdLCBhdHRyaWJ1dGVOYW1lOiBzdHJpbmcsIHN0YXRlTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgYXR0cmlidXRlcy5wdXNoKGouanN4QXR0cmlidXRlKGouanN4SWRlbnRpZmllcihhdHRyaWJ1dGVOYW1lKSwgai5qc3hFeHByZXNzaW9uQ29udGFpbmVyKGouaWRlbnRpZmllcihzdGF0ZU5hbWUpKSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUNsYXNzTWV0aG9kID0gKGo6IEpTQ29kZXNoaWZ0LCBtZXRob2ROYW1lOiBzdHJpbmcsIHBhcmFtczogc3RyaW5nW10sIGJvZHlTdGF0ZW1lbnRzOiBhbnlbXSkgPT4ge1xuICAgIHJldHVybiBqLm1ldGhvZERlZmluaXRpb24oXG4gICAgICAgICdtZXRob2QnLFxuICAgICAgICBqLmlkZW50aWZpZXIobWV0aG9kTmFtZSksXG4gICAgICAgIGouZnVuY3Rpb25FeHByZXNzaW9uKFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgIHBhcmFtcy5tYXAoKHBhcmFtKSA9PiBqLmlkZW50aWZpZXIocGFyYW0pKSxcbiAgICAgICAgICAgIGouYmxvY2tTdGF0ZW1lbnQoYm9keVN0YXRlbWVudHMpXG4gICAgICAgIClcbiAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUFycm93RnVuY3Rpb24gPSAoajogSlNDb2Rlc2hpZnQsIGZ1bmN0aW9uTmFtZTogc3RyaW5nLCBwYXJhbXM6IHN0cmluZ1tdLCBib2R5U3RhdGVtZW50czogYW55W10pID0+IHtcbiAgICByZXR1cm4gai52YXJpYWJsZURlY2xhcmF0aW9uKCdjb25zdCcsIFtcbiAgICAgICAgai52YXJpYWJsZURlY2xhcmF0b3IoXG4gICAgICAgICAgICBqLmlkZW50aWZpZXIoZnVuY3Rpb25OYW1lKSxcbiAgICAgICAgICAgIGouYXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oXG4gICAgICAgICAgICAgICAgcGFyYW1zLm1hcCgocGFyYW0pID0+IGouaWRlbnRpZmllcihwYXJhbSkpLFxuICAgICAgICAgICAgICAgIGouYmxvY2tTdGF0ZW1lbnQoYm9keVN0YXRlbWVudHMpXG4gICAgICAgICAgICApXG4gICAgICAgIClcbiAgICBdKTtcbn07XG4iXSwibmFtZXMiOlsiYWRkQ29tbWVudFRvTWV0aG9kIiwiaiIsIm1ldGhvZCIsImNvbW1lbnRUZXh0IiwicGFyZW50VHlwZSIsIm1ldGhvZEJvZHkiLCJwbGFjZWhvbGRlclN0YXRlbWVudCIsImVuc3VyZUltcG9ydEV4aXN0cyIsInJvb3QiLCJpbXBvcnROYW1lIiwic291cmNlIiwiaW1wb3J0RGVjbGFyYXRpb24iLCJzcGVjaWZpZXJzIiwic3BlY2lmaWVyIiwibmV3SW1wb3J0IiwiZmluZFBhcmVudENvbXBvbmVudCIsInBhdGgiLCJwYXJlbnROb2RlIiwiaXNDbGFzc0NvbXBvbmVudCIsImlzRnVuY3Rpb25hbENvbXBvbmVudCIsImdlbmVyYXRlVW5pcXVlTmFtZSIsImJhc2VOYW1lIiwiZXhpc3RpbmdOYW1lcyIsIm5hbWUiLCJjb3VudGVyIiwiZmluZEF0dHJpYnV0ZSIsImF0dHJpYnV0ZXMiLCJhdHRyaWJ1dGVOYW1lIiwiYXR0ciIsImRvZXNBdHRyaWJ1dGVFeGlzdCIsIm1vZGlmeUV4aXN0aW5nQXR0cmlidXRlIiwiZXhpc3RpbmdBdHRyaWJ1dGUiLCJwcm9wZXJ0eU5hbWUiLCJwcm9wZXJ0eVZhbHVlIiwiZXhwcmVzc2lvbiIsImFkZE5ld0F0dHJpYnV0ZSIsIm5ld0F0dHJpYnV0ZSIsInJlbW92ZUF0dHJpYnV0ZSIsImF0dHJpYnV0ZUluZGV4IiwiZW5zdXJlQXR0cmlidXRlRXhpc3RzIiwiY3JlYXRlQXR0cmlidXRlIiwiYWRkUHJvcGVydHlUb09iamVjdEV4cHJlc3Npb24iLCJjcmVhdGVNZXRob2RGb3JDbGFzc0NvbXBvbmVudCIsIm1ldGhvZE5hbWUiLCJpc1R5cGVTY3JpcHQiLCJ0eXBlTmFtZSIsImNyZWF0ZUFycm93RnVuY3Rpb25Gb3JGdW5jdGlvbmFsQ29tcG9uZW50IiwiZnVuY3Rpb25OYW1lIiwiYWRkTWV0aG9kVG9Db21wb25lbnQiLCJmaW5kSW1wb3J0ZWROYW1lIiwib3JpZ2luYWxOYW1lIiwiYWRkU3RhdGVEZWNsYXJhdGlvbiIsInN0YXRlTmFtZSIsImluaXRpYWxWYWx1ZSIsInN0YXRlUHJvcGVydHkiLCJub2RlIiwicHJvcCIsImhhc0pTWEF0dHJpYnV0ZSIsImFkZFVzZVN0YXRlRGVjbGFyYXRpb24iLCJzZXRTdGF0ZU5hbWUiLCJ1c2VTdGF0ZURlY2xhcmF0aW9uIiwiYWRkRXZlbnRBdHRyaWJ1dGUiLCJoYW5kbGVyTmFtZSIsImFkZFN0YXRlQXR0cmlidXRlIiwiY3JlYXRlQ2xhc3NNZXRob2QiLCJwYXJhbXMiLCJib2R5U3RhdGVtZW50cyIsInBhcmFtIiwiY3JlYXRlQXJyb3dGdW5jdGlvbiJdLCJtYXBwaW5ncyI6ImdGQVNPLE1BQU1BLEVBQXFCLENBQzlCQyxFQUNBQyxFQUNBQyxFQUNBQyxJQUNDLENBQ0QsR0FBSUEsSUFBZSxTQUNYLEdBQUFGLEVBQU8sT0FBUyxHQUFLQSxFQUFPLElBQUksQ0FBQyxFQUFFLEtBQUssTUFBTSxLQUFNLENBQ3BELE1BQU1HLEVBQWFILEVBQU8sSUFBSSxDQUFDLEVBQUUsS0FBSyxNQUFNLEtBQUssS0FFakQsR0FBSUcsRUFBWSxDQUVOLE1BQUFDLEVBQXVCTCxFQUFFLGlCQUMvQkssRUFBcUIsU0FBVyxDQUFDTCxFQUFFLGFBQWEsSUFBSUUsQ0FBVyxHQUFHLENBQUMsRUFHbkVFLEVBQVcsUUFBUUMsQ0FBb0IsQ0FDM0MsQ0FDSixNQUNHLENBQ0MsSUFBQUQsRUFRSixHQU5JSCxFQUFPLElBQUksQ0FBQyxFQUFFLEtBQUssY0FBZ0JBLEVBQU8sSUFBSSxDQUFDLEVBQUUsS0FBSyxhQUFhLENBQUMsRUFBRSxLQUN6REcsRUFBQUgsRUFBTyxJQUFJLENBQUMsRUFBRSxLQUFLLGFBQWEsQ0FBQyxFQUFFLEtBQUssS0FBSyxLQUNuREEsRUFBTyxJQUFJLENBQUMsRUFBRSxLQUFLLE9B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
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=(e,n,t,i)=>{if(i==="class"){if(n.size()>0&&n.get(0).node.value.body){const o=n.get(0).node.value.body.body;if(o){const r=e.emptyStatement();r.comments=[e.commentBlock(` ${t} `)],o.unshift(r)}}}else{let o;if(n.get(0).node.declarations&&n.get(0).node.declarations[0].init?o=n.get(0).node.declarations[0].init.body.body:n.get(0).node.body&&(o=n.get(0).node.body.body),o){const r=e.emptyStatement();r.comments=[e.commentBlock(` ${t} `)],o.unshift(r)}}},u=(e,n,t,i)=>{const o=n.find(e.ImportDeclaration,{source:{value:i}});if(o.size()>0){const r=o.get(0).node.specifiers;r.some(a=>a.type==="ImportSpecifier"&&a.imported.name===t)||r.push(e.importSpecifier(e.identifier(t)))}else{const r=e.importDeclaration([e.importSpecifier(e.identifier(t))],e.literal(i));n.get().node.program.body.unshift(r)}},f=(e,n)=>{let t=n.parentPath,i=!1,o=!1;for(;t;){if(e.ClassDeclaration.check(t.node)){i=!0;break}else if(e.FunctionDeclaration.check(t.node)||e.FunctionExpression.check(t.node)||e.ArrowFunctionExpression.check(t.node)){o=!0;break}t=t.parentPath}return{isClassComponent:i,isFunctionalComponent:o,parentNode:t}},m=(e,n)=>{let t=e,i=1;for(;n.has(t);)t=`${e}$${i}`,i++;return t},d=(e,n)=>e.find(t=>t.type==="JSXAttribute"&&t.name.name===n),b=(e,n)=>e.some(t=>t.type==="JSXAttribute"&&t.name.name===n),c=(e,n,t,i)=>{if(n.value&&n.value.type==="JSXExpressionContainer"){const o=n.value.expression;o.type==="ObjectExpression"&&o.properties.push(e.property("init",e.identifier(t),e.identifier(i)))}},p=(e,n,t,i,o)=>{const r=e.jsxAttribute(e.jsxIdentifier(t),e.jsxExpressionContainer(e.objectExpression([e.property("init",e.identifier(i),e.identifier(o))])));n.push(r)},y=(e,n)=>{const t=e?.findIndex(i=>i.type==="JSXAttribute"&&i.name.name===n);return t!==-1?(e.splice(t,1),!0):!1},x=(e,n,t,i,o)=>{const r=d(n,t);r?c(e,r,i,o):p(e,n,t,i,o)},h=(e,n,t,i)=>e.jsxAttribute(e.jsxIdentifier(n),e.jsxExpressionContainer(e.objectExpression([e.property("init",e.identifier(t),e.identifier(i))]))),A=(e,n,t,i)=>{n.type==="ObjectExpression"&&n.properties.push(e.property("init",e.identifier(t),e.identifier(i)))},S=(e,n,t,i)=>e.methodDefinition("method",e.identifier(n),e.functionExpression(null,[e.identifier(t?`event: ${i}`:"event")],e.blockStatement([e.returnStatement(e.jsxFragment(e.jsxOpeningFragment(),e.jsxClosingFragment(),[]))]))),E=(e,n,t,i)=>e.variableDeclaration("const",[e.variableDeclarator(e.identifier(n),e.arrowFunctionExpression([e.identifier(`(event${t?`: ${i}`:""})`)],e.blockStatement([e.returnStatement(e.jsxFragment(e.jsxOpeningFragment(),e.jsxClosingFragment(),[]))])))]),g=(e,n,t,i)=>{i?n.node.body.body.push(t):(n.node.body.body||n.node.body).unshift(t)},C=(e,n,t,i)=>{const o=n.find(e.ImportDeclaration,{source:{value:i}});if(o.size()>0){const r=o.find(e.ImportSpecifier,{imported:{name:t}});if(r.size()>0)return r.get(0).node.local.name}return null},v=(e,n,t,i)=>{const o=n.node.body.body.find(r=>r.type==="ClassProperty"&&r.key.name==="state");o&&o.value.type==="ObjectExpression"?o.value.properties.some(s=>s.key.name===t)||o.value.properties.push(e.property("init",e.identifier(t),i)):n.node.body.body.unshift(e.classProperty(e.identifier("state"),e.objectExpression([e.property("init",e.identifier(t),i)])))},F=(e,n)=>e?.some(t=>t.type==="JSXAttribute"&&t.name.name===n)||!1,D=(e,n,t,i,o,r,s)=>{const a=e.variableDeclaration("const",[e.variableDeclarator(e.arrayPattern([e.identifier(t),e.identifier(i)]),e.callExpression(e.identifier(`React.useState${r?`<${s}>`:""}`),[o]))]);n.node.body.body.unshift(a)},I=(e,n,t,i)=>{n.push(e.jsxAttribute(e.jsxIdentifier(t),e.jsxExpressionContainer(e.identifier(i))))},k=(e,n,t,i)=>{n.push(e.jsxAttribute(e.jsxIdentifier(t),e.jsxExpressionContainer(e.identifier(i))))},w=(e,n,t,i)=>e.methodDefinition("method",e.identifier(n),e.functionExpression(null,t.map(o=>e.identifier(o)),e.blockStatement(i))),P=(e,n,t,i)=>e.variableDeclaration("const",[e.variableDeclarator(e.identifier(n),e.arrowFunctionExpression(t.map(o=>e.identifier(o)),e.blockStatement(i)))]);exports.addCommentToMethod=l;exports.addEventAttribute=I;exports.addMethodToComponent=g;exports.addNewAttribute=p;exports.addPropertyToObjectExpression=A;exports.addStateAttribute=k;exports.addStateDeclaration=v;exports.addUseStateDeclaration=D;exports.createArrowFunction=P;exports.createArrowFunctionForFunctionalComponent=E;exports.createAttribute=h;exports.createClassMethod=w;exports.createMethodForClassComponent=S;exports.doesAttributeExist=b;exports.ensureAttributeExists=x;exports.ensureImportExists=u;exports.findAttribute=d;exports.findImportedName=C;exports.findParentComponent=f;exports.generateUniqueName=m;exports.hasJSXAttribute=F;exports.modifyExistingAttribute=c;exports.removeAttribute=y;
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvY29kZW1vZHMvdjExL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29sbGVjdGlvbixcbiAgICBGdW5jdGlvbkRlY2xhcmF0aW9uLFxuICAgIEpTQ29kZXNoaWZ0LFxuICAgIEpTWEF0dHJpYnV0ZSxcbiAgICBKU1hTcHJlYWRBdHRyaWJ1dGUsXG4gICAgVmFyaWFibGVEZWNsYXJhdGlvblxufSBmcm9tICdqc2NvZGVzaGlmdCc7XG5cbmV4cG9ydCBjb25zdCBhZGRDb21tZW50VG9NZXRob2QgPSAoXG4gICAgajogSlNDb2Rlc2hpZnQsXG4gICAgbWV0aG9kOiBDb2xsZWN0aW9uPFZhcmlhYmxlRGVjbGFyYXRpb24+IHwgQ29sbGVjdGlvbjxGdW5jdGlvbkRlY2xhcmF0aW9uPixcbiAgICBjb21tZW50VGV4dDogc3RyaW5nLFxuICAgIHBhcmVudFR5cGU6ICdjbGFzcycgfCAnZnVuY3Rpb24nXG4pID0+IHtcbiAgICBpZiAocGFyZW50VHlwZSA9PT0gJ2NsYXNzJykge1xuICAgICAgICBpZiAobWV0aG9kLnNpemUoKSA+IDAgJiYgbWV0aG9kLmdldCgwKS5ub2RlLnZhbHVlLmJvZHkpIHtcbiAgICAgICAgICAgIGNvbnN0IG1ldGhvZEJvZHkgPSBtZXRob2QuZ2V0KDApLm5vZGUudmFsdWUuYm9keS5ib2R5O1xuXG4gICAgICAgICAgICBpZiAobWV0aG9kQm9keSkge1xuICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBhIGNvbW1lbnQgYW5kIGF0dGFjaCBpdCB0byBhbiBlbXB0eSBzdGF0ZW1lbnRcbiAgICAgICAgICAgICAgICBjb25zdCBwbGFjZWhvbGRlclN0YXRlbWVudCA9IGouZW1wdHlTdGF0ZW1lbnQoKTtcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlclN0YXRlbWVudC5jb21tZW50cyA9IFtqLmNvbW1lbnRCbG9jayhgICR7Y29tbWVudFRleHR9IGApXTtcblxuICAgICAgICAgICAgICAgIC8vIEFkZCB0aGUgcGxhY2Vob2xkZXIgc3RhdGVtZW50IHdpdGggdGhlIGNvbW1lbnQgdG8gdGhlIG1ldGhvZCBib2R5XG4gICAgICAgICAgICAgICAgbWV0aG9kQm9keS51bnNoaWZ0KHBsYWNlaG9sZGVyU3RhdGVtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBtZXRob2RCb2R5O1xuXG4gICAgICAgIGlmIChtZXRob2QuZ2V0KDApLm5vZGUuZGVjbGFyYXRpb25zICYmIG1ldGhvZC5nZXQoMCkubm9kZS5kZWNsYXJhdGlvbnNbMF0uaW5pdCkge1xuICAgICAgICAgICAgbWV0aG9kQm9keSA9IG1ldGhvZC5nZXQoMCkubm9kZS5kZWNsYXJhdGlvbnNbMF0uaW5pdC5ib2R5LmJvZHk7XG4gICAgICAgIH0gZWxzZSBpZiAobWV0aG9kLmdldCgwKS5ub2RlLmJvZHkpIHtcbiAgICAgICAgICAgIG1ldGhvZEJvZHkgPSBtZXRob2QuZ2V0KDApLm5vZGUuYm9keS5ib2R5O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1ldGhvZEJvZHkpIHtcbiAgICAgICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyU3RhdGVtZW50ID0gai5lbXB0eVN0YXRlbWVudCgpO1xuICAgICAgICAgICAgcGxhY2Vob2xkZXJTdGF0ZW1lbnQuY29tbWVudHMgPSBbai5jb21tZW50QmxvY2soYCAke2NvbW1lbnRUZXh0fSBgKV07XG5cbiAgICAgICAgICAgIG1ldGhvZEJvZHkudW5zaGlmdChwbGFjZWhvbGRlclN0YXRlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgZW5zdXJlSW1wb3J0RXhpc3RzID0gKGo6IEpTQ29kZXNoaWZ0LCByb290OiBDb2xsZWN0aW9uLCBpbXBvcnROYW1lOiBzdHJpbmcsIHNvdXJjZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgaW1wb3J0RGVjbGFyYXRpb24gPSByb290LmZpbmQoai5JbXBvcnREZWNsYXJhdGlvbiwge1xuICAgICAgICBzb3VyY2U6IHsgdmFsdWU6IHNvdXJjZSB9XG4gICAgfSk7XG5cbiAgICBpZiAoaW1wb3J0RGVjbGFyYXRpb24uc2l6ZSgpID4gMCkge1xuICAgICAgICAvLyBJZiB0aGUgaW1wb3J0IHN0YXRlbWVudCBleGlzdHMsIGFkZCB0aGUgbmV3IGltcG9ydCBuYW1lIGlmIG5vdCBhbHJlYWR5IHByZXNlbnRcbiAgICAgICAgY29uc3Qgc3BlY2lmaWVycyA9IGltcG9ydERlY2xhcmF0aW9uLmdldCgwKS5ub2RlLnNwZWNpZmllcnM7XG4gICAgICAgIGNvbnN0IGFscmVhZHlJbXBvcnRlZCA9IHNwZWNpZmllcnMuc29tZShcbiAgICAgICAgICAgIChzcGVjaWZpZXI6IGFueSkgPT4gc3BlY2lmaWVyLnR5cGUgPT09ICdJbXBvcnRTcGVjaWZpZXInICYmIHNwZWNpZmllci5pbXBvcnRlZC5uYW1lID09PSBpbXBvcnROYW1lXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCFhbHJlYWR5SW1wb3J0ZWQpIHtcbiAgICAgICAgICAgIHNwZWNpZmllcnMucHVzaChqLmltcG9ydFNwZWNpZmllcihqLmlkZW50aWZpZXIoaW1wb3J0TmFtZSkpKTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIElmIHRoZSBpbXBvcnQgc3RhdGVtZW50IGRvZXNuJ3QgZXhpc3QsIGNyZWF0ZSBhIG5ldyBvbmVcbiAgICAgICAgY29uc3QgbmV3SW1wb3J0ID0gai5pbXBvcnREZWNsYXJhdGlvbihbai5pbXBvcnRTcGVjaWZpZXIoai5pZGVudGlmaWVyKGltcG9ydE5hbWUpKV0sIGoubGl0ZXJhbChzb3VyY2UpKTtcbiAgICAgICAgcm9vdC5nZXQoKS5ub2RlLnByb2dyYW0uYm9keS51bnNoaWZ0KG5ld0ltcG9ydCk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRQYXJlbnRDb21wb25lbnQgPSAoajogSlNDb2Rlc2hpZnQsIHBhdGg6IGFueSkgPT4ge1xuICAgIGxldCBwYXJlbnROb2RlID0gcGF0aC5wYXJlbnRQYXRoO1xuICAgIGxldCBpc0NsYXNzQ29tcG9uZW50ID0gZmFsc2U7XG4gICAgbGV0IGlzRnVuY3Rpb25hbENvbXBvbmVudCA9IGZhbHNlO1xuXG4gICAgd2hpbGUgKHBhcmVudE5vZGUpIHtcbiAgICAgICAgaWYgKGouQ2xhc3NEZWNsYXJhdGlvbi5jaGVjayhwYXJlbnROb2RlLm5vZGUpKSB7XG4gICAgICAgICAgICBpc0NsYXNzQ29tcG9uZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgai5GdW5jdGlvbkRlY2xhcmF0aW9uLmNoZWNrKHBhcmVudE5vZGUubm9kZSkgfHxcbiAgICAgICAgICAgIGouRnVuY3Rpb25FeHByZXNzaW9uLmNoZWNrKHBhcmVudE5vZGUubm9kZSkgfHxcbiAgICAgICAgICAgIGouQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24uY2hlY2socGFyZW50Tm9kZS5ub2RlKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGlzRnVuY3Rpb25hbENvbXBvbmVudCA9IHRydWU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBwYXJlbnROb2RlID0gcGFyZW50Tm9kZS5wYXJlbnRQYXRoO1xuICAgIH1cblxuICAgIHJldHVybiB7IGlzQ2xhc3NDb21wb25lbnQsIGlzRnVuY3Rpb25hbENvbXBvbmVudCwgcGFyZW50Tm9kZSB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlVW5pcXVlTmFtZSA9IChiYXNlTmFtZTogc3RyaW5nLCBleGlzdGluZ05hbWVzOiBTZXQ8c3RyaW5nPik6IHN0cmluZyA9PiB7XG4gICAgbGV0IG5hbWUgPSBiYXNlTmFtZTtcbiAgICBsZXQgY291bnRlciA9IDE7XG4gICAgd2hpbGUgKGV4aXN0aW5nTmFtZXMuaGFzKG5hbWUpKSB7XG4gICAgICAgIG5hbWUgPSBgJHtiYXNlTmFtZX0kJHtjb3VudGVyfWA7XG4gICAgICAgIGNvdW50ZXIrKztcbiAgICB9XG4gICAgcmV0dXJuIG5hbWU7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZEF0dHJpYnV0ZSA9IChhdHRyaWJ1dGVzOiBhbnlbXSwgYXR0cmlidXRlTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIGF0dHJpYnV0ZXMuZmluZCgoYXR0cikgPT4gYXR0ci50eXBlID09PSAnSlNYQXR0cmlidXRlJyAmJiBhdHRyLm5hbWUubmFtZSA9PT0gYXR0cmlidXRlTmFtZSk7XG59O1xuXG5leHBvcnQgY29uc3QgZG9lc0F0dHJpYnV0ZUV4aXN0ID0gKGF0dHJpYnV0ZXM6IGFueVtdLCBhdHRyaWJ1dGVOYW1lOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgICByZXR1cm4gYXR0cmlidXRlcy5zb21lKChhdHRyKSA9PiBhdHRyLnR5cGUgPT09ICdKU1hBdHRyaWJ1dGUnICYmIGF0dHIubmFtZS5uYW1lID09PSBhdHRyaWJ1dGVOYW1lKTtcbn07XG5cbmV4cG9ydCBjb25zdCBtb2RpZnlFeGlzdGluZ0F0dHJpYnV0ZSA9IChcbiAgICBqOiBKU0NvZGVzaGlmdCxcbiAgICBleGlzdGluZ0F0dHJpYnV0ZTogYW55LFxuICAgIHByb3BlcnR5TmFtZTogc3RyaW5nLFxuICAgIHByb3BlcnR5VmFsdWU6IHN0cmluZ1xuKSA9PiB7XG4gICAgaWYgKGV4aXN0aW5nQXR0cmlidXRlLnZhbHVlICYmIGV4aXN0aW5nQXR0cmlidXRlLnZhbHVlLnR5cGUgPT09ICdKU1hFeHByZXNzaW9uQ29udGFpbmVyJykge1xuICAgICAgICBjb25zdCBleHByZXNzaW9uID0gZXhpc3RpbmdBdHRyaWJ1dGUudmFsdWUuZXhwcmVzc2lvbjtcbiAgICAgICAgaWYgKGV4cHJlc3Npb24udHlwZSA9PT0gJ09iamVjdEV4cHJlc3Npb24nKSB7XG4gICAgICAgICAgICBleHByZXNzaW9uLnByb3BlcnRpZXMucHVzaChqLnByb3BlcnR5KCdpbml0Jywgai5pZGVudGlmaWVyKHByb3BlcnR5TmFtZSksIGouaWRlbnRpZmllcihwcm9wZXJ0eVZhbHVlKSkpO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGFkZE5ld0F0dHJpYnV0ZSA9IChcbiAgICBqOiBKU0NvZGVzaGlmdCxcbiAgICBhdHRyaWJ1dGVzOiBhbnlbXSxcbiAgICBhdHRyaWJ1dGVOYW1lOiBzdHJpbmcsXG4gICAgcHJvcGVydHlOYW1lOiBzdHJpbmcsXG4gICAgcHJvcGVydHlWYWx1ZTogc3RyaW5nXG4pID0+IHtcbiAgICBjb25zdCBuZXdBdHRyaWJ1dGUgPSBqLmpzeEF0dHJpYnV0ZShcbiAgICAgICAgai5qc3hJZGVudGlmaWVyKGF0dHJpYnV0ZU5hbWUpLFxuICAgICAgICBqLmpzeEV4cHJlc3Npb25Db250YWluZXIoXG4gICAgICAgICAgICBqLm9iamVjdEV4cHJlc3Npb24oW2oucHJvcGVydHkoJ2luaXQnLCBqLmlkZW50aWZpZXIocHJvcGVydHlOYW1lKSwgai5pZGVudGlmaWVyKHByb3BlcnR5VmFsdWUpKV0pXG4gICAgICAgIClcbiAgICApO1xuICAgIGF0dHJpYnV0ZXMucHVzaChuZXdBdHRyaWJ1dGUpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUF0dHJpYnV0ZSA9IChhdHRyaWJ1dGVzOiBhbnlbXSwgYXR0cmlidXRlTmFtZTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc3QgYXR0cmlidXRlSW5kZXggPSBhdHRyaWJ1dGVzPy5maW5kSW5kZXgoXG4gICAgICAgIChhdHRyKSA9PiBhdHRyLnR5cGUgPT09ICdKU1hBdHRyaWJ1dGUnICYmIGF0dHIubmFtZS5uYW1lID09PSBhdHRyaWJ1dGVOYW1lXG4gICAgKTtcblxuICAgIGlmIChhdHRyaWJ1dGVJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgYXR0cmlidXRlcy5zcGxpY2UoYXR0cmlidXRlSW5kZXgsIDEpO1xuICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gSW5kaWNhdGVzIHRoZSBhdHRyaWJ1dGUgd2FzIGZvdW5kIGFuZCByZW1vdmVkXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlOyAvLyBJbmRpY2F0ZXMgdGhlIGF0dHJpYnV0ZSB3YXMgbm90IGZvdW5kXG59O1xuXG5leHBvcnQgY29uc3QgZW5zdXJlQXR0cmlidXRlRXhpc3RzID0gKFxuICAgIGo6IEpTQ29kZXNoaWZ0LFxuICAgIGF0dHJpYnV0ZXM6IGFueVtdLFxuICAgIGF0dHJpYnV0ZU5hbWU6IHN0cmluZyxcbiAgICBwcm9wZXJ0eU5hbWU6IHN0cmluZyxcbiAgICBwcm9wZXJ0eVZhbHVlOiBzdHJpbmdcbikgPT4ge1xuICAgIGNvbnN0IGV4aXN0aW5nQXR0cmlidXRlID0gZmluZEF0dHJpYnV0ZShhdHRyaWJ1dGVzLCBhdHRyaWJ1dGVOYW1lKTtcblxuICAgIGlmIChleGlzdGluZ0F0dHJpYnV0ZSkge1xuICAgICAgICBtb2RpZnlFeGlzdGluZ0F0dHJpYnV0ZShqLCBleGlzdGluZ0F0dHJpYnV0ZSwgcHJvcGVydHlOYW1lLCBwcm9wZXJ0eVZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBhZGROZXdBdHRyaWJ1dGUoaiwgYXR0cmlidXRlcywgYXR0cmlidXRlTmFtZSwgcHJvcGVydHlOYW1lLCBwcm9wZXJ0eVZhbHVlKTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQXR0cmlidXRlID0gKGo6IEpTQ29kZXNoaWZ0LCBhdHRyaWJ1dGVOYW1lOiBzdHJpbmcsIHByb3BlcnR5TmFtZTogc3RyaW5nLCBwcm9wZXJ0eVZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICByZXR1cm4gai5qc3hBdHRyaWJ1dGUoXG4gICAgICAgIGouanN4SWRlbnRpZmllcihhdHRyaWJ1dGVOYW1lKSxcbiAgICAgICAgai5qc3hFeHByZXNzaW9uQ29udGFpbmVyKFxuICAgICAgICAgICAgai5vYmplY3RFeHByZXNzaW9uKFtqLnByb3BlcnR5KCdpbml0Jywgai5pZGVudGlmaWVyKHByb3BlcnR5TmFtZSksIGouaWRlbnRpZmllcihwcm9wZXJ0eVZhbHVlKSldKVxuICAgICAgICApXG4gICAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBhZGRQcm9wZXJ0eVRvT2JqZWN0RXhwcmVzc2lvbiA9IChcbiAgICBqOiBKU0NvZGVzaGlmdCxcbiAgICBleHByZXNzaW9uOiBhbnksXG4gICAgcHJvcGVydHlOYW1lOiBzdHJpbmcsXG4gICAgcHJvcGVydHlWYWx1ZTogc3RyaW5nXG4pID0+IHtcbiAgICBpZiAoZXhwcmVzc2lvbi50eXBlID09PSAnT2JqZWN0RXhwcmVzc2lvbicpIHtcbiAgICAgICAgZXhwcmVzc2lvbi5wcm9wZXJ0aWVzLnB1c2goai5wcm9wZXJ0eSgnaW5pdCcsIGouaWRlbnRpZmllcihwcm9wZXJ0eU5hbWUpLCBqLmlkZW50aWZpZXIocHJvcGVydHlWYWx1ZSkpKTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTWV0aG9kRm9yQ2xhc3NDb21wb25lbnQgPSAoXG4gICAgajogSlNDb2Rlc2hpZnQsXG4gICAgbWV0aG9kTmFtZTogc3RyaW5nLFxuICAgIGlzVHlwZVNjcmlwdDogYm9vbGVhbixcbiAgICB0eXBlTmFtZTogc3RyaW5nXG4pID0+IHtcbiAgICByZXR1cm4gai5tZXRob2REZWZpbml0aW9uKFxuICAgICAgICAnbWV0aG9kJyxcbiAgICAgICAgai5pZGVudGlmaWVyKG1ldGhvZE5hbWUpLFxuICAgICAgICBqLmZ1bmN0aW9uRXhwcmVzc2lvbihcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICBbai5pZGVudGlmaWVyKGlzVHlwZVNjcmlwdCA/IGBldmVudDogJHt0eXBlTmFtZX1gIDogJ2V2ZW50JyldLFxuICAgICAgICAgICAgai5ibG9ja1N0YXRlbWVudChbai5yZXR1cm5TdGF0ZW1lbnQoai5qc3hGcmFnbWVudChqLmpzeE9wZW5pbmdGcmFnbWVudCgpLCBqLmpzeENsb3NpbmdGcmFnbWVudCgpLCBbXSkpXSlcbiAgICAgICAgKVxuICAgICk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQXJyb3dGdW5jdGlvbkZvckZ1bmN0aW9uYWxDb21wb25lbnQgPSAoXG4gICAgajogSlNDb2Rlc2hpZnQsXG4gICAgZnVuY3Rpb25OYW1lOiBzdHJpbmcsXG4gICAgaXNUeXBlU2NyaXB0OiBib29sZWFuLFxuICAgIHR5cGVOYW1lOiBzdHJpbmdcbikgPT4ge1xuICAgIHJldHVybiBqLnZhcmlhYmxlRGVjbGFyYXRpb24oJ2NvbnN0JywgW1xuICAgICAgICBqLnZhcmlhYmxlRGVjbGFyYXRvcihcbiAgICAgICAgICAgIGouaWRlbnRpZmllcihmdW5jdGlvbk5hbWUpLFxuICAgICAgICAgICAgai5hcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihcbiAgICAgICAgICAgICAgICBbai5pZGVudGlmaWVyKGAoZXZlbnQke2lzVHlwZVNjcmlwdCA/IGA6ICR7dHlwZU5hbWV9YCA6ICcnfSlgKV0sXG4gICAgICAgICAgICAgICAgai5ibG9ja1N0YXRlbWVudChbai5yZXR1cm5TdGF0ZW1lbnQoai5qc3hGcmFnbWVudChqLmpzeE9wZW5pbmdGcmFnbWVudCgpLCBqLmpzeENsb3NpbmdGcmFnbWVudCgpLCBbXSkpXSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKVxuICAgIF0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGFkZE1ldGhvZFRvQ29tcG9uZW50ID0gKGo6IEpTQ29kZXNoaWZ0LCBwYXJlbnROb2RlOiBhbnksIG1ldGhvZDogYW55LCBpc0NsYXNzQ29tcG9uZW50OiBib29sZWFuKSA9PiB7XG4gICAgaWYgKGlzQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgICAgY29uc3QgY2xhc3NCb2R5ID0gcGFyZW50Tm9kZS5ub2RlLmJvZHkuYm9keTtcbiAgICAgICAgY2xhc3NCb2R5LnB1c2gobWV0aG9kKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBwYXJlbnRCb2R5ID0gcGFyZW50Tm9kZS5ub2RlLmJvZHkuYm9keSB8fCBwYXJlbnROb2RlLm5vZGUuYm9keTtcbiAgICAgICAgcGFyZW50Qm9keS51bnNoaWZ0KG1ldGhvZCk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRJbXBvcnRlZE5hbWUgPSAoajogSlNDb2Rlc2hpZnQsIHJvb3Q6IGFueSwgb3JpZ2luYWxOYW1lOiBzdHJpbmcsIHNvdXJjZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gICAgY29uc3QgaW1wb3J0RGVjbGFyYXRpb24gPSByb290LmZpbmQoai5JbXBvcnREZWNsYXJhdGlvbiwge1xuICAgICAgICBzb3VyY2U6IHsgdmFsdWU6IHNvdXJjZSB9XG4gICAgfSk7XG5cbiAgICBpZiAoaW1wb3J0RGVjbGFyYXRpb24uc2l6ZSgpID4gMCkge1xuICAgICAgICBjb25zdCBzcGVjaWZpZXIgPSBpbXBvcnREZWNsYXJhdGlvbi5maW5kKGouSW1wb3J0U3BlY2lmaWVyLCB7XG4gICAgICAgICAgICBpbXBvcnRlZDogeyBuYW1lOiBvcmlnaW5hbE5hbWUgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoc3BlY2lmaWVyLnNpemUoKSA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGxvY2FsTmFtZSA9IHNwZWNpZmllci5nZXQoMCkubm9kZS5sb2NhbC5uYW1lO1xuICAgICAgICAgICAgcmV0dXJuIGxvY2FsTmFtZTsgLy8gUmV0dXJuIHRoZSBzaGFkb3cgbmFtZSBvciB0aGUgb3JpZ2luYWwgbmFtZVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7IC8vIFJldHVybiBudWxsIGlmIHRoZSBpbXBvcnQgaXMgbm90IGZvdW5kXG59O1xuXG5leHBvcnQgY29uc3QgYWRkU3RhdGVEZWNsYXJhdGlvbiA9IChqOiBKU0NvZGVzaGlmdCwgcGFyZW50Tm9kZTogYW55LCBzdGF0ZU5hbWU6IHN0cmluZywgaW5pdGlhbFZhbHVlOiBhbnkpID0+IHtcbiAgICBjb25zdCBzdGF0ZVByb3BlcnR5ID0gcGFyZW50Tm9kZS5ub2RlLmJvZHkuYm9keS5maW5kKFxuICAgICAgICAobm9kZTogYW55KSA9PiBub2RlLnR5cGUgPT09ICdDbGFzc1Byb3BlcnR5JyAmJiBub2RlLmtleS5uYW1lID09PSAnc3RhdGUnXG4gICAgKTtcblxuICAgIGlmIChzdGF0ZVByb3BlcnR5ICYmIHN0YXRlUHJvcGVydHkudmFsdWUudHlwZSA9PT0gJ09iamVjdEV4cHJlc3Npb24nKSB7XG4gICAgICAgIGNvbnN0IGhhc1N0YXRlID0gc3RhdGVQcm9wZXJ0eS52YWx1ZS5wcm9wZXJ0aWVzLnNvbWUoKHByb3A6IGFueSkgPT4gcHJvcC5rZXkubmFtZSA9PT0gc3RhdGVOYW1lKTtcbiAgICAgICAgaWYgKCFoYXNTdGF0ZSkge1xuICAgICAgICAgICAgc3RhdGVQcm9wZXJ0eS52YWx1ZS5wcm9wZXJ0aWVzLnB1c2goai5wcm9wZXJ0eSgnaW5pdCcsIGouaWRlbnRpZmllcihzdGF0ZU5hbWUpLCBpbml0aWFsVmFsdWUpKTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHBhcmVudE5vZGUubm9kZS5ib2R5LmJvZHkudW5zaGlmdChcbiAgICAgICAgICAgIGouY2xhc3NQcm9wZXJ0eShcbiAgICAgICAgICAgICAgICBqLmlkZW50aWZpZXIoJ3N0YXRlJyksXG4gICAgICAgICAgICAgICAgai5vYmplY3RFeHByZXNzaW9uKFtqLnByb3BlcnR5KCdpbml0Jywgai5pZGVudGlmaWVyKHN0YXRlTmFtZSksIGluaXRpYWxWYWx1ZSldKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBoYXNKU1hBdHRyaWJ1dGUgPSAoXG4gICAgYXR0cmlidXRlczogKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSB8IHVuZGVmaW5lZCxcbiAgICBhdHRyaWJ1dGVOYW1lOiBzdHJpbmdcbik6IGJvb2xlYW4gPT4ge1xuICAgIHJldHVybiBhdHRyaWJ1dGVzPy5zb21lKChhdHRyKSA9PiBhdHRyLnR5cGUgPT09ICdKU1hBdHRyaWJ1dGUnICYmIGF0dHIubmFtZS5uYW1lID09PSBhdHRyaWJ1dGVOYW1lKSB8fCBmYWxzZTtcbn07XG5cbmV4cG9ydCBjb25zdCBhZGRVc2VTdGF0ZURlY2xhcmF0aW9uID0gKFxuICAgIGo6IEpTQ29kZXNoaWZ0LFxuICAgIHBhcmVudE5vZGU6IGFueSxcbiAgICBzdGF0ZU5hbWU6IHN0cmluZyxcbiAgICBzZXRTdGF0ZU5hbWU6IHN0cmluZyxcbiAgICBpbml0aWFsVmFsdWU6IGFueSxcbiAgICBpc1R5cGVTY3JpcHQ6IGJvb2xlYW4sXG4gICAgdHlwZU5hbWU6IHN0cmluZ1xuKSA9PiB7XG4gICAgY29uc3QgdXNlU3RhdGVEZWNsYXJhdGlvbiA9IGoudmFyaWFibGVEZWNsYXJhdGlvbignY29uc3QnLCBbXG4gICAgICAgIGoudmFyaWFibGVEZWNsYXJhdG9yKFxuICAgICAgICAgICAgai5hcnJheVBhdHRlcm4oW2ouaWRlbnRpZmllcihzdGF0ZU5hbWUpLCBqLmlkZW50aWZpZXIoc2V0U3RhdGVOYW1lKV0pLFxuICAgICAgICAgICAgai5jYWxsRXhwcmVzc2lvbihqLmlkZW50aWZpZXIoYFJlYWN0LnVzZVN0YXRlJHtpc1R5cGVTY3JpcHQgPyBgPCR7dHlwZU5hbWV9PmAgOiAnJ31gKSwgW2luaXRpYWxWYWx1ZV0pXG4gICAgICAgIClcbiAgICBdKTtcbiAgICBwYXJlbnROb2RlLm5vZGUuYm9keS5ib2R5LnVuc2hpZnQodXNlU3RhdGVEZWNsYXJhdGlvbik7XG59O1xuXG5leHBvcnQgY29uc3QgYWRkRXZlbnRBdHRyaWJ1dGUgPSAoajogSlNDb2Rlc2hpZnQsIGF0dHJpYnV0ZXM6IGFueVtdLCBhdHRyaWJ1dGVOYW1lOiBzdHJpbmcsIGhhbmRsZXJOYW1lOiBzdHJpbmcpID0+IHtcbiAgICBhdHRyaWJ1dGVzLnB1c2goXG4gICAgICAgIGouanN4QXR0cmlidXRlKGouanN4SWRlbnRpZmllcihhdHRyaWJ1dGVOYW1lKSwgai5qc3hFeHByZXNzaW9uQ29udGFpbmVyKGouaWRlbnRpZmllcihoYW5kbGVyTmFtZSkpKVxuICAgICk7XG59O1xuXG5leHBvcnQgY29uc3QgYWRkU3RhdGVBdHRyaWJ1dGUgPSAoajogSlNDb2Rlc2hpZnQsIGF0dHJpYnV0ZXM6IGFueVtdLCBhdHRyaWJ1dGVOYW1lOiBzdHJpbmcsIHN0YXRlTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgYXR0cmlidXRlcy5wdXNoKGouanN4QXR0cmlidXRlKGouanN4SWRlbnRpZmllcihhdHRyaWJ1dGVOYW1lKSwgai5qc3hFeHByZXNzaW9uQ29udGFpbmVyKGouaWRlbnRpZmllcihzdGF0ZU5hbWUpKSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUNsYXNzTWV0aG9kID0gKGo6IEpTQ29kZXNoaWZ0LCBtZXRob2ROYW1lOiBzdHJpbmcsIHBhcmFtczogc3RyaW5nW10sIGJvZHlTdGF0ZW1lbnRzOiBhbnlbXSkgPT4ge1xuICAgIHJldHVybiBqLm1ldGhvZERlZmluaXRpb24oXG4gICAgICAgICdtZXRob2QnLFxuICAgICAgICBqLmlkZW50aWZpZXIobWV0aG9kTmFtZSksXG4gICAgICAgIGouZnVuY3Rpb25FeHByZXNzaW9uKFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgIHBhcmFtcy5tYXAoKHBhcmFtKSA9PiBqLmlkZW50aWZpZXIocGFyYW0pKSxcbiAgICAgICAgICAgIGouYmxvY2tTdGF0ZW1lbnQoYm9keVN0YXRlbWVudHMpXG4gICAgICAgIClcbiAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUFycm93RnVuY3Rpb24gPSAoajogSlNDb2Rlc2hpZnQsIGZ1bmN0aW9uTmFtZTogc3RyaW5nLCBwYXJhbXM6IHN0cmluZ1tdLCBib2R5U3RhdGVtZW50czogYW55W10pID0+IHtcbiAgICByZXR1cm4gai52YXJpYWJsZURlY2xhcmF0aW9uKCdjb25zdCcsIFtcbiAgICAgICAgai52YXJpYWJsZURlY2xhcmF0b3IoXG4gICAgICAgICAgICBqLmlkZW50aWZpZXIoZnVuY3Rpb25OYW1lKSxcbiAgICAgICAgICAgIGouYXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oXG4gICAgICAgICAgICAgICAgcGFyYW1zLm1hcCgocGFyYW0pID0+IGouaWRlbnRpZmllcihwYXJhbSkpLFxuICAgICAgICAgICAgICAgIGouYmxvY2tTdGF0ZW1lbnQoYm9keVN0YXRlbWVudHMpXG4gICAgICAgICAgICApXG4gICAgICAgIClcbiAgICBdKTtcbn07XG4iXSwibmFtZXMiOlsiYWRkQ29tbWVudFRvTWV0aG9kIiwiaiIsIm1ldGhvZCIsImNvbW1lbnRUZXh0IiwicGFyZW50VHlwZSIsIm1ldGhvZEJvZHkiLCJwbGFjZWhvbGRlclN0YXRlbWVudCIsImVuc3VyZUltcG9ydEV4aXN0cyIsInJvb3QiLCJpbXBvcnROYW1lIiwic291cmNlIiwiaW1wb3J0RGVjbGFyYXRpb24iLCJzcGVjaWZpZXJzIiwic3BlY2lmaWVyIiwibmV3SW1wb3J0IiwiZmluZFBhcmVudENvbXBvbmVudCIsInBhdGgiLCJwYXJlbnROb2RlIiwiaXNDbGFzc0NvbXBvbmVudCIsImlzRnVuY3Rpb25hbENvbXBvbmVudCIsImdlbmVyYXRlVW5pcXVlTmFtZSIsImJhc2VOYW1lIiwiZXhpc3RpbmdOYW1lcyIsIm5hbWUiLCJjb3VudGVyIiwiZmluZEF0dHJpYnV0ZSIsImF0dHJpYnV0ZXMiLCJhdHRyaWJ1dGVOYW1lIiwiYXR0ciIsImRvZXNBdHRyaWJ1dGVFeGlzdCIsIm1vZGlmeUV4aXN0aW5nQXR0cmlidXRlIiwiZXhpc3RpbmdBdHRyaWJ1dGUiLCJwcm9wZXJ0eU5hbWUiLCJwcm9wZXJ0eVZhbHVlIiwiZXhwcmVzc2lvbiIsImFkZE5ld0F0dHJpYnV0ZSIsIm5ld0F0dHJpYnV0ZSIsInJlbW92ZUF0dHJpYnV0ZSIsImF0dHJpYnV0ZUluZGV4IiwiZW5zdXJlQXR0cmlidXRlRXhpc3RzIiwiY3JlYXRlQXR0cmlidXRlIiwiYWRkUHJvcGVydHlUb09iamVjdEV4cHJlc3Npb24iLCJjcmVhdGVNZXRob2RGb3JDbGFzc0NvbXBvbmVudCIsIm1ldGhvZE5hbWUiLCJpc1R5cGVTY3JpcHQiLCJ0eXBlTmFtZSIsImNyZWF0ZUFycm93RnVuY3Rpb25Gb3JGdW5jdGlvbmFsQ29tcG9uZW50IiwiZnVuY3Rpb25OYW1lIiwiYWRkTWV0aG9kVG9Db21wb25lbnQiLCJmaW5kSW1wb3J0ZWROYW1lIiwib3JpZ2luYWxOYW1lIiwiYWRkU3RhdGVEZWNsYXJhdGlvbiIsInN0YXRlTmFtZSIsImluaXRpYWxWYWx1ZSIsInN0YXRlUHJvcGVydHkiLCJub2RlIiwicHJvcCIsImhhc0pTWEF0dHJpYnV0ZSIsImFkZFVzZVN0YXRlRGVjbGFyYXRpb24iLCJzZXRTdGF0ZU5hbWUiLCJ1c2VTdGF0ZURlY2xhcmF0aW9uIiwiYWRkRXZlbnRBdHRyaWJ1dGUiLCJoYW5kbGVyTmFtZSIsImFkZFN0YXRlQXR0cmlidXRlIiwiY3JlYXRlQ2xhc3NNZXRob2QiLCJwYXJhbXMiLCJib2R5U3RhdGVtZW50cyIsInBhcmFtIiwiY3JlYXRlQXJyb3dGdW5jdGlvbiJdLCJtYXBwaW5ncyI6ImdGQVNPLE1BQU1BLEVBQXFCLENBQzlCQyxFQUNBQyxFQUNBQyxFQUNBQyxJQUNDLENBQ0QsR0FBSUEsSUFBZSxTQUNmLEdBQUlGLEVBQU8sT0FBUyxHQUFLQSxFQUFPLElBQUksQ0FBQyxFQUFFLEtBQUssTUFBTSxLQUFNLENBQ3BELE1BQU1HLEVBQWFILEVBQU8sSUFBSSxDQUFDLEVBQUUsS0FBSyxNQUFNLEtBQUssS0FFakQsR0FBSUcsRUFBWSxDQUVaLE1BQU1DLEVBQXVCTCxFQUFFLGVBQUEsRUFDL0JLLEVBQXFCLFNBQVcsQ0FBQ0wsRUFBRSxhQUFhLElBQUlFLENBQVcsR0FBRyxDQUFDLEVBR25FRSxFQUFXLFFBQVFDLENBQW9CLENBQzNDLENBQ0osTUFDRyxDQUNILElBQUlELEVBUUosR0FOSUgsRUFBTyxJQUFJLENBQUMsRUFBRSxLQUFLLGNBQWdCQSxFQUFPLElBQUksQ0FBQyxFQUFFLEtBQUssYUFBYSxDQUFDLEVBQUUsS0FDdEVHLEVBQWFILEVBQU8sSUFBSSxDQUFDLEVBQUUsS0FBSyxhQUFhLENBQUMsRUFBRSxLQUFLLEtBQUssS0FDbkRBLEVBQU8sSUFBSSxDQUFDLEVBQUUsS0FB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
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { GridColumnMenuFilterBaseProps } from '../interfaces/GridColumnMenuFilterBaseProps.js';
9
+ import * as React from 'react';
10
+ /**
11
+ * The props of the GridColumnMenuFilter component.
12
+ */
13
+ export interface GridColumnMenuCheckboxFilterProps extends GridColumnMenuFilterBaseProps {
14
+ /**
15
+ * Controls the expand state of the filter component.
16
+ */
17
+ expanded?: boolean;
18
+ /**
19
+ * Sets the items collection that will be rendered by the GridColumnMenuCheckboxFilter component.
20
+ */
21
+ data: Array<string | object>;
22
+ /**
23
+ * Triggered on each subsequent expand state of the filter component.
24
+ */
25
+ onExpandChange?: (nextExpandState: boolean) => void;
26
+ /**
27
+ * If set to `true`, checkbox filter expand button will not be rendered and chechbox filter menu will be expanded.
28
+ */
29
+ alwaysExpand?: boolean;
30
+ /**
31
+ * Defines the component that will be rendered as a search box.
32
+ */
33
+ searchBox?: React.ComponentType<any>;
34
+ /**
35
+ * Defines the filter operator that will be used to filter the values via the search box.
36
+ * "startswith"
37
+ * "endswith"
38
+ * "contains"
39
+ * "doesnotcontain"
40
+ * "isempty"
41
+ * "isnotempty"
42
+ * "eq" (equal to)
43
+ * "eq" (equal to)
44
+ * "neq" (not equal to)
45
+ * "isnull" (is equal to null)
46
+ * "isnotnull" (is not equal to null)
47
+ */
48
+ searchBoxFilterOperator?: string | Function;
49
+ /**
50
+ * Determines if the data in the component will be unique. By default the property is set to true.
51
+ */
52
+ uniqueData?: boolean;
53
+ }
54
+ /**
55
+ * @hidden
56
+ */
57
+ export declare const isArrayEqual: (firstArray: any[], secondArray: any[]) => boolean;
58
+ export declare const GridColumnMenuCheckboxFilter: (props: GridColumnMenuCheckboxFilterProps) => React.JSX.Element;
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react"),ee=require("./GridColumnMenuItem.js"),te=require("./GridColumnMenuItemGroup.js"),ne=require("./GridColumnMenuItemContent.js"),B=require("@progress/kendo-react-inputs"),le=require("@progress/kendo-react-intl"),a=require("../messages/index.js"),V=require("@progress/kendo-data-query"),j=require("@progress/kendo-react-common"),I=require("@progress/kendo-react-buttons"),T=require("../utils/index.js"),q=require("@progress/kendo-svg-icons"),re=require("../utils/GridContext.js"),ae=require("./adaptiveContent/GridAdaptiveCheckboxFilter.js");function ie(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const h=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(o,r,h.get?h:{enumerable:!0,get:()=>e[r]})}}return o.default=e,Object.freeze(o)}const l=ie(p),z=(e,o)=>e.length!==o.length?!1:e.every((r,h)=>r===o[h]),ce={uniqueData:!0},se=e=>{const{uniqueData:o=ce.uniqueData}=e,r=l.useContext(re.GridContext),h=()=>{const t=e.column.field;return M().filters.findIndex(c=>c.filters&&c.filters.length>0&&c.filters[0].field===t)},g=(t,n)=>{const s=e.column.field||"",c=t.map(u=>T.getNestedValue(s,u));return n?c.filter((u,d)=>c.indexOf(u)===d):c},M=()=>e.filter?j.clone(e.filter):{filters:[],logic:"and"},i=l.useRef(h()),[y,_]=l.useState(e.expanded||!1),[N,x]=l.useState(!1),[G,O]=l.useState(""),[C,k]=l.useState(g(e.data,o)||[]),[$,Q]=l.useState(g(e.data,!1)||[]),[f,W]=l.useState(M());l.useEffect(()=>{const t=e.column.field||"",n=e.data.map(s=>T.getNestedValue(t,s));z(n,$)||(k(n),Q(n))},[e.column,e.data]);const D=()=>e.expanded!==void 0,H=()=>{const t=D(),n=!(t?e.expanded:y);e.onExpandChange&&e.onExpandChange(n),x(!N),!t&&!(r!=null&&r.mobileMode)&&_(n)},w=t=>{const n=e.searchBoxFilterOperator?e.searchBoxFilterOperator:"startswith",s={logic:"and",filters:[{field:e.column.field,operator:n,value:t.target.value,ignoreCase:!0}]};O(t.target.value),k(g(V.filterBy(e.data||[],s),o))},J=()=>{const t=e.searchBoxFilterOperator?e.searchBoxFilterOperator:"startswith",n={logic:"and",filters:[{field:e.column.field,operator:t,value:"",ignoreCase:!0}]};O(""),k(g(V.filterBy(e.data||[],n),o))},A=t=>{if(t.preventDefault(),!e.onFilterChange)return;const n=f||null;n!==null&&n.filters.length>0?(i.current>=0&&n.filters.splice(i.current,1),e.onFilterChange(n,t)):e.onFilterChange(null,t),e.onCloseMenu&&e.onCloseMenu()},L=t=>{if(t.preventDefault(),!e.onFilterChange)return;const n=f||null;e.onFilterChange(n,t),e.onCloseMenu&&e.onCloseMenu()},E=(t,n)=>{const s=e.column.field||"",c={...f},u=[...f.filters];let d=[];if(i.current!==-1&&c.filters[i.current].filters&&n!=="all"&&(d=c.filters[i.current].filters),t.value&&n==="all")C.forEach(S=>{d.push({field:s,operator:"eq",value:S})});else if(t.value)d.push({field:s,operator:"eq",value:n});else if(f){const S=d.findIndex(Z=>Z.value===n);d.splice(S,1)}c.logic="and",i.current!==-1?u[i.current]={logic:"or",filters:d}:u.push({logic:"or",filters:d}),(!t.value&&n==="all"||d.length===0)&&u.splice(i.current,1),c.filters=u,W(c)},P=()=>{let t=!1;if(f){const n=[...f.filters];return i.current===-1?!1:(t=C.every(s=>i.current!==-1&&n[i.current].filters?n[i.current].filters.findIndex(u=>u.value===s)>=0:!1),t)}return t},m=le.useLocalization(),{column:b}=e;if(!b||!b.field)return l.createElement("div",null);const R=D()?e.expanded:y,v=[];if(f){const t=[...f.filters];i.current=t.findIndex(n=>n.filters&&n.filters.length>0?n.filters[0].field===b.field:!1),i.current!==-1&&t[i.current].filters.length>0&&t[i.current].filters.forEach(n=>{n.field===e.column.field&&v.push(n.value)})}const K=()=>{x(!1)},U=()=>{x(!1),e.onCloseMenu&&e.onCloseMenu()},X=m.toLanguageString(a.filterClearButton,a.messages[a.filterClearButton]),Y=e.searchBox?l.createElement(e.searchBox,{value:G,onChange:w}):l.createElement("div",{className:`k-searchbox k-textbox k-input k-input-md k-input-solid ${r!=null&&r.mobileMode?"k-input-lg":"k-input-md"}`},l.createElement(j.IconWrap,{className:"k-input-icon",name:"search",icon:q.searchIcon}),l.createElement(B.Input,{className:"k-input-inner",type:"text",placeholder:m.toLanguageString(a.searchPlaceholder,a.messages[a.searchPlaceholder]),value:G,onChange:t=>w(t.nativeEvent)}),l.createElement(I.Button,{type:"button",rounded:null,className:"k-input-button",onClick:J,icon:"x","aria-label":X,svgIcon:q.xIcon})),F=v.filter((t,n)=>v.indexOf(t)===n);return l.createElement(te.GridColumnMenuItemGroup,null,!(e.alwaysExpand&&!(r!=null&&r.mobileMode))&&l.createElement("div",{className:"k-expander"},l.createElement(ee.GridColumnMenuItem,{title:m.toLanguageString(a.filterTitle,a.messages[a.filterTitle]),iconClass:"k-i-filter",svgIcon:q.filterIcon,expandable:!0,expanded:!!R,onClick:H})),r!=null&&r.mobileMode&&N?l.createElement(ae.GridAdaptiveCheckboxFilter,{onBackView:K,handleClose:U,searchBox:e.searchBox,handleCheckBoxChange:E,isAllSelected:P,currentData:C,uniqueFilterValues:F,submit:L,clear:A}):l.createElement(ne.GridColumnMenuItemContent,{show:(e.alwaysExpand||!!R)&&!(r!=null&&r.mobileMode)},l.createElement("form",{className:"k-filter-menu",onSubmit:L,onReset:A},l.createElement("div",{className:"k-filter-menu-container"},Y,l.createElement("ul",{className:"k-reset k-multicheck-wrap"},l.createElement("li",{className:"k-item k-check-all-wrap"},l.createElement(B.Checkbox,{label:m.toLanguageString(a.filterCheckAll,a.messages[a.filterCheckAll]),onChange:t=>E(t,"all"),checked:P()})),C.map((t,n)=>l.createElement("li",{className:"k-item",key:n},l.createElement(B.Checkbox,{label:String(t),onChange:s=>E(s,t),checked:F.includes(t)})))),l.createElement("div",{className:"k-filter-selected-items"},F.length+" "+m.toLanguageString(a.filterSelectedItems,a.messages[a.filterSelectedItems])),l.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},l.createElement(I.Button,{themeColor:"primary",type:"submit"},m.toLanguageString(a.filterSubmitButton,a.messages[a.filterSubmitButton])),l.createElement(I.Button,{className:"k-button",type:"reset"},m.toLanguageString(a.filterClearButton,a.messages[a.filterClearButton])))))))};exports.GridColumnMenuCheckboxFilter=se;exports.isArrayEqual=z;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react"),ee=require("./GridColumnMenuItem.js"),te=require("./GridColumnMenuItemGroup.js"),ne=require("./GridColumnMenuItemContent.js"),B=require("@progress/kendo-react-inputs"),le=require("@progress/kendo-react-intl"),a=require("../messages/index.js"),V=require("@progress/kendo-data-query"),j=require("@progress/kendo-react-common"),I=require("@progress/kendo-react-buttons"),T=require("../utils/index.js"),q=require("@progress/kendo-svg-icons"),re=require("../utils/GridContext.js"),ae=require("./adaptiveContent/GridAdaptiveCheckboxFilter.js");function ie(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const h=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(o,r,h.get?h:{enumerable:!0,get:()=>e[r]})}}return o.default=e,Object.freeze(o)}const l=ie(p),z=(e,o)=>e.length!==o.length?!1:e.every((r,h)=>r===o[h]),ce={uniqueData:!0},se=e=>{const{uniqueData:o=ce.uniqueData}=e,r=l.useContext(re.GridContext),h=()=>{const t=e.column.field;return M().filters.findIndex(c=>c.filters&&c.filters.length>0&&c.filters[0].field===t)},g=(t,n)=>{const s=e.column.field||"",c=t.map(u=>T.getNestedValue(s,u));return n?c.filter((u,d)=>c.indexOf(u)===d):c},M=()=>e.filter?j.clone(e.filter):{filters:[],logic:"and"},i=l.useRef(h()),[y,_]=l.useState(e.expanded||!1),[N,x]=l.useState(!1),[G,O]=l.useState(""),[C,k]=l.useState(g(e.data,o)||[]),[$,Q]=l.useState(g(e.data,!1)||[]),[f,W]=l.useState(M());l.useEffect(()=>{const t=e.column.field||"",n=e.data.map(s=>T.getNestedValue(t,s));z(n,$)||(k(n),Q(n))},[e.column,e.data]);const D=()=>e.expanded!==void 0,H=()=>{const t=D(),n=!(t?e.expanded:y);e.onExpandChange&&e.onExpandChange(n),x(!N),!t&&!(r!=null&&r.mobileMode)&&_(n)},w=t=>{const n=e.searchBoxFilterOperator?e.searchBoxFilterOperator:"startswith",s={logic:"and",filters:[{field:e.column.field,operator:n,value:t.target.value,ignoreCase:!0}]};O(t.target.value),k(g(V.filterBy(e.data||[],s),o))},J=()=>{const t=e.searchBoxFilterOperator?e.searchBoxFilterOperator:"startswith",n={logic:"and",filters:[{field:e.column.field,operator:t,value:"",ignoreCase:!0}]};O(""),k(g(V.filterBy(e.data||[],n),o))},A=t=>{if(t.preventDefault(),!e.onFilterChange)return;const n=f||null;n!==null&&n.filters.length>0?(i.current>=0&&n.filters.splice(i.current,1),e.onFilterChange(n,t)):e.onFilterChange(null,t),e.onCloseMenu&&e.onCloseMenu()},L=t=>{if(t.preventDefault(),!e.onFilterChange)return;const n=f||null;e.onFilterChange(n,t),e.onCloseMenu&&e.onCloseMenu()},E=(t,n)=>{const s=e.column.field||"",c={...f},u=[...f.filters];let d=[];if(i.current!==-1&&c.filters[i.current].filters&&n!=="all"&&(d=c.filters[i.current].filters),t.value&&n==="all")C.forEach(S=>{d.push({field:s,operator:"eq",value:S})});else if(t.value)d.push({field:s,operator:"eq",value:n});else if(f){const S=d.findIndex(Z=>Z.value===n);d.splice(S,1)}c.logic="and",i.current!==-1?u[i.current]={logic:"or",filters:d}:u.push({logic:"or",filters:d}),(!t.value&&n==="all"||d.length===0)&&u.splice(i.current,1),c.filters=u,W(c)},P=()=>{let t=!1;if(f){const n=[...f.filters];return i.current===-1?!1:(t=C.every(s=>i.current!==-1&&n[i.current].filters?n[i.current].filters.findIndex(u=>u.value===s)>=0:!1),t)}return t},m=le.useLocalization(),{column:b}=e;if(!b||!b.field)return l.createElement("div",null);const R=D()?e.expanded:y,v=[];if(f){const t=[...f.filters];i.current=t.findIndex(n=>n.filters&&n.filters.length>0?n.filters[0].field===b.field:!1),i.current!==-1&&t[i.current].filters.length>0&&t[i.current].filters.forEach(n=>{n.field===e.column.field&&v.push(n.value)})}const K=()=>{x(!1)},U=()=>{x(!1),e.onCloseMenu&&e.onCloseMenu()},X=m.toLanguageString(a.filterClearButton,a.messages[a.filterClearButton]),Y=e.searchBox?l.createElement(e.searchBox,{value:G,onChange:w}):l.createElement("div",{className:`k-searchbox k-textbox k-input k-input-md k-input-solid ${r!=null&&r.mobileMode?"k-input-lg":"k-input-md"}`},l.createElement(j.IconWrap,{className:"k-input-icon",name:"search",icon:q.searchIcon}),l.createElement(B.Input,{className:"k-input-inner",type:"text",placeholder:m.toLanguageString(a.searchPlaceholder,a.messages[a.searchPlaceholder]),value:G,onChange:t=>w(t.nativeEvent)}),l.createElement(I.Button,{type:"button",className:"k-input-button",onClick:J,icon:"x","aria-label":X,svgIcon:q.xIcon})),F=v.filter((t,n)=>v.indexOf(t)===n);return l.createElement(te.GridColumnMenuItemGroup,null,!(e.alwaysExpand&&!(r!=null&&r.mobileMode))&&l.createElement("div",{className:"k-expander"},l.createElement(ee.GridColumnMenuItem,{title:m.toLanguageString(a.filterTitle,a.messages[a.filterTitle]),iconClass:"k-i-filter",svgIcon:q.filterIcon,expandable:!0,expanded:!!R,onClick:H})),r!=null&&r.mobileMode&&N?l.createElement(ae.GridAdaptiveCheckboxFilter,{onBackView:K,handleClose:U,searchBox:e.searchBox,handleCheckBoxChange:E,isAllSelected:P,currentData:C,uniqueFilterValues:F,submit:L,clear:A}):l.createElement(ne.GridColumnMenuItemContent,{show:(e.alwaysExpand||!!R)&&!(r!=null&&r.mobileMode)},l.createElement("form",{className:"k-filter-menu",onSubmit:L,onReset:A},l.createElement("div",{className:"k-filter-menu-container"},Y,l.createElement("ul",{className:"k-reset k-multicheck-wrap"},l.createElement("li",{className:"k-item k-check-all-wrap"},l.createElement(B.Checkbox,{label:m.toLanguageString(a.filterCheckAll,a.messages[a.filterCheckAll]),onChange:t=>E(t,"all"),checked:P()})),C.map((t,n)=>l.createElement("li",{className:"k-item",key:n},l.createElement(B.Checkbox,{label:String(t),onChange:s=>E(s,t),checked:F.includes(t)})))),l.createElement("div",{className:"k-filter-selected-items"},F.length+" "+m.toLanguageString(a.filterSelectedItems,a.messages[a.filterSelectedItems])),l.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},l.createElement(I.Button,{themeColor:"primary",type:"submit"},m.toLanguageString(a.filterSubmitButton,a.messages[a.filterSubmitButton])),l.createElement(I.Button,{className:"k-button",type:"reset"},m.toLanguageString(a.filterClearButton,a.messages[a.filterClearButton])))))))};exports.GridColumnMenuCheckboxFilter=se;exports.isArrayEqual=z;
@@ -124,7 +124,6 @@ const he = (e, m) => e.length !== m.length ? !1 : e.every((r, k) => r === m[k]),
124
124
  I,
125
125
  {
126
126
  type: "button",
127
- rounded: null,
128
127
  className: "k-input-button",
129
128
  onClick: Y,
130
129
  icon: "x",
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { GridColumnMenuColumnsChooserBaseProps } from '../interfaces/GridColumnMenuColumnsChooserBaseProps.js';
9
+ import * as React from 'react';
10
+ /**
11
+ * The props of the GridColumnMenuColumnsChooser component.
12
+ */
13
+ export interface GridColumnMenuColumnsChooserProps extends GridColumnMenuColumnsChooserBaseProps {
14
+ /**
15
+ * If set to `true`, column chooser expand button will not be rendered and column chooser menu will be expanded.
16
+ */
17
+ alwaysExpand?: boolean;
18
+ /**
19
+ * Controls the expand state of the column chooser component.
20
+ */
21
+ expanded?: boolean;
22
+ /**
23
+ * Triggered on each subsequent expand state of the column chooser component.
24
+ */
25
+ onExpandChange?: (nextExpandState: boolean) => void;
26
+ }
27
+ /**
28
+ * Represents the KendoReact GridColumnMenuColumnsChooser component.
29
+ */
30
+ export declare const GridColumnMenuColumnsChooser: React.FunctionComponent<GridColumnMenuColumnsChooserProps>;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { GridColumnProps } from './../interfaces/GridColumnProps.js';
9
+ import * as React from 'react';
10
+ /**
11
+ * Represents the props of the KendoReact GridColumnMenuColumnsList component.
12
+ */
13
+ export interface GridColumnMenuColumnsListProps {
14
+ /**
15
+ * The columns state of the KendoReact GridColumnMenuColumnsList component.
16
+ */
17
+ columnsState: GridColumnProps[];
18
+ /**
19
+ * The initial columns of the KendoReact GridColumnMenuColumnsList component.
20
+ */
21
+ columns: GridColumnProps[];
22
+ /**
23
+ * The onColumnsChange event handler of the KendoReact GridColumnMenuColumnsList component.
24
+ */
25
+ onColumnsChange: (cols: GridColumnProps[]) => void;
26
+ /**
27
+ * The onCloseMenu event handler of the KendoReact GridColumnMenuColumnsList component.
28
+ */
29
+ onCloseMenu: Function;
30
+ }
31
+ /**
32
+ * Represents the KendoReact GridColumnMenuColumnsList component.
33
+ */
34
+ export declare const GridColumnMenuColumnsList: React.FunctionComponent<GridColumnMenuColumnsListProps>;
@@ -0,0 +1,101 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { CompositeFilterDescriptor } from '@progress/kendo-data-query';
9
+ import { GridColumnMenuFilterUIProps } from '../interfaces/GridColumnMenuFilterUIProps.js';
10
+ import { GridColumnMenuFilterBaseProps } from '../interfaces/GridColumnMenuFilterBaseProps.js';
11
+ import { ComponentType } from 'react';
12
+ import * as React from 'react';
13
+ /**
14
+ * @hidden
15
+ */
16
+ export declare const rootFilterOrDefault: (rootFilter: CompositeFilterDescriptor | undefined) => CompositeFilterDescriptor;
17
+ /**
18
+ * @hidden
19
+ */
20
+ export declare const filterGroupByField: (field: string, filter: CompositeFilterDescriptor | undefined) => CompositeFilterDescriptor | null;
21
+ /**
22
+ * Can be used to check if filtering is applied to a specific field ([see example](https://www.telerik.com/kendo-react-ui/components/grid/columns/column-menu#toc-styling-the-column-menu-icon)). Useful for creating active filter indicators.
23
+ */
24
+ export declare const isColumnMenuFilterActive: (field: string, filter?: CompositeFilterDescriptor) => boolean;
25
+ /**
26
+ * The props of the GridColumnMenuFilter component.
27
+ */
28
+ export interface GridColumnMenuFilterProps extends GridColumnMenuFilterBaseProps {
29
+ /**
30
+ * Controls the expand state of the filter component.
31
+ */
32
+ expanded?: boolean;
33
+ /**
34
+ * Triggered on each subsequent expand state of the filter component.
35
+ */
36
+ onExpandChange?: (nextExpandState: boolean) => void;
37
+ /**
38
+ * If set to `false`, the second filter operator and the input will be hidden.
39
+ */
40
+ hideSecondFilter?: boolean;
41
+ /**
42
+ * Specifies a React element that will be cloned and rendered inside the UI of the column-menu filter component
43
+ * ([see example](https://www.telerik.com/kendo-react-ui/components/grid/columns/column-menu#toc-customizing-the-filter-component)).
44
+ */
45
+ filterUI?: ComponentType<GridColumnMenuFilterUIProps>;
46
+ /**
47
+ * The child elements to be rendered inside the filter component.
48
+ */
49
+ children?: React.ReactNode;
50
+ /**
51
+ * If set to `true`, filter expand button will not be rendered and filter menu will be expanded.
52
+ */
53
+ alwaysExpand?: boolean;
54
+ }
55
+ /**
56
+ * @example
57
+ * ```jsx-no-run
58
+ * const TextColumnMenu = (props) => {
59
+ * return (
60
+ * <div>
61
+ * <GridColumnMenuSort {...props} />
62
+ * <GridColumnMenuFilter {...props} />
63
+ * </div>
64
+ * );
65
+ * };
66
+ *
67
+ * const App = () => {
68
+ * const [state, setState] = React.useState(
69
+ * createAppState({
70
+ * take: 10,
71
+ * skip: 0,
72
+ * })
73
+ * );
74
+ *
75
+ * function createAppState(dataState) {
76
+ * return {
77
+ * result: process(products.slice(0), dataState),
78
+ * dataState: dataState,
79
+ * };
80
+ * }
81
+ *
82
+ * const dataStateChange = (event) => {
83
+ * setState(createAppState(event.dataState));
84
+ * };
85
+ *
86
+ * return (
87
+ * <Grid
88
+ * data={state.result}
89
+ * {...state.dataState}
90
+ * onDataStateChange={dataStateChange}
91
+ * sortable={true}
92
+ * pageable={true}
93
+ * >
94
+ * <GridColumn field="ProductID" title="Product ID" />
95
+ * <GridColumn field="ProductName" columnMenu={TextColumnMenu} />
96
+ * </Grid>
97
+ * );
98
+ * };
99
+ * ```
100
+ */
101
+ export declare const GridColumnMenuFilter: (props: GridColumnMenuFilterProps) => React.JSX.Element;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { GridFilterOperator } from '../interfaces/GridFilterOperator.js';
9
+ import * as React from 'react';
10
+ /**
11
+ * @hidden
12
+ */
13
+ export interface GridColumnMenuFilterCellProps {
14
+ field?: string;
15
+ filterType: 'text' | 'numeric' | 'boolean' | 'date';
16
+ value: any;
17
+ operator?: string | Function;
18
+ operators: GridFilterOperator[];
19
+ booleanValues: GridFilterOperator[];
20
+ onChange: (event: {
21
+ value: any;
22
+ operator: string | Function;
23
+ syntheticEvent: React.SyntheticEvent<any>;
24
+ }) => void;
25
+ }
26
+ /**
27
+ * @hidden
28
+ */
29
+ export declare const GridColumnMenuFilterCell: (props: GridColumnMenuFilterCellProps) => React.JSX.Element;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { GridColumnMenuFilterUIProps } from '../interfaces/GridColumnMenuFilterUIProps.js';
9
+ import * as React from 'react';
10
+ /**
11
+ * @hidden
12
+ */
13
+ export declare const GridColumnMenuFilterUI: (props: GridColumnMenuFilterUIProps) => React.JSX.Element;
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { GridColumnMenuGroupBaseProps } from '../interfaces/GridColumnMenuGroupBaseProps.js';
9
+ import * as React from 'react';
10
+ /**
11
+ * The props of the GridColumnMenuGroup component.
12
+ */
13
+ export interface GridColumnMenuGroupProps extends GridColumnMenuGroupBaseProps {
14
+ }
15
+ /**
16
+ * @example
17
+ * ```jsx-no-run
18
+ * const TextColumnMenu = (props) => {
19
+ * return (
20
+ * <div>
21
+ * <GridColumnMenuSort {...props} />
22
+ * <GridColumnMenuGroup {...props} />
23
+ * </div>
24
+ * );
25
+ * };
26
+ *
27
+ * const initialState = {
28
+ * take: 10,
29
+ * skip: 0
30
+ * };
31
+ *
32
+ * const App = () => {
33
+ * const [dataState, setDataState] = useState(initialState);
34
+ * const [result, setResult] = useState(process(products.slice(0), initialState));
35
+ *
36
+ * const dataStateChange = (event) => {
37
+ * setDataState(event.dataState);
38
+ * setResult(process(products.slice(0), event.dataState));
39
+ * }
40
+ *
41
+ * return (
42
+ * <div>
43
+ * <Grid
44
+ * data={result}
45
+ * {...dataState}
46
+ * onDataStateChange={dataStateChange}
47
+ * sortable={true}
48
+ * pageable={true}
49
+ * >
50
+ * <Column field="ProductID" title="Product ID" />
51
+ * <Column field="ProductName" columnMenu={TextColumnMenu} />
52
+ * </Grid>
53
+ * <br />
54
+ * </div>
55
+ * );
56
+ * };
57
+ *
58
+ * export default App;
59
+ * ```
60
+ */
61
+ export declare const GridColumnMenuGroup: (props: GridColumnMenuGroupProps) => React.JSX.Element;
@@ -10,7 +10,7 @@ import * as m from "react";
10
10
  import { useLocalization as a } from "@progress/kendo-react-intl";
11
11
  import { GridColumnMenuItemGroup as d } from "./GridColumnMenuItemGroup.mjs";
12
12
  import { GridColumnMenuItem as g } from "./GridColumnMenuItem.mjs";
13
- import { messages as C, groupColumn as p, ungroupColumn as G } from "../messages/index.mjs";
13
+ import { groupColumn as C, ungroupColumn as p, messages as G } from "../messages/index.mjs";
14
14
  import { groupIcon as I, ungroupIcon as M } from "@progress/kendo-svg-icons";
15
15
  const L = (o) => {
16
16
  const c = (e) => {
@@ -23,12 +23,12 @@ const L = (o) => {
23
23
  }), o.onGroupChange(u, e);
24
24
  }
25
25
  o.onCloseMenu && o.onCloseMenu();
26
- }, { group: i, column: l } = o, f = a(), n = !!(i && l.field && i.find((e) => e.field === l.field)), r = n ? G : p;
26
+ }, { group: i, column: l } = o, f = a(), n = !!(i && l.field && i.find((e) => e.field === l.field)), r = n ? p : C;
27
27
  return /* @__PURE__ */ m.createElement(d, null, /* @__PURE__ */ m.createElement(
28
28
  g,
29
29
  {
30
30
  selected: n,
31
- title: f.toLanguageString(r, C[r]),
31
+ title: f.toLanguageString(r, G[r]),
32
32
  iconClass: n ? "k-i-ungroup" : "k-i-group",
33
33
  svgIcon: n ? M : I,
34
34
  onClick: c
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { SVGIcon } from '@progress/kendo-react-common';
9
+ import * as React from 'react';
10
+ /**
11
+ * The props of the GridColumnMenuItem component.
12
+ */
13
+ export interface GridColumnMenuItemProps {
14
+ /**
15
+ * Triggered each time the title is clicked.
16
+ */
17
+ onClick: React.MouseEventHandler<HTMLElement>;
18
+ /**
19
+ * The title of the GridColumnMenuItem component.
20
+ */
21
+ title: string;
22
+ /**
23
+ * The class of the icon that is rendered next to the title.
24
+ */
25
+ iconClass?: string;
26
+ /**
27
+ * The SVG icon that is rendered next to the title.
28
+ */
29
+ svgIcon?: SVGIcon;
30
+ /**
31
+ * The selected state of the component.
32
+ */
33
+ selected?: boolean;
34
+ /**
35
+ * @hidden
36
+ * States if the Column Menu item is expandable.
37
+ */
38
+ expandable?: boolean;
39
+ /**
40
+ * @hidden
41
+ * States if the Column Menu item is expanded.
42
+ */
43
+ expanded?: boolean;
44
+ }
45
+ /**
46
+ * The GridColumnMenuItem component that is used inside the Grid ColumnMenu.
47
+ */
48
+ export declare const GridColumnMenuItem: (props: GridColumnMenuItemProps) => React.JSX.Element;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { KendoReactComponentBaseProps } from '@progress/kendo-react-common';
9
+ import * as React from 'react';
10
+ /**
11
+ * The props of the GridColumnMenuItemContent component.
12
+ */
13
+ export interface GridColumnMenuItemContentProps extends KendoReactComponentBaseProps {
14
+ /**
15
+ * The `show` state of the component. Each change is animated with the Reveal animation.
16
+ */
17
+ show: boolean;
18
+ }
19
+ /**
20
+ * The GridColumnMenuItemContent that will be used inside the Grid ColumnMenu.
21
+ */
22
+ export declare const GridColumnMenuItemContent: (props: GridColumnMenuItemContentProps) => React.JSX.Element;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { KendoReactComponentBaseProps } from '@progress/kendo-react-common';
9
+ import * as React from 'react';
10
+ /**
11
+ * The props of the GridColumnMenuItemGroup component.
12
+ */
13
+ export interface GridColumnMenuItemGroupProps extends KendoReactComponentBaseProps {
14
+ }
15
+ /**
16
+ * The GridColumnMenuItemGroup that will be used inside the Grid ColumnMenu.
17
+ */
18
+ export declare const GridColumnMenuItemGroup: (props: GridColumnMenuItemGroupProps) => React.JSX.Element;