Skip to content

Commit bcdd29c

Browse files
authored
Merge pull request #25 from afc-org/dev-master
Fix: solve npm bugs
2 parents d397e9b + 4eb483b commit bcdd29c

34 files changed

+2210
-4
lines changed

.babelrc.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"presets": [
3+
"@babel/preset-env",
4+
"@babel/preset-react"
5+
],
6+
"plugins": [
7+
"@babel/plugin-proposal-class-properties",
8+
["@babel/plugin-proposal-decorators", {"decoratorsBeforeExport": true}],
9+
"@babel/plugin-proposal-do-expressions",
10+
"@babel/plugin-proposal-export-default-from",
11+
"@babel/plugin-proposal-export-namespace-from",
12+
"@babel/plugin-proposal-function-bind",
13+
"@babel/plugin-proposal-function-sent",
14+
"@babel/plugin-proposal-json-strings",
15+
"@babel/plugin-proposal-logical-assignment-operators",
16+
"@babel/plugin-proposal-nullish-coalescing-operator",
17+
"@babel/plugin-proposal-numeric-separator",
18+
"@babel/plugin-proposal-optional-chaining",
19+
["@babel/plugin-proposal-pipeline-operator", {"proposal": "fsharp"}],
20+
"@babel/plugin-proposal-throw-expressions",
21+
"@babel/plugin-syntax-class-properties",
22+
"@babel/plugin-syntax-dynamic-import",
23+
"@babel/plugin-syntax-import-meta"
24+
]
25+
}

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/node_modules
2+
package-lock.json

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# @afc-org/react-tailwind
22

