@rufous/ui 0.1.39 → 0.1.43

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,31 @@
1
+ // lib/Progress/circularProgress.tsx
2
+ import * as React from "react";
3
+ var CircularProgess = ({
4
+ size = 50,
5
+ color = "#a81c08",
6
+ ...props
7
+ }) => {
8
+ return /* @__PURE__ */ React.createElement(
9
+ "div",
10
+ {
11
+ className: "rufous-loader",
12
+ style: { width: size, height: size },
13
+ ...props
14
+ },
15
+ /* @__PURE__ */ React.createElement("svg", { viewBox: "0 0 100 100" }, /* @__PURE__ */ React.createElement(
16
+ "circle",
17
+ {
18
+ className: "rufous-loader-circle",
19
+ cx: "50",
20
+ cy: "50",
21
+ r: "45",
22
+ stroke: color
23
+ }
24
+ ))
25
+ );
26
+ };
27
+ var circularProgress_default = CircularProgess;
28
+
29
+ export {
30
+ circularProgress_default
31
+ };
@@ -1,4 +1,7 @@
1
1
  import "../chunk-IR7ZKMED.js";
2
+ import {
3
+ unsubscribeIcon_default
4
+ } from "../chunk-NMMC4ATV.js";
2
5
  import {
3
6
  uploadIcon_default
4
7
  } from "../chunk-DXJ745NZ.js";
@@ -11,6 +14,9 @@ import {
11
14
  import {
12
15
  workItemIcon_default
13
16
  } from "../chunk-QJPQC544.js";
17
+ import {
18
+ rufousLauncherBird_default
19
+ } from "../chunk-QZFGQ5JM.js";
14
20
  import {
15
21
  sidebarIcon_default
16
22
  } from "../chunk-CSKTBLQQ.js";
@@ -33,8 +39,8 @@ import {
33
39
  unArchivedIcon_default
34
40
  } from "../chunk-ZJAV3FEQ.js";
35
41
  import {
36
- unsubscribeIcon_default
37
- } from "../chunk-NMMC4ATV.js";
42
+ questionTypeDescriptiveIcon_default
43
+ } from "../chunk-C7B23GTE.js";
38
44
  import {
39
45
  questionTypeMultipleIcon_default
40
46
  } from "../chunk-XCLXQOLP.js";
@@ -57,8 +63,8 @@ import {
57
63
  rufousBirdIcon_default
58
64
  } from "../chunk-DMP72IAP.js";
59
65
  import {
60
- rufousLauncherBird_default
61
- } from "../chunk-QZFGQ5JM.js";
66
+ nineDotMenuIcon_default
67
+ } from "../chunk-GESVGIAP.js";
62
68
  import {
63
69
  notificationIcon_default
64
70
  } from "../chunk-QIEQRNBE.js";
@@ -81,8 +87,8 @@ import {
81
87
  questionTypeCodingIcon_default
82
88
  } from "../chunk-FOUXNPQA.js";
83
89
  import {
84
- questionTypeDescriptiveIcon_default
85
- } from "../chunk-C7B23GTE.js";
90
+ hierarchyIcon_default
91
+ } from "../chunk-WZAU77G7.js";
86
92
  import {
87
93
  inactiveGroupIcon_default
88
94
  } from "../chunk-7WNPZ4B7.js";
@@ -102,8 +108,8 @@ import {
102
108
  minExperienceIcon_default
103
109
  } from "../chunk-MKK7M3BH.js";
104
110
  import {
105
- nineDotMenuIcon_default
106
- } from "../chunk-GESVGIAP.js";
111
+ dollarIcon_default
112
+ } from "../chunk-GL43GPEM.js";
107
113
  import {
108
114
  downloadIcon_default
109
115
  } from "../chunk-IOEQAR2M.js";
@@ -126,8 +132,8 @@ import {
126
132
  helpOutlinedIcon_default
127
133
  } from "../chunk-5UEJAVFK.js";
