@1money/component-ui 0.0.46 → 0.0.48

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 (75) hide show
  1. package/es/components/Table/Table.d.ts +2 -2
  2. package/es/components/Table/Table.js +25 -148
  3. package/es/components/Table/VirtualTable.d.ts +2 -2
  4. package/es/components/Table/VirtualTable.js +30 -143
  5. package/es/components/Table/core/useTableColumns.d.ts +21 -7
  6. package/es/components/Table/core/useTableColumns.js +76 -14
  7. package/es/components/Table/core/useTableDataPipeline.d.ts +13 -6
  8. package/es/components/Table/core/useTableDataPipeline.js +193 -27
  9. package/es/components/Table/core/useTableExpand.d.ts +4 -2
  10. package/es/components/Table/core/useTableExpand.js +30 -5
  11. package/es/components/Table/core/useTableSelection.d.ts +3 -5
  12. package/es/components/Table/core/useTableSelection.js +1 -1
  13. package/es/components/Table/core/useTableSetup.d.ts +42 -0
  14. package/es/components/Table/core/useTableSetup.js +195 -0
  15. package/es/components/Table/features/ExpandTrigger.js +10 -2
  16. package/es/components/Table/features/FilterTrigger.d.ts +9 -0
  17. package/es/components/Table/features/FilterTrigger.js +157 -0
  18. package/es/components/Table/features/SelectionColumn.d.ts +3 -2
  19. package/es/components/Table/features/SelectionColumn.js +19 -6
  20. package/es/components/Table/interface.d.ts +103 -21
  21. package/es/components/Table/internal/kernel/FixedHolder/index.js +1 -2
  22. package/es/components/Table/internal/kernel/Table.d.ts +1 -1
  23. package/es/components/Table/internal/kernel/Table.js +2 -8
  24. package/es/components/Table/internal/kernel/VirtualTable/BodyGrid.js +1 -2
  25. package/es/components/Table/internal/kernel/VirtualTable/index.js +1 -2
  26. package/es/components/Table/internal/kernel/constant.d.ts +1 -1
  27. package/es/components/Table/internal/kernel/constant.js +1 -1
  28. package/es/components/Table/internal/kernel/hooks/useExpand.js +1 -2
  29. package/es/components/Table/internal/kernel/utils/offsetUtil.js +1 -2
  30. package/es/components/Table/renderers/BodyCell.d.ts +4 -4
  31. package/es/components/Table/renderers/BodyCell.js +1 -1
  32. package/es/components/Table/renderers/HeaderCell.d.ts +8 -4
  33. package/es/components/Table/renderers/HeaderCell.js +13 -3
  34. package/es/components/Table/style/Table.css +1 -1
  35. package/es/components/VirtualList/ScrollBar.js +1 -2
  36. package/es/index.css +1 -1
  37. package/lib/components/Table/Table.d.ts +2 -2
  38. package/lib/components/Table/Table.js +24 -150
  39. package/lib/components/Table/VirtualTable.d.ts +2 -2
  40. package/lib/components/Table/VirtualTable.js +28 -144
  41. package/lib/components/Table/core/useTableColumns.d.ts +21 -7
  42. package/lib/components/Table/core/useTableColumns.js +76 -14
  43. package/lib/components/Table/core/useTableDataPipeline.d.ts +13 -6
  44. package/lib/components/Table/core/useTableDataPipeline.js +192 -26
  45. package/lib/components/Table/core/useTableExpand.d.ts +4 -2
  46. package/lib/components/Table/core/useTableExpand.js +30 -5
  47. package/lib/components/Table/core/useTableSelection.d.ts +3 -5
  48. package/lib/components/Table/core/useTableSelection.js +1 -1
  49. package/lib/components/Table/core/useTableSetup.d.ts +42 -0
  50. package/lib/components/Table/core/useTableSetup.js +204 -0
  51. package/lib/components/Table/features/ExpandTrigger.js +10 -2
  52. package/lib/components/Table/features/FilterTrigger.d.ts +9 -0
  53. package/lib/components/Table/features/FilterTrigger.js +164 -0
  54. package/lib/components/Table/features/SelectionColumn.d.ts +3 -2
  55. package/lib/components/Table/features/SelectionColumn.js +19 -6
  56. package/lib/components/Table/interface.d.ts +103 -21
  57. package/lib/components/Table/internal/kernel/FixedHolder/index.js +1 -2
  58. package/lib/components/Table/internal/kernel/Table.d.ts +1 -1
  59. package/lib/components/Table/internal/kernel/Table.js +2 -8
  60. package/lib/components/Table/internal/kernel/VirtualTable/BodyGrid.js +1 -2
  61. package/lib/components/Table/internal/kernel/VirtualTable/index.js +1 -2
  62. package/lib/components/Table/internal/kernel/constant.d.ts +1 -1
  63. package/lib/components/Table/internal/kernel/constant.js +1 -1
  64. package/lib/components/Table/internal/kernel/hooks/useExpand.js +1 -2
  65. package/lib/components/Table/internal/kernel/utils/offsetUtil.js +1 -2
  66. package/lib/components/Table/renderers/BodyCell.d.ts +4 -4
  67. package/lib/components/Table/renderers/BodyCell.js +1 -1
  68. package/lib/components/Table/renderers/HeaderCell.d.ts +8 -4
  69. package/lib/components/Table/renderers/HeaderCell.js +13 -3
  70. package/lib/components/Table/style/Table.css +1 -1
  71. package/lib/components/VirtualList/ScrollBar.js +1 -2
  72. package/lib/index.css +1 -1
  73. package/package.json +1 -1
  74. package/scripts/mcp-server/examples.generated.json +132 -0
  75. package/scripts/mcp-server/index.generated.json +344 -14
@@ -148,4 +148,4 @@ var useTableSelection = exports.useTableSelection = function useTableSelection(_
148
148
  triggerSelectAll: triggerSelectAll
149
149
  };
150
150
  };
