trepur_components 0.2.15 → 0.2.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -36,18 +36,22 @@ const Button = _ref => {
36
36
  buttonCenterIcon,
37
37
  buttonBgColor,
38
38
  buttonTextColor,
39
- borderColor,
39
+ buttonBorderColor,
40
40
  hoverButtonBgColor,
41
41
  hoverButtonTextColor,
42
- hoverBorderColor,
42
+ hoverButtonBorderColor,
43
43
  hoverCtaText,
44
44
  url,
45
45
  buttonType,
46
- buttonDesign
46
+ buttonDesign,
47
+ border,
48
+ rounded
47
49
  } = _ref;
48
- let padding = buttonType === 'social' ? 'px-4 py-3 ' : 'px-8 ';
50
+ let padding = buttonType === 'social' ? 'px-1 py-1 ' : 'px-8 ';
49
51
  let externalPadding = buttonType === 'external' ? 'py-3 ' : 'py-2 ';
50
- let standardClasses = ' rounded-lg text-black border-2 border-black border-gray-300 transition-background-color duration-500 transform ';
52
+ let borderClassList = border ? 'border-2 ' : '';
53
+ let roundedClassList = rounded ? 'rounded-full ' : '';
54
+ let standardClasses = ' rounded-lg text-black transition-background-color duration-500 transform ' + borderClassList + roundedClassList;
51
55
  let slideClasses = ' btn px-8 text-white border-2 bg-gray hover:bg-brand-primary hover:text-black ';
52
56
  let classList = padding;
53
57
  classList += externalPadding;
@@ -60,17 +64,21 @@ const Button = _ref => {
60
64
  classList += slideClasses;
61
65
  }
62
66
 
67
+ const iconClassList = buttonType === 'social' ? 'fa-brands' : '';
68
+
63
69
  let iconLeft = buttonLeftIcon && /*#__PURE__*/_react.default.createElement(_Icon.default, {
64
- className: "pr-2",
70
+ classes: "pr-2",
65
71
  type: buttonLeftIcon
66
72
  });
67
73
 
68
74
  let iconRight = buttonRightIcon && /*#__PURE__*/_react.default.createElement(_Icon.default, {
69
- className: "pl-2",
75
+ classes: "pl-2",
70
76
  type: buttonRightIcon
71
77
  });
72
78
 
73
79
  let iconCenter = buttonCenterIcon && /*#__PURE__*/_react.default.createElement(_Icon.default, {
80
+ size: "3",
81
+ classes: iconClassList,
74
82
  type: buttonCenterIcon
75
83
  }); //---------- Styling ---------------
76
84
 
@@ -78,7 +86,7 @@ const Button = _ref => {
78
86
  const [styles, setStyles] = (0, _react.useState)({
79
87
  'backgroundColor': buttonBgColor ? buttonBgColor : 'white',
80
88
  color: buttonTextColor ? buttonTextColor : 'black',
81
- 'borderColor': borderColor ? borderColor : 'black'
89
+ 'borderColor': buttonBorderColor ? buttonBorderColor : 'black'
82
90
  });
83
91
  const [hovering, setHovering] = (0, _react.useState)(false);
84
92
 
@@ -88,14 +96,14 @@ const Button = _ref => {
88
96
  setStyles({
89
97
  'backgroundColor': hoverButtonBgColor ? hoverButtonBgColor : 'black',
90
98
  color: hoverButtonTextColor ? hoverButtonTextColor : 'white',
91
- 'borderColor': hoverBorderColor ? hoverBorderColor : 'black'
99
+ 'borderColor': hoverButtonBorderColor ? hoverButtonBorderColor : 'black'
92
100
  });
93
101
  } else {
94
102
  setHovering(false);
95
103
  setStyles({
96
104
  'backgroundColor': buttonBgColor ? buttonBgColor : 'white',
97
105
  color: buttonTextColor ? buttonTextColor : 'black',
98
- 'borderColor': borderColor ? borderColor : 'black'
106
+ 'borderColor': buttonBorderColor ? buttonBorderColor : 'black'
99
107
  });
100
108
  }
101
109
  }; //-----------------------------------
@@ -139,6 +147,24 @@ const Button = _ref => {
139
147
  onMouseOut: () => setHoverState(false),
140
148
  className: classList
141
149
  }, buttonCenterIcon && iconCenter));
