UNPKG

chenw-tool

Version:

React components using pure Bootstrap 5+ which does not contain any external style and script libraries.

120 lines (113 loc) 7.44 kB
/* * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("react")); else if(typeof define === 'function' && define.amd) define("myCheckbox", ["react"], factory); else if(typeof exports === 'object') exports["myCheckbox"] = factory(require("react")); else root["myCheckbox"] = factory(root["react"]); })(this, (__WEBPACK_EXTERNAL_MODULE_react__) => { return /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ "./src/Checkbox.tsx": /*!**************************!*\ !*** ./src/Checkbox.tsx ***! \**************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Checkbox)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\nvar __spreadArray = (undefined && undefined.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n\nfunction Checkbox(_a) {\n var checkboxList = _a.checkboxList, groupName = _a.groupName, selectedValues = _a.selectedValues, onChange = _a.onChange, _b = _a.type, type = _b === void 0 ? \"block\" : _b, _c = _a.disableLastIfSelected, disableLastIfSelected = _c === void 0 ? false : _c;\n var handleCheckboxChange = function (e) {\n var value = e.target.value;\n var updatedValues = __spreadArray([], selectedValues, true);\n if (e.target.checked) {\n updatedValues.push(value);\n }\n else {\n updatedValues = updatedValues.filter(function (v) { return v !== value; });\n }\n onChange(updatedValues);\n };\n // 计算未选中的复选框数量\n var uncheckedCount = checkboxList.length - selectedValues.length;\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { style: { display: \"flex\", alignItems: \"center\" } },\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: type === \"inline\" ? \"w-100 text-nowrap\" : \"w-100\" }, checkboxList.map(function (item, index) { return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: type === \"inline\"\n ? \"form-check form-check-inline mb-0\"\n : \"form-check mb-0\", key: String(item.id) },\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", { className: \"form-check-input\", type: \"checkbox\", id: String(item.id), name: groupName, value: item.value, checked: selectedValues.includes(item.value), onChange: handleCheckboxChange, disabled: disableLastIfSelected &&\n uncheckedCount === 1 &&\n !selectedValues.includes(item.value) }),\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", { className: \"form-check-label\", htmlFor: String(item.id) }, item.name))); }))));\n}\n\n\n//# sourceURL=webpack://myCheckbox/./src/Checkbox.tsx?"); /***/ }), /***/ "react": /*!************************!*\ !*** external "react" ***! \************************/ /***/ ((module) => { module.exports = __WEBPACK_EXTERNAL_MODULE_react__; /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/compat get default export */ /******/ (() => { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = (module) => { /******/ var getter = module && module.__esModule ? /******/ () => (module['default']) : /******/ () => (module); /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ (() => { /******/ // define __esModule on exports /******/ __webpack_require__.r = (exports) => { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ })(); /******/ /************************************************************************/ /******/ /******/ // startup /******/ // Load entry module and return exports /******/ // This entry module can't be inlined because the eval devtool is used. /******/ var __webpack_exports__ = __webpack_require__("./src/Checkbox.tsx"); /******/ /******/ return __webpack_exports__; /******/ })() ; });