Files
hive/frontend/node_modules/dom-helpers/cjs/scrollParent.js
anthonyrawlins 85bf1341f3 Add comprehensive frontend UI and distributed infrastructure
Frontend Enhancements:
- Complete React TypeScript frontend with modern UI components
- Distributed workflows management interface with real-time updates
- Socket.IO integration for live agent status monitoring
- Agent management dashboard with cluster visualization
- Project management interface with metrics and task tracking
- Responsive design with proper error handling and loading states

Backend Infrastructure:
- Distributed coordinator for multi-agent workflow orchestration
- Cluster management API with comprehensive agent operations
- Enhanced database models for agents and projects
- Project service for filesystem-based project discovery
- Performance monitoring and metrics collection
- Comprehensive API documentation and error handling

Documentation:
- Complete distributed development guide (README_DISTRIBUTED.md)
- Comprehensive development report with architecture insights
- System configuration templates and deployment guides

The platform now provides a complete web interface for managing the distributed AI cluster
with real-time monitoring, workflow orchestration, and agent coordination capabilities.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-10 08:41:59 +10:00

41 lines
1.4 KiB
JavaScript

"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = scrollParent;
var _css = _interopRequireDefault(require("./css"));
var _height = _interopRequireDefault(require("./height"));
var _isDocument = _interopRequireDefault(require("./isDocument"));
/* eslint-disable no-cond-assign, no-continue */
/**
* Find the first scrollable parent of an element.
*
* @param element Starting element
* @param firstPossible Stop at the first scrollable parent, even if it's not currently scrollable
*/
function scrollParent(element, firstPossible) {
var position = (0, _css.default)(element, 'position');
var excludeStatic = position === 'absolute';
var ownerDoc = element.ownerDocument;
if (position === 'fixed') return ownerDoc || document; // @ts-ignore
while ((element = element.parentNode) && !(0, _isDocument.default)(element)) {
var isStatic = excludeStatic && (0, _css.default)(element, 'position') === 'static';
var style = ((0, _css.default)(element, 'overflow') || '') + ((0, _css.default)(element, 'overflow-y') || '') + (0, _css.default)(element, 'overflow-x');
if (isStatic) continue;
if (/(auto|scroll)/.test(style) && (firstPossible || (0, _height.default)(element) < element.scrollHeight)) {
return element;
}
}
return ownerDoc || document;
}
module.exports = exports["default"];