@rufous/ui 0.1.23 → 0.1.27

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.
package/dist/main.cjs CHANGED
@@ -34,7 +34,9 @@ __export(main_exports, {
34
34
  AddButton: () => addButton_default,
35
35
  ArchivedIcon: () => archivedIcon_default,
36
36
  AssignGroupIcon: () => assignGroupIcon_default,
37
+ BaseDialog: () => BaseDialog_default,
37
38
  CancelButton: () => cancelButton_default,
39
+ CloseIcon: () => closeIcon_default,
38
40
  CopyIcon: () => copyIcon_default,
39
41
  DifficultyAllIcon: () => difficultyAllIcon_default,
40
42
  DifficultyEasyIcon: () => difficultyEasyIcon_default,
@@ -1066,15 +1068,20 @@ var React50 = __toESM(require("react"), 1);
1066
1068
  var RufousAiIcon = ({ color = "#3a3a3a", ...props }) => /* @__PURE__ */ React50.createElement("svg", { width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props }, /* @__PURE__ */ React50.createElement("path", { d: "M16 31C24.2843 31 31 24.2843 31 16C31 7.71573 24.2843 1 16 1C7.71573 1 1 7.71573 1 16C1 24.2843 7.71573 31 16 31Z", stroke: color, "stroke-width": "2" }), /* @__PURE__ */ React50.createElement("path", { d: "M16.0999 20.167C16.1447 20.0478 16.2145 19.9396 16.3045 19.8495C16.3945 19.7595 16.5028 19.6898 16.6219 19.645L21.3489 17.87L16.6219 16.097C16.5026 16.0524 16.3941 15.9827 16.3039 15.8926C16.2137 15.8026 16.1438 15.6943 16.0989 15.575L14.3239 10.846L12.5509 15.574L12.5419 15.597C12.4955 15.7114 12.4259 15.8149 12.3374 15.9009C12.2489 15.987 12.1436 16.0538 12.0279 16.097L7.29895 17.87L12.0279 19.645C12.1471 19.6898 12.2554 19.7595 12.3454 19.8495C12.4354 19.9396 12.5052 20.0478 12.5499 20.167L14.3229 24.894L16.0999 20.167Z", stroke: color, "stroke-width": "1.5" }), /* @__PURE__ */ React50.createElement("path", { d: "M22.372 11.523C22.4108 11.4198 22.4712 11.3261 22.5492 11.2482C22.6271 11.1702 22.7209 11.1098 22.824 11.071L24.831 10.317L22.824 9.564C22.7242 9.52656 22.6332 9.46884 22.5568 9.39449C22.4804 9.32014 22.4202 9.23077 22.38 9.132L22.372 9.112L21.618 7.104L20.865 9.112L20.858 9.131C20.8178 9.23002 20.7575 9.31961 20.6809 9.39414C20.6043 9.46867 20.5131 9.52651 20.413 9.564L18.405 10.317L20.413 11.071C20.5163 11.1096 20.6101 11.17 20.6881 11.248C20.7661 11.3259 20.8264 11.4197 20.865 11.523L21.618 13.53L22.372 11.523Z", stroke: color, "stroke-width": "1.2" }));
1067
1069
  var rufousAiIcon_default = RufousAiIcon;
1068
1070
 
1069
- // lib/Buttons/addButton.tsx
1071
+ // lib/icons/closeIcon.tsx
1070
1072
  var React51 = __toESM(require("react"), 1);
1073
+ var CloseIcon = ({ color = "#3a3a3a", ...props }) => /* @__PURE__ */ React51.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "336", height: "336", viewBox: "0 0 336 336", fill: "none", ...props }, /* @__PURE__ */ React51.createElement("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M132.323 167.676L0 299.999L35.3553 335.356L167.68 203.032L300.003 335.356L335.36 299.999L203.037 167.676L335.357 35.3553L300 0L167.68 132.319L35.3593 0L0.00398954 35.3553L132.323 167.676Z", fill: color }));
1074
+ var closeIcon_default = CloseIcon;
1075
+
1076
+ // lib/Buttons/addButton.tsx
1077
+ var React52 = __toESM(require("react"), 1);
1071
1078
  var AddButton = ({ children, ...props }) => {
1072
- return /* @__PURE__ */ React51.createElement("button", { className: "add-btn", ...props }, "+ ", children);
1079
+ return /* @__PURE__ */ React52.createElement("button", { className: "add-btn", ...props }, "+ ", children);
1073
1080
  };