151
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvc3JjL2NvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZVNlbGVjdGlvbi50cyIsImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZVNlbGVjdGlvbi5qcyJdLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX2hvb2tzIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJyIiwiZSIsInQiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsImxlbmd0aCIsIl9uIiwiRiIsInMiLCJuIiwiZG9uZSIsInZhbHVlIiwiZiIsIlR5cGVFcnJvciIsIm8iLCJhIiwidSIsImNhbGwiLCJuZXh0IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJ1c2VUYWJsZVNlbGVjdGlvbiIsImV4cG9ydHMiLCJfcmVmIiwicm93U2VsZWN0aW9uIiwiZGF0YVNvdXJjZSIsImN1cnJlbnREYXRhU291cmNlIiwiZ2V0Um93S2V5IiwiX2EiLCJfdXNlQ29udHJvbGxlZFN0YXRlIiwidXNlQ29udHJvbGxlZFN0YXRlIiwiZGVmYXVsdFNlbGVjdGVkUm93S2V5cyIsInNlbGVjdGVkUm93S2V5cyIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwibWVyZ2VkU2VsZWN0ZWRSb3dLZXlzIiwic2V0TWVyZ2VkU2VsZWN0ZWRSb3dLZXlzIiwia3ZNYXBSZWYiLCJ1c2VSZWYiLCJkYXRhIiwibWFwIiwiTWFwIiwiZ2V0S3ZNYXAiLCJ1c2VNZW1vaXplZEZuIiwiY3VycmVudCIsImkiLCJzZXQiLCJwcmVzZXJ2ZVJlY29yZHNSZWYiLCJnZXRSZWNvcmRCeUtleSIsImtleSIsImdldCIsInVzZUVmZmVjdCIsInByZXNlcnZlU2VsZWN0ZWRSb3dLZXlzIiwibmV4dENhY2hlIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJyZWNvcmQiLCJ1bmRlZmluZWQiLCJoYXMiLCJlcnIiLCJjaGVja2JveFByb3BzTWFwIiwidXNlTWVtbyIsImdldENoZWNrYm94UHJvcHMiLCJmb3JFYWNoIiwiaW5kZXgiLCJzZWxlY3RhYmxlS2V5cyIsImZpbHRlciIsImRpc2FibGVkIiwic2VsZWN0ZWRTZWxlY3RhYmxlS2V5cyIsImluY2x1ZGVzIiwiaXNBbGxTZWxlY3RlZCIsImlzSW5kZXRlcm1pbmF0ZSIsInJlc29sdmVSZWNvcmRzIiwia2V5cyIsInRyaWdnZXJTZWxlY3Rpb24iLCJyZWNvcmRLZXkiLCJfYiIsInNlbGVjdGlvblR5cGUiLCJ0eXBlIiwibmV4dEtleXMiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwib25DaGFuZ2UiLCJ0cmlnZ2VyU2VsZWN0QWxsIiwibWV0aG9kIiwiZGlzYWJsZWRTZWxlY3RlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQWtFLFNBQUFFLDJCQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSx5QkFBQUMsTUFBQSxJQUFBSCxDQUFBLENBQUFHLE1BQUEsQ0FBQUMsUUFBQSxLQUFBSixDQUFBLHFCQUFBRSxDQUFBLFFBQUFHLEtBQUEsQ0FBQUMsT0FBQSxDQUFBTixDQUFBLE1BQUFFLENBQUEsR0FBQUssMkJBQUEsQ0FBQVAsQ0FBQSxNQUFBQyxDQUFBLElBQUFELENBQUEsdUJBQUFBLENBQUEsQ0FBQVEsTUFBQSxJQUFBTixDQUFBLEtBQUFGLENBQUEsR0FBQUUsQ0FBQSxPQUFBTyxFQUFBLE1BQUFDLENBQUEsWUFBQUEsRUFBQSxlQUFBQyxDQUFBLEVBQUFELENBQUEsRUFBQUUsQ0FBQSxXQUFBQSxFQUFBLFdBQUFILEVBQUEsSUFBQVQsQ0FBQSxDQUFBUSxNQUFBLEtBQUFLLElBQUEsV0FBQUEsSUFBQSxNQUFBQyxLQUFBLEVBQUFkLENB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QUNoRixDQUFDLENBQUM7RUFFRixPQUFPO0lBQ0xqRCxxQkFBcUIsRUFBckJBLHFCQUFxQjtJQUNyQnlCLGdCQUFnQixFQUFoQkEsZ0JBQWdCO0lBQ2hCVSxhQUFhLEVBQWJBLGFBQWE7SUFDYkMsZUFBZSxFQUFmQSxlQUFlO0lBQ2ZHLGdCQUFnQixFQUFoQkEsZ0JBQWdCO0lBQ2hCUyxnQkFBZ0IsRUFBaEJBO0VDaENBLENEaUNEO0FBQ0gsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1RhYmxlL2NvcmUvdXNlVGFibGVTZWxlY3Rpb24uanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxlZFN0YXRlLCB1c2VNZW1vaXplZEZuIH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5leHBvcnQgY29uc3QgdXNlVGFibGVTZWxlY3Rpb24gPSAoeyByb3dTZWxlY3Rpb24sIGRhdGFTb3VyY2UsIGN1cnJlbnREYXRhU291cmNlLCBnZXRSb3dLZXksIH0pID0+IHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgW21lcmdlZFNlbGVjdGVkUm93S2V5cywgc2V0TWVyZ2VkU2VsZWN0ZWRSb3dLZXlzXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZSgoX2EgPSByb3dTZWxlY3Rpb24gPT09IG51bGwgfHwgcm93U2VsZWN0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiByb3dTZWxlY3Rpb24uZGVmYXVsdFNlbGVjdGVkUm93S2V5cykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogW10sIHJvd1NlbGVjdGlvbiA9PT0gbnVsbCB8fCByb3dTZWxlY3Rpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJvd1NlbGVjdGlvbi5zZWxlY3RlZFJvd0tleXMpO1xuICAgIC8vIExhenkga2V54oaScmVjb3JkIG1hcCwgcmVidWlsdCB3aGVuIGRhdGFTb3VyY2UgcmVmZXJlbmNlIGNoYW5nZXNcbiAgICBjb25zdCBrdk1hcFJlZiA9IHVzZVJlZih7IGRhdGE6IFtdLCBtYXA6IG5ldyBNYXAoKSB9KTtcbiAgICBjb25zdCBnZXRLdk1hcCA9IHVzZU1lbW9pemVkRm4oKCkgPT4ge1xuICAgICAgICBpZiAoa3ZNYXBSZWYuY3VycmVudC5kYXRhICE9PSBkYXRhU291cmNlKSB7XG4gICAgICAgICAgICBjb25zdCBtYXAgPSBuZXcgTWFwKCk7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFTb3VyY2UubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBtYXAuc2V0KGdldFJvd0tleShkYXRhU291cmNlW2ldLCBpKSwgZGF0YVNvdXJjZVtpXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBrdk1hcFJlZi5jdXJyZW50ID0geyBkYXRhOiBkYXRhU291cmNlLCBtYXAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ga3ZNYXBSZWYuY3VycmVudC5tYXA7XG4gICAgfSk7XG4gICAgLy8gQ2FjaGUgZm9yIHByZXNlcnZlU2VsZWN0ZWRSb3dLZXlzOiBzdG9yZXMga2V54oaScmVjb3JkIGV2ZW4gYWNyb3NzIHBhZ2luYXRpb25cbiAgICBjb25zdCBwcmVzZXJ2ZVJlY29yZHNSZWYgPSB1c2VSZWYobmV3IE1hcCgpKTtcbiAgICBjb25zdCBnZXRSZWNvcmRCeUtleSA9IHVzZU1lbW9pemVkRm4oKGtleSkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHJldHVybiAoX2EgPSBnZXRLdk1hcCgpLmdldChrZXkpKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBwcmVzZXJ2ZVJlY29yZHNSZWYuY3VycmVudC5nZXQoa2V5KTtcbiAgICB9KTtcbiAgICAvLyBVcGRhdGUgY2FjaGUgd2hlbiBzZWxlY3RlZCBrZXlzIGNoYW5nZVxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghKHJvd1NlbGVjdGlvbiA9PT0gbnVsbCB8fCByb3dTZWxlY3Rpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJvd1NlbGVjdGlvbi5wcmVzZXJ2ZVNlbGVjdGVkUm93S2V5cykpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IG5leHRDYWNoZSA9IG5ldyBNYXAoKTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzKSB7XG4gICAgICAgICAgICBjb25zdCByZWNvcmQgPSBnZXRSZWNvcmRCeUtleShrZXkpO1xuICAgICAgICAgICAgaWYgKHJlY29yZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgbmV4dENhY2hlLnNldChrZXksIHJlY29yZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChwcmVzZXJ2ZVJlY29yZHNSZWYuY3VycmVudC5oYXMoa2V5KSkge1xuICAgICAgICAgICAgICAgIG5leHRDYWNoZS5zZXQoa2V5LCBwcmVzZXJ2ZVJlY29yZHNSZWYuY3VycmVudC5nZXQoa2V5KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHJlc2VydmVSZWNvcmRzUmVmLmN1cnJlbnQgPSBuZXh0Q2FjaGU7XG4gICAgfSwgW21lcmdlZFNlbGVjdGVkUm93S2V5cywgcm93U2VsZWN0aW9uID09PSBudWxsIHx8IHJvd1NlbGVjdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm93U2VsZWN0aW9uLnByZXNlcnZlU2VsZWN0ZWRSb3dLZXlzLCBnZXRSZWNvcmRCeUtleV0pO1xuICAgIGNvbnN0IGNoZWNrYm94UHJvcHNNYXAgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgY29uc3QgbWFwID0gbmV3IE1hcCgpO1xuICAgICAgICBpZiAoIShyb3dTZWxlY3Rpb24gPT09IG51bGwgfHwgcm93U2VsZWN0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiByb3dTZWxlY3Rpb24uZ2V0Q2hlY2tib3hQcm9wcykpXG4gICAgICAgICAgICByZXR1cm4gbWFwO1xuICAgICAgICBjdXJyZW50RGF0YVNvdXJjZS5mb3JFYWNoKChyZWNvcmQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBnZXRSb3dLZXkocmVjb3JkLCBpbmRleCk7XG4gICAgICAgICAgICBtYXAuc2V0KGtleSwgcm93U2VsZWN0aW9uLmdldENoZWNrYm94UHJvcHMocmVjb3JkKSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbWFwO1xuICAgIH0sIFtjdXJyZW50RGF0YVNvdXJjZSwgZ2V0Um93S2V5LCByb3dTZWxlY3Rpb24gPT09IG51bGwgfHwgcm93U2VsZWN0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiByb3dTZWxlY3Rpb24uZ2V0Q2hlY2tib3hQcm9wc10pO1xuICAgIGNvbnN0IHNlbGVjdGFibGVLZXlzID0gdXNlTWVtbygoKSA9PiBjdXJyZW50RGF0YVNvdXJjZVxuICAgICAgICAubWFwKChyZWNvcmQsIGluZGV4KSA9PiBnZXRSb3dLZXkocmVjb3JkLCBpbmRleCkpXG4gICAgICAgIC5maWx0ZXIoKGtleSkgPT4geyB2YXIgX2E7IHJldHVybiAhKChfYSA9IGNoZWNrYm94UHJvcHNNYXAuZ2V0KGtleSkpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5kaXNhYmxlZCk7IH0pLCBbY3VycmVudERhdGFTb3VyY2UsIGdldFJvd0tleSwgY2hlY2tib3hQcm9wc01hcF0pO1xuICAgIGNvbnN0IHNlbGVjdGVkU2VsZWN0YWJsZUtleXMgPSB1c2VNZW1vKCgpID0+IHNlbGVjdGFibGVLZXlzLmZpbHRlcigoa2V5KSA9PiBtZXJnZWRTZWxlY3RlZFJvd0tleXMuaW5jbHVkZXMoa2V5KSksIFtzZWxlY3RhYmxlS2V5cywgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzXSk7XG4gICAgY29uc3QgaXNBbGxTZWxlY3RlZCA9IHNlbGVjdGFibGVLZXlzLmxlbmd0aCA+IDAgJiYgc2VsZWN0ZWRTZWxlY3RhYmxlS2V5cy5sZW5ndGggPT09IHNlbGVjdGFibGVLZXlzLmxlbmd0aDtcbiAgICBjb25zdCBpc0luZGV0ZXJtaW5hdGUgPSBzZWxlY3RlZFNlbGVjdGFibGVLZXlzLmxlbmd0aCA+IDAgJiYgIWlzQWxsU2VsZWN0ZWQ7XG4gICAgY29uc3QgcmVzb2x2ZVJlY29yZHMgPSB1c2VNZW1vaXplZEZuKChrZXlzKSA9PiB7XG4gICAgICAgIGlmIChyb3dTZWxlY3Rpb24gPT09IG51bGwgfHwgcm93U2VsZWN0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiByb3dTZWxlY3Rpb24ucHJlc2VydmVTZWxlY3RlZFJvd0tleXMpIHtcbiAgICAgICAgICAgIHJldHVybiBrZXlzXG4gICAgICAgICAgICAgICAgLm1hcCgoa2V5KSA9PiBnZXRSZWNvcmRCeUtleShrZXkpKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoKHJlY29yZCkgPT4gcmVjb3JkICE9PSB1bmRlZmluZWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjdXJyZW50RGF0YVNvdXJjZS5maWx0ZXIoKHJlY29yZCwgaW5kZXgpID0+IGtleXMuaW5jbHVkZXMoZ2V0Um93S2V5KHJlY29yZCwgaW5kZXgpKSk7XG4gICAgfSk7XG4gICAgY29uc3QgdHJpZ2dlclNlbGVjdGlvbiA9IHVzZU1lbW9pemVkRm4oKHJlY29yZEtleSkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBjb25zdCBzZWxlY3Rpb25UeXBlID0gKF9hID0gcm93U2VsZWN0aW9uID09PSBudWxsIHx8IHJvd1NlbGVjdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm93U2VsZWN0aW9uLnR5cGUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICdjaGVja2JveCc7XG4gICAgICAgIGNvbnN0IG5leHRLZXlzID0gc2VsZWN0aW9uVHlwZSA9PT0gJ3JhZGlvJ1xuICAgICAgICAgICAgPyBbcmVjb3JkS2V5XVxuICAgICAgICAgICAgOiBtZXJnZWRTZWxlY3RlZFJvd0tleXMuaW5jbHVkZXMocmVjb3JkS2V5KVxuICAgICAgICAgICAgICAgID8gbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLmZpbHRlcihrZXkgPT4ga2V5ICE9PSByZWNvcmRLZXkpXG4gICAgICAgICAgICAgICAgOiBbLi4ubWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLCByZWNvcmRLZXldO1xuICAgICAgICBzZXRNZXJnZWRTZWxlY3RlZFJvd0tleXMobmV4dEtleXMpO1xuICAgICAgICAoX2IgPSByb3dTZWxlY3Rpb24gPT09IG51bGwgfHwgcm93U2VsZWN0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiByb3dTZWxlY3Rpb24ub25DaGFuZ2UpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKHJvd1NlbGVjdGlvbiwgbmV4dEtleXMsIHJlc29sdmVSZWNvcmRzKG5leHRLZXlzKSwgeyB0eXBlOiAnc2luZ2xlJyB9KTtcbiAgICB9KTtcbiAgICBjb25zdCB0cmlnZ2VyU2VsZWN0QWxsID0gdXNlTWVtb2l6ZWRGbigoKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgbGV0IG5leHRLZXlzO1xuICAgICAgICBsZXQgbWV0aG9kO1xuICAgICAgICBpZiAoaXNBbGxTZWxlY3RlZCkge1xuICAgICAgICAgICAgbmV4dEtleXMgPSBtZXJnZWRTZWxlY3RlZFJvd0tleXMuZmlsdGVyKChrZXkpID0+IHsgdmFyIF9hOyByZXR1cm4gKF9hID0gY2hlY2tib3hQcm9wc01hcC5nZXQoa2V5KSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc2FibGVkOyB9KTtcbiAgICAgICAgICAgIG1ldGhvZCA9ICdub25lJztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGRpc2FibGVkU2VsZWN0ZWQgPSBtZXJnZWRTZWxlY3RlZFJvd0tleXMuZmlsdGVyKChrZXkpID0+IHsgdmFyIF9hOyByZXR1cm4gKF9hID0gY2hlY2tib3hQcm9wc01hcC5nZXQoa2V5KSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc2FibGVkOyB9KTtcbiAgICAgICAgICAgIG5leHRLZXlzID0gWy4uLmRpc2FibGVkU2VsZWN0ZWQsIC4uLnNlbGVjdGFibGVLZXlzXTtcbiAgICAgICAgICAgIG1ldGhvZCA9ICdhbGwnO1xuICAgICAgICB9XG4gICAgICAgIHNldE1lcmdlZFNlbGVjdGVkUm93S2V5cyhuZXh0S2V5cyk7XG4gICAgICAgIChfYSA9IHJvd1NlbGVjdGlvbiA9PT0gbnVsbCB8fCByb3dTZWxlY3Rpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJvd1NlbGVjdGlvbi5vbkNoYW5nZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwocm93U2VsZWN0aW9uLCBuZXh0S2V5cywgcmVzb2x2ZVJlY29yZHMobmV4dEtleXMpLCB7IHR5cGU6IG1ldGhvZCB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgICBtZXJnZWRTZWxlY3RlZFJvd0tleXMsXG4gICAgICAgIGNoZWNrYm94UHJvcHNNYXAsXG4gICAgICAgIGlzQWxsU2VsZWN0ZWQsXG4gICAgICAgIGlzSW5kZXRlcm1pbmF0ZSxcbiAgICAgICAgdHJpZ2dlclNlbGVjdGlvbixcbiAgICAgICAgdHJpZ2dlclNlbGVjdEFsbCxcbiAgICB9O1xufTsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
151
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvc3JjL2NvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZVNlbGVjdGlvbi50cyIsImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZVNlbGVjdGlvbi5qcyJdLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX2hvb2tzIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJyIiwiZSIsInQiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsImxlbmd0aCIsIl9uIiwiRiIsInMiLCJuIiwiZG9uZSIsInZhbHVlIiwiZiIsIlR5cGVFcnJvciIsIm8iLCJhIiwidSIsImNhbGwiLCJuZXh0IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJ1c2VUYWJsZVNlbGVjdGlvbiIsImV4cG9ydHMiLCJfcmVmIiwicm93U2VsZWN0aW9uIiwiZGF0YVNvdXJjZSIsImN1cnJlbnREYXRhU291cmNlIiwiZ2V0Um93S2V5IiwiX2EiLCJfdXNlQ29udHJvbGxlZFN0YXRlIiwidXNlQ29udHJvbGxlZFN0YXRlIiwiZGVmYXVsdFNlbGVjdGVkUm93S2V5cyIsInNlbGVjdGVkUm93S2V5cyIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwibWVyZ2VkU2VsZWN0ZWRSb3dLZXlzIiwic2V0TWVyZ2VkU2VsZWN0ZWRSb3dLZXlzIiwia3ZNYXBSZWYiLCJ1c2VSZWYiLCJkYXRhIiwibWFwIiwiTWFwIiwiZ2V0S3ZNYXAiLCJ1c2VNZW1vaXplZEZuIiwiY3VycmVudCIsImkiLCJzZXQiLCJwcmVzZXJ2ZVJlY29yZHNSZWYiLCJnZXRSZWNvcmRCeUtleSIsImtleSIsImdldCIsInVzZUVmZmVjdCIsInByZXNlcnZlU2VsZWN0ZWRSb3dLZXlzIiwibmV4dENhY2hlIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJyZWNvcmQiLCJ1bmRlZmluZWQiLCJoYXMiLCJlcnIiLCJjaGVja2JveFByb3BzTWFwIiwidXNlTWVtbyIsImdldENoZWNrYm94UHJvcHMiLCJmb3JFYWNoIiwiaW5kZXgiLCJzZWxlY3RhYmxlS2V5cyIsImZpbHRlciIsImRpc2FibGVkIiwic2VsZWN0ZWRTZWxlY3RhYmxlS2V5cyIsImluY2x1ZGVzIiwiaXNBbGxTZWxlY3RlZCIsImlzSW5kZXRlcm1pbmF0ZSIsInJlc29sdmVSZWNvcmRzIiwia2V5cyIsInRyaWdnZXJTZWxlY3Rpb24iLCJyZWNvcmRLZXkiLCJfYiIsInNlbGVjdGlvblR5cGUiLCJ0eXBlIiwibmV4dEtleXMiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwib25DaGFuZ2UiLCJ0cmlnZ2VyU2VsZWN0QWxsIiwibWV0aG9kIiwiZGlzYWJsZWRTZWxlY3RlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQWtFLFNBQUFFLDJCQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSx5QkFBQUMsTUFBQSxJQUFBSCxDQUFBLENBQUFHLE1BQUEsQ0FBQUMsUUFBQSxLQUFBSixDQUFBLHFCQUFBRSxDQUFBLFFBQUFHLEtBQUEsQ0FBQUMsT0FBQSxDQUFBTixDQUFBLE1BQUFFLENBQUEsR0FBQUssMkJBQUEsQ0FBQVAsQ0FBQSxNQUFBQyxDQUFBLElBQUFELENBQUEsdUJBQUFBLENBQUEsQ0FBQVEsTUFBQSxJQUFBTixDQUFBLEtBQUFGLENBQUEsR0FBQUUsQ0FBQSxPQUFBTyxFQUFBLE1BQUFDLENBQUEsWUFBQUEsRUFBQSxlQUFBQyxDQUFBLEVBQUFELENBQUEsRUFBQUUsQ0FBQSxXQUFBQSxFQUFBLFdBQUFILEVBQUEsSUFBQVQsQ0FBQSxDQUFBUSxNQUFBLEtBQUFLLElBQUEsV0FBQUEsSUFBQSxNQUFBQyxLQUFBLEVBQUFkLENB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QUNoRixDQUFDLENBQUM7RUFFRixPQUFPO0lBQ0xqRCxxQkFBcUIsRUFBckJBLHFCQUFxQjtJQUNyQnlCLGdCQUFnQixFQUFoQkEsZ0JBQWdCO0lBQ2hCVSxhQUFhLEVBQWJBLGFBQWE7SUFDYkMsZUFBZSxFQUFmQSxlQUFlO0lBQ2ZHLGdCQUFnQixFQUFoQkEsZ0JBQWdCO0lBQ2hCUyxnQkFBZ0IsRUFBaEJBO0VDaENBLENEaUNEO0FBQ0gsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1RhYmxlL2NvcmUvdXNlVGFibGVTZWxlY3Rpb24uanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxlZFN0YXRlLCB1c2VNZW1vaXplZEZuIH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5leHBvcnQgY29uc3QgdXNlVGFibGVTZWxlY3Rpb24gPSAoeyByb3dTZWxlY3Rpb24sIGRhdGFTb3VyY2UsIGN1cnJlbnREYXRhU291cmNlLCBnZXRSb3dLZXksIH0pID0+IHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgW21lcmdlZFNlbGVjdGVkUm93S2V5cywgc2V0TWVyZ2VkU2VsZWN0ZWRSb3dLZXlzXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZSgoX2EgPSByb3dTZWxlY3Rpb24gPT09IG51bGwgfHwgcm93U2VsZWN0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiByb3dTZWxlY3Rpb24uZGVmYXVsdFNlbGVjdGVkUm93S2V5cykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogW10sIHJvd1NlbGVjdGlvbiA9PT0gbnVsbCB8fCByb3dTZWxlY3Rpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJvd1NlbGVjdGlvbi5zZWxlY3RlZFJvd0tleXMpO1xuICAgIC8vIExhenkga2V54oaScmVjb3JkIG1hcCwgcmVidWlsdCB3aGVuIGRhdGFTb3VyY2UgcmVmZXJlbmNlIGNoYW5nZXNcbiAgICBjb25zdCBrdk1hcFJlZiA9IHVzZVJlZih7IGRhdGE6IFtdLCBtYXA6IG5ldyBNYXAoKSB9KTtcbiAgICBjb25zdCBnZXRLdk1hcCA9IHVzZU1lbW9pemVkRm4oKCkgPT4ge1xuICAgICAgICBpZiAoa3ZNYXBSZWYuY3VycmVudC5kYXRhICE9PSBkYXRhU291cmNlKSB7XG4gICAgICAgICAgICBjb25zdCBtYXAgPSBuZXcgTWFwKCk7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFTb3VyY2UubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBtYXAuc2V0KGdldFJvd0tleShkYXRhU291cmNlW2ldLCBpKSwgZGF0YVNvdXJjZVtpXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBrdk1hcFJlZi5jdXJyZW50ID0geyBkYXRhOiBkYXRhU291cmNlLCBtYXAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ga3ZNYXBSZWYuY3VycmVudC5tYXA7XG4gICAgfSk7XG4gICAgLy8gQ2FjaGUgZm9yIHByZXNlcnZlU2VsZWN0ZWRSb3dLZXlzOiBzdG9yZXMga2V54oaScmVjb3JkIGV2ZW4gYWNyb3NzIHBhZ2luYXRpb25cbiAgICBjb25zdCBwcmVzZXJ2ZVJlY29yZHNSZWYgPSB1c2VSZWYobmV3IE1hcCgpKTtcbiAgICBjb25zdCBnZXRSZWNvcmRCeUtleSA9IHVzZU1lbW9pemVkRm4oKGtleSkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHJldHVybiAoX2EgPSBnZXRLdk1hcCgpLmdldChrZXkpKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBwcmVzZXJ2ZVJlY29yZHNSZWYuY3VycmVudC5nZXQoa2V5KTtcbiAgICB9KTtcbiAgICAvLyBVcGRhdGUgY2FjaGUgd2hlbiBzZWxlY3RlZCBrZXlzIGNoYW5nZVxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghKHJvd1NlbGVjdGlvbiA9PT0gbnVsbCB8fCByb3dTZWxlY3Rpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJvd1NlbGVjdGlvbi5wcmVzZXJ2ZVNlbGVjdGVkUm93S2V5cykpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IG5leHRDYWNoZSA9IG5ldyBNYXAoKTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzKSB7XG4gICAgICAgICAgICBjb25zdCByZWNvcmQgPSBnZXRSZWNvcmRCeUtleShrZXkpO1xuICAgICAgICAgICAgaWYgKHJlY29yZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgbmV4dENhY2hlLnNldChrZXksIHJlY29yZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChwcmVzZXJ2ZVJlY29yZHNSZWYuY3VycmVudC5oYXMoa2V5KSkge1xuICAgICAgICAgICAgICAgIG5leHRDYWNoZS5zZXQoa2V5LCBwcmVzZXJ2ZVJlY29yZHNSZWYuY3VycmVudC5nZXQoa2V5KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHJlc2VydmVSZWNvcmRzUmVmLmN1cnJlbnQgPSBuZXh0Q2FjaGU7XG4gICAgfSwgW21lcmdlZFNlbGVjdGVkUm93S2V5cywgcm93U2VsZWN0aW9uID09PSBudWxsIHx8IHJvd1NlbGVjdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm93U2VsZWN0aW9uLnByZXNlcnZlU2VsZWN0ZWRSb3dLZXlzLCBnZXRSZWNvcmRCeUtleV0pO1xuICAgIGNvbnN0IGNoZWNrYm94UHJvcHNNYXAgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgY29uc3QgbWFwID0gbmV3IE1hcCgpO1xuICAgICAgICBpZiAoIShyb3dTZWxlY3Rpb24gPT09IG51bGwgfHwgcm93U2VsZWN0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiByb3dTZWxlY3Rpb24uZ2V0Q2hlY2tib3hQcm9wcykpXG4gICAgICAgICAgICByZXR1cm4gbWFwO1xuICAgICAgICBjdXJyZW50RGF0YVNvdXJjZS5mb3JFYWNoKChyZWNvcmQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBnZXRSb3dLZXkocmVjb3JkLCBpbmRleCk7XG4gICAgICAgICAgICBtYXAuc2V0KGtleSwgcm93U2VsZWN0aW9uLmdldENoZWNrYm94UHJvcHMocmVjb3JkKSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbWFwO1xuICAgIH0sIFtjdXJyZW50RGF0YVNvdXJjZSwgZ2V0Um93S2V5LCByb3dTZWxlY3Rpb24gPT09IG51bGwgfHwgcm93U2VsZWN0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiByb3dTZWxlY3Rpb24uZ2V0Q2hlY2tib3hQcm9wc10pO1xuICAgIGNvbnN0IHNlbGVjdGFibGVLZXlzID0gdXNlTWVtbygoKSA9PiBjdXJyZW50RGF0YVNvdXJjZVxuICAgICAgICAubWFwKChyZWNvcmQsIGluZGV4KSA9PiBnZXRSb3dLZXkocmVjb3JkLCBpbmRleCkpXG4gICAgICAgIC5maWx0ZXIoKGtleSkgPT4geyB2YXIgX2E7IHJldHVybiAhKChfYSA9IGNoZWNrYm94UHJvcHNNYXAuZ2V0KGtleSkpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5kaXNhYmxlZCk7IH0pLCBbY3VycmVudERhdGFTb3VyY2UsIGdldFJvd0tleSwgY2hlY2tib3hQcm9wc01hcF0pO1xuICAgIGNvbnN0IHNlbGVjdGVkU2VsZWN0YWJsZUtleXMgPSB1c2VNZW1vKCgpID0+IHNlbGVjdGFibGVLZXlzLmZpbHRlcigoa2V5KSA9PiBtZXJnZWRTZWxlY3RlZFJvd0tleXMuaW5jbHVkZXMoa2V5KSksIFtzZWxlY3RhYmxlS2V5cywgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzXSk7XG4gICAgY29uc3QgaXNBbGxTZWxlY3RlZCA9IHNlbGVjdGFibGVLZXlzLmxlbmd0aCA+IDAgJiYgc2VsZWN0ZWRTZWxlY3RhYmxlS2V5cy5sZW5ndGggPT09IHNlbGVjdGFibGVLZXlzLmxlbmd0aDtcbiAgICBjb25zdCBpc0luZGV0ZXJtaW5hdGUgPSBzZWxlY3RlZFNlbGVjdGFibGVLZXlzLmxlbmd0aCA+IDAgJiYgIWlzQWxsU2VsZWN0ZWQ7XG4gICAgY29uc3QgcmVzb2x2ZVJlY29yZHMgPSB1c2VNZW1vaXplZEZuKChrZXlzKSA9PiB7XG4gICAgICAgIGlmIChyb3dTZWxlY3Rpb24gPT09IG51bGwgfHwgcm93U2VsZWN0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiByb3dTZWxlY3Rpb24ucHJlc2VydmVTZWxlY3RlZFJvd0tleXMpIHtcbiAgICAgICAgICAgIHJldHVybiBrZXlzXG4gICAgICAgICAgICAgICAgLm1hcCgoa2V5KSA9PiBnZXRSZWNvcmRCeUtleShrZXkpKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoKHJlY29yZCkgPT4gcmVjb3JkICE9PSB1bmRlZmluZWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjdXJyZW50RGF0YVNvdXJjZS5maWx0ZXIoKHJlY29yZCwgaW5kZXgpID0+IGtleXMuaW5jbHVkZXMoZ2V0Um93S2V5KHJlY29yZCwgaW5kZXgpKSk7XG4gICAgfSk7XG4gICAgY29uc3QgdHJpZ2dlclNlbGVjdGlvbiA9IHVzZU1lbW9pemVkRm4oKHJlY29yZEtleSkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBjb25zdCBzZWxlY3Rpb25UeXBlID0gKF9hID0gcm93U2VsZWN0aW9uID09PSBudWxsIHx8IHJvd1NlbGVjdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm93U2VsZWN0aW9uLnR5cGUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICdjaGVja2JveCc7XG4gICAgICAgIGNvbnN0IG5leHRLZXlzID0gc2VsZWN0aW9uVHlwZSA9PT0gJ3JhZGlvJ1xuICAgICAgICAgICAgPyBbcmVjb3JkS2V5XVxuICAgICAgICAgICAgOiBtZXJnZWRTZWxlY3RlZFJvd0tleXMuaW5jbHVkZXMocmVjb3JkS2V5KVxuICAgICAgICAgICAgICAgID8gbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLmZpbHRlcihrZXkgPT4ga2V5ICE9PSByZWNvcmRLZXkpXG4gICAgICAgICAgICAgICAgOiBbLi4ubWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLCByZWNvcmRLZXldO1xuICAgICAgICBzZXRNZXJnZWRTZWxlY3RlZFJvd0tleXMobmV4dEtleXMpO1xuICAgICAgICAoX2IgPSByb3dTZWxlY3Rpb24gPT09IG51bGwgfHwgcm93U2VsZWN0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiByb3dTZWxlY3Rpb24ub25DaGFuZ2UpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKHJvd1NlbGVjdGlvbiwgbmV4dEtleXMsIHJlc29sdmVSZWNvcmRzKG5leHRLZXlzKSwgeyB0eXBlOiAnc2luZ2xlJyB9KTtcbiAgICB9KTtcbiAgICBjb25zdCB0cmlnZ2VyU2VsZWN0QWxsID0gdXNlTWVtb2l6ZWRGbigoKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgbGV0IG5leHRLZXlzO1xuICAgICAgICBsZXQgbWV0aG9kO1xuICAgICAgICBpZiAoaXNBbGxTZWxlY3RlZCkge1xuICAgICAgICAgICAgbmV4dEtleXMgPSBtZXJnZWRTZWxlY3RlZFJvd0tleXMuZmlsdGVyKChrZXkpID0+IHsgdmFyIF9hOyByZXR1cm4gKF9hID0gY2hlY2tib3hQcm9wc01hcC5nZXQoa2V5KSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc2FibGVkOyB9KTtcbiAgICAgICAgICAgIG1ldGhvZCA9ICdub25lJztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGRpc2FibGVkU2VsZWN0ZWQgPSBtZXJnZWRTZWxlY3RlZFJvd0tleXMuZmlsdGVyKChrZXkpID0+IHsgdmFyIF9hOyByZXR1cm4gKF9hID0gY2hlY2tib3hQcm9wc01hcC5nZXQoa2V5KSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc2FibGVkOyB9KTtcbiAgICAgICAgICAgIG5leHRLZXlzID0gWy4uLmRpc2FibGVkU2VsZWN0ZWQsIC4uLnNlbGVjdGFibGVLZXlzXTtcbiAgICAgICAgICAgIG1ldGhvZCA9ICdhbGwnO1xuICAgICAgICB9XG4gICAgICAgIHNldE1lcmdlZFNlbGVjdGVkUm93S2V5cyhuZXh0S2V5cyk7XG4gICAgICAgIChfYSA9IHJvd1NlbGVjdGlvbiA9PT0gbnVsbCB8fCByb3dTZWxlY3Rpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJvd1NlbGVjdGlvbi5vbkNoYW5nZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwocm93U2VsZWN0aW9uLCBuZXh0S2V5cywgcmVzb2x2ZVJlY29yZHMobmV4dEtleXMpLCB7IHR5cGU6IG1ldGhvZCB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgICBtZXJnZWRTZWxlY3RlZFJvd0tleXMsXG4gICAgICAgIGNoZWNrYm94UHJvcHNNYXAsXG4gICAgICAgIGlzQWxsU2VsZWN0ZWQsXG4gICAgICAgIGlzSW5kZXRlcm1pbmF0ZSxcbiAgICAgICAgdHJpZ2dlclNlbGVjdGlvbixcbiAgICAgICAgdHJpZ2dlclNlbGVjdEFsbCxcbiAgICB9O1xufTsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1,42 @@
1
+ import { type HTMLAttributes, type Key, type ReactNode } from 'react';
2
+ import type { TableComponents, TableDirection, TableGetComponentProps, TableLayout, TableProps, TableRecord, TableRowClassName } from '../interface';
3
+ import type { ColumnsType as InternalColumnsType, ExpandableConfig } from '../internal/kernel/interface';
4
+ /** Kernel props that flow identically through `Table` and `VirtualTable`. */
5
+ export interface ForwardedKernelProps<T extends TableRecord> {
6
+ rowKey: string | ((record: T) => Key);
7
+ childrenColumnName?: string;
8
+ indentSize?: number;
9
+ onRow?: TableGetComponentProps<T>;
10
+ rowClassName?: TableRowClassName<T>;
11
+ summary?: (data: readonly T[]) => ReactNode;
12
+ showHeader?: boolean;
13
+ tableLayout?: TableLayout;
14
+ components?: TableComponents<T>;
15
+ direction?: TableDirection;
16
+ rowHoverable?: boolean;
17
+ sticky?: TableProps<T>['sticky'];
18
+ }
19
+ export interface TableSetupResult<T extends TableRecord> {
20
+ prefixCls: string;
21
+ wrapperClassName: string;
22
+ tableClassName: string;
23
+ loading: boolean;
24
+ renderedColumns: InternalColumnsType<T>;
25
+ currentDataSource: T[];
26
+ mergedExpandable: ExpandableConfig<T> | undefined;
27
+ emptyText: ReactNode;
28
+ /** HTML attributes that didn't map to a known TableProps field. Land on the wrapper div. */
29
+ wrapperHtmlProps: HTMLAttributes<HTMLDivElement>;
30
+ forwardedKernelProps: ForwardedKernelProps<T>;
31
+ paginationNode: ReactNode;
32
+ }
33
+ /**
34
+ * Centralises the wiring shared by `Table` and `VirtualTable`:
35
+ * - destructure props
36
+ * - resolve row key
37
+ * - run pipeline / selection / expand / column transforms
38
+ * - build kernel-ready props
39
+ * - split off pass-through HTML attributes so they can land on the outer wrapper
40
+ * div (instead of being spread untyped into the kernel via `rest as object`).
41
+ */
42
+ export declare const useTableSetup: <T extends TableRecord>(props: TableProps<T>) => TableSetupResult<T>;
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useTableSetup = void 0;
8
+ var _jsxRuntime = require("react/jsx-runtime");
9
+ var _react = require("react");
10
+ var _hooks = require("@1money/hooks");
11
+ var _classnames = _interopRequireWildcard(require("../../../utils/classnames"));
12
+ var _Pagination = require("../../Pagination");
13
+ var _ExpandedRowContainer = require("../renderers/ExpandedRowContainer");
14
+ var _EmptyState = require("../renderers/EmptyState");
15
+ var _constants = require("../constants");
16
+ var _useTableDataPipeline = require("./useTableDataPipeline");
17
+ var _useTableSelection = require("./useTableSelection");
18
+ var _useTableExpand = require("./useTableExpand");
19
+ var _useTableColumns = require("./useTableColumns");
20
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
21
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
22
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
23
+ var t = {};
24
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
25
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
26
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
27
+ }
28
+ return t;
29
+ };
30
+ /**
31
+ * Centralises the wiring shared by `Table` and `VirtualTable`:
32
+ * - destructure props
33
+ * - resolve row key
34
+ * - run pipeline / selection / expand / column transforms
35
+ * - build kernel-ready props
36
+ * - split off pass-through HTML attributes so they can land on the outer wrapper
37
+ * div (instead of being spread untyped into the kernel via `rest as object`).
38
+ */
39
+ var useTableSetup = exports.useTableSetup = function useTableSetup(props) {
40
+ var _a;
41
+ var _props$className = props.className,
42
+ className = _props$className === void 0 ? '' : _props$className,
43
+ _props$prefixCls = props.prefixCls,
44
+ prefixCls = _props$prefixCls === void 0 ? _constants.TABLE_DEFAULT_PREFIX : _props$prefixCls,
45
+ _props$size = props.size,
46
+ size = _props$size === void 0 ? _constants.TABLE_DEFAULT_SIZE : _props$size,
47
+ _props$variant = props.variant,
48
+ variant = _props$variant === void 0 ? _constants.TABLE_DEFAULT_VARIANT : _props$variant,
49
+ columns = props.columns,
50
+ dataSource = props.dataSource,
51
+ rowKey = props.rowKey,
52
+ empty = props.empty,
53
+ bordered = props.bordered,
54
+ _scroll = props.scroll,
55
+ sticky = props.sticky,
56
+ pagination = props.pagination,
57
+ rowSelection = props.rowSelection,
58
+ _props$loading = props.loading,
59
+ loading = _props$loading === void 0 ? false : _props$loading,
60
+ onChange = props.onChange,
61
+ childrenColumnName = props.childrenColumnName,
62
+ indentSize = props.indentSize,
63
+ expandable = props.expandable,
64
+ onRow = props.onRow,
65
+ rowClassName = props.rowClassName,
66
+ summary = props.summary,
67
+ showHeader = props.showHeader,
68
+ tableLayout = props.tableLayout,
69
+ components = props.components,
70
+ direction = props.direction,
71
+ rowHoverable = props.rowHoverable,
72
+ rest = __rest(props, ["className", "prefixCls", "size", "variant", "columns", "dataSource", "rowKey", "empty", "bordered", "scroll", "sticky", "pagination", "rowSelection", "loading", "onChange", "childrenColumnName", "indentSize", "expandable", "onRow", "rowClassName", "summary", "showHeader", "tableLayout", "components", "direction", "rowHoverable"]);
73
+ void _scroll;
74
+ var cls = (0, _classnames["default"])(_constants.TABLE_BLOCK);
75
+ var getRowKey = (0, _hooks.useMemoizedFn)(function (record, index) {
76
+ var _a;
77
+ return typeof rowKey === 'function' ? rowKey(record) : (_a = record[rowKey !== null && rowKey !== void 0 ? rowKey : 'key']) !== null && _a !== void 0 ? _a : index;
78
+ });
79
+ var pipeline = (0, _useTableDataPipeline.useTableDataPipeline)({
80
+ columns: columns,
81
+ dataSource: dataSource,
82
+ pagination: pagination,
83
+ onChange: onChange
84
+ });
85
+ var selection = (0, _useTableSelection.useTableSelection)({
86
+ rowSelection: rowSelection,
87
+ dataSource: dataSource,
88
+ currentDataSource: pipeline.currentDataSource,
89
+ getRowKey: getRowKey
90
+ });
91
+ var expand = (0, _useTableExpand.useTableExpand)({
92
+ expandable: expandable,
93
+ dataSource: dataSource,
94
+ getRowKey: getRowKey
95
+ });
96
+ var renderedColumns = (0, _useTableColumns.useTableColumns)({
97
+ columns: columns,
98
+ size: size,
99
+ variant: variant,
100
+ expandable: expandable,
101
+ mergedExpandedRowKeys: expand.mergedExpandedRowKeys,
102
+ triggerExpand: expand.triggerExpand,
103
+ rowSelection: rowSelection,
104
+ mergedSelectedRowKeys: selection.mergedSelectedRowKeys,
105
+ checkboxPropsMap: selection.checkboxPropsMap,
106
+ isAllSelected: selection.isAllSelected,
107
+ isIndeterminate: selection.isIndeterminate,
108
+ triggerSelection: selection.triggerSelection,
109
+ triggerSelectAll: selection.triggerSelectAll,
110
+ sorter: pipeline.sorter,
111
+ setSorter: pipeline.setSorter,
112
+ filters: pipeline.filters,
113
+ setFilters: pipeline.setFilters,
114
+ getRowKey: getRowKey
115
+ });
116
+ // Dev-only warning: mixing row-expansion with tree-data (childrenColumnName)
117
+ // produces two chevrons per row (the leftmost __expand__ column from the wrapper
118
+ // plus the kernel's per-indent nest expand). rc-table / antd have the same gap;
119
+ // pick one mode at a time.
120
+ // eslint-disable-next-line no-undef
121
+ if (typeof process !== 'undefined' && ((_a = process.env) === null || _a === void 0 ? void 0 : _a.NODE_ENV) !== 'production') {
122
+ if ((expandable === null || expandable === void 0 ? void 0 : expandable.expandedRowRender) && childrenColumnName !== undefined) {
123
+ console.warn('[components-ui Table] Combining `expandable.expandedRowRender` with `childrenColumnName` is not supported — the leftmost expand column will render alongside the nested tree expander. Use one mode at a time.');
124
+ }
125
+ }
126
+ var wrappedExpandedRowRender = (0, _hooks.useMemoizedFn)(function (record, index, indent, expanded) {
127
+ var _a;
128
+ // Honor `rowExpandable`: even if a non-expandable row's key sneaks into
129
+ // `expandedRowKeys`, refuse to render its expansion content.
130
+ if ((expandable === null || expandable === void 0 ? void 0 : expandable.rowExpandable) && !expandable.rowExpandable(record)) return null;
131
+ return (0, _jsxRuntime.jsx)(_ExpandedRowContainer.ExpandedRowContainer, {
132
+ children: (_a = expandable === null || expandable === void 0 ? void 0 : expandable.expandedRowRender) === null || _a === void 0 ? void 0 : _a.call(expandable, record, index, indent, expanded)
133
+ });
134
+ });
135
+ // Wire kernel's onExpand (triggered by expandRowByClick) to our state.
136
+ var kernelOnExpand = (0, _hooks.useMemoizedFn)(function (expanded, record) {
137
+ // The kernel passes a record from `currentDataSource` (post sort/filter/paginate).
138
+ // Looking it up against the raw `dataSource` returns -1 when the consumer
139
+ // recreates the array each render, or a positionally wrong index after sort.
140
+ // Use `currentDataSource` so the index matches what the kernel actually sees.
141
+ var recordKey = getRowKey(record, pipeline.currentDataSource.indexOf(record));
142
+ expand.onKernelExpand(expanded, record, recordKey);
143
+ });
144
+ var mergedExpandable = (0, _react.useMemo)(function () {
145
+ return expandable ? Object.assign(Object.assign({}, expandable), {
146
+ expandedRowKeys: expand.mergedExpandedRowKeys,
147
+ expandedRowRender: expandable.expandedRowRender ? wrappedExpandedRowRender : undefined,
148
+ showExpandColumn: false,
149
+ onExpand: kernelOnExpand
150
+ }) : undefined;
151
+ }, [expandable, expand.mergedExpandedRowKeys, wrappedExpandedRowRender, kernelOnExpand]);
152
+ var resolvedPagination = pipeline.pagination === false ? {
153
+ current: 1,
154
+ pageSize: 10
155
+ } : pipeline.pagination;
156
+ var paginationNode = pagination !== false ? (0, _jsxRuntime.jsx)("div", {
157
+ className: "".concat(prefixCls, "-pagination"),
158
+ children: (0, _jsxRuntime.jsx)(_Pagination.Pagination, {
159
+ total: pipeline.total,
160
+ pageSize: resolvedPagination.pageSize,
161
+ current: resolvedPagination.current,
162
+ onChange: function onChange(nextPage, nextPageSize) {
163
+ return pipeline.setPagination(function (currentPagination) {
164
+ return Object.assign(Object.assign({}, currentPagination), {
165
+ current: nextPage,
166
+ pageSize: nextPageSize
167
+ });
168
+ });
169
+ }
170
+ })
171
+ }) : null;
172
+ var wrapperClassName = (0, _classnames.joinCls)("".concat(prefixCls, "-wrapper"), loading && "".concat(prefixCls, "-wrapper--loading"), bordered && "".concat(prefixCls, "-wrapper--bordered"));
173
+ var tableClassName = (0, _classnames.joinCls)(cls(), cls(size), cls(variant), className);
174
+ var emptyText = loading && !dataSource.length ? (0, _jsxRuntime.jsx)("span", {}) : (0, _jsxRuntime.jsx)(_EmptyState.TableEmptyState, {
175
+ empty: empty
176
+ });
177
+ return {
178
+ prefixCls: prefixCls,
179
+ wrapperClassName: wrapperClassName,
180
+ tableClassName: tableClassName,
181
+ loading: loading,
182
+ renderedColumns: renderedColumns,
183
+ currentDataSource: pipeline.currentDataSource,
184
+ mergedExpandable: mergedExpandable,
185
+ emptyText: emptyText,
186
+ wrapperHtmlProps: rest,
187
+ forwardedKernelProps: {
188
+ rowKey: rowKey,
189
+ childrenColumnName: childrenColumnName,
190
+ indentSize: indentSize,
191
+ onRow: onRow,
192
+ rowClassName: rowClassName,
193
+ summary: summary,
194
+ showHeader: showHeader,
195
+ tableLayout: tableLayout,
196
+ components: components,
197
+ direction: direction,
198
+ rowHoverable: rowHoverable,
199
+ sticky: sticky
200
+ },
201
+ paginationNode: paginationNode
202
+ };
203
+ };
204
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZVNldHVwLmpzIiwiY29tcG9uZW50cy9UYWJsZS9zcmMvY29tcG9uZW50cy9UYWJsZS9jb3JlL3VzZVRhYmxlU2V0dXAudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9ob29rcyIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfUGFnaW5hdGlvbiIsIl9FeHBhbmRlZFJvd0NvbnRhaW5lciIsIl9FbXB0eVN0YXRlIiwiX2NvbnN0YW50cyIsIl91c2VUYWJsZURhdGFQaXBlbGluZSIsIl91c2VUYWJsZVNlbGVjdGlvbiIsIl91c2VUYWJsZUV4cGFuZCIsIl91c2VUYWJsZUNvbHVtbnMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfX3Jlc3QiLCJzIiwicCIsInByb3RvdHlwZSIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsInVzZVRhYmxlU2V0dXAiLCJleHBvcnRzIiwicHJvcHMiLCJfYSIsIl9wcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiVEFCTEVfREVGQVVMVF9QUkVGSVgiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJUQUJMRV9ERUZBVUxUX1NJWkUiLCJfcHJvcHMkdmFyaWFudCIsInZhcmlhbnQiLCJUQUJMRV9ERUZBVUxUX1ZBUklBTlQiLCJjb2x1bW5zIiwiZGF0YVNvdXJjZSIsInJvd0tleSIsImVtcHR5IiwiYm9yZGVyZWQiLCJfc2Nyb2xsIiwic2Nyb2xsIiwic3RpY2t5IiwicGFnaW5hdGlvbiIsInJvd1NlbGVjdGlvbiIsIl9wcm9wcyRsb2FkaW5nIiwibG9hZGluZyIsIm9uQ2hhbmdlIiwiY2hpbGRyZW5Db2x1bW5OYW1lIiwiaW5kZW50U2l6ZSIsImV4cGFuZGFibGUiLCJvblJvdyIsInJvd0NsYXNzTmFtZSIsInN1bW1hcnkiLCJzaG93SGVhZGVyIiwidGFibGVMYXlvdXQiLCJjb21wb25lbnRzIiwiZGlyZWN0aW9uIiwicm93SG92ZXJhYmxlIiwicmVzdCIsImNscyIsImNsYXNzbmFtZXMiLCJUQUJMRV9CTE9DSyIsImdldFJvd0tleSIsInVzZU1lbW9pemVkRm4iLCJyZWNvcmQiLCJpbmRleCIsInBpcGVsaW5lIiwidXNlVGFibGVEYXRhUGlwZWxpbmUiLCJzZWxlY3Rpb24iLCJ1c2VUYWJsZVNlbGVjdGlvbiIsImN1cnJlbnREYXRhU291cmNlIiwiZXhwYW5kIiwidXNlVGFibGVFeHBhbmQiLCJyZW5kZXJlZENvbHVtbnMiLCJ1c2VUYWJsZUNvbHVtbnMiLCJtZXJnZWRFeHBhbmRlZFJvd0tleXMiLCJ0cmlnZ2VyRXhwYW5kIiwibWVyZ2VkU2VsZWN0ZWRSb3dLZXlzIiwiY2hlY2tib3hQcm9wc01hcCIsImlzQWxsU2VsZWN0ZWQiLCJpc0luZGV0ZXJtaW5hdGUiLCJ0cmlnZ2VyU2VsZWN0aW9uIiwidHJpZ2dlclNlbGVjdEFsbCIsInNvcnRlciIsInNldFNvcnRlciIsImZpbHRlcnMiLCJzZXRGaWx0ZXJzIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiZXhwYW5kZWRSb3dSZW5kZXIiLCJ1bmRlZmluZWQiLCJjb25zb2xlIiwid2FybiIsIndyYXBwZWRFeHBhbmRlZFJvd1JlbmRlciIsImluZGVudCIsImV4cGFuZGVkIiwicm93RXhwYW5kYWJsZSIsIl9qc3giLCJFeHBhbmRlZFJvd0NvbnRhaW5lciIsImNoaWxkcmVuIiwia2VybmVsT25FeHBhbmQiLCJyZWNvcmRLZXkiLCJvbktlcm5lbEV4cGFuZCIsIm1lcmdlZEV4cGFuZGFibGUiLCJ1c2VNZW1vIiwiYXNzaWduIiwiZXhwYW5kZWRSb3dLZXlzIiwic2hvd0V4cGFuZENvbHVtbiIsIm9uRXhwYW5kIiwicmVzb2x2ZWRQYWdpbmF0aW9uIiwiY3VycmVudCIsInBhZ2VTaXplIiwicGFnaW5hdGlvbk5vZGUiLCJjb25jYXQiLCJQYWdpbmF0aW9uIiwidG90YWwiLCJuZXh0UGFnZSIsIm5leHRQYWdlU2l6ZSIsInNldFBhZ2luYXRpb24iLCJjdXJyZW50UGFnaW5hdGlvbiIsIndyYXBwZXJDbGFzc05hbWUiLCJqb2luQ2xzIiwidGFibGVDbGFzc05hbWUiLCJlbXB0eVRleHQiLCJUYWJsZUVtcHR5U3RhdGUiLCJ3cmFwcGVySHRtbFByb3BzIiwiZm9yd2FyZGVkS2VybmVsUHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFDLHVCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxXQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxxQkFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sV0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsVUFBQSxHQUFBUixPQUFBO0FBTUEsSUFBQVMscUJBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLGtCQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxlQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxnQkFBQSxHQUFBWixPQUFBO0FBQW9ELFNBQUFhLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxT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LENBQUM7RUFFekUsSUFBTW9HLFNBQVMsR0FDYi9FLE9BQU8sSUFBSSxDQUFDVixVQUFVLENBQUNsQixNQUFNLEdBQUcsSUFBQWlGLGVBQUEsRUFBQSxNQUFBLEVBQUEsQ0FBQSxDQUFBLENBQVEsR0FBRyxJQUFBQSxlQUFBLEVBQUMyQiwyQkFBZSxFQUFBO0lBQUN4RixLQUFLLEVBQUVBO0VBQUssQ0FBQSxDQUFJO0VBRTlFLE9BQU87SUFDTFgsU0FBUyxFQUFUQSxTQUFTO0lBQ1QrRixnQkFBZ0IsRUFBaEJBLGdCQUFnQjtJQUNoQkUsY0FBYyxFQUFkQSxjQUFjO0lBQ2Q5RSxPQUFPLEVBQVBBLE9BQU87SUFDUDRCLGVBQWUsRUFBZkEsZUFBZTtJQUNmSCxpQkFBaUIsRUFBRUosUUFBUSxDQUFDSSxpQkFBaUI7SUFDN0NrQyxnQkFBZ0IsRUFBaEJBLGdCQUFnQjtJQUNoQm9CLFNBQVMsRUFBVEEsU0FBUztJQUNURSxnQkFBZ0IsRUFBRXBFLElBQUk7SUFDdEJxRSxvQkFBb0IsRUFBRTtNQUNwQjNGLE1BQU0sRUFBRUEsTUFBdUM7TUFDL0NXLGtCQUFrQixFQUFsQkEsa0JBQWtCO01BQ2xCQyxVQUFVLEVBQVZBLFVBQVU7TUFDVkUsS0FBSyxFQUFMQSxLQUFLO01BQ0xDLFlBQVksRUFBWkEsWUFBWTtNQUNaQyxPQUFPLEVBQVBBLE9BQU87TUFDUEMsVUFBVSxFQUFWQSxVQUFVO01BQ1ZDLFdBQVcsRUFBWEEsV0FBVztNQUNYQyxVQUFVLEVBQVZBLFVBQVU7TUFDVkMsU0FBUyxFQUFUQSxTQUFTO01BQ1RDLFlBQVksRUFBWkEsWUFBWTtNQUNaaEIsTUFBTSxFQUFOQTtJRHBIRSxDQ3FISDtJQUNEd0UsY0FBYyxFQUFkQTtFRHBIQSxDQ3FIRDtBQUNILENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9UYWJsZS9jb3JlL3VzZVRhYmxlU2V0dXAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZU1lbW9pemVkRm4gfSBmcm9tICdAMW1vbmV5L2hvb2tzJztcbmltcG9ydCBjbGFzc25hbWVzLCB7IGpvaW5DbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IFBhZ2luYXRpb24gfSBmcm9tICcuLi8uLi9QYWdpbmF0aW9uJztcbmltcG9ydCB7IEV4cGFuZGVkUm93Q29udGFpbmVyIH0gZnJvbSAnLi4vcmVuZGVyZXJzL0V4cGFuZGVkUm93Q29udGFpbmVyJztcbmltcG9ydCB7IFRhYmxlRW1wdHlTdGF0ZSB9IGZyb20gJy4uL3JlbmRlcmVycy9FbXB0eVN0YXRlJztcbmltcG9ydCB7IFRBQkxFX0JMT0NLLCBUQUJMRV9ERUZBVUxUX1BSRUZJWCwgVEFCTEVfREVGQVVMVF9TSVpFLCBUQUJMRV9ERUZBVUxUX1ZBUklBTlQsIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHVzZVRhYmxlRGF0YVBpcGVsaW5lIH0gZnJvbSAnLi91c2VUYWJsZURhdGFQaXBlbGluZSc7XG5pbXBvcnQgeyB1c2VUYWJsZVNlbGVjdGlvbiB9IGZyb20gJy4vdXNlVGFibGVTZWxlY3Rpb24nO1xuaW1wb3J0IHsgdXNlVGFibGVFeHBhbmQgfSBmcm9tICcuL3VzZVRhYmxlRXhwYW5kJztcbmltcG9ydCB7IHVzZVRhYmxlQ29sdW1ucyB9IGZyb20gJy4vdXNlVGFibGVDb2x1bW5zJztcbi8qKlxuICogQ2VudHJhbGlzZXMgdGhlIHdpcmluZyBzaGFyZWQgYnkgYFRhYmxlYCBhbmQgYFZpcnR1YWxUYWJsZWA6XG4gKiAgLSBkZXN0cnVjdHVyZSBwcm9wc1xuICogIC0gcmVzb2x2ZSByb3cga2V5XG4gKiAgLSBydW4gcGlwZWxpbmUgLyBzZWxlY3Rpb24gLyBleHBhbmQgLyBjb2x1bW4gdHJhbnNmb3Jtc1xuICogIC0gYnVpbGQga2VybmVsLXJlYWR5IHByb3BzXG4gKiAgLSBzcGxpdCBvZmYgcGFzcy10aHJvdWdoIEhUTUwgYXR0cmlidXRlcyBzbyB0aGV5IGNhbiBsYW5kIG9uIHRoZSBvdXRlciB3cmFwcGVyXG4gKiAgICBkaXYgKGluc3RlYWQgb2YgYmVpbmcgc3ByZWFkIHVudHlwZWQgaW50byB0aGUga2VybmVsIHZpYSBgcmVzdCBhcyBvYmplY3RgKS5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZVRhYmxlU2V0dXAgPSAocHJvcHMpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgeyBjbGFzc05hbWUgPSAnJywgcHJlZml4Q2xzID0gVEFCTEVfREVGQVVMVF9QUkVGSVgsIHNpemUgPSBUQUJMRV9ERUZBVUxUX1NJWkUsIHZhcmlhbnQgPSBUQUJMRV9ERUZBVUxUX1ZBUklBTlQsIGNvbHVtbnMsIGRhdGFTb3VyY2UsIHJvd0tleSwgZW1wdHksIGJvcmRlcmVkLCBzY3JvbGw6IF9zY3JvbGwsIHN0aWNreSwgcGFnaW5hdGlvbiwgcm93U2VsZWN0aW9uLCBsb2FkaW5nID0gZmFsc2UsIG9uQ2hhbmdlLCBjaGlsZHJlbkNvbHVtbk5hbWUsIGluZGVudFNpemUsIGV4cGFuZGFibGUsIG9uUm93LCByb3dDbGFzc05hbWUsIHN1bW1hcnksIHNob3dIZWFkZXIsIHRhYmxlTGF5b3V0LCBjb21wb25lbnRzLCBkaXJlY3Rpb24sIHJvd0hvdmVyYWJsZSB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcImNsYXNzTmFtZVwiLCBcInByZWZpeENsc1wiLCBcInNpemVcIiwgXCJ2YXJpYW50XCIsIFwiY29sdW1uc1wiLCBcImRhdGFTb3VyY2VcIiwgXCJyb3dLZXlcIiwgXCJlbXB0eVwiLCBcImJvcmRlcmVkXCIsIFwic2Nyb2xsXCIsIFwic3RpY2t5XCIsIFwicGFnaW5hdGlvblwiLCBcInJvd1NlbGVjdGlvblwiLCBcImxvYWRpbmdcIiwgXCJvbkNoYW5nZVwiLCBcImNoaWxkcmVuQ29sdW1uTmFtZVwiLCBcImluZGVudFNpemVcIiwgXCJleHBhbmRhYmxlXCIsIFwib25Sb3dcIiwgXCJyb3dDbGFzc05hbWVcIiwgXCJzdW1tYXJ5XCIsIFwic2hvd0hlYWRlclwiLCBcInRhYmxlTGF5b3V0XCIsIFwiY29tcG9uZW50c1wiLCBcImRpcmVjdGlvblwiLCBcInJvd0hvdmVyYWJsZVwiXSk7XG4gICAgdm9pZCBfc2Nyb2xsO1xuICAgIGNvbnN0IGNscyA9IGNsYXNzbmFtZXMoVEFCTEVfQkxPQ0spO1xuICAgIGNvbnN0IGdldFJvd0tleSA9IHVzZU1lbW9pemVkRm4oKHJlY29yZCwgaW5kZXgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICByZXR1cm4gdHlwZW9mIHJvd0tleSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgPyByb3dLZXkocmVjb3JkKVxuICAgICAgICAgICAgOiAoX2EgPSByZWNvcmRbcm93S2V5ICE9PSBudWxsICYmIHJvd0tleSAhPT0gdm9pZCAwID8gcm93S2V5IDogJ2tleSddKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBpbmRleDtcbiAgICB9KTtcbiAgICBjb25zdCBwaXBlbGluZSA9IHVzZVRhYmxlRGF0YVBpcGVsaW5lKHsgY29sdW1ucywgZGF0YVNvdXJjZSwgcGFnaW5hdGlvbiwgb25DaGFuZ2UgfSk7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gdXNlVGFibGVTZWxlY3Rpb24oe1xuICAgICAgICByb3dTZWxlY3Rpb24sXG4gICAgICAgIGRhdGFTb3VyY2UsXG4gICAgICAgIGN1cnJlbnREYXRhU291cmNlOiBwaXBlbGluZS5jdXJyZW50RGF0YVNvdXJjZSxcbiAgICAgICAgZ2V0Um93S2V5LFxuICAgIH0pO1xuICAgIGNvbnN0IGV4cGFuZCA9IHVzZVRhYmxlRXhwYW5kKHsgZXhwYW5kYWJsZSwgZGF0YVNvdXJjZSwgZ2V0Um93S2V5IH0pO1xuICAgIGNvbnN0IHJlbmRlcmVkQ29sdW1ucyA9IHVzZVRhYmxlQ29sdW1ucyh7XG4gICAgICAgIGNvbHVtbnMsXG4gICAgICAgIHNpemUsXG4gICAgICAgIHZhcmlhbnQsXG4gICAgICAgIGV4cGFuZGFibGUsXG4gICAgICAgIG1lcmdlZEV4cGFuZGVkUm93S2V5czogZXhwYW5kLm1lcmdlZEV4cGFuZGVkUm93S2V5cyxcbiAgICAgICAgdHJpZ2dlckV4cGFuZDogZXhwYW5kLnRyaWdnZXJFeHBhbmQsXG4gICAgICAgIHJvd1NlbGVjdGlvbixcbiAgICAgICAgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzOiBzZWxlY3Rpb24ubWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLFxuICAgICAgICBjaGVja2JveFByb3BzTWFwOiBzZWxlY3Rpb24uY2hlY2tib3hQcm9wc01hcCxcbiAgICAgICAgaXNBbGxTZWxlY3RlZDogc2VsZWN0aW9uLmlzQWxsU2VsZWN0ZWQsXG4gICAgICAgIGlzSW5kZXRlcm1pbmF0ZTogc2VsZWN0aW9uLmlzSW5kZXRlcm1pbmF0ZSxcbiAgICAgICAgdHJpZ2dlclNlbGVjdGlvbjogc2VsZWN0aW9uLnRyaWdnZXJTZWxlY3Rpb24sXG4gICAgICAgIHRyaWdnZXJTZWxlY3RBbGw6IHNlbGVjdGlvbi50cmlnZ2VyU2VsZWN0QWxsLFxuICAgICAgICBzb3J0ZXI6IHBpcGVsaW5lLnNvcnRlcixcbiAgICAgICAgc2V0U29ydGVyOiBwaXBlbGluZS5zZXRTb3J0ZXIsXG4gICAgICAgIGZpbHRlcnM6IHBpcGVsaW5lLmZpbHRlcnMsXG4gICAgICAgIHNldEZpbHRlcnM6IHBpcGVsaW5lLnNldEZpbHRlcnMsXG4gICAgICAgIGdldFJvd0tleSxcbiAgICB9KTtcbiAgICAvLyBEZXYtb25seSB3YXJuaW5nOiBtaXhpbmcgcm93LWV4cGFuc2lvbiB3aXRoIHRyZWUtZGF0YSAoY2hpbGRyZW5Db2x1bW5OYW1lKVxuICAgIC8vIHByb2R1Y2VzIHR3byBjaGV2cm9ucyBwZXIgcm93ICh0aGUgbGVmdG1vc3QgX19leHBhbmRfXyBjb2x1bW4gZnJvbSB0aGUgd3JhcHBlclxuICAgIC8vIHBsdXMgdGhlIGtlcm5lbCdzIHBlci1pbmRlbnQgbmVzdCBleHBhbmQpLiByYy10YWJsZSAvIGFudGQgaGF2ZSB0aGUgc2FtZSBnYXA7XG4gICAgLy8gcGljayBvbmUgbW9kZSBhdCBhIHRpbWUuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gICAgaWYgKHR5cGVvZiBwcm9jZXNzICE9PSAndW5kZWZpbmVkJyAmJiAoKF9hID0gcHJvY2Vzcy5lbnYpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5OT0RFX0VOVikgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBpZiAoKGV4cGFuZGFibGUgPT09IG51bGwgfHwgZXhwYW5kYWJsZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZXhwYW5kYWJsZS5leHBhbmRlZFJvd1JlbmRlcikgJiYgY2hpbGRyZW5Db2x1bW5OYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignW2NvbXBvbmVudHMtdWkgVGFibGVdIENvbWJpbmluZyBgZXhwYW5kYWJsZS5leHBhbmRlZFJvd1JlbmRlcmAgd2l0aCBgY2hpbGRyZW5Db2x1bW5OYW1lYCBpcyBub3Qgc3VwcG9ydGVkIOKAlCB0aGUgbGVmdG1vc3QgZXhwYW5kIGNvbHVtbiB3aWxsIHJlbmRlciBhbG9uZ3NpZGUgdGhlIG5lc3RlZCB0cmVlIGV4cGFuZGVyLiBVc2Ugb25lIG1vZGUgYXQgYSB0aW1lLicpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHdyYXBwZWRFeHBhbmRlZFJvd1JlbmRlciA9IHVzZU1lbW9pemVkRm4oKHJlY29yZCwgaW5kZXgsIGluZGVudCwgZXhwYW5kZWQpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICAvLyBIb25vciBgcm93RXhwYW5kYWJsZWA6IGV2ZW4gaWYgYSBub24tZXhwYW5kYWJsZSByb3cncyBrZXkgc25lYWtzIGludG9cbiAgICAgICAgLy8gYGV4cGFuZGVkUm93S2V5c2AsIHJlZnVzZSB0byByZW5kZXIgaXRzIGV4cGFuc2lvbiBjb250ZW50LlxuICAgICAgICBpZiAoKGV4cGFuZGFibGUgPT09IG51bGwgfHwgZXhwYW5kYWJsZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZXhwYW5kYWJsZS5yb3dFeHBhbmRhYmxlKSAmJiAhZXhwYW5kYWJsZS5yb3dFeHBhbmRhYmxlKHJlY29yZCkpXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgcmV0dXJuIChfanN4KEV4cGFuZGVkUm93Q29udGFpbmVyLCB7IGNoaWxkcmVuOiAoX2EgPSBleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUuZXhwYW5kZWRSb3dSZW5kZXIpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKGV4cGFuZGFibGUsIHJlY29yZCwgaW5kZXgsIGluZGVudCwgZXhwYW5kZWQpIH0pKTtcbiAgICB9KTtcbiAgICAvLyBXaXJlIGtlcm5lbCdzIG9uRXhwYW5kICh0cmlnZ2VyZWQgYnkgZXhwYW5kUm93QnlDbGljaykgdG8gb3VyIHN0YXRlLlxuICAgIGNvbnN0IGtlcm5lbE9uRXhwYW5kID0gdXNlTWVtb2l6ZWRGbigoZXhwYW5kZWQsIHJlY29yZCkgPT4ge1xuICAgICAgICAvLyBUaGUga2VybmVsIHBhc3NlcyBhIHJlY29yZCBmcm9tIGBjdXJyZW50RGF0YVNvdXJjZWAgKHBvc3Qgc29ydC9maWx0ZXIvcGFnaW5hdGUpLlxuICAgICAgICAvLyBMb29raW5nIGl0IHVwIGFnYWluc3QgdGhlIHJhdyBgZGF0YVNvdXJjZWAgcmV0dXJucyAtMSB3aGVuIHRoZSBjb25zdW1lclxuICAgICAgICAvLyByZWNyZWF0ZXMgdGhlIGFycmF5IGVhY2ggcmVuZGVyLCBvciBhIHBvc2l0aW9uYWxseSB3cm9uZyBpbmRleCBhZnRlciBzb3J0LlxuICAgICAgICAvLyBVc2UgYGN1cnJlbnREYXRhU291cmNlYCBzbyB0aGUgaW5kZXggbWF0Y2hlcyB3aGF0IHRoZSBrZXJuZWwgYWN0dWFsbHkgc2Vlcy5cbiAgICAgICAgY29uc3QgcmVjb3JkS2V5ID0gZ2V0Um93S2V5KHJlY29yZCwgcGlwZWxpbmUuY3VycmVudERhdGFTb3VyY2UuaW5kZXhPZihyZWNvcmQpKTtcbiAgICAgICAgZXhwYW5kLm9uS2VybmVsRXhwYW5kKGV4cGFuZGVkLCByZWNvcmQsIHJlY29yZEtleSk7XG4gICAgfSk7XG4gICAgY29uc3QgbWVyZ2VkRXhwYW5kYWJsZSA9IHVzZU1lbW8oKCkgPT4gZXhwYW5kYWJsZVxuICAgICAgICA/IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZXhwYW5kYWJsZSksIHsgZXhwYW5kZWRSb3dLZXlzOiBleHBhbmQubWVyZ2VkRXhwYW5kZWRSb3dLZXlzLCBleHBhbmRlZFJvd1JlbmRlcjogZXhwYW5kYWJsZS5leHBhbmRlZFJvd1JlbmRlclxuICAgICAgICAgICAgICAgID8gd3JhcHBlZEV4cGFuZGVkUm93UmVuZGVyXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsIHNob3dFeHBhbmRDb2x1bW46IGZhbHNlLCBvbkV4cGFuZDoga2VybmVsT25FeHBhbmQgfSlcbiAgICAgICAgOiB1bmRlZmluZWQsIFtleHBhbmRhYmxlLCBleHBhbmQubWVyZ2VkRXhwYW5kZWRSb3dLZXlzLCB3cmFwcGVkRXhwYW5kZWRSb3dSZW5kZXIsIGtlcm5lbE9uRXhwYW5kXSk7XG4gICAgY29uc3QgcmVzb2x2ZWRQYWdpbmF0aW9uID0gcGlwZWxpbmUucGFnaW5hdGlvbiA9PT0gZmFsc2VcbiAgICAgICAgPyB7IGN1cnJlbnQ6IDEsIHBhZ2VTaXplOiAxMCB9XG4gICAgICAgIDogcGlwZWxpbmUucGFnaW5hdGlvbjtcbiAgICBjb25zdCBwYWdpbmF0aW9uTm9kZSA9IHBhZ2luYXRpb24gIT09IGZhbHNlID8gKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGAke3ByZWZpeENsc30tcGFnaW5hdGlvbmAsIGNoaWxkcmVuOiBfanN4KFBhZ2luYXRpb24sIHsgdG90YWw6IHBpcGVsaW5lLnRvdGFsLCBwYWdlU2l6ZTogcmVzb2x2ZWRQYWdpbmF0aW9uLnBhZ2VTaXplLCBjdXJyZW50OiByZXNvbHZlZFBhZ2luYXRpb24uY3VycmVudCwgb25DaGFuZ2U6IChuZXh0UGFnZSwgbmV4dFBhZ2VTaXplKSA9PiBwaXBlbGluZS5zZXRQYWdpbmF0aW9uKChjdXJyZW50UGFnaW5hdGlvbikgPT4gKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgY3VycmVudFBhZ2luYXRpb24pLCB7IGN1cnJlbnQ6IG5leHRQYWdlLCBwYWdlU2l6ZTogbmV4dFBhZ2VTaXplIH0pKSkgfSkgfSkpIDogbnVsbDtcbiAgICBjb25zdCB3cmFwcGVyQ2xhc3NOYW1lID0gam9pbkNscyhgJHtwcmVmaXhDbHN9LXdyYXBwZXJgLCBsb2FkaW5nICYmIGAke3ByZWZpeENsc30td3JhcHBlci0tbG9hZGluZ2AsIGJvcmRlcmVkICYmIGAke3ByZWZpeENsc30td3JhcHBlci0tYm9yZGVyZWRgKTtcbiAgICBjb25zdCB0YWJsZUNsYXNzTmFtZSA9IGpvaW5DbHMoY2xzKCksIGNscyhzaXplKSwgY2xzKHZhcmlhbnQpLCBjbGFzc05hbWUpO1xuICAgIGNvbnN0IGVtcHR5VGV4dCA9IGxvYWRpbmcgJiYgIWRhdGFTb3VyY2UubGVuZ3RoID8gX2pzeChcInNwYW5cIiwge30pIDogX2pzeChUYWJsZUVtcHR5U3RhdGUsIHsgZW1wdHk6IGVtcHR5IH0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIHByZWZpeENscyxcbiAgICAgICAgd3JhcHBlckNsYXNzTmFtZSxcbiAgICAgICAgdGFibGVDbGFzc05hbWUsXG4gICAgICAgIGxvYWRpbmcsXG4gICAgICAgIHJlbmRlcmVkQ29sdW1ucyxcbiAgICAgICAgY3VycmVudERhdGFTb3VyY2U6IHBpcGVsaW5lLmN1cnJlbnREYXRhU291cmNlLFxuICAgICAgICBtZXJnZWRFeHBhbmRhYmxlLFxuICAgICAgICBlbXB0eVRleHQsXG4gICAgICAgIHdyYXBwZXJIdG1sUHJvcHM6IHJlc3QsXG4gICAgICAgIGZvcndhcmRlZEtlcm5lbFByb3BzOiB7XG4gICAgICAgICAgICByb3dLZXk6IHJvd0tleSxcbiAgICAgICAgICAgIGNoaWxkcmVuQ29sdW1uTmFtZSxcbiAgICAgICAgICAgIGluZGVudFNpemUsXG4gICAgICAgICAgICBvblJvdyxcbiAgICAgICAgICAgIHJvd0NsYXNzTmFtZSxcbiAgICAgICAgICAgIHN1bW1hcnksXG4gICAgICAgICAgICBzaG93SGVhZGVyLFxuICAgICAgICAgICAgdGFibGVMYXlvdXQsXG4gICAgICAgICAgICBjb21wb25lbnRzLFxuICAgICAgICAgICAgZGlyZWN0aW9uLFxuICAgICAgICAgICAgcm93SG92ZXJhYmxlLFxuICAgICAgICAgICAgc3RpY2t5LFxuICAgICAgICB9LFxuICAgICAgICBwYWdpbmF0aW9uTm9kZSxcbiAgICB9O1xufTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -11,11 +11,19 @@ var ExpandTrigger = exports.ExpandTrigger = function ExpandTrigger(_ref) {
11
11
  var expanded = _ref.expanded,
12
12
  onToggle = _ref.onToggle;
13
13
  return (0, _jsxRuntime.jsx)("button", {
14
+ role: 'button',
14
15
  type: "button",
15
16
  "aria-label": "Expand row",
16
17
  "aria-expanded": expanded,
17
18
  className: "".concat(_constants.TABLE_DEFAULT_PREFIX, "-expand-trigger"),
18
- onClick: onToggle,
19
+ onClick: function onClick(e) {
20
+ // Without stopPropagation, clicks on the chevron would also bubble up
21
+ // to the row, double-firing the kernel's onTriggerExpand handler when
22
+ // `expandRowByClick` is enabled (net effect: no change). Match the
23
+ // behavior of the custom expandIcon path in `useTableColumns`.
24
+ e.stopPropagation();
25
+ onToggle();
26
+ },
19
27
  children: (0, _jsxRuntime.jsx)(_Icons.Icons, {
20
28
  name: "chevronDown",
21
29
  size: 16,
@@ -27,4 +35,4 @@ var ExpandTrigger = exports.ExpandTrigger = function ExpandTrigger(_ref) {
27
35
  })
28
36
  });
29
37
  };
30
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvRXhwYW5kVHJpZ2dlci5qcyIsImNvbXBvbmVudHMvVGFibGUvc3JjL2NvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvRXhwYW5kVHJpZ2dlci50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX0ljb25zIiwiX2NvbnN0YW50cyIsIkV4cGFuZFRyaWdnZXIiLCJleHBvcnRzIiwiX3JlZiIsImV4cGFuZGVkIiwib25Ub2dnbGUiLCJfanN4IiwidHlwZSIsImNsYXNzTmFtZSIsImNvbmNhdCIsIlRBQkxFX0RFRkFVTFRfUFJFRklYIiwib25DbGljayIsImNoaWxkcmVuIiwiSWNvbnMiLCJuYW1lIiwic2l6ZSIsImNvbG9yIiwic3R5bGUiLCJ0cmFuc2Zvcm0iLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ0FBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFVBQUEsR0FBQUYsT0FBQTtBQUVPLElBQU1HLGFBQWEsR0FBQUMsT0FBQSxDQUFBRCxhQUFBLEdBQUcsU0FBaEJBLGFBQWFBLENBQUFFLElBQUE7RUFBQSxJQUN4QkMsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7SUFDUkMsUUFBUSxHQUFBRixJQUFBLENBQVJFLFFBQVE7RUFBQSxPQUtSLElBQUFDLGVBQUEsRUFBQSxRQUFBLEVBQUE7SUFDRUMsSUFBSSxFQUFDLFFBQVE7SUFBQSxZQUFBLEVBQ0YsWUFBWTtJQUFBLGVBQUEsRUFDUkgsUUFBUTtJQUN2QkksU0FBUyxLQUFBQyxNQUFBLENBQUtDLCtCQUFvQixvQkFBaUI7SUFDbkRDLE9BQU8sRUFBRU4sUUFBUTtJQUFBTyxRQUFBLEVBRWpCLElBQUFOLGVBQUEsRUFBQ08sWUFBSyxFQUFBO01BQ0pDLElBQUksRUFBQyxhQUFhO01BQ2xCQyxJQUFJLEVBQUUsRUFBRTtNQUNSQyxLQUFLLEVBQUMsY0FBYztNQUNwQlIsU0FBUyxLQUFBQyxNQUFBLENBQUtDLCtCQUFvQiwwQkFBdUI7TUFDekRPLEtBQUssRUFBRTtRQUNMQyxTQUFTLEVBQUVkLFFBQVEsR0FBRyxnQkFBZ0IsR0FBR2U7TURsQnpDO0lDbUJELENBQUE7RUFDRCxDQUFBLENBQ0s7QUFBQSxDQUNWIiwiZmlsZSI6ImNvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvRXhwYW5kVHJpZ2dlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uLy4uL0ljb25zJztcbmltcG9ydCB7IFRBQkxFX0RFRkFVTFRfUFJFRklYIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmV4cG9ydCBjb25zdCBFeHBhbmRUcmlnZ2VyID0gKHsgZXhwYW5kZWQsIG9uVG9nZ2xlLCB9KSA9PiAoX2pzeChcImJ1dHRvblwiLCB7IHR5cGU6IFwiYnV0dG9uXCIsIFwiYXJpYS1sYWJlbFwiOiBcIkV4cGFuZCByb3dcIiwgXCJhcmlhLWV4cGFuZGVkXCI6IGV4cGFuZGVkLCBjbGFzc05hbWU6IGAke1RBQkxFX0RFRkFVTFRfUFJFRklYfS1leHBhbmQtdHJpZ2dlcmAsIG9uQ2xpY2s6IG9uVG9nZ2xlLCBjaGlsZHJlbjogX2pzeChJY29ucywgeyBuYW1lOiBcImNoZXZyb25Eb3duXCIsIHNpemU6IDE2LCBjb2xvcjogXCJjdXJyZW50Q29sb3JcIiwgY2xhc3NOYW1lOiBgJHtUQUJMRV9ERUZBVUxUX1BSRUZJWH0tZXhwYW5kLXRyaWdnZXJfX2ljb25gLCBzdHlsZToge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBleHBhbmRlZCA/ICdyb3RhdGUoMTgwZGVnKScgOiB1bmRlZmluZWQsXG4gICAgICAgIH0gfSkgfSkpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
38
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvRXhwYW5kVHJpZ2dlci5qcyIsImNvbXBvbmVudHMvVGFibGUvc3JjL2NvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvRXhwYW5kVHJpZ2dlci50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX0ljb25zIiwiX2NvbnN0YW50cyIsIkV4cGFuZFRyaWdnZXIiLCJleHBvcnRzIiwiX3JlZiIsImV4cGFuZGVkIiwib25Ub2dnbGUiLCJfanN4Iiwicm9sZSIsInR5cGUiLCJjbGFzc05hbWUiLCJjb25jYXQiLCJUQUJMRV9ERUZBVUxUX1BSRUZJWCIsIm9uQ2xpY2siLCJlIiwic3RvcFByb3BhZ2F0aW9uIiwiY2hpbGRyZW4iLCJJY29ucyIsIm5hbWUiLCJzaXplIiwiY29sb3IiLCJzdHlsZSIsInRyYW5zZm9ybSIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBRixPQUFBO0FBRU8sSUFBTUcsYUFBYSxHQUFBQyxPQUFBLENBQUFELGFBQUEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBQUUsSUFBQTtFQUFBLElBQ3hCQyxRQUFRLEdBQUFELElBQUEsQ0FBUkMsUUFBUTtJQUNSQyxRQUFRLEdBQUFGLElBQUEsQ0FBUkUsUUFBUTtFQUFBLE9BS1IsSUFBQUMsZUFBQSxFQUFBLFFBQUEsRUFBQTtJQUNFQyxJQUFJLEVBQUMsUUFBUTtJQUNiQyxJQUFJLEVBQUMsUUFBUTtJQUFBLFlBQUEsRUFDRixZQUFZO0lBQUEsZUFBQSxFQUNSSixRQUFRO0lBQ3ZCSyxTQUFTLEtBQUFDLE1BQUEsQ0FBS0MsK0JBQW9CLG9CQUFpQjtJQUNuREMsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUdDLENBQUMsRUFBSTtNQUNiO01BQ0E7TUFDQTtNQUNBO01BQ0FBLENBQUMsQ0FBQ0MsZUFBZSxDQUFBLENBQUU7TUFDbkJULFFBQVEsQ0FBQSxDQUFFO0lBQ1osQ0FBQztJQUFBVSxRQUFBLEVBRUQsSUFBQVQsZUFBQSxFQUFDVSxZQUFLLEVBQUE7TUFDSkMsSUFBSSxFQUFDLGFBQWE7TUFDbEJDLElBQUksRUFBRSxFQUFFO01BQ1JDLEtBQUssRUFBQyxjQUFjO01BQ3BCVixTQUFTLEtBQUFDLE1BQUEsQ0FBS0MsK0JBQW9CLDBCQUF1QjtNQUN6RFMsS0FBSyxFQUFFO1FBQ0xDLFNBQVMsRUFBRWpCLFFBQVEsR0FBRyxnQkFBZ0IsR0FBR2tCO01EbkJ6QztJQ29CRCxDQUFBO0VBQ0QsQ0FBQSxDQUNLO0FBQUEsQ0FDViIsImZpbGUiOiJjb21wb25lbnRzL1RhYmxlL2ZlYXR1cmVzL0V4cGFuZFRyaWdnZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi8uLi9JY29ucyc7XG5pbXBvcnQgeyBUQUJMRV9ERUZBVUxUX1BSRUZJWCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5leHBvcnQgY29uc3QgRXhwYW5kVHJpZ2dlciA9ICh7IGV4cGFuZGVkLCBvblRvZ2dsZSwgfSkgPT4gKF9qc3goXCJidXR0b25cIiwgeyByb2xlOiAnYnV0dG9uJywgdHlwZTogXCJidXR0b25cIiwgXCJhcmlhLWxhYmVsXCI6IFwiRXhwYW5kIHJvd1wiLCBcImFyaWEtZXhwYW5kZWRcIjogZXhwYW5kZWQsIGNsYXNzTmFtZTogYCR7VEFCTEVfREVGQVVMVF9QUkVGSVh9LWV4cGFuZC10cmlnZ2VyYCwgb25DbGljazogKGUpID0+IHtcbiAgICAgICAgLy8gV2l0aG91dCBzdG9wUHJvcGFnYXRpb24sIGNsaWNrcyBvbiB0aGUgY2hldnJvbiB3b3VsZCBhbHNvIGJ1YmJsZSB1cFxuICAgICAgICAvLyB0byB0aGUgcm93LCBkb3VibGUtZmlyaW5nIHRoZSBrZXJuZWwncyBvblRyaWdnZXJFeHBhbmQgaGFuZGxlciB3aGVuXG4gICAgICAgIC8vIGBleHBhbmRSb3dCeUNsaWNrYCBpcyBlbmFibGVkIChuZXQgZWZmZWN0OiBubyBjaGFuZ2UpLiBNYXRjaCB0aGVcbiAgICAgICAgLy8gYmVoYXZpb3Igb2YgdGhlIGN1c3RvbSBleHBhbmRJY29uIHBhdGggaW4gYHVzZVRhYmxlQ29sdW1uc2AuXG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIG9uVG9nZ2xlKCk7XG4gICAgfSwgY2hpbGRyZW46IF9qc3goSWNvbnMsIHsgbmFtZTogXCJjaGV2cm9uRG93blwiLCBzaXplOiAxNiwgY29sb3I6IFwiY3VycmVudENvbG9yXCIsIGNsYXNzTmFtZTogYCR7VEFCTEVfREVGQVVMVF9QUkVGSVh9LWV4cGFuZC10cmlnZ2VyX19pY29uYCwgc3R5bGU6IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogZXhwYW5kZWQgPyAncm90YXRlKDE4MGRlZyknIDogdW5kZWZpbmVkLFxuICAgICAgICB9IH0pIH0pKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -0,0 +1,9 @@
1
+ import type { TableColumn, TableFilterValue, TableRecord } from '../interface';
2
+ interface FilterTriggerProps<T extends TableRecord> {
3
+ column: TableColumn<T>;
4
+ size: 'large' | 'small';
5
+ selectedKeys: TableFilterValue;
6
+ onChange: (next: TableFilterValue) => void;
7
+ }
8
+ export declare const FilterTrigger: <T extends TableRecord>({ column, size, selectedKeys, onChange, }: FilterTriggerProps<T>) => import("react/jsx-runtime").JSX.Element;
9
+ export {};