UNPKG

react-wired-elements

Version:

Wired Elements as React components. TypeScript types included.

1,080 lines (1,011 loc) 32.7 kB
import 'wired-elements/lib/wired-elements-cjs'; import { useState as useState$3, useRef as useRef$2, useEffect as useEffect$2, createElement, useMemo as useMemo$h, Fragment } from 'react'; function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } var useState = useState$3, useRef = useRef$2, useEffect = useEffect$2; function useCustomElement(values) { var _useState = useState({}), attrs = _useState[0], setAttrs = _useState[1]; var registered = useRef(false); var ref = useRef(); useEffect(function () { if (!registered.current) { return; } var attributes = values['attributes']; var css = values['css']; css && setCSS(css); attributes && addAttributes(attributes); }, [values]); function setCSS(css) { Object.keys(css).forEach(function (key) { var value = css[key]; if (!value) return; if (key.startsWith('--')) { var root = document.documentElement; root.style.setProperty(key, value || '#333'); } else { ref.current.style[key] = value; } }); } // Only need to add the methods once useEffect(function () { if (!registered.current) { return; } var methods = values['methods']; methods && addMethods(methods); }, [values]); function register(option) { ref.current = option; registered.current = true; } // This hook fires on any change to ensure that things are repainted as necessary. useEffect(function () { // A hack, but it works for now. setTimeout(function () { var _ref$current; if ((_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.requestUpdate) { ref.current.requestUpdate(); } }, 0); }); function addAttributes(attrList) { Object.keys(attrList).forEach(function (key) { setAttrs(function (a) { var _extends2; return _extends({}, a, (_extends2 = {}, _extends2[key] = attrList[key], _extends2)); }); }); } function addMethods(methodsList) { Object.keys(methodsList).forEach(function (key) { ref.current.addEventListener(key, methodsList[key]); }); } // This is responsible for syncing up dom attributes when the prop // representation changes. useEffect(function () { Object.keys(attrs).forEach(function (key) { // @ts-ignore ref.current[key] = attrs[key]; }); }, [attrs]); // This event listener is for the WiredSearchInput so that it can // be detected when the user hits the clear button. useEffect(function () { ref.current.addEventListener('input', function (e) { setAttrs(function (a) { return _extends({}, a, { value: e.target.value }); }); }); }, []); return register; } var useMemo = useMemo$h; var WiredButton = function WiredButton(_ref) { var className = _ref.className, style = _ref.style, onClick = _ref.onClick, _ref$elevation = _ref.elevation, elevation = _ref$elevation === void 0 ? 1 : _ref$elevation, _ref$disabled = _ref.disabled, disabled = _ref$disabled === void 0 ? false : _ref$disabled, _ref$children = _ref.children, children = _ref$children === void 0 ? 'Click Me!' : _ref$children; var customValues = useMemo(function () { return { attributes: { disabled: disabled, elevation: elevation } }; }, [elevation, disabled]); var register = useCustomElement(customValues); return createElement("wired-button", { onClick: onClick, "class": className, style: style, ref: register }, children); }; var useMemo$1 = useMemo$h; var WiredCalendar = function WiredCalendar(_ref) { var _ref$elevation = _ref.elevation, elevation = _ref$elevation === void 0 ? 1 : _ref$elevation, selectedDate = _ref.selectedDate, firstDate = _ref.firstDate, lastDate = _ref.lastDate, locale = _ref.locale, _ref$disabled = _ref.disabled, disabled = _ref$disabled === void 0 ? false : _ref$disabled, _ref$initials = _ref.initials, initials = _ref$initials === void 0 ? false : _ref$initials, _ref$bgColor = _ref.bgColor, bgColor = _ref$bgColor === void 0 ? 'white' : _ref$bgColor, _ref$lineColor = _ref.lineColor, lineColor = _ref$lineColor === void 0 ? 'black' : _ref$lineColor, _ref$selectedColor = _ref.selectedColor, selectedColor = _ref$selectedColor === void 0 ? 'red' : _ref$selectedColor, _ref$dimmedColor = _ref.dimmedColor, dimmedColor = _ref$dimmedColor === void 0 ? 'gray' : _ref$dimmedColor, onSelect = _ref.onSelect, className = _ref.className, style = _ref.style; var customValues = useMemo$1(function () { return { attributes: { elevation: elevation, selected: selectedDate, firstdate: firstDate, lastdate: lastDate, locale: locale, disabled: disabled, initials: initials }, methods: { selected: onSelect }, css: { '--wired-calendar-bg': bgColor, '--wired-calendar-color': lineColor, '--wired-calendar-selected-color': selectedColor, '--wired-calendar-dimmed-color': dimmedColor } }; }, [elevation, selectedDate, firstDate, lastDate, locale, disabled, initials, // value, // format, bgColor, lineColor, selectedColor, dimmedColor, onSelect]); var register = useCustomElement(customValues); return createElement("wired-calendar", { "class": className, style: style, ref: register }); }; /* Not sure what to do about these. Are they even needed for React? value - javascript object that contains the selected Date object and the corresponing formated text. format - gets/sets the javascript function to format a Date object into a formated text. */ var WiredCard = function WiredCard(_ref) { var requestUpdate = _ref.requestUpdate, elevation = _ref.elevation, fill = _ref.fill, children = _ref.children, className = _ref.className, style = _ref.style; var customValues = useMemo$h(function () { return { attributes: { elevation: elevation, fill: fill }, methods: { requestUpdate: requestUpdate } }; }, [elevation, fill, requestUpdate]); var register = useCustomElement(customValues); return createElement("wired-card", { "class": className, style: style, ref: register }, children); }; var WiredCheckBox = function WiredCheckBox(_ref) { var _ref$checked = _ref.checked, checked = _ref$checked === void 0 ? false : _ref$checked, _ref$color = _ref.color, color = _ref$color === void 0 ? 'currentColor' : _ref$color, _ref$disabled = _ref.disabled, disabled = _ref$disabled === void 0 ? false : _ref$disabled, onChange = _ref.onChange, className = _ref.className, style = _ref.style; var customValues = useMemo$h(function () { return { attributes: { disabled: disabled, checked: checked }, methods: { change: onChange }, css: { '--wired-checkbox-icon-color': color } }; }, [checked, disabled, color, onChange]); var register = useCustomElement(customValues); return createElement("wired-checkbox", { "class": className, style: style, ref: register }); }; var useMemo$2 = useMemo$h; var WiredCombo = function WiredCombo(_ref) { var children = _ref.children, _ref$disabled = _ref.disabled, disabled = _ref$disabled === void 0 ? false : _ref$disabled, value = _ref.value, onSelect = _ref.onSelect, _ref$popupBgColor = _ref.popupBgColor, popupBgColor = _ref$popupBgColor === void 0 ? 'white' : _ref$popupBgColor, _ref$selectedBgColor = _ref.selectedBgColor, selectedBgColor = _ref$selectedBgColor === void 0 ? 'gray' : _ref$selectedBgColor, className = _ref.className, style = _ref.style; var customValues = useMemo$2(function () { return { attributes: { disabled: disabled, value: value }, methods: { selected: onSelect }, css: { '--wired-combo-popup-bg': popupBgColor, '--wired-item-selected-bg': selectedBgColor } }; }, [disabled, value, onSelect, popupBgColor, selectedBgColor]); var register = useCustomElement(customValues); return createElement("wired-combo", { "class": className, style: style, ref: register }, children); }; var useMemo$3 = useMemo$h; var WiredDialog = function WiredDialog(_ref) { var children = _ref.children, _ref$elevation = _ref.elevation, elevation = _ref$elevation === void 0 ? 1 : _ref$elevation, _ref$open = _ref.open, open = _ref$open === void 0 ? false : _ref$open, _ref$zIndex = _ref.zIndex, zIndex = _ref$zIndex === void 0 ? 1 : _ref$zIndex, className = _ref.className, style = _ref.style; var customValues = useMemo$3(function () { return { attributes: { open: open, elevation: elevation }, css: { '--wired-dialog-z-index': zIndex } }; }, [elevation, open, zIndex]); var register = useCustomElement(customValues); return createElement("wired-dialog", { "class": className, style: style, ref: register }, children); }; var WiredDivider = function WiredDivider(_ref) { var _ref$elevation = _ref.elevation, elevation = _ref$elevation === void 0 ? 1 : _ref$elevation, className = _ref.className, style = _ref.style; var customValues = useMemo$h(function () { return { attributes: { elevation: elevation } }; }, [elevation]); var register = useCustomElement(customValues); return createElement("wired-divider", { "class": className, style: style, ref: register }); }; var useMemo$4 = useMemo$h; var WiredFab = function WiredFab(_ref) { var _ref$disabled = _ref.disabled, disabled = _ref$disabled === void 0 ? false : _ref$disabled, _ref$bgColor = _ref.bgColor, bgColor = _ref$bgColor === void 0 ? '#018786' : _ref$bgColor, _ref$iconColor = _ref.iconColor, iconColor = _ref$iconColor === void 0 ? 'white' : _ref$iconColor, _ref$icon = _ref.icon, icon = _ref$icon === void 0 ? 'favorite' : _ref$icon, onClick = _ref.onClick, children = _ref.children, className = _ref.className, style = _ref.style; var customValues = useMemo$4(function () { return { attributes: { disabled: disabled }, methods: { click: onClick }, css: { '--wired-fab-bg-color': bgColor, color: iconColor } }; }, [disabled, bgColor, iconColor, onClick]); var register = useCustomElement(customValues); return createElement("wired-fab", { "class": className, style: style, ref: register }, createElement("span", null, children || createElement("span", { className: "material-icons", style: { color: iconColor } }, icon))); }; var useMemo$5 = useMemo$h; var WiredIconButton = function WiredIconButton(_ref) { var _ref$disabled = _ref.disabled, disabled = _ref$disabled === void 0 ? false : _ref$disabled, _ref$lineColor = _ref.lineColor, lineColor = _ref$lineColor === void 0 ? '#018786' : _ref$lineColor, _ref$iconColor = _ref.iconColor, iconColor = _ref$iconColor === void 0 ? '#018786' : _ref$iconColor, _ref$icon = _ref.icon, icon = _ref$icon === void 0 ? 'favorite' : _ref$icon, _ref$iconSize = _ref.iconSize, iconSize = _ref$iconSize === void 0 ? 24 : _ref$iconSize, onClick = _ref.onClick, children = _ref.children, className = _ref.className, style = _ref.style; var customValues = useMemo$5(function () { return { attributes: { disabled: disabled }, css: { color: lineColor, '--mdc-icon-size': iconSize } }; }, [disabled, lineColor, iconSize]); var register = useCustomElement(customValues); return createElement("wired-icon-button", { onClick: onClick, "class": className, style: style, ref: register }, createElement("div", { style: { height: '24px', width: '24px' } }, children || createElement("span", { className: "material-icons", style: { fontSize: iconSize, color: iconColor } }, icon))); }; var useMemo$6 = useMemo$h; var WiredImage = function WiredImage(_ref) { var _ref$elevation = _ref.elevation, elevation = _ref$elevation === void 0 ? 1 : _ref$elevation, _ref$src = _ref.src, src = _ref$src === void 0 ? 'http://placekitten.com/200/300' : _ref$src, className = _ref.className, style = _ref.style; var customValues = useMemo$6(function () { return { attributes: { src: src, elevation: elevation } }; }, [elevation, src]); var register = useCustomElement(customValues); return createElement("wired-image", { "class": className, style: style, ref: register }); }; var useMemo$7 = useMemo$h; var WiredInput = function WiredInput(_ref) { var _ref$placeholder = _ref.placeholder, placeholder = _ref$placeholder === void 0 ? '' : _ref$placeholder, _ref$disabled = _ref.disabled, disabled = _ref$disabled === void 0 ? false : _ref$disabled, _ref$type = _ref.type, type = _ref$type === void 0 ? 'text' : _ref$type, _ref$value = _ref.value, value = _ref$value === void 0 ? '' : _ref$value, onChange = _ref.onChange, onBlur = _ref.onBlur, onFocus = _ref.onFocus, className = _ref.className, style = _ref.style; var customValues = useMemo$7(function () { return { attributes: { placeholder: placeholder, disabled: disabled, type: type, value: value }, methods: { input: onChange, blur: onBlur, focus: onFocus } }; }, [placeholder, disabled, type, value, onChange, onBlur, onFocus]); var register = useCustomElement(customValues); return createElement("wired-input", { "class": className, style: style, ref: register }); }; var useMemo$8 = useMemo$h; var WiredItem = function WiredItem(_ref) { var children = _ref.children, value = _ref.value, _ref$selectedBgColor = _ref.selectedBgColor, selectedBgColor = _ref$selectedBgColor === void 0 ? 'black' : _ref$selectedBgColor, _ref$selectedColor = _ref.selectedColor, selectedColor = _ref$selectedColor === void 0 ? 'white' : _ref$selectedColor, _ref$color = _ref.color, color = _ref$color === void 0 ? 'black' : _ref$color, _ref$selected = _ref.selected, selected = _ref$selected === void 0 ? false : _ref$selected, _onClick = _ref.onClick, className = _ref.className, style = _ref.style; var customValues = useMemo$8(function () { return { attributes: { value: value, selected: selected }, css: { '--wired-item-selected-color': selectedColor, '--wired-item-selected-bg': selectedBgColor } }; }, [value, selectedBgColor, selectedColor, selected]); var register = useCustomElement(customValues); var appliedStyle = _extends({}, style); appliedStyle.backgroundColor = selected ? selectedBgColor : style === null || style === void 0 ? void 0 : style.backgroundColor; appliedStyle.color = selected ? selectedColor : color || (style === null || style === void 0 ? void 0 : style.color); return createElement("wired-item", { value: value, "class": className, style: appliedStyle, onClick: function onClick() { return _onClick && _onClick(selected); }, ref: register }, children); }; var WiredLink = function WiredLink(_ref) { var _ref$elevation = _ref.elevation, elevation = _ref$elevation === void 0 ? 1 : _ref$elevation, _ref$href = _ref.href, href = _ref$href === void 0 ? '' : _ref$href, target = _ref.target, _ref$color = _ref.color, color = _ref$color === void 0 ? 'black' : _ref$color, _ref$lineColor = _ref.lineColor, lineColor = _ref$lineColor === void 0 ? 'black' : _ref$lineColor, children = _ref.children, className = _ref.className, style = _ref.style; var customValues = useMemo$h(function () { return { attributes: { elevation: elevation, href: href, target: target }, css: { '--wired-link-decoration-color': lineColor, color: color } }; }, [elevation, href, target, color, lineColor]); var register = useCustomElement(customValues); return createElement("wired-link", { "class": className, style: style, ref: register }, children); }; var useMemo$9 = useMemo$h; var WiredListBox = function WiredListBox(_ref) { var children = _ref.children, _ref$horizontal = _ref.horizontal, horizontal = _ref$horizontal === void 0 ? false : _ref$horizontal, selected = _ref.selected, onSelect = _ref.onSelect, _ref$color = _ref.color, color = _ref$color === void 0 ? 'black' : _ref$color, _ref$bgColor = _ref.bgColor, bgColor = _ref$bgColor === void 0 ? 'white' : _ref$bgColor, className = _ref.className, style = _ref.style; var customValues = useMemo$9(function () { return { attributes: { horizontal: horizontal, selected: selected }, methods: { selected: onSelect }, css: { '--wired-item-selected-color ': color, '--wired-item-selected-bg': bgColor } }; }, [horizontal, selected, onSelect, color, bgColor]); var register = useCustomElement(customValues); return createElement("wired-listbox", { selected: selected, "class": className, style: style, ref: register }, children); }; var useMemo$a = useMemo$h, useState$1 = useState$3, useEffect$1 = useEffect$2; var WiredProgress = function WiredProgress(_ref) { var _ref$value = _ref.value, value = _ref$value === void 0 ? 30 : _ref$value, _ref$min = _ref.min, min = _ref$min === void 0 ? 0 : _ref$min, _ref$max = _ref.max, max = _ref$max === void 0 ? 100 : _ref$max, _ref$showPercentage = _ref.showPercentage, showPercentage = _ref$showPercentage === void 0 ? false : _ref$showPercentage, _ref$labelColor = _ref.labelColor, labelColor = _ref$labelColor === void 0 ? 'black' : _ref$labelColor, _ref$labelBgColor = _ref.labelBgColor, labelBgColor = _ref$labelBgColor === void 0 ? 'rgba(255,255,255,0.9)' : _ref$labelBgColor, _ref$progressBarColor = _ref.progressBarColor, progressBarColor = _ref$progressBarColor === void 0 ? 'rgba(0, 0, 200, 0.8)' : _ref$progressBarColor, _ref$fontSize = _ref.fontSize, fontSize = _ref$fontSize === void 0 ? 14 : _ref$fontSize, stuckAt = _ref.stuckAt, className = _ref.className, style = _ref.style; var _useState = useState$1(null), stuckAtValue = _useState[0], setStuckAtValue = _useState[1]; /** * The stuckAt prop sets an interval that alternates between the stuckAt prop value * and the same value + .01 every 750 milliseconds. * This is forces re-renders, which paints a new SVG each time, giving an animated look. */ useEffect$1(function () { var interval; if (stuckAt) { interval = setInterval(function () { setStuckAtValue(function (s) { return s === stuckAt ? s + 0.01 : stuckAt; }); }, 750); } return function () { return clearInterval(interval); }; }, [stuckAt]); var customValues = useMemo$a(function () { return { attributes: { value: stuckAtValue || value, min: stuckAtValue ? 0 : min, max: stuckAtValue ? 100 : max, percentage: showPercentage }, css: { '--wired-progress-label-color': labelColor, '--wired-progress-label-background': labelBgColor, '--wired-progress-color': progressBarColor, '--wired-progress-font-size': fontSize } }; }, [value, min, max, showPercentage, labelColor, labelBgColor, progressBarColor, fontSize, stuckAtValue]); var register = useCustomElement(customValues); return createElement("wired-progress", { "class": className, style: style, ref: register }); }; var useMemo$b = useMemo$h; var WiredRadio = function WiredRadio(_ref) { var _ref$checked = _ref.checked, checked = _ref$checked === void 0 ? false : _ref$checked, _ref$disabled = _ref.disabled, disabled = _ref$disabled === void 0 ? false : _ref$disabled, name = _ref.name, _ref$color = _ref.color, color = _ref$color === void 0 ? 'currentColor' : _ref$color, onChange = _ref.onChange, children = _ref.children, className = _ref.className, style = _ref.style; var customValues = useMemo$b(function () { return { attributes: { checked: checked, disabled: disabled, name: name }, methods: { change: onChange }, css: { '--wired-radio-icon-color': color } }; }, [checked, disabled, name, color, onChange]); var register = useCustomElement(customValues); return createElement("wired-radio", { "class": className, style: style, ref: register }, children); }; var useMemo$c = useMemo$h; var WiredRadioGroup = function WiredRadioGroup(_ref) { var children = _ref.children, selected = _ref.selected, onSelect = _ref.onSelect, className = _ref.className, style = _ref.style; var customValues = useMemo$c(function () { return { attributes: { selected: selected }, methods: { selected: onSelect } }; }, [selected, onSelect]); var register = useCustomElement(customValues); return createElement("wired-radio-group", { "class": className, style: style, ref: register }, children); }; var useMemo$d = useMemo$h; var WiredSearchInput = function WiredSearchInput(_ref) { var _ref$placeholder = _ref.placeholder, placeholder = _ref$placeholder === void 0 ? '' : _ref$placeholder, _ref$disabled = _ref.disabled, disabled = _ref$disabled === void 0 ? false : _ref$disabled, _ref$value = _ref.value, value = _ref$value === void 0 ? '' : _ref$value, onChange = _ref.onChange, onBlur = _ref.onBlur, onFocus = _ref.onFocus, className = _ref.className, style = _ref.style; var customValues = useMemo$d(function () { return { attributes: { placeholder: placeholder, disabled: disabled, value: value }, methods: { input: onChange, blur: onBlur, focus: onFocus } }; }, [placeholder, disabled, value, onChange, onBlur, onFocus]); var register = useCustomElement(customValues); return createElement("wired-search-input", { "class": className, style: style, ref: register }); }; function debounce(func, wait, immediate) { var timeout; return function () { // @ts-ignore var context = this, args = arguments; var later = function later() { timeout = null; if (!immediate) func.apply(context, args); }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) func.apply(context, args); }; } var useMemo$e = useMemo$h; var WiredSlider = function WiredSlider(_ref) { var _ref$value = _ref.value, value = _ref$value === void 0 ? 30 : _ref$value, _ref$min = _ref.min, min = _ref$min === void 0 ? 0 : _ref$min, _ref$max = _ref.max, max = _ref$max === void 0 ? 100 : _ref$max, _ref$knobZeroColor = _ref.knobZeroColor, knobZeroColor = _ref$knobZeroColor === void 0 ? 'black' : _ref$knobZeroColor, _ref$knobColor = _ref.knobColor, knobColor = _ref$knobColor === void 0 ? 'rgba(0, 0, 200, 0.8)' : _ref$knobColor, _ref$barColor = _ref.barColor, barColor = _ref$barColor === void 0 ? 'currentColor' : _ref$barColor, onChange = _ref.onChange, className = _ref.className, style = _ref.style; var customValues = useMemo$e(function () { return { attributes: { value: value, min: min, max: max }, css: { // '--wired-slider-knob-zero-color': knobZeroColor, '--wired-slider-knob-color': value === min ? knobZeroColor : knobColor, '--wired-slider-bar-color': barColor }, methods: { change: debounce(onChange, 500) } }; }, [value, min, max, knobZeroColor, knobColor, barColor, onChange]); var register = useCustomElement(customValues); return createElement("wired-slider", { "class": className, style: style, ref: register }); }; var WiredSpinner = function WiredSpinner(_ref) { var _ref$spinning = _ref.spinning, spinning = _ref$spinning === void 0 ? false : _ref$spinning, _ref$duration = _ref.duration, duration = _ref$duration === void 0 ? 1500 : _ref$duration, _ref$color = _ref.color, color = _ref$color === void 0 ? 'black' : _ref$color, className = _ref.className, style = _ref.style; var customValues = useMemo$h(function () { return { attributes: { spinning: spinning, duration: duration }, css: { color: color } }; }, [spinning, duration, color]); var register = useCustomElement(customValues); return createElement("wired-spinner", { "class": className, style: style, ref: register }); }; var useMemo$f = useMemo$h; var WiredTab = function WiredTab(_ref) { var children = _ref.children, name = _ref.name, label = _ref.label, className = _ref.className, style = _ref.style; var customValues = useMemo$f(function () { return { attributes: { name: name, label: label } }; }, [name, label]); var register = useCustomElement(customValues); var appliedStyle = _extends({}, style, { minWidth: '200px' }); return createElement("wired-tab", { "class": className, style: appliedStyle, ref: register }, children); }; var Show = function Show(_ref) { var when = _ref.when, children = _ref.children; return createElement(Fragment, null, when && children); }; var useState$2 = useState$3, useRef$1 = useRef$2; var WiredTabs = function WiredTabs(_ref) { var children = _ref.children, initialSelected = _ref.initialSelected, _ref$selectedColor = _ref.selectedColor, selectedColor = _ref$selectedColor === void 0 ? 'white' : _ref$selectedColor, _ref$selectedBgColor = _ref.selectedBgColor, selectedBgColor = _ref$selectedBgColor === void 0 ? 'black' : _ref$selectedBgColor; var _useState = useState$2(initialSelected), selectedValue = _useState[0], setSelectedValue = _useState[1]; var tabsRef = useRef$1(null); function handleSelected(e) { setSelectedValue(e); } return createElement("div", null, createElement("div", { ref: tabsRef }, createElement(Show, { when: Array.isArray(children) }, children && children.map(function (child) { return createElement(WiredItem, { selectedColor: selectedColor, selectedBgColor: selectedBgColor, onClick: function onClick() { return handleSelected(child.props.name); }, selected: selectedValue === child.props.name, key: child.props.name, value: child.props.name }, child.props.name); }))), createElement("div", null, createElement(Show, { when: Array.isArray(children) }, children && children.map(function (child) { if (child.props.name === selectedValue) { return createElement("div", { key: child, style: { width: (tabsRef === null || tabsRef === void 0 ? void 0 : tabsRef.current) ? tabsRef === null || tabsRef === void 0 ? void 0 : tabsRef.current.clientWidth : 'auto' } }, child); } return null; })))); }; var useMemo$g = useMemo$h; var WiredTextArea = function WiredTextArea(_ref) { var placeholder = _ref.placeholder, disabled = _ref.disabled, value = _ref.value, _ref$rows = _ref.rows, rows = _ref$rows === void 0 ? 3 : _ref$rows, _ref$maxRows = _ref.maxRows, maxRows = _ref$maxRows === void 0 ? 20 : _ref$maxRows, onChange = _ref.onChange, onBlur = _ref.onBlur, onFocus = _ref.onFocus, className = _ref.className, style = _ref.style; var customValues = useMemo$g(function () { return { attributes: { placeholder: placeholder, disabled: disabled, value: value, rows: rows, maxrows: maxRows }, methods: { keyup: onChange, blur: onBlur, focus: onFocus } }; }, [placeholder, disabled, value, rows, maxRows, onChange, onBlur, onFocus]); var register = useCustomElement(customValues); return createElement("wired-textarea", { "class": className, style: style, ref: register }); }; /* TODO: Not working- maxrows - Max number of rows TextArea grows to. Then scrollbars appear. */ var WiredToggle = function WiredToggle(_ref) { var _ref$checked = _ref.checked, checked = _ref$checked === void 0 ? false : _ref$checked, _ref$disabled = _ref.disabled, disabled = _ref$disabled === void 0 ? false : _ref$disabled, onChange = _ref.onChange, _ref$activeColor = _ref.activeColor, activeColor = _ref$activeColor === void 0 ? 'rgb(63, 81, 181)' : _ref$activeColor, _ref$inactiveColor = _ref.inactiveColor, inactiveColor = _ref$inactiveColor === void 0 ? 'gray' : _ref$inactiveColor, className = _ref.className, style = _ref.style; var customValues = useMemo$h(function () { return { attributes: { checked: checked, disabled: disabled }, methods: { change: onChange }, css: { '--wired-toggle-on-color': activeColor, '--wired-toggle-off-color': inactiveColor } }; }, [checked, disabled, onChange, activeColor, inactiveColor]); var register = useCustomElement(customValues); return createElement("wired-toggle", { "class": className, style: style, ref: register }); }; var WiredVideo = function WiredVideo(_ref) { var _ref$src = _ref.src, src = _ref$src === void 0 ? 'https://res.cloudinary.com/gojutin/video/upload/w_400/v1585407774/cat-video.mp4' : _ref$src, _ref$autoPlay = _ref.autoPlay, autoPlay = _ref$autoPlay === void 0 ? false : _ref$autoPlay, _ref$loop = _ref.loop, loop = _ref$loop === void 0 ? false : _ref$loop, _ref$muted = _ref.muted, muted = _ref$muted === void 0 ? false : _ref$muted, _ref$playsInline = _ref.playsInline, playsInline = _ref$playsInline === void 0 ? false : _ref$playsInline, _ref$color = _ref.color, color = _ref$color === void 0 ? 'black' : _ref$color, className = _ref.className, style = _ref.style; var customValues = useMemo$h(function () { return { attributes: { src: src, autoplay: autoPlay, loop: loop, muted: muted, playsinline: playsInline }, css: { '--wired-video-highlight-color': color } }; }, [src, autoPlay, loop, muted, playsInline, color]); var register = useCustomElement(customValues); return createElement("wired-video", { "class": className, style: style, ref: register }); }; export { WiredButton, WiredCalendar, WiredCard, WiredCheckBox, WiredCombo, WiredDialog, WiredDivider, WiredFab, WiredIconButton, WiredImage, WiredInput, WiredItem, WiredLink, WiredListBox, WiredProgress, WiredRadio, WiredRadioGroup, WiredSearchInput, WiredSlider, WiredSpinner, WiredTab, WiredTabs, WiredTextArea, WiredToggle, WiredVideo }; //# sourceMappingURL=react-wired-elements.esm.js.map