1074
1081
  var addButton_default = AddButton;
1075
1082
 
1076
1083
  // lib/Buttons/submitButton.tsx
1077
- var React52 = __toESM(require("react"), 1);
1084
+ var React53 = __toESM(require("react"), 1);
1078
1085
  var SubmitButton = ({
1079
1086
  children,
1080
1087
  type = "submit",
@@ -1090,22 +1097,103 @@ var SubmitButton = ({
1090
1097
  ...onClick ? {} : { type }
1091
1098
  // only set type when no onClick
1092
1099
  };
1093
- return /* @__PURE__ */ React52.createElement("button", { ...buttonProps }, loading ? "Loading..." : children);
1100
+ return /* @__PURE__ */ React53.createElement("button", { ...buttonProps }, loading ? "Loading..." : children);
1094
1101
  };
1095
1102
  var submitButton_default = SubmitButton;
1096
1103
 
1097
1104
  // lib/Buttons/cancelButton.tsx
1098
- var React53 = __toESM(require("react"), 1);
1099
- var CancelButton = ({ children, ...props }) => /* @__PURE__ */ React53.createElement("button", { className: "cancel-btn", ...props }, children);
1105
+ var React54 = __toESM(require("react"), 1);
1106
+ var CancelButton = ({ children, ...props }) => /* @__PURE__ */ React54.createElement("button", { className: "cancel-btn", ...props }, children);
1100
1107
  var cancelButton_default = CancelButton;
1101
1108
 
1109
+ // lib/Dialogs/BaseDialog.tsx
1110
+ var React55 = __toESM(require("react"), 1);
1111
+ var import_react13 = require("react");
1112
+ var BaseDialog = ({
1113
+ open = false,
1114
+ onConfirm,
1115
+ onClose,
1116
+ onCancel,
1117
+ children,
1118
+ minWidth,
1119
+ minHeight,
1120
+ customButtons,
1121
+ cancelText = "Cancel",
1122
+ confirmText = "Ok",
1123
+ submitText = "Submit",
1124
+ title = "",
1125
+ isLoading = false,
1126
+ disableConfirmBtn = false,
1127
+ fullScreen = false,
1128
+ loading = false,
1129
+ showCloseButton = true,
1130
+ buttonAlign = "flex-end",
1131
+ showCancelButton = true,
1132
+ formatTitle = true,
1133
+ fullWidth = false,
1134
+ className,
1135
+ dialogBodyStyle = {}
1136
+ }) => {
1137
+ const { theme } = useRufousTheme();
1138
+ const successBtnRef = (0, import_react13.useRef)(null);
1139
+ if (!open) return null;
1140
+ const renderButtons = () => /* @__PURE__ */ React55.createElement("div", { className: "dialog-footer", style: { justifyContent: buttonAlign } }, showCancelButton && /* @__PURE__ */ React55.createElement(
1141
+ "button",
1142
+ {
1143
+ className: "btn-cancel",
1144
+ onClick: onCancel || onClose,
1145
+ disabled: isLoading
1146
+ },
1147
+ cancelText
1148
+ ), onConfirm && /* @__PURE__ */ React55.createElement(
1149
+ "button",
1150
+ {
1151
+ ref: successBtnRef,
1152
+ className: "btn-confirm",
1153
+ disabled: disableConfirmBtn || loading,
1154
+ onClick: async () => {
1155
+ if (successBtnRef.current) successBtnRef.current.disabled = true;
1156
+ await onConfirm?.();
1157
+ if (successBtnRef.current) successBtnRef.current.disabled = false;
1158
+ }
1159
+ },
1160
+ loading ? /* @__PURE__ */ React55.createElement("span", { className: "spinner" }) : /* @__PURE__ */ React55.createElement("span", null, confirmText)
1161
+ ));
1162
+ return /* @__PURE__ */ React55.createElement("div", { className: `dialog-overlay ${fullScreen ? "fullscreen" : ""}` }, /* @__PURE__ */ React55.createElement(
1163
+ "div",
1164
+ {
1165
+ className: `dialog-container ${className || ""}`,
1166
+ style: {
1167
+ minWidth: minWidth || (fullScreen ? "100%" : "685px"),
1168
+ minHeight,
1169
+ width: fullWidth ? "100%" : "auto"
1170
+ }
1171
+ },
1172
+ /* @__PURE__ */ React55.createElement("div", { className: "dialog-title" }, /* @__PURE__ */ React55.createElement("h2", null, formatTitle ? title?.charAt(0).toUpperCase() + title?.slice(1).toLowerCase() : title), showCloseButton && /* @__PURE__ */ React55.createElement("button", { className: "btn-close", onClick: onClose }, /* @__PURE__ */ React55.createElement(closeIcon_default, { color: theme?.customStyles?.iconColor || "#707070" }))),
1173
+ /* @__PURE__ */ React55.createElement("div", { className: "dialog-divider" }),
1174
+ /* @__PURE__ */ React55.createElement(
1175
+ "div",
1176
+ {
1177
+ className: "dialog-body",
1178
+ style: {
1179
+ ...fullScreen ? { height: "100%" } : { maxHeight: "700px", minHeight },
1180
+ ...dialogBodyStyle
1181
+ }
1182
+ },
1183
+ children
1184
+ ),
1185
+ customButtons || renderButtons()
1186
+ ));
1187
+ };
1188
+ var BaseDialog_default = BaseDialog;
1189
+
1102
1190
  // lib/Contexts/rufousThemeProvider.tsx
1103
- var import_react13 = __toESM(require("react"), 1);
1104
- var RufousThemeContext = (0, import_react13.createContext)(null);
1191
+ var import_react14 = __toESM(require("react"), 1);
1192
+ var RufousThemeContext = (0, import_react14.createContext)(null);
1105
1193
  var RufousThemeProvider = ({ children }) => {
1106
- const [committedThemeKey, setCommittedThemeKey] = (0, import_react13.useState)("default");
1107
- const [previewThemeKey, setPreviewThemeKey] = (0, import_react13.useState)("default");
1108
- const [settings, setSettings] = (0, import_react13.useState)(null);
1194
+ const [committedThemeKey, setCommittedThemeKey] = (0, import_react14.useState)("default");
1195
+ const [previewThemeKey, setPreviewThemeKey] = (0, import_react14.useState)("default");
1196
+ const [settings, setSettings] = (0, import_react14.useState)(null);
1109
1197
  const getGeneralSettings = async () => {
1110
1198
  try {
1111
1199
  const theme = localStorage.getItem("theme") || "default";
@@ -1115,10 +1203,10 @@ var RufousThemeProvider = ({ children }) => {
1115
1203
  console.error("Error fetching general settings:", err);
1116
1204
  }
1117
1205
  };
1118
- (0, import_react13.useEffect)(() => {
1206
+ (0, import_react14.useEffect)(() => {
1119
1207
  getGeneralSettings();
1120
1208
  }, []);
1121
- const fullTheme = (0, import_react13.useMemo)(() => {
1209
+ const fullTheme = (0, import_react14.useMemo)(() => {
1122
1210
  return {
1123
1211
  themeKey: previewThemeKey || settings.theme,
1124
1212
  customStyles: APP_THEMES[previewThemeKey || settings.theme]
@@ -1131,7 +1219,7 @@ var RufousThemeProvider = ({ children }) => {
1131
1219
  setCommittedThemeKey(key);
1132
1220
  };
1133
1221
  const cancelTheme = () => setPreviewThemeKey(committedThemeKey);
1134
- return /* @__PURE__ */ import_react13.default.createElement(
1222
+ return /* @__PURE__ */ import_react14.default.createElement(
1135
1223
  RufousThemeContext.Provider,
1136
1224
  {
1137
1225
  value: {
@@ -1145,7 +1233,7 @@ var RufousThemeProvider = ({ children }) => {
1145
1233
  updateSettings: (v) => setSettings(v)
1146
1234
  }
1147
1235
  },
1148
- /* @__PURE__ */ import_react13.default.createElement(
1236
+ /* @__PURE__ */ import_react14.default.createElement(
1149
1237
  "div",
1150
1238
  {
1151
1239
  className: `theme-${previewThemeKey || committedThemeKey || "default"}`
@@ -1154,7 +1242,7 @@ var RufousThemeProvider = ({ children }) => {
1154
1242
  )
1155
1243
  );
1156
1244
  };
1157
- var useRufousTheme = () => (0, import_react13.useContext)(RufousThemeContext);
1245
+ var useRufousTheme = () => (0, import_react14.useContext)(RufousThemeContext);
1158
1246
  // Annotate the CommonJS export names for ESM import in node:
1159
1247
  0 && (module.exports = {
1160
1248
  APP_THEMES,
@@ -1162,7 +1250,9 @@ var useRufousTheme = () => (0, import_react13.useContext)(RufousThemeContext);
1162
1250
  AddButton,
1163
1251
  ArchivedIcon,
1164
1252
  AssignGroupIcon,
1253
+ BaseDialog,
1165
1254
  CancelButton,
1255
+ CloseIcon,
1166
1256
  CopyIcon,
1167
1257
  DifficultyAllIcon,
1168
1258
  DifficultyEasyIcon,
package/dist/main.css CHANGED
@@ -31,6 +31,59 @@
31
31
  cursor: not-allowed;
32
32
  }
33
33
  .submit-btn {
34
+ display: -webkit-inline-box;
35
+ display: -webkit-inline-flex;
36
+ display: -ms-inline-flexbox;
37
+ display: inline-flex;
38
+ -webkit-align-items: center;
39
+ -webkit-box-align: center;
40
+ -ms-flex-align: center;
41
+ align-items: center;
42
+ -webkit-box-pack: center;
43
+ -ms-flex-pack: center;
44
+ -webkit-justify-content: center;
45
+ justify-content: center;
46
+ position: relative;
47
+ box-sizing: border-box;
48
+ -webkit-tap-highlight-color: transparent;
49
+ background-color: transparent;
50
+ outline: 0;
51
+ margin: 0;
52
+ cursor: pointer;
53
+ -webkit-user-select: none;
54
+ -moz-user-select: none;
55
+ -ms-user-select: none;
56
+ user-select: none;
57
+ vertical-align: middle;
58
+ -moz-appearance: none;
59
+ -webkit-appearance: none;
60
+ -webkit-text-decoration: none;
61
+ text-decoration: none;
62
+ color: inherit;
63
+ font-family:
64
+ "Roboto",
65
+ "Helvetica",
66
+ "Arial",
67
+ sans-serif;
68
+ font-weight: 500;
69
+ font-size: 0.875rem;
70
+ line-height: 1.75;
71
+ letter-spacing: 0.02857em;
72
+ min-width: 64px;
73
+ padding: 6px 8px;
74
+ border-radius: 4px;
75
+ -webkit-transition:
76
+ background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
77
+ box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
78
+ border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
79
+ color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
80
+ transition:
81
+ background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
82
+ box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
83
+ border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
84
+ color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
85
+ background: #a81c07;
86
+ border: 1px solid #a81c07;
34
87
  background-color: #9b1906;
35
88
  color: #fff;
36
89
  font-size: 12px;
@@ -68,6 +121,98 @@
68
121
  color: #ffffff;
69
122
  }
70
123
 
124
+ /* lib/styles/dialog.css */
125
+ .dialog-overlay {
126
+ position: fixed;
127
+ inset: 0;
128
+ background: rgba(0, 0, 0, 0.5);
129
+ display: flex;
130
+ justify-content: center;
131
+ align-items: center;
132
+ z-index: 1300;
133
+ }
134
+ .dialog-container {
135
+ background: white;
136
+ border-radius: 8px;
137
+ max-height: 90vh;
138
+ display: flex;
139
+ flex-direction: column;
140
+ }
141
+ .dialog-title {
142
+ background: #fff;
143
+ padding: 8px 16px;
144
+ position: sticky;
145
+ top: 0;
146
+ display: flex;
147
+ justify-content: space-between;
148
+ align-items: center;
149
+ color: #707070;
150
+ z-index: 2;
151
+ }
152
+ .dialog-title h2 {
153
+ font-size: 1.125rem;
154
+ margin: 0;
155
+ }
156
+ .btn-close {
157
+ background: none;
158
+ border: none;
159
+ cursor: pointer;
160
+ }
161
+ .dialog-divider {
162
+ border-top: 1px solid #e0e0e0;
163
+ }
164
+ .dialog-body {
165
+ overflow: auto;
166
+ padding: 16px 30px;
167
+ flex: 1;
168
+ }
169
+ .dialog-footer {
170
+ display: flex;
171
+ gap: 8px;
172
+ padding: 8px 16px;
173
+ }
174
+ .btn-cancel {
175
+ border: 1px solid #a41b06;
176
+ border-radius: 34px;
177
+ padding: 7px 10px;
178
+ background: #fff;
179
+ color: #a41b06;
180
+ font-size: 12px;
181
+ cursor: pointer;
182
+ }
183
+ .btn-cancel:hover {
184
+ background: #f5f5f5;
185
+ }
186
+ .btn-confirm {
187
+ border-radius: 34px;
188
+ padding: 7px 16px;
189
+ background: #a21b07;
190
+ color: white;
191
+ font-size: 12px;
192
+ cursor: pointer;
193
+ border: none;
194
+ }
195
+ .btn-confirm:hover {
196
+ background: #a21b07;
197
+ }
198
+ .spinner {
199
+ border: 2px solid #f3f3f3;
200
+ border-top: 2px solid #c5c5c5;
201
+ border-radius: 50%;
202
+ width: 16px;
203
+ height: 16px;
204
+ animation: spin 1s linear infinite;
205
+ display: inline-block;
206
+ }
207
+ @keyframes spin {
208
+ 0% {
209
+ transform: rotate(0deg);
210
+ }
211
+ 100% {
212
+ transform: rotate(360deg);
213
+ }
214
+ }
215
+
71
216
  /* lib/style.css */
72
217
  .theme-rufous .act-icon svg {
73
218
  color: #a81c08 !important;
package/dist/main.d.cts CHANGED
@@ -49,8 +49,10 @@ export { default as MinExperienceIcon } from './icons/minExperienceIcon.cjs';
49
49
  export { default as ProjectIcon } from './icons/projectIcon.cjs';
50
50
  export { default as RolesIcon } from './icons/rolesIcon.cjs';
51
51
  export { default as RufousAiIcon } from './icons/rufousAiIcon.cjs';
52
+ export { default as CloseIcon } from './icons/closeIcon.cjs';
52
53
  export { default as AddButton } from './Buttons/addButton.cjs';
53
54
  export { default as SubmitButton } from './Buttons/submitButton.cjs';
54
55
  export { default as CancelButton } from './Buttons/cancelButton.cjs';
56
+ export { default as BaseDialog } from './Dialogs/BaseDialog.cjs';
55
57
  export { RufousThemeProvider, useRufousTheme } from './Contexts/rufousThemeProvider.cjs';
56
58
  import 'react';
package/dist/main.d.ts CHANGED
@@ -49,8 +49,10 @@ export { default as MinExperienceIcon } from './icons/minExperienceIcon.js';
49
49
  export { default as ProjectIcon } from './icons/projectIcon.js';
50
50
  export { default as RolesIcon } from './icons/rolesIcon.js';
51
51
  export { default as RufousAiIcon } from './icons/rufousAiIcon.js';
52
+ export { default as CloseIcon } from './icons/closeIcon.js';
52
53
  export { default as AddButton } from './Buttons/addButton.js';
53
54
  export { default as SubmitButton } from './Buttons/submitButton.js';
54
55
  export { default as CancelButton } from './Buttons/cancelButton.js';
56
+ export { default as BaseDialog } from './Dialogs/BaseDialog.js';
55
57
  export { RufousThemeProvider, useRufousTheme } from './Contexts/rufousThemeProvider.js';
56
58
  import 'react';
package/dist/main.js CHANGED
@@ -1,4 +1,19 @@
1
- import "./chunk-2WPUS5VV.js";
1
+ import {
2
+ BaseDialog_default
3
+ } from "./chunk-CPLUOEPG.js";
4
+ import "./chunk-QGUQF6OF.js";
5
+ import {
6
+ workItemIcon_default
7
+ } from "./chunk-QJPQC544.js";
8
+ import {
9
+ tickIcon_default
10
+ } from "./chunk-ITZTTNM2.js";
11
+ import {
12
+ timerIcon_default
13
+ } from "./chunk-WWAHNTUH.js";
14
+ import {
15
+ trashIcon_default
16
+ } from "./chunk-6KIFTMUN.js";
2
17
  import {
3
18
  unArchivedIcon_default
4
19
  } from "./chunk-ZJAV3FEQ.js";
@@ -15,8 +30,14 @@ import {
15
30
  viewIcon_default
16
31
  } from "./chunk-XPRBPIS5.js";
17
32
  import {
18
- workItemIcon_default
19
- } from "./chunk-QJPQC544.js";
33
+ resendInviteIcon_default
34
+ } from "./chunk-WG3Q6GZN.js";
35
+ import {
36
+ rolesIcon_default
37
+ } from "./chunk-RJ43D3XB.js";
38
+ import {
39
+ rufousAiIcon_default
40
+ } from "./chunk-DE73YGRW.js";
20
41
  import {
21
42
  rufousBirdIcon_default
22
43
  } from "./chunk-DMP72IAP.js";
@@ -33,14 +54,14 @@ import {
33
54
  suspendUserIcon_default
34
55
  } from "./chunk-5BB3H3YO.js";
35
56
  import {
36
- tickIcon_default
37
- } from "./chunk-ITZTTNM2.js";
57
+ questionStatusPrivateIcon_default
58
+ } from "./chunk-WZTZFC36.js";
38
59
  import {
39
- timerIcon_default
40
- } from "./chunk-WWAHNTUH.js";
60
+ questionStatusPublicIcon_default
61
+ } from "./chunk-QA2AYT4A.js";
41
62
  import {
42
- trashIcon_default
43
- } from "./chunk-6KIFTMUN.js";
63
+ questionTypeAllIcon_default
64
+ } from "./chunk-WHGVO3HV.js";
44
65
  import {
45
66
  questionTypeCodingIcon_default
46
67
  } from "./chunk-FOUXNPQA.js";
@@ -57,14 +78,14 @@ import {
57
78
  refreshIcon_default
58
79
  } from "./chunk-RNA4TTYR.js";
59
80
  import {
60
- resendInviteIcon_default
61
- } from "./chunk-WG3Q6GZN.js";
81
+ industryIcon_default
82
+ } from "./chunk-NSW6ZGZF.js";
62
83
  import {
63
- rolesIcon_default
64
- } from "./chunk-RJ43D3XB.js";
84
+ invoiceIcon_default
85
+ } from "./chunk-KYJ3475B.js";
65
86
  import {
66
- rufousAiIcon_default
67
- } from "./chunk-DE73YGRW.js";
87
+ logsIcon_default
88
+ } from "./chunk-N4EJKMJK.js";
68
89
  import {
69
90
  minExperienceIcon_default
70
91
  } from "./chunk-MKK7M3BH.js";
@@ -81,14 +102,14 @@ import {
81
102
  questionStatusAllIcon_default
82
103
  } from "./chunk-GYLL3HRD.js";
83
104
  import {
84
- questionStatusPrivateIcon_default
85
- } from "./chunk-WZTZFC36.js";
105
+ editChatIcon_default
106
+ } from "./chunk-QONKYAQ5.js";
86
107
  import {
87
- questionStatusPublicIcon_default
88
- } from "./chunk-QA2AYT4A.js";
108
+ editIcon_default
109
+ } from "./chunk-H372BAXA.js";
89
110
  import {
90
- questionTypeAllIcon_default
91
- } from "./chunk-WHGVO3HV.js";
111
+ engagementIcon_default
112
+ } from "./chunk-FSRABKKC.js";
92
113
  import {
93
114
  functionIcon_default
94
115
  } from "./chunk-ZAYWFYP4.js";
@@ -102,14 +123,14 @@ import {
102
123
  inactiveGroupIcon_default
103
124
  } from "./chunk-7WNPZ4B7.js";
104
125
  import {
105
- industryIcon_default
106
- } from "./chunk-NSW6ZGZF.js";
126
+ closeIcon_default
127
+ } from "./chunk-WXXJX3FF.js";
107
128
  import {
108
- invoiceIcon_default
109
- } from "./chunk-KYJ3475B.js";
129
+ copyIcon_default
130
+ } from "./chunk-6FEUS4CQ.js";
110
131
  import {
111
- logsIcon_default
112
- } from "./chunk-N4EJKMJK.js";
132
+ difficultyAllIcon_default
133
+ } from "./chunk-PPNZC5ZQ.js";
113
134
  import {
114
135
  difficultyEasyIcon_default
115
136
  } from "./chunk-JI5XMLWT.js";
@@ -125,15 +146,6 @@ import {
125
146
  import {
126
147
  downloadIcon_default
127
148
  } from "./chunk-IOEQAR2M.js";
128
- import {
129
- editChatIcon_default
130
- } from "./chunk-QONKYAQ5.js";
131
- import {
132
- editIcon_default
133
- } from "./chunk-H372BAXA.js";
134
- import {
135
- engagementIcon_default
136
- } from "./chunk-FSRABKKC.js";
137
149
  import {
138
150
  RufousThemeProvider,
139
151
  useRufousTheme
@@ -150,12 +162,6 @@ import {
150
162
  import {
151
163
  assignGroupIcon_default
152
164
  } from "./chunk-MNPAE2ZF.js";
153
- import {
154
- copyIcon_default
155
- } from "./chunk-6FEUS4CQ.js";
156
- import {
157
- difficultyAllIcon_default
158
- } from "./chunk-PPNZC5ZQ.js";
159
165
  import "./chunk-JSGUIKOH.js";
160
166
  import {
161
167
  addButton_default
@@ -172,7 +178,9 @@ export {
172
178
  addButton_default as AddButton,
173
179
  archivedIcon_default as ArchivedIcon,
174
180
  assignGroupIcon_default as AssignGroupIcon,
181
+ BaseDialog_default as BaseDialog,
175
182
  cancelButton_default as CancelButton,
183
+ closeIcon_default as CloseIcon,
176
184
  copyIcon_default as CopyIcon,
177
185
  difficultyAllIcon_default as DifficultyAllIcon,
178
186
  difficultyEasyIcon_default as DifficultyEasyIcon,
package/dist/style.css CHANGED
@@ -31,6 +31,59 @@
31
31
  cursor: not-allowed;
32
32
  }
33
33
  .submit-btn {
34
+ display: -webkit-inline-box;
35
+ display: -webkit-inline-flex;
36
+ display: -ms-inline-flexbox;
37
+ display: inline-flex;
38
+ -webkit-align-items: center;
39
+ -webkit-box-align: center;
40
+ -ms-flex-align: center;
41
+ align-items: center;
42
+ -webkit-box-pack: center;
43
+ -ms-flex-pack: center;
44
+ -webkit-justify-content: center;
45
+ justify-content: center;
46
+ position: relative;
47
+ box-sizing: border-box;
48
+ -webkit-tap-highlight-color: transparent;
49
+ background-color: transparent;
50
+ outline: 0;
51
+ margin: 0;
52
+ cursor: pointer;
53
+ -webkit-user-select: none;
54
+ -moz-user-select: none;
55
+ -ms-user-select: none;
56
+ user-select: none;
57
+ vertical-align: middle;
58
+ -moz-appearance: none;
59
+ -webkit-appearance: none;
60
+ -webkit-text-decoration: none;
61
+ text-decoration: none;
62
+ color: inherit;
63
+ font-family:
64
+ "Roboto",
65
+ "Helvetica",
66
+ "Arial",
67
+ sans-serif;
68
+ font-weight: 500;
69
+ font-size: 0.875rem;
70
+ line-height: 1.75;
71
+ letter-spacing: 0.02857em;
72
+ min-width: 64px;
73
+ padding: 6px 8px;
74
+ border-radius: 4px;
75
+ -webkit-transition:
76
+ background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
77
+ box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
78
+ border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
79
+ color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
80
+ transition:
81
+ background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
82
+ box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
83
+ border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
84
+ color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
85
+ background: #a81c07;
86
+ border: 1px solid #a81c07;
34
87
  background-color: #9b1906;
35
88
  color: #fff;
36
89
  font-size: 12px;
@@ -68,6 +121,98 @@
68
121
  color: #ffffff;
69
122
  }
70
123
 
124
+ /* lib/styles/dialog.css */
125
+ .dialog-overlay {
126
+ position: fixed;
127
+ inset: 0;
128
+ background: rgba(0, 0, 0, 0.5);
129
+ display: flex;
130
+ justify-content: center;
131
+ align-items: center;
132
+ z-index: 1300;
133
+ }
134
+ .dialog-container {
135
+ background: white;
136
+ border-radius: 8px;
137
+ max-height: 90vh;
138
+ display: flex;
139
+ flex-direction: column;
140
+ }
141
+ .dialog-title {
142
+ background: #fff;
143
+ padding: 8px 16px;
144
+ position: sticky;
145
+ top: 0;
146
+ display: flex;
147
+ justify-content: space-between;
148
+ align-items: center;
149
+ color: #707070;
150
+ z-index: 2;
151
+ }
152
+ .dialog-title h2 {
153
+ font-size: 1.125rem;
154
+ margin: 0;
155
+ }
156
+ .btn-close {
157
+ background: none;
158
+ border: none;
159
+ cursor: pointer;
160
+ }
161
+ .dialog-divider {
162
+ border-top: 1px solid #e0e0e0;
163
+ }
164
+ .dialog-body {
165
+ overflow: auto;
166
+ padding: 16px 30px;
167
+ flex: 1;
168
+ }
169
+ .dialog-footer {
170
+ display: flex;
171
+ gap: 8px;
172
+ padding: 8px 16px;
173
+ }
174
+ .btn-cancel {
175
+ border: 1px solid #a41b06;
176
+ border-radius: 34px;
177
+ padding: 7px 10px;
178
+ background: #fff;
179
+ color: #a41b06;
180
+ font-size: 12px;
181
+ cursor: pointer;
182
+ }
183
+ .btn-cancel:hover {
184
+ background: #f5f5f5;
185
+ }
186
+ .btn-confirm {
187
+ border-radius: 34px;
188
+ padding: 7px 16px;
189
+ background: #a21b07;
190
+ color: white;
191
+ font-size: 12px;
192
+ cursor: pointer;
193
+ border: none;
194
+ }
195
+ .btn-confirm:hover {
196
+ background: #a21b07;
197
+ }
198
+ .spinner {
199
+ border: 2px solid #f3f3f3;
200
+ border-top: 2px solid #c5c5c5;
201
+ border-radius: 50%;
202
+ width: 16px;
203
+ height: 16px;
204
+ animation: spin 1s linear infinite;
205
+ display: inline-block;
206
+ }
207
+ @keyframes spin {
208
+ 0% {
209
+ transform: rotate(0deg);
210
+ }
211
+ 100% {
212
+ transform: rotate(360deg);
213
+ }
214
+ }
215
+
71
216
  /* lib/style.css */
72
217
  .theme-rufous .act-icon svg {
73
218
  color: #a81c08 !important;