react-aria-components
Version:
A library of styleable components built using React Aria
60 lines (52 loc) • 3.01 kB
JavaScript
import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415} from "./utils.module.js";
import {useSeparator as $i9JCE$useSeparator} from "react-aria";
import {CollectionNode as $i9JCE$CollectionNode, createLeafComponent as $i9JCE$createLeafComponent} from "@react-aria/collections";
import {filterDOMProps as $i9JCE$filterDOMProps, mergeProps as $i9JCE$mergeProps} from "@react-aria/utils";
import $i9JCE$react, {createContext as $i9JCE$createContext} from "react";
/*
* Copyright 2022 Adobe. All rights reserved.
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. You may obtain a copy
* of the License at http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
* OF ANY KIND, either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
const $431f98aba6844401$export$6615d83f6de245ce = /*#__PURE__*/ (0, $i9JCE$createContext)({});
class $431f98aba6844401$export$7750289ca694c0b5 extends (0, $i9JCE$CollectionNode) {
filter(collection, newCollection) {
let prevItem = newCollection.getItem(this.prevKey);
if (prevItem && prevItem.type !== 'separator') {
let clone = this.clone();
newCollection.addDescendants(clone, collection);
return clone;
}
return null;
}
}
$431f98aba6844401$export$7750289ca694c0b5.type = 'separator';
const $431f98aba6844401$export$1ff3c3f08ae963c0 = /*#__PURE__*/ (0, $i9JCE$createLeafComponent)($431f98aba6844401$export$7750289ca694c0b5, function Separator(props, ref) {
[props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $431f98aba6844401$export$6615d83f6de245ce);
let { elementType: elementType, orientation: orientation, style: style, className: className, slot: slot, ...otherProps } = props;
let Element = elementType || 'hr';
if (Element === 'hr' && orientation === 'vertical') Element = 'div';
let { separatorProps: separatorProps } = (0, $i9JCE$useSeparator)({
...otherProps,
elementType: elementType,
orientation: orientation
});
let DOMProps = (0, $i9JCE$filterDOMProps)(props, {
global: true
});
return /*#__PURE__*/ (0, $i9JCE$react).createElement(Element, {
...(0, $i9JCE$mergeProps)(DOMProps, separatorProps),
style: style,
className: className !== null && className !== void 0 ? className : 'react-aria-Separator',
ref: ref,
slot: slot || undefined
});
});
export {$431f98aba6844401$export$6615d83f6de245ce as SeparatorContext, $431f98aba6844401$export$7750289ca694c0b5 as SeparatorNode, $431f98aba6844401$export$1ff3c3f08ae963c0 as Separator};
//# sourceMappingURL=Separator.module.js.map