150
+ } else if (buttonType === 'loading') {
151
+ return /*#__PURE__*/_react.default.createElement("a", _extends({}, id && {
152
+ id: id
153
+ }, {
154
+ href: url,
155
+ target: "_blank",
156
+ rel: "noreferrer"
157
+ }), /*#__PURE__*/_react.default.createElement("button", {
158
+ style: styles,
159
+ onMouseOver: () => setHoverState(true),
160
+ onMouseOut: () => setHoverState(false),
161
+ className: 'flex ' + classList
162
+ }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Icon.default, {
163
+ type: "spinner",
164
+ animation: "pulse"
165
+ })), /*#__PURE__*/_react.default.createElement("p", {
166
+ className: "pl-3"
167
+ }, "Loading")));
142
168
  }
143
169
 
144
170
  return /*#__PURE__*/_react.default.createElement("button", _extends({}, id && {
@@ -39,17 +39,20 @@ const Form = _ref => {
39
39
  id: id
40
40
  }, {
41
41
  className: classes
42
- }), /*#__PURE__*/_react.default.createElement("h1", {
43
- className: "text-center"
44
- }, /*#__PURE__*/_react.default.createElement("b", null, title)), components && components.map(component => {
45
- if (component.type === 'Input') {
42
+ }), components && components.map(component => {
43
+ if (component.type === 'Title') {
44
+ return /*#__PURE__*/_react.default.createElement("h1", {
45
+ className: component.classes
46
+ }, component.text);
47
+ } else if (component.type === 'Input') {
46
48
  return /*#__PURE__*/_react.default.createElement(_Input.default, {
47
- classes: "py-4",
49
+ classes: component.classes,
48
50
  label: component.label,
49
51
  placeholder: component.placeholder
50
52
  });
51
53
  } else if (component.type === 'Button') {
52
54
  return /*#__PURE__*/_react.default.createElement(_Button.default, _extends({
55
+ classes: component.classes,
53
56
  ctaText: component.ctaText,
54
57
  bgColor: buttonBgColor,
55
58
  textColor: buttonTextColor,
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.object.assign.js");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.default = void 0;
7
9
 
8
- require("core-js/modules/es.object.assign.js");
10
+ require("core-js/modules/es.array.reverse.js");
9
11
 
10
12
  var _react = _interopRequireDefault(require("react"));
11
13
 
@@ -21,16 +23,22 @@ const Icon = _ref => {
21
23
  classes,
22
24
  type,
23
25
  size,
24
- onClick
26
+ onClick,
27
+ style,
28
+ animation,
29
+ reverse
25
30
  } = _ref;
26
31
  if (!type) return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
27
- let classList = "fa fa-".concat(type, " fa-x ");
32
+ let classList = "fa fa-".concat(type, " ");
28
33
  classList += size ? "fa-".concat(size, "x ") : '';
34
+ classList += animation ? "fa-".concat(animation, " ") : '';
35
+ classList += reverse ? ' fa-spin-reverse ' : '';
29
36
  classList += classes ? classes : '';
30
37
  return /*#__PURE__*/_react.default.createElement("span", _extends({}, id && {
31
38
  id: id
32
39
  }, {
33
40
  className: classList,
41
+ style: style,
34
42
  role: "img",
35
43
  "aria-hidden": "true",
36
44
  "aria-label": type
@@ -11,15 +11,19 @@ require("core-js/modules/web.dom-collections.iterator.js");
11
11
 
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
 
14
+ var _Icon = _interopRequireDefault(require("../Icon"));
15
+
14
16
  require("../index.css");
15
17
 
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
16
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
21
 
18
22
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
23
 
20
24
  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); }
21
25
 
22
- const Icon = _ref => {
26
+ const InformationIcon = _ref => {
23
27
  let {
24
28
  id,
25
29
  classes,
@@ -33,20 +37,51 @@ const Icon = _ref => {
33
37
  bgColor,
34
38
  textColor,
35
39
  hoverTextColor,
36
- hoverBgColor
40
+ hoverBgColor,
41
+ withAnimation
37
42
  } = _ref;
38
- let imageClassList = "fa fa-".concat(type, " fa-x mx-auto ");
39
- imageClassList += size && "fa-".concat(size, "x ");
40
- imageClassList += imageClasses && imageClasses;
41
- let borderClass = bordered && 'border ';
42
- let roundedClass = rounded && 'rounded-2xl ';
43
+ let loaded = (0, _react.useRef)(false);
44
+ let imageClassList = 'mx-auto pt-2 ';
45
+ imageClassList += imageClasses ? imageClasses : '';
43
46
  let classList = 'hover:scale-110 transform transition duration-500 flex flex-col w-64 ';
47
+ classList += bordered ? 'border ' : '';
48
+ classList += rounded ? 'rounded-2xl ' : '';
44
49
  classList += classes ? classes : '';
45
- classList += ' ' + borderClass + ' ' + roundedClass;
46
50
  const numberClass = number !== null && 'text-4xl';
47
51
  const numberClasses = 'text-center ' + numberClass;
48
52
  const textClass = number === null && 'text-2xl';
49
- const textClasses = 'text-center px-2 ' + textClass; //---------- Styling ---------------
53
+ const textClasses = 'text-center px-2 ' + textClass;
54
+
55
+ const counterAnimation = (obj, start, end, duration) => {
56
+ let startTimestamp = null;
57
+
58
+ const step = timestamp => {
59
+ if (!startTimestamp) startTimestamp = timestamp;
60
+ const progress = Math.min((timestamp - startTimestamp) / duration, 1);
61
+ obj.innerHTML = Math.floor(progress * (end - start) + start);
62
+
63
+ if (progress < 1) {
64
+ window.requestAnimationFrame(step);
65
+ }
66
+ };
67
+
68
+ window.requestAnimationFrame(step);
69
+ };
70
+
71
+ (0, _react.useEffect)(() => {
72
+ const element = document.getElementById('number');
73
+ let observer = new IntersectionObserver((entries, observer) => {
74
+ entries.forEach(entry => {
75
+ if (entry.intersectionRatio >= 0.1 && loaded.current == false) {
76
+ loaded.current = true;
77
+ counterAnimation(document.getElementById('number'), 0, number, 3000);
78
+ } else {}
79
+ });
80
+ }, {
81
+ threshold: 1
82
+ });
83
+ withAnimation && observer.observe(element);
84
+ }, []); //---------- Styling ---------------
50
85
 
51
86
  const [styles, setStyles] = (0, _react.useState)({
52
87
  'background-color': bgColor ? bgColor : 'white',
@@ -75,17 +110,17 @@ const Icon = _ref => {
75
110
  className: classList,
76
111
  onMouseOver: () => setHoverState(true),
77
112
  onMouseOut: () => setHoverState(false)
78
- }), type && /*#__PURE__*/_react.default.createElement("span", {
79
- className: imageClassList,
80
- role: "img",
81
- "aria-hidden": "true",
82
- "aria-label": type
113
+ }), type && /*#__PURE__*/_react.default.createElement(_Icon.default, {
114
+ type: type,
115
+ size: size,
116
+ classes: imageClassList
83
117
  }), number && /*#__PURE__*/_react.default.createElement("p", {
118
+ id: id + '_number',
84
119
  className: numberClasses
85
120
  }, number), /*#__PURE__*/_react.default.createElement("p", {
86
121
  className: textClasses
87
122
  }, text));
88
123
  };
89
124
 
90
- var _default = Icon;
125
+ var _default = InformationIcon;
91
126
  exports.default = _default;
@@ -44,6 +44,7 @@ const NavItem = _ref => {
44
44
  let classList = 'w-auto list-none ';
45
45
  classList += classes ? classes : '';
46
46
  let linkClassList = 'px-4 mx-2 mb-4 text-center whitespace-nowrap ';
47
+ linkClassList += isActive ? 'active ' : '';
47
48
  linkClassList += bordered ? 'border ' : '';
48
49
  linkClassList += rounded ? 'rounded-lg ' : '';
49
50
  linkClassList += underlineOnHover ? 'hover:underline ' : '';
@@ -41,10 +41,10 @@ const NewsCard = _ref => {
41
41
  rounded,
42
42
  boldTitle
43
43
  } = _ref;
44
- const roundedClasses = rounded && 'rounded-lg';
44
+ const roundedClasses = rounded ? 'rounded-lg ' : '';
45
45
  let classList = 'border flex p-2 ';
46
- classList += classes ? classes : '';
47
46
  classList += roundedClasses;
47
+ classList += classes ? classes : '';
48
48
  return /*#__PURE__*/_react.default.createElement("div", _extends({}, id && {
49
49
  id: id
50
50
  }, {
@@ -1,4 +1,4 @@
1
1
  @tailwind base;
2
2
  @tailwind components;
3
3
  @tailwind utilities;
4
- @import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css");
4
+ @import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.0/css/all.min.css");
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "trepur_components",
3
3
  "description": "component lib",
4
4
  "author": "trepur_ttenneb",
5
- "version": "0.2.15",
5
+ "version": "0.2.18",
6
6
  "private": false,
7
7
  "keywords": [
8
8
  "react",