3-
![version](https://img.shields.io/badge/version-0.1.0-blue.svg) ![license](https://img.shields.io/badge/license-MIT-blue.svg) <a href="https://github.com/afc-org/react-tailwind/issues?q=is%3Aopen+is%3Aissue" target="_blank">![GitHub issues open](https://img.shields.io/github/issues/@afc-org/react-tailwind.svg)</a> <a href="https://github.com/afc-org/react-tailwind?q=is%3Aissue+is%3Aclosed" target="_blank">![GitHub issues closed](https://img.shields.io/github/issues-closed-raw/@afc-org/react-tailwind.svg)</a>
3+
![version](https://img.shields.io/badge/version-0.1.1-blue.svg) ![license](https://img.shields.io/badge/license-MIT-blue.svg) <a href="https://github.com/afc-org/react-tailwind/issues?q=is%3Aopen+is%3Aissue" target="_blank">![GitHub issues open](https://img.shields.io/github/issues/@afc-org/react-tailwind.svg)</a> <a href="https://github.com/afc-org/react-tailwind?q=is%3Aissue+is%3Aclosed" target="_blank">![GitHub issues closed](https://img.shields.io/github/issues-closed-raw/@afc-org/react-tailwind.svg)</a>
44

55
<div align="center"><img src="./assets/logos/reactjs-tailwind-logo.png" alt="@afc-org/react-tailwind" width="300"/></div>
66

dist/Alert.js

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
"use strict";
2+
3+
Object.defineProperty(exports, "__esModule", {
4+
value: true
5+
});
6+
exports["default"] = void 0;
7+
8+
var _react = _interopRequireDefault(require("react"));
9+
10+
var _propTypes = _interopRequireDefault(require("prop-types"));
11+
12+
var _classnames = _interopRequireDefault(require("classnames"));
13+
14+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15+
16+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
17+
18+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19+
20+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
21+
22+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
23+
24+
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
25+
26+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27+
28+
var colorSchemes = {
29+
black: "bg-black text-gray-200 border-gray-900",
30+
white: "bg-white text-gray-600 border-gray-100",
31+
gray: "bg-gray-200 text-gray-800 border-gray-300",
32+
red: "bg-red-200 text-red-800 border-red-300",
33+
orange: "bg-orange-200 text-orange-800 border-orange-300",
34+
yellow: "bg-yellow-200 text-yellow-800 border-yellow-300",
35+
green: "bg-green-200 text-green-800 border-green-300",
36+
teal: "bg-teal-200 text-teal-800 border-teal-300",
37+
blue: "bg-blue-200 text-blue-800 border-blue-300",
38+
indigo: "bg-indigo-200 text-indigo-800 border-indigo-300",
39+
purple: "bg-purple-200 text-purple-800 border-purple-300",
40+
pink: "bg-pink-200 text-pink-800 border-pink-300"
41+
};
42+
43+
var Alert = function Alert(_ref) {
44+
var controlled = _ref.controlled,
45+
color = _ref.color,
46+
icon = _ref.icon,
47+
children = _ref.children;
48+
49+
var _React$useState = _react["default"].useState(true),
50+
_React$useState2 = _slicedToArray(_React$useState, 2),
51+
show = _React$useState2[0],
52+
setShow = _React$useState2[1];
53+
54+
var closeAlert = function closeAlert() {
55+
setShow(false);
56+
};
57+
58+
if (!show) {
59+
return null;
60+
}
61+
62+
return /*#__PURE__*/_react["default"].createElement("div", {
63+
className: (0, _classnames["default"])("px-5 py-3 border border-solid rounded relative mb-4", colorSchemes[color])
64+
}, icon !== "" ? /*#__PURE__*/_react["default"].createElement("span", {
65+
className: "text-xl inline-block mr-5 align-middle"
66+
}, /*#__PURE__*/_react["default"].createElement("i", {
67+
className: icon
68+
})) : null, icon ? /*#__PURE__*/_react["default"].createElement("span", {
69+
className: "inline-block align-middle mr-8"
70+
}, children) : children, controlled ? null : /*#__PURE__*/_react["default"].createElement("button", {
71+
className: "absolute bg-transparent text-2xl font-semibold leading-none right-0 top-0 outline-none focus:outline-none opacity-50 px-5 py-3 hover:opacity-75 hover:text-black",
72+
onClick: closeAlert
73+
}, /*#__PURE__*/_react["default"].createElement("span", null, "\xD7")));
74+
};
75+
76+
Alert.defaultProps = {
77+
controlled: false,
78+
color: "pink",
79+
icon: ""
80+
};
81+
Alert.propTypes = {
82+
// if set to false, then a closing button will be rendered so that the alert can be closed
83+
// if set to true, then the closing button will not be rendered
84+
controlled: _propTypes["default"].bool,
85+
// set the background, border and text color for the alert
86+
color: _propTypes["default"].oneOf(["black", "white", "gray", "red", "orange", "yellow", "green", "teal", "blue", "indigo", "purple", "pink"]),
87+
// adds a font icon to the left of the message
88+
// for example, if you have included into your project font-awesome free
89+
// you could send "fa fa-heart"
90+
icon: _propTypes["default"].string,
91+
children: _propTypes["default"].node.isRequired
92+
};
93+
var _default = Alert;
94+
exports["default"] = _default;

dist/Button.js

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
"use strict";
2+
3+
Object.defineProperty(exports, "__esModule", {
4+
value: true
5+
});
6+
exports["default"] = void 0;
7+
8+
var _react = _interopRequireDefault(require("react"));
9+
10+
var _propTypes = _interopRequireDefault(require("prop-types"));
11+
12+
var _classnames = _interopRequireDefault(require("classnames"));
13+
14+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15+
16+
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); }
17+
18+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
19+
20+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
21+
22+
var colorSchemes = {
23+
black: "bg-black border border-solid border-gray-900 hover:bg-gray-900 hover:border-gray-800 active:bg-gray-900 active:border-gray-800 text-white",
24+
white: "bg-white border border-solid border-gray-100 hover:bg-gray-100 hover:border-gray-200 active:bg-gray-100 active:border-gray-200 text-black",
25+
gray: "bg-gray-600 border border-solid border-gray-600 hover:bg-gray-700 hover:border-gray-800 active:bg-gray-700 active:border-gray-800 text-white",
26+
red: "bg-red-600 border border-solid border-red-600 hover:bg-red-700 hover:border-red-800 active:bg-red-700 active:border-red-800 text-white",
27+
orange: "bg-orange-600 border border-solid border-orange-600 hover:bg-orange-700 hover:border-orange-800 active:bg-orange-700 active:border-orange-800 text-white",
28+
yellow: "bg-yellow-600 border border-solid border-yellow-600 hover:bg-yellow-700 hover:border-yellow-800 active:bg-yellow-700 active:border-yellow-800 text-white",
29+
green: "bg-green-600 border border-solid border-green-600 hover:bg-green-700 hover:border-green-800 active:bg-green-700 active:border-green-800 text-white",
30+
teal: "bg-teal-600 border border-solid border-teal-600 hover:bg-teal-700 hover:border-teal-800 active:bg-teal-700 active:border-teal-800 text-white",
31+
blue: "bg-blue-600 border border-solid border-blue-600 hover:bg-blue-700 hover:border-blue-800 active:bg-blue-700 active:border-blue-800 text-white",
32+
indigo: "bg-indigo-600 border border-solid border-indigo-600 hover:bg-indigo-700 hover:border-indigo-800 active:bg-indigo-700 active:border-indigo-800 text-white",
33+
purple: "bg-purple-600 border border-solid border-purple-600 hover:bg-purple-700 hover:border-purple-800 active:bg-purple-700 active:border-purple-800 text-white",
34+
pink: "bg-pink-600 border border-solid border-pink-600 hover:bg-pink-700 hover:border-pink-800 active:bg-pink-700 active:border-pink-800 text-white"
35+
};
36+
37+
var Button = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
38+
var color = _ref.color,
39+
children = _ref.children,
40+
rest = _objectWithoutProperties(_ref, ["color", "children"]);
41+
42+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("button", _extends({}, rest, {
43+
className: (0, _classnames["default"])("rounded font-normal outline-none focus:outline-none align-middle text-base px-3 py-2 leading-tight", colorSchemes[color])
44+
}), children));
45+
});
46+
47+
Button.defaultProps = {
48+
color: "pink"
49+
};
50+
Button.propTypes = {
51+
// set the background, border and text color
52+
color: _propTypes["default"].oneOf(["black", "white", "gray", "red", "orange", "yellow", "green", "teal", "blue", "indigo", "purple", "pink"]),
53+
children: _propTypes["default"].node
54+
};
55+
var _default = Button;
56+
exports["default"] = _default;

