asab_webui_components 27.2.2 → 27.2.3

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.
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.Spinner = Spinner;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ require("./Spinner.scss");
10
+ /*
11
+ Animated loading spinner component
12
+
13
+ Usage:
14
+ import { Spinner } from 'asab_webui_components';
15
+
16
+ <Spinner />
17
+ */
18
+
19
+ function Spinner() {
20
+ return /*#__PURE__*/_react.default.createElement("div", {
21
+ className: "asab-spinner d-flex justify-content-center w-100 overflow-hidden",
22
+ role: "status",
23
+ "aria-label": "Loading"
24
+ }, /*#__PURE__*/_react.default.createElement("svg", {
25
+ className: "asab-spinner-circular h-100",
26
+ viewBox: "25 25 50 50"
27
+ }, /*#__PURE__*/_react.default.createElement("circle", {
28
+ className: "path",
29
+ cx: "50",
30
+ cy: "50",
31
+ r: "20",
32
+ fill: "none",
33
+ strokeWidth: "5",
34
+ strokeMiterlimit: "10"
35
+ })));
36
+ }
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import './Spinner.scss';
3
+
4
+ /*
5
+ Animated loading spinner component
6
+
7
+ Usage:
8
+ import { Spinner } from 'asab_webui_components';
9
+
10
+ <Spinner />
11
+ */
12
+
13
+ export function Spinner() {
14
+
15
+ return (
16
+ <div className='asab-spinner d-flex justify-content-center w-100 overflow-hidden' role='status' aria-label='Loading'>
17
+ <svg className='asab-spinner-circular h-100' viewBox='25 25 50 50'>
18
+ <circle
19
+ className='path'
20
+ cx='50'
21
+ cy='50'
22
+ r='20'
23
+ fill='none'
24
+ strokeWidth='5'
25
+ strokeMiterlimit='10'
26
+ />
27
+ </svg>
28
+ </div>
29
+ );
30
+ }
@@ -0,0 +1,82 @@
1
+ // SCSS Mixins for cross-browser compatibility
2
+ @mixin keyframes($name) {
3
+ @-webkit-keyframes #{$name} {
4
+ @content;
5
+ }
6
+ @-moz-keyframes #{$name} {
7
+ @content;
8
+ }
9
+ @-o-keyframes #{$name} {
10
+ @content;
11
+ }
12
+ @keyframes #{$name} {
13
+ @content;
14
+ }
15
+ }
16
+
17
+ @mixin animation($value) {
18
+ -webkit-animation: $value;
19
+ -moz-animation: $value;
20
+ -o-animation: $value;
21
+ animation: $value;
22
+ }
23
+
24
+ @mixin transform($value) {
25
+ -webkit-transform: $value;
26
+ -moz-transform: $value;
27
+ -o-transform: $value;
28
+ transform: $value;
29
+ }
30
+
31
+ @mixin transform-origin($value) {
32
+ -webkit-transform-origin: $value;
33
+ -moz-transform-origin: $value;
34
+ -o-transform-origin: $value;
35
+ transform-origin: $value;
36
+ }
37
+
38
+ .asab-spinner {
39
+ position: relative;
40
+ height: 4rem;
41
+
42
+ .asab-spinner-circular {
43
+ @include animation(rotate 2s linear infinite);
44
+ @include transform-origin(center center);
45
+ position: absolute;
46
+ top: 0;
47
+ bottom: 0;
48
+ left: 0;
49
+ right: 0;
50
+ margin: auto;
51
+
52
+ .path {
53
+ stroke: var(--bs-primary);
54
+ stroke-dasharray: 1, 200;
55
+ stroke-dashoffset: 0;
56
+ @include animation(dash 1.5s ease-in-out infinite);
57
+ stroke-linecap: round;
58
+ }
59
+ }
60
+ }
61
+
62
+ // Animations using mixins
63
+ @include keyframes(rotate) {
64
+ 100% {
65
+ @include transform(rotate(360deg));
66
+ }
67
+ }
68
+
69
+ @include keyframes(dash) {
70
+ 0% {
71
+ stroke-dasharray: 1, 200;
72
+ stroke-dashoffset: 0;
73
+ }
74
+ 50% {
75
+ stroke-dasharray: 89, 200;
76
+ stroke-dashoffset: -35px;
77
+ }
78
+ 100% {
79
+ stroke-dasharray: 89, 200;
80
+ stroke-dashoffset: -124px;
81
+ }
82
+ }
package/dist/index.js CHANGED
@@ -335,7 +335,7 @@ var _index = require("./components/Humanize/index.js");
335
335
  var _humanizeToString = _interopRequireDefault(require("./components/Humanize/humanizeToString.js"));
336
336
  var _DataTable = require("./components/DataTable2/DataTable2.js");
337
337
  var _index2 = require("./components/DataTable2/components/filters/index.js");
338
- var _Spinner = require("./components/Spinner");
338
+ var _Spinner = require("./components/Spinner/Spinner.js");
339
339
  var _ControlledSwitch = _interopRequireDefault(require("./components/ControlledSwitch"));
340
340
  var _UncontrolledSwitch = _interopRequireDefault(require("./components/UncontrolledSwitch"));
341
341
  var _ContentLoader = require("./components/ContentLoader");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "asab_webui_components",
3
- "version": "27.2.2",
3
+ "version": "27.2.3",
4
4
  "license": "BSD-3-Clause",
5
5
  "description": "TeskaLabs ASAB WebUI Components Library",
6
6
  "contributors": [
@@ -1,25 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.Spinner = Spinner;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _reactstrap = require("reactstrap");
10
- function Spinner() {
11
- return /*#__PURE__*/_react.default.createElement(_reactstrap.Row, {
12
- className: "loading-spinner-div justify-content-center"
13
- }, /*#__PURE__*/_react.default.createElement("div", {
14
- className: "suspense-loader spinner-grow text-primary mx-2",
15
- role: "status"
16
- }), /*#__PURE__*/_react.default.createElement("div", {
17
- className: "suspense-loader spinner-grow text-primary mx-2",
18
- role: "status"
19
- }, /*#__PURE__*/_react.default.createElement("span", {
20
- className: "visually-hidden"
21
- }, "Loading...")), /*#__PURE__*/_react.default.createElement("div", {
22
- className: "suspense-loader spinner-grow text-primary mx-2",
23
- role: "status"
24
- }));
25
- }