"use strict"; exports.id = 5449; exports.ids = [5449]; exports.modules = { /***/ 5449: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (/* binding */ ButtonGroup) /* harmony export */ }); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6689); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); // @ts-check /** * Imports * ============================================================================== */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** * Main Component { Functional } * ============================================================================== * @param {{ * children: React.ReactNode, * column?: boolean, * className?: string, * }} props - React component props including { children } */ function ButtonGroup({ children , column , className }) { /** * Get Contexts * * @abstract { React.useContext } */ //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** * Javascript Variables * * @abstract Non hook variables and functions */ //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** * React Hooks * * @abstract { useState, useEffect, useRef, etc ... } */ const btnGroupRef = react__WEBPACK_IMPORTED_MODULE_1___default().useRef(); react__WEBPACK_IMPORTED_MODULE_1___default().useEffect(()=>{ try { /** @type {HTMLDivElement & *} */ const buttonGroupWrapper = btnGroupRef.current; /** @type {any} */ const children = buttonGroupWrapper.childNodes; const allAvailableBtns = Array.from(children); if (allAvailableBtns?.length === 1) return; allAvailableBtns.forEach((btn, index)=>{ let targetElement = btn; if (targetElement.classList.contains("dropdown-wrapper")) { const targetClild = Array.from(btn.childNodes).filter((node)=>node?.nodeName?.match(/button/i) || node.classList.contains("button")); if (targetClild && targetClild[0]) { targetElement = targetClild[0]; } } const targetBorderSide = column ? "borderTop" : "borderLeft"; const targetBorderRadiusStart = column ? "borderBottomRightRadius" : "borderTopRightRadius"; const targetBorderRadiusEnd = column ? "borderBottomLeftRadius" : "borderBottomRightRadius"; const targetBorderOppositeRadiusStart = column ? "borderTopRightRadius" : "borderTopLeftRadius"; const targetBorderOppositeRadiusEnd = column ? "borderTopLeftRadius" : "borderBottomLeftRadius"; if (index < allAvailableBtns.length - 1) { targetElement.style[targetBorderRadiusStart] = 0; targetElement.style[targetBorderRadiusEnd] = 0; } if (index > 0) { targetElement.style[targetBorderSide] = "none"; targetElement.style[targetBorderOppositeRadiusStart] = 0; targetElement.style[targetBorderOppositeRadiusEnd] = 0; } }); } catch (/** @type {any} */ error) { console.log(error.message); } }, []); //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** * Function Return * * @abstract Main Function Return */ return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", { className: "items-stretch gap-0" + (column ? " flex-col" : " flex-wrap xl:flex-nowrap") + (className ? " " + className : ""), // @ts-ignore ref: btnGroupRef, children: children }); //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// } /***/ }) }; ;