dist/Dropdown.js

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
"use strict";
2+
3+
Object.defineProperty(exports, "__esModule", {
4+
value: true
5+
});
6+
exports["default"] = void 0;
7+
8+
var _react = _interopRequireDefault(require("react"));
9+
10+
var _propTypes = _interopRequireDefault(require("prop-types"));
11+
12+
var _core = require("@popperjs/core");
13+
14+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15+
16+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
17+
18+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19+
20+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
21+
22+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
23+
24+
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
25+
26+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27+
28+
var Dropdown = function Dropdown(_ref) {
29+
var controlled = _ref.controlled,
30+
placement = _ref.placement,
31+
children = _ref.children;
32+
33+
var _React$useState = _react["default"].useState(false),
34+
_React$useState2 = _slicedToArray(_React$useState, 2),
35+
show = _React$useState2[0],
36+
setShow = _React$useState2[1];
37+
38+
if (controlled) {
39+
return /*#__PURE__*/_react["default"].createElement("div", {
40+
className: "relative"
41+
}, children);
42+
} else {
43+
var toggleDropdown = function toggleDropdown() {
44+
if (!show) {
45+
(0, _core.createPopper)(togglerRef.current, menuRef.current, {
46+
placement: placement
47+
});
48+
}
49+
50+
setShow(!show);
51+
};
52+
53+
var togglerRef = /*#__PURE__*/_react["default"].createRef();
54+
55+
var menuRef = /*#__PURE__*/_react["default"].createRef();
56+
57+
var toggler = /*#__PURE__*/_react["default"].cloneElement(children[0], {
58+
onClick: function onClick() {
59+
return toggleDropdown();
60+
},
61+
ref: togglerRef
62+
});
63+
64+
var menu = /*#__PURE__*/_react["default"].cloneElement(children[1], {
65+
show: show,
66+
ref: menuRef
67+
});
68+
69+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
70+
className: "relative"
71+
}, toggler, menu));
72+
}
73+
};
74+
75+
Dropdown.defaultProps = {
76+
placement: "bottom",
77+
controlled: false
78+
};
79+
Dropdown.propTypes = {
80+
// where the Dropdown should be rendered
81+
// NOTE: if there is no place for the dropdown to be rendered
82+
// on the choosen placement, PopperJS will rendered it
83+
// where it has place
84+
placement: _propTypes["default"].oneOf(["top", "bottom", "left", "right"]),
85+
// if you want to controll the open/close of the DropdownMenu yourself
86+
controlled: _propTypes["default"].bool,
87+
// when using the uncontrolled version
88+
// you need to send exactly two children
89+
// - DropdownToggle
90+
// and
91+
// - DropdownMenu
92+
// if you fail to do so, an error will be thrown
93+
children: _propTypes["default"].node.isRequired
94+
};
95+
var _default = Dropdown;
96+
exports["default"] = _default;

dist/DropdownItem.js

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
"use strict";
2+
3+
Object.defineProperty(exports, "__esModule", {
4+
value: true
5+
});
6+
exports["default"] = void 0;
7+
8+
var _react = _interopRequireDefault(require("react"));
9+
10+
var _propTypes = _interopRequireDefault(require("prop-types"));
11+
12+
var _classnames = _interopRequireDefault(require("classnames"));
13+
14+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15+
16+
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); }
17+
18+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
19+
20+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
21+
22+
var DropdownItem = function DropdownItem(_ref) {
23+
var divider = _ref.divider,
24+
children = _ref.children,
25+
disabled = _ref.disabled,
26+
rest = _objectWithoutProperties(_ref, ["divider", "children", "disabled"]);
27+
28+
if (divider) {
29+
return /*#__PURE__*/_react["default"].createElement("div", {
30+
className: "h-0 my-2 border border-solid border-t-0 border-gray-900 opacity-25"
31+
});
32+
}
33+
34+
var classes = (0, _classnames["default"])("block w-full py-1 px-6 clear-both font-normal whitespace-no-wrap bg-transparent border-0 hover:opacity-75 cursor-pointer", {
35+
"text-gray-400 pointer-events-none": disabled
36+
});
37+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("a", _extends({}, rest, {
38+
className: classes
39+
}), children));
40+
};
41+
42+
DropdownItem.defaultProps = {
43+
divider: false,
44+
disabled: false,
45+
children: null
46+
};
47+
DropdownItem.propTypes = {
48+
// this will make the component to be rendered as a divider line
49+
divider: _propTypes["default"].bool,
50+
// this will make the component to not be clickable
51+
disabled: _propTypes["default"].bool,
52+
children: _propTypes["default"].node
53+
};
54+
var _default = DropdownItem;
55+
exports["default"] = _default;

0 commit comments

Comments
 (0)