128
134
  import {
129
- hierarchyIcon_default
130
- } from "../chunk-WZAU77G7.js";
135
+ archivedIcon_default
136
+ } from "../chunk-3IBCGGN3.js";
131
137
  import {
132
138
  assignGroupIcon_default
133
139
  } from "../chunk-MNPAE2ZF.js";
@@ -149,15 +155,9 @@ import {
149
155
  import {
150
156
  difficultyMediumIcon_default
151
157
  } from "../chunk-XPJVVKOU.js";
152
- import {
153
- dollarIcon_default
154
- } from "../chunk-GL43GPEM.js";
155
158
  import {
156
159
  activateUserIcon_default
157
160
  } from "../chunk-AH6RCYDL.js";
158
- import {
159
- archivedIcon_default
160
- } from "../chunk-3IBCGGN3.js";
161
161
  export {
162
162
  activateUserIcon_default as ActivateUserIcon,
163
163
  archivedIcon_default as ArchivedIcon,
package/dist/main.cjs CHANGED
@@ -1094,41 +1094,95 @@ var AddButton = ({ children, ...props }) => {
1094
1094
  var addButton_default = AddButton;
1095
1095
 
1096
1096
  // lib/Buttons/submitButton.tsx
1097
+ var React56 = __toESM(require("react"), 1);
1098
+
1099
+ // lib/Progress/circularProgress.tsx
1097
1100
  var React55 = __toESM(require("react"), 1);
1101
+ var CircularProgess = ({
1102
+ size = 50,
1103
+ color = "#a81c08",
1104
+ ...props
1105
+ }) => {
1106
+ return /* @__PURE__ */ React55.createElement(
1107
+ "div",
1108
+ {
1109
+ className: "rufous-loader",
1110
+ style: { width: size, height: size },
1111
+ ...props
1112
+ },
1113
+ /* @__PURE__ */ React55.createElement("svg", { viewBox: "0 0 100 100" }, /* @__PURE__ */ React55.createElement(
1114
+ "circle",
1115
+ {
1116
+ className: "rufous-loader-circle",
1117
+ cx: "50",
1118
+ cy: "50",
1119
+ r: "45",
1120
+ stroke: color
1121
+ }
1122
+ ))
1123
+ );
1124
+ };
1125
+ var circularProgress_default = CircularProgess;
1126
+
1127
+ // lib/Buttons/submitButton.tsx
1098
1128
  var SubmitButton = ({
1099
1129
  children,
1100
1130
  type = "submit",
1101
1131
  onClick,
1102
- loading = false,
1132
+ onDoubleClick,
1133
+ isLoading = false,
1103
1134
  bgGradiant = false,
1104
1135
  ...props
1105
1136
  }) => {
1137
+ const [loading, setLoading] = React56.useState(false);
1138
+ const handleClick = async (e) => {
1139
+ if (loading) return;
1140
+ if (onClick) {
1141
+ setLoading(true);
1142
+ try {
1143
+ await onClick(e);
1144
+ } finally {
1145
+ setLoading(false);
1146
+ }
1147
+ }
1148
+ };
1149
+ const handleDoubleClick = async (e) => {
1150
+ if (loading) return;
1151
+ if (onDoubleClick) {
1152
+ setLoading(true);
1153
+ try {
1154
+ await onDoubleClick(e);
1155
+ } finally {
1156
+ setLoading(false);
1157
+ }
1158
+ }
1159
+ };
1106
1160
  const buttonProps = {
1107
1161
  ...props,
1108
- className: `btn submit-btn ${bgGradiant && "submit-btn-gradiant"} ${props.className ?? ""}`,
1109
- onClick,
1110
- disabled: props.disabled || loading,
1111
- ...onClick ? {} : { type }
1112
- // only set type when no onClick
1162
+ className: `btn submit-btn ${bgGradiant ? "submit-btn-gradiant" : ""} ${props.className ?? ""}`,
1163
+ disabled: props.disabled || loading || isLoading,
1164
+ ...onClick ? {} : { type },
1165
+ onClick: handleClick,
1166
+ onDoubleClick: handleDoubleClick
1113
1167
  };
1114
- return /* @__PURE__ */ React55.createElement("button", { ...buttonProps }, loading ? "Loading..." : children);
1168
+ return /* @__PURE__ */ React56.createElement("button", { ...buttonProps }, /* @__PURE__ */ React56.createElement("span", { className: "btn-content" }, children, (loading || isLoading) && /* @__PURE__ */ React56.createElement("span", { className: "btn-loader" }, /* @__PURE__ */ React56.createElement(circularProgress_default, { size: 18 }))));
1115
1169
  };
1116
1170
  var submitButton_default = SubmitButton;
1117
1171
 
1118
1172
  // lib/Buttons/cancelButton.tsx
1119
- var React56 = __toESM(require("react"), 1);
1120
- var CancelButton = ({ children, ...props }) => /* @__PURE__ */ React56.createElement("button", { className: "btn cancel-btn", ...props }, children);
1173
+ var React57 = __toESM(require("react"), 1);
1174
+ var CancelButton = ({ children, ...props }) => /* @__PURE__ */ React57.createElement("button", { className: "btn cancel-btn", ...props }, children);
1121
1175
  var cancelButton_default = CancelButton;
1122
1176
 
1123
1177
  // lib/Buttons/stdButton.tsx
1124
- var React57 = __toESM(require("react"), 1);
1178
+ var React58 = __toESM(require("react"), 1);
1125
1179
  var StandardButton = ({ children, ...props }) => {
1126
- return /* @__PURE__ */ React57.createElement("button", { className: "btn standard-btn", ...props }, children);
1180
+ return /* @__PURE__ */ React58.createElement("button", { className: "btn standard-btn", ...props }, children);
1127
1181
  };
1128
1182
  var stdButton_default = StandardButton;
1129
1183
 
1130
1184
  // lib/Dialogs/BaseDialog.tsx
1131
- var React58 = __toESM(require("react"), 1);
1185
+ var React59 = __toESM(require("react"), 1);
1132
1186
  var import_react13 = require("react");
1133
1187
  var BaseDialog = ({
1134
1188
  open = false,
@@ -1158,7 +1212,7 @@ var BaseDialog = ({
1158
1212
  const { theme } = useRufousTheme();
1159
1213
  const successBtnRef = (0, import_react13.useRef)(null);
1160
1214
  if (!open) return null;
1161
- const renderButtons = () => /* @__PURE__ */ React58.createElement("div", { className: "dialog-footer", style: { justifyContent: buttonAlign } }, showCancelButton && /* @__PURE__ */ React58.createElement(
1215
+ const renderButtons = () => /* @__PURE__ */ React59.createElement("div", { className: "dialog-footer", style: { justifyContent: buttonAlign } }, showCancelButton && /* @__PURE__ */ React59.createElement(
1162
1216
  "button",
1163
1217
  {
1164
1218
  className: "btn-cancel",
@@ -1166,7 +1220,7 @@ var BaseDialog = ({
1166
1220
  disabled: isLoading
1167
1221
  },
1168
1222
  cancelText
1169
- ), onConfirm && /* @__PURE__ */ React58.createElement(
1223
+ ), onConfirm && /* @__PURE__ */ React59.createElement(
1170
1224
  "button",
1171
1225
  {
1172
1226
  ref: successBtnRef,
@@ -1178,9 +1232,9 @@ var BaseDialog = ({
1178
1232
  if (successBtnRef.current) successBtnRef.current.disabled = false;
1179
1233
  }
1180
1234
  },
1181
- loading ? /* @__PURE__ */ React58.createElement("span", { className: "spinner" }) : /* @__PURE__ */ React58.createElement("span", null, confirmText)
1235
+ loading ? /* @__PURE__ */ React59.createElement("span", { className: "spinner" }) : /* @__PURE__ */ React59.createElement("span", null, confirmText)
1182
1236
  ));
1183
- return /* @__PURE__ */ React58.createElement("div", { className: `dialog-overlay ${fullScreen ? "fullscreen" : ""}` }, /* @__PURE__ */ React58.createElement(
1237
+ return /* @__PURE__ */ React59.createElement("div", { className: `dialog-overlay ${fullScreen ? "fullscreen" : ""}` }, /* @__PURE__ */ React59.createElement(
1184
1238
  "div",
1185
1239
  {
1186
1240
  className: `dialog-container ${className || ""}`,
@@ -1190,9 +1244,9 @@ var BaseDialog = ({
1190
1244
  width: fullWidth ? "100%" : "auto"
1191
1245
  }
1192
1246
  },
1193
- /* @__PURE__ */ React58.createElement("div", { className: "dialog-title" }, /* @__PURE__ */ React58.createElement("h2", null, formatTitle ? title?.charAt(0).toUpperCase() + title?.slice(1).toLowerCase() : title), showCloseButton && /* @__PURE__ */ React58.createElement("button", { className: "btn-close", onClick: onClose }, /* @__PURE__ */ React58.createElement(closeIcon_default, { color: theme?.customStyles?.iconColor || "#707070" }))),
1194
- /* @__PURE__ */ React58.createElement("div", { className: "dialog-divider" }),
1195
- /* @__PURE__ */ React58.createElement(
1247
+ /* @__PURE__ */ React59.createElement("div", { className: "dialog-title" }, /* @__PURE__ */ React59.createElement("h2", null, formatTitle ? title?.charAt(0).toUpperCase() + title?.slice(1).toLowerCase() : title), showCloseButton && /* @__PURE__ */ React59.createElement("button", { className: "btn-close", onClick: onClose }, /* @__PURE__ */ React59.createElement(closeIcon_default, { color: theme?.customStyles?.iconColor || "#707070" }))),
1248
+ /* @__PURE__ */ React59.createElement("div", { className: "dialog-divider" }),
1249
+ /* @__PURE__ */ React59.createElement(
1196
1250
  "div",
1197
1251
  {
1198
1252
  className: "dialog-body",
package/dist/main.css CHANGED
@@ -58,16 +58,34 @@
58
58
  background: #a21b07;
59
59
  color: #fff;
60
60
  transition: background-color 250ms ease-in-out;
61
+ display: inline-flex;
62
+ align-items: center;
63
+ justify-content: center;
64
+ gap: 8px;
61
65
  }
62
- .submit-btn:hover {
66
+ .submit-btn:hover:not(:disabled) {
63
67
  background-color: #9b1906;
64
68
  }
65
69
  .submit-btn.submit-btn-gradiant {
66
70
  background:
67
- transparent linear-gradient(
71
+ linear-gradient(
68
72
  250deg,
69
73
  #9b1906 0%,
70
- #e62508 100%) 0% 0% no-repeat padding-box;
74
+ #e62508 100%);
75
+ }
76
+ .submit-btn:disabled {
77
+ background-color: #e0e0e0;
78
+ color: #9e9e9e;
79
+ cursor: not-allowed;
80
+ }
81
+ .btn-content {
82
+ display: inline-flex;
83
+ align-items: center;
84
+ gap: 8px;
85
+ }
86
+ .btn-loader {
87
+ display: flex;
88
+ align-items: center;
71
89
  }
72
90
  .add-btn {
73
91
  min-width: fit-content;
@@ -206,6 +224,43 @@
206
224
  }
207
225
  }
208
226
 
227
+ /* lib/styles/progress.css */
228
+ .rufous-loader {
229
+ position: relative;
230
+ display: inline-block;
231
+ }
232
+ .rufous-loader svg {
233
+ transform: rotate(-45deg);
234
+ }
235
+ .rufous-loader-circle {
236
+ fill: none;
237
+ stroke-width: 9;
238
+ stroke-linecap: round;
239
+ stroke-dasharray: 283;
240
+ stroke-dashoffset: 280;
241
+ transform-origin: 50% 50%;
242
+ animation: rufous-rotate 1.3s linear infinite, rufous-dash 1.3s ease-in-out infinite;
243
+ }
244
+ @keyframes rufous-rotate {
245
+ 100% {
246
+ transform: rotate(360deg);
247
+ }
248
+ }
249
+ @keyframes rufous-dash {
250
+ 0% {
251
+ stroke-dasharray: 1, 283;
252
+ stroke-dashoffset: 0;
253
+ }
254
+ 50% {
255
+ stroke-dasharray: 180, 283;
256
+ stroke-dashoffset: -70;
257
+ }
258
+ 100% {
259
+ stroke-dasharray: 1, 283;
260
+ stroke-dashoffset: -260;
261
+ }
262
+ }
263
+
209
264
  /* lib/style.css */
210
265
  .theme-rufous .act-icon svg {
211
266
  color: #a81c08 !important;
package/dist/main.js CHANGED
@@ -2,6 +2,9 @@ import {
2
2
  BaseDialog_default
3
3
  } from "./chunk-CPLUOEPG.js";
4
4
  import "./chunk-IR7ZKMED.js";
5
+ import {
6
+ unsubscribeIcon_default
7
+ } from "./chunk-NMMC4ATV.js";
5
8
  import {
6
9
  uploadIcon_default
7
10
  } from "./chunk-DXJ745NZ.js";
@@ -14,6 +17,9 @@ import {
14
17
  import {
15
18
  workItemIcon_default
16
19
  } from "./chunk-QJPQC544.js";
20
+ import {
21
+ rufousLauncherBird_default
22
+ } from "./chunk-QZFGQ5JM.js";
17
23
  import {
18
24
  sidebarIcon_default
19
25
  } from "./chunk-CSKTBLQQ.js";
@@ -36,8 +42,8 @@ import {
36
42
  unArchivedIcon_default
37
43
  } from "./chunk-ZJAV3FEQ.js";
38
44
  import {
39
- unsubscribeIcon_default
40
- } from "./chunk-NMMC4ATV.js";
45
+ questionTypeDescriptiveIcon_default
46
+ } from "./chunk-C7B23GTE.js";
41
47
  import {
42
48
  questionTypeMultipleIcon_default
43
49
  } from "./chunk-XCLXQOLP.js";
@@ -60,8 +66,8 @@ import {
60
66
  rufousBirdIcon_default
61
67
  } from "./chunk-DMP72IAP.js";
62
68
  import {
63
- rufousLauncherBird_default
64
- } from "./chunk-QZFGQ5JM.js";
69
+ nineDotMenuIcon_default
70
+ } from "./chunk-GESVGIAP.js";
65
71
  import {
66
72
  notificationIcon_default
67
73
  } from "./chunk-QIEQRNBE.js";
@@ -84,8 +90,8 @@ import {
84
90
  questionTypeCodingIcon_default
85
91
  } from "./chunk-FOUXNPQA.js";
86
92
  import {
87
- questionTypeDescriptiveIcon_default
88
- } from "./chunk-C7B23GTE.js";
93
+ hierarchyIcon_default
94
+ } from "./chunk-WZAU77G7.js";
89
95
  import {
90
96
  inactiveGroupIcon_default
91
97
  } from "./chunk-7WNPZ4B7.js";
@@ -105,8 +111,8 @@ import {
105
111
  minExperienceIcon_default
106
112
  } from "./chunk-MKK7M3BH.js";
107
113
  import {
108
- nineDotMenuIcon_default
109
- } from "./chunk-GESVGIAP.js";
114
+ dollarIcon_default
115
+ } from "./chunk-GL43GPEM.js";
110
116
  import {
111
117
  downloadIcon_default
112
118
  } from "./chunk-IOEQAR2M.js";
@@ -129,8 +135,8 @@ import {
129
135
  helpOutlinedIcon_default
130
136
  } from "./chunk-5UEJAVFK.js";
131
137
  import {
132
- hierarchyIcon_default
133
- } from "./chunk-WZAU77G7.js";
138
+ archivedIcon_default
139
+ } from "./chunk-3IBCGGN3.js";
134
140
  import {
135
141
  assignGroupIcon_default
136
142
  } from "./chunk-MNPAE2ZF.js";
@@ -152,9 +158,6 @@ import {
152
158
  import {
153
159
  difficultyMediumIcon_default
154
160
  } from "./chunk-XPJVVKOU.js";
155
- import {
156
- dollarIcon_default
157
- } from "./chunk-GL43GPEM.js";
158
161
  import {
159
162
  RufousThemeProvider,
160
163
  useRufousTheme
@@ -165,9 +168,6 @@ import {
165
168
  import {
166
169
  activateUserIcon_default
167
170
  } from "./chunk-AH6RCYDL.js";
168
- import {
169
- archivedIcon_default
170
- } from "./chunk-3IBCGGN3.js";
171
171
  import "./chunk-QPGJCRBS.js";
172
172
  import {
173
173
  addButton_default
@@ -180,7 +180,8 @@ import {
180
180
  } from "./chunk-R3GARAVJ.js";
181
181
  import {
182
182
  submitButton_default
183
- } from "./chunk-3WUD5EX4.js";
183
+ } from "./chunk-VJUSHVAE.js";
184
+ import "./chunk-YRFUVQDN.js";
184
185
  export {
185
186
  APP_THEMES,
186
187
  activateUserIcon_default as ActivateUserIcon,
package/dist/style.css CHANGED
@@ -58,16 +58,34 @@
58
58
  background: #a21b07;
59
59
  color: #fff;
60
60
  transition: background-color 250ms ease-in-out;
61
+ display: inline-flex;
62
+ align-items: center;
63
+ justify-content: center;
64
+ gap: 8px;
61
65
  }
62
- .submit-btn:hover {
66
+ .submit-btn:hover:not(:disabled) {
63
67
  background-color: #9b1906;
64
68
  }
65
69
  .submit-btn.submit-btn-gradiant {
66
70
  background:
67
- transparent linear-gradient(
71
+ linear-gradient(
68
72
  250deg,
69
73
  #9b1906 0%,
70
- #e62508 100%) 0% 0% no-repeat padding-box;
74
+ #e62508 100%);
75
+ }
76
+ .submit-btn:disabled {
77
+ background-color: #e0e0e0;
78
+ color: #9e9e9e;
79
+ cursor: not-allowed;
80
+ }
81
+ .btn-content {
82
+ display: inline-flex;
83
+ align-items: center;
84
+ gap: 8px;
85
+ }
86
+ .btn-loader {
87
+ display: flex;
88
+ align-items: center;
71
89
  }
72
90
  .add-btn {
73
91
  min-width: fit-content;
@@ -206,6 +224,43 @@
206
224
  }
207
225
  }
208
226
 
227
+ /* lib/styles/progress.css */
228
+ .rufous-loader {
229
+ position: relative;
230
+ display: inline-block;
231
+ }
232
+ .rufous-loader svg {
233
+ transform: rotate(-45deg);
234
+ }
235
+ .rufous-loader-circle {
236
+ fill: none;
237
+ stroke-width: 9;
238
+ stroke-linecap: round;
239
+ stroke-dasharray: 283;
240
+ stroke-dashoffset: 280;
241
+ transform-origin: 50% 50%;
242
+ animation: rufous-rotate 1.3s linear infinite, rufous-dash 1.3s ease-in-out infinite;
243
+ }
244
+ @keyframes rufous-rotate {
245
+ 100% {
246
+ transform: rotate(360deg);
247
+ }
248
+ }
249
+ @keyframes rufous-dash {
250
+ 0% {
251
+ stroke-dasharray: 1, 283;
252
+ stroke-dashoffset: 0;
253
+ }
254
+ 50% {
255
+ stroke-dasharray: 180, 283;
256
+ stroke-dashoffset: -70;
257
+ }
258
+ 100% {
259
+ stroke-dasharray: 1, 283;
260
+ stroke-dashoffset: -260;
261
+ }
262
+ }
263
+
209
264
  /* lib/style.css */
210
265
  .theme-rufous .act-icon svg {
211
266
  color: #a81c08 !important;
@@ -58,16 +58,34 @@
58
58
  background: #a21b07;
59
59
  color: #fff;
60
60
  transition: background-color 250ms ease-in-out;
61
+ display: inline-flex;
62
+ align-items: center;
63
+ justify-content: center;
64
+ gap: 8px;
61
65
  }
62
- .submit-btn:hover {
66
+ .submit-btn:hover:not(:disabled) {
63
67
  background-color: #9b1906;
64
68
  }
65
69
  .submit-btn.submit-btn-gradiant {
66
70
  background:
67
- transparent linear-gradient(
71
+ linear-gradient(
68
72
  250deg,
69
73
  #9b1906 0%,
70
- #e62508 100%) 0% 0% no-repeat padding-box;
74
+ #e62508 100%);
75
+ }
76
+ .submit-btn:disabled {
77
+ background-color: #e0e0e0;
78
+ color: #9e9e9e;
79
+ cursor: not-allowed;
80
+ }
81
+ .btn-content {
82
+ display: inline-flex;
83
+ align-items: center;
84
+ gap: 8px;
85
+ }
86
+ .btn-loader {
87
+ display: flex;
88
+ align-items: center;
71
89
  }
72
90
  .add-btn {
73
91
  min-width: fit-content;
@@ -0,0 +1,36 @@
1
+ /* lib/styles/progress.css */
2
+ .rufous-loader {
3
+ position: relative;
4
+ display: inline-block;
5
+ }
6
+ .rufous-loader svg {
7
+ transform: rotate(-45deg);
8
+ }
9
+ .rufous-loader-circle {
10
+ fill: none;
11
+ stroke-width: 9;
12
+ stroke-linecap: round;
13
+ stroke-dasharray: 283;
14
+ stroke-dashoffset: 280;
15
+ transform-origin: 50% 50%;
16
+ animation: rufous-rotate 1.3s linear infinite, rufous-dash 1.3s ease-in-out infinite;
17
+ }
18
+ @keyframes rufous-rotate {
19
+ 100% {
20
+ transform: rotate(360deg);
21
+ }
22
+ }
23
+ @keyframes rufous-dash {
24
+ 0% {
25
+ stroke-dasharray: 1, 283;
26
+ stroke-dashoffset: 0;
27
+ }
28
+ 50% {
29
+ stroke-dasharray: 180, 283;
30
+ stroke-dashoffset: -70;
31
+ }
32
+ 100% {
33
+ stroke-dasharray: 1, 283;
34
+ stroke-dashoffset: -260;
35
+ }
36
+ }
@@ -0,0 +1,2 @@
1
+
2
+ export { }
@@ -0,0 +1,2 @@
1
+
2
+ export { }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@rufous/ui",
3
3
  "private": false,
4
- "version": "0.1.39",
4
+ "version": "0.1.43",
5
5
  "type": "module",
6
6
  "style": "./dist/style.css",
7
7
  "files": [
@@ -1,25 +0,0 @@
1
- // lib/Buttons/submitButton.tsx
2
- import * as React from "react";
3
- var SubmitButton = ({
4
- children,
5
- type = "submit",
6
- onClick,
7
- loading = false,
8
- bgGradiant = false,
9
- ...props
10
- }) => {
11
- const buttonProps = {
12
- ...props,
13
- className: `btn submit-btn ${bgGradiant && "submit-btn-gradiant"} ${props.className ?? ""}`,
14
- onClick,
15
- disabled: props.disabled || loading,
16
- ...onClick ? {} : { type }
17
- // only set type when no onClick
18
- };
19
- return /* @__PURE__ */ React.createElement("button", { ...buttonProps }, loading ? "Loading..." : children);
20
- };
21
- var submitButton_default = SubmitButton;
22
-
23
- export {
24
- submitButton_default
25
- };