@awsui/components-react
Version:
On July 19th, 2022, we launched [Cloudscape Design System](https://cloudscape.design). Cloudscape is an evolution of AWS-UI. It consists of user interface guidelines, front-end components, design resources, and development tools for building intuitive, en
40 lines • 1.68 kB
JavaScript
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
import treeItemStyles from '../tree-item/styles.css.js';
export function getClosestTreeItem(element) {
return element.closest('li[data-awsui-tree-item-index]');
}
export function getToggleButtonOfTreeItem(treeItem) {
const toggleElement = treeItem === null || treeItem === void 0 ? void 0 : treeItem.querySelector(`.${treeItemStyles['tree-item-focus-target']}`);
return toggleElement;
}
export function isElementDisabled(element) {
if (element instanceof HTMLButtonElement) {
return element.disabled;
}
return false;
}
export function findTreeItemByIndex(treeView, targetTreeItemIndex, delta) {
var _a;
let targetTreeItem = null;
const treeItemElements = Array.from(treeView.querySelectorAll('li[data-awsui-tree-item-index]'));
if (delta < 0) {
treeItemElements.reverse();
}
for (const element of treeItemElements) {
const elementIndex = parseInt((_a = element.getAttribute('data-awsui-tree-item-index')) !== null && _a !== void 0 ? _a : '');
targetTreeItem = element;
if (elementIndex === targetTreeItemIndex) {
break;
}
}
return targetTreeItem;
}
export function findTreeItemContentById(treeView, treeItemId) {
const treeItemContent = treeView.querySelector(`li[data-awsui-tree-item-index][id="${treeItemId}"] .${treeItemStyles['tree-item-structured-item']}`);
return treeItemContent;
}
export function isTreeItemToggle(element) {
return element.classList.contains(treeItemStyles['tree-item-focus-target']);
}
//# sourceMappingURL=utils.js.map