UNPKG

smart-react-components

Version:

React UI library, wide variety of editable ready to use Styled and React components.

61 lines (56 loc) 4.77 kB
'use strict'; function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var index = require('../index-6d498b59.js'); require('../DOMHelper-c0bd5a29.js'); var React = require('react'); var React__default = _interopDefault(React); require('styled-components'); require('../index-56ba89df.js'); var Div = require('../element/Div.js'); require('../element/Svg.js'); require('../Close-72bfdc7e.js'); require('../Badge-28700875.js'); require('../Container-7b969272.js'); require('../Icon-8e539dc5.js'); require('../element/Span.js'); require('../Text-c2784368.js'); require('../element/A.js'); require('react-dom'); var WaveEffect = require('../WaveEffect-96d9007c.js'); var Element = require('../Element-d9208356.js'); require('../Transition-48c5648c.js'); require('../CSSTransition-5a3ab124.js'); var Loading = require('../Loading-679f1816.js'); require('../ArrowDown-a8680a44.js'); var UseSelectMethods = require('../UseSelectMethods-88c2134a.js'); require('../Overlay-95b8c50b.js'); var FixedBox = require('../FixedBox-a18d2049.js'); var SelectFixedBoxElement = require('../SelectFixedBoxElement-164f1924.js'); require('../UseInputMethod-e6937228.js'); require('../UseInputOutput-6af67949.js'); require('../SlideTransition-b2e129ec.js'); require('../element/Label.js'); require('../element/Input.js'); require('../InputElement-def827fe.js'); var Input = require('../Input-566c64fb.js'); const ButtonSelect = ({ size = "default", sizeSm, sizeMd, sizeLg, sizeXl, buttonProps = index.DV.JSX_ELEMENT_PROPS, boxProps = index.DV.JSX_ELEMENT_PROPS, children, type = "primary", fill, border, shape = "default", block, waveEffect = "light", active, setActive, placeholder, hover = true, optionType = "primary", optionWaveEffect = "light", arrow = true, boxShadow, minWidth = 300, transitionClassName, transitionType, transitionDuration, showAnimation = true, hideAnimation = true, loading, loadingStatus, loadingTransitionClassName = "src-button-loading", loadingTransitionType = "ease-in-out", loadingTransitionDuration = 300, loadingTransitionShowAnimation = true, loadingTransitionHideAnimation = true, search, searchInputProps = index.DV.JSX_ELEMENT_PROPS }) => { const { itemList, searchText, setSearchText } = UseSelectMethods.useSelectMethods({ size, sizeSm, sizeMd, sizeLg, sizeXl, box: true, placeholder, optionType, arrow, children, fill, shape, hover, waveEffect: optionWaveEffect, disabled: buttonProps.disabled, active, setActive, closeBox: (() => setStatus(false)), search }); const [status, setStatus] = React__default.useState(false); const fixedBoxOnRef = React__default.useRef(null); React__default.useEffect(() => { if (fixedBoxOnRef.current) fixedBoxOnRef.current.setPosition(); }, [itemList]); const ButtonEl = (React__default.createElement(Element.ButtonElement, Object.assign({ tabIndex: 0 }, buttonProps, { as: "div", "size$": size, "size$Sm": sizeSm, "size$Md": sizeMd, "size$Lg": sizeLg, "size$Xl": sizeXl, "type$": type, "fill$": fill, "border$": border, shape: shape, block: block, "loading$": loading ? true : false, "data-src-placeholder-style": itemList.isPlaceholder, "data-src-active": status }), loading && React__default.createElement(Loading.Loading, { element: loading, status: loadingStatus, transitionClassName: loadingTransitionClassName, transitionDuration: loadingTransitionDuration, transitionType: loadingTransitionType, transitionShowAnimation: loadingTransitionShowAnimation, transitionHideAnimation: loadingTransitionHideAnimation }), itemList.active)); const FragmentEl = waveEffect ? React__default.createElement(WaveEffect.WaveEffect, { type: waveEffect }, ButtonEl) : ButtonEl; return (React__default.createElement(FixedBox.FixedBox, { status: status, setStatus: setStatus, minWidth: minWidth, boxShadow: boxShadow, transitionClassName: transitionClassName, transitionType: transitionType, transitionDuration: transitionDuration, showAnimation: showAnimation, hideAnimation: hideAnimation, onRef: args => fixedBoxOnRef.current = args }, FragmentEl, React__default.createElement(SelectFixedBoxElement.SelectFixedBoxElement, Object.assign({}, boxProps, { size: size, sizeSm: sizeSm, sizeMd: sizeMd, sizeLg: sizeLg, sizeXl: sizeXl, type: type, shape: shape }), React__default.createElement(Div, { height: "inherit", minHeight: "inherit", maxHeight: "inherit" }, search && React__default.createElement("section", null, React__default.createElement(Input.Input, Object.assign({}, searchInputProps, { value: searchText, setValue: setSearchText }))), itemList.value)))); }; module.exports = ButtonSelect;