@rufous/ui 0.1.22 → 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.
Files changed (39) hide show
  1. package/dist/Buttons/addButton.cjs +1 -1
  2. package/dist/Buttons/addButton.js +1 -1
  3. package/dist/Buttons/index.cjs +1 -1
  4. package/dist/Buttons/index.js +1 -1
  5. package/dist/Dialogs/BaseDialog.cjs +125 -0
  6. package/dist/Dialogs/BaseDialog.css +224 -0
  7. package/dist/Dialogs/BaseDialog.d.cts +30 -0
  8. package/dist/Dialogs/BaseDialog.d.ts +30 -0
  9. package/dist/Dialogs/BaseDialog.js +64 -0
  10. package/dist/Dialogs/index.cjs +131 -0
  11. package/dist/Dialogs/index.css +224 -0
  12. package/dist/Dialogs/index.d.cts +2 -0
  13. package/dist/Dialogs/index.d.ts +2 -0
  14. package/dist/Dialogs/index.js +64 -0
  15. package/dist/chunk-CPLUOEPG.js +91 -0
  16. package/dist/chunk-DE73YGRW.js +8 -0
  17. package/dist/{chunk-5TL73FV7.js → chunk-MB7R5AKK.js} +1 -1
  18. package/dist/chunk-WXXJX3FF.js +8 -0
  19. package/dist/icons/closeIcon.cjs +37 -0
  20. package/dist/icons/closeIcon.d.cts +8 -0
  21. package/dist/icons/closeIcon.d.ts +8 -0
  22. package/dist/icons/closeIcon.js +6 -0
  23. package/dist/icons/index.cjs +14 -0
  24. package/dist/icons/index.d.cts +2 -0
  25. package/dist/icons/index.d.ts +2 -0
  26. package/dist/icons/index.js +48 -40
  27. package/dist/icons/rufousAiIcon.js +3 -4
  28. package/dist/main.cjs +113 -16
  29. package/dist/main.css +146 -0
  30. package/dist/main.d.cts +3 -0
  31. package/dist/main.d.ts +3 -0
  32. package/dist/main.js +53 -41
  33. package/dist/style.css +146 -0
  34. package/dist/styles/button.css +54 -0
  35. package/dist/styles/dialog.css +91 -0
  36. package/dist/styles/dialog.d.cts +2 -0
  37. package/dist/styles/dialog.d.ts +2 -0
  38. package/package.json +1 -1
  39. /package/dist/{chunk-CC7BNJL3.js → chunk-QGUQF6OF.js} +0 -0
@@ -1,4 +1,16 @@
1
- import "../chunk-CC7BNJL3.js";
1
+ import "../chunk-QGUQF6OF.js";
2
+ import {
3
+ workItemIcon_default
4
+ } from "../chunk-QJPQC544.js";
5
+ import {
6
+ tickIcon_default
7
+ } from "../chunk-ITZTTNM2.js";
8
+ import {
9
+ timerIcon_default
10
+ } from "../chunk-WWAHNTUH.js";
11
+ import {
12
+ trashIcon_default
13
+ } from "../chunk-6KIFTMUN.js";
2
14
  import {
3
15
  unArchivedIcon_default
4
16
  } from "../chunk-ZJAV3FEQ.js";
@@ -15,8 +27,14 @@ import {
15
27
  viewIcon_default
16
28
  } from "../chunk-XPRBPIS5.js";
17
29
  import {
18
- workItemIcon_default
19
- } from "../chunk-QJPQC544.js";
30
+ resendInviteIcon_default
31
+ } from "../chunk-WG3Q6GZN.js";
32
+ import {
33
+ rolesIcon_default
34
+ } from "../chunk-RJ43D3XB.js";
35
+ import {
36
+ rufousAiIcon_default
37
+ } from "../chunk-DE73YGRW.js";
20
38
  import {
21
39
  rufousBirdIcon_default
22
40
  } from "../chunk-DMP72IAP.js";
@@ -33,14 +51,14 @@ import {
33
51
  suspendUserIcon_default
34
52
  } from "../chunk-5BB3H3YO.js";
35
53
  import {
36
- tickIcon_default
37
- } from "../chunk-ITZTTNM2.js";
54
+ questionStatusPrivateIcon_default
55
+ } from "../chunk-WZTZFC36.js";
38
56
  import {
39
- timerIcon_default
40
- } from "../chunk-WWAHNTUH.js";
57
+ questionStatusPublicIcon_default
58
+ } from "../chunk-QA2AYT4A.js";
41
59
  import {
42
- trashIcon_default
43
- } from "../chunk-6KIFTMUN.js";
60
+ questionTypeAllIcon_default
61
+ } from "../chunk-WHGVO3HV.js";
44
62
  import {
45
63
  questionTypeCodingIcon_default
46
64
  } from "../chunk-FOUXNPQA.js";
@@ -57,11 +75,14 @@ import {
57
75
  refreshIcon_default
58
76
  } from "../chunk-RNA4TTYR.js";
59
77
  import {
60
- resendInviteIcon_default
61
- } from "../chunk-WG3Q6GZN.js";
78
+ industryIcon_default
79
+ } from "../chunk-NSW6ZGZF.js";
62
80
  import {
63
- rolesIcon_default
64
- } from "../chunk-RJ43D3XB.js";
81
+ invoiceIcon_default
82
+ } from "../chunk-KYJ3475B.js";
83
+ import {
84
+ logsIcon_default
85
+ } from "../chunk-N4EJKMJK.js";
65
86
  import {
66
87
  minExperienceIcon_default
67
88
  } from "../chunk-MKK7M3BH.js";
@@ -78,14 +99,14 @@ import {
78
99
  questionStatusAllIcon_default
79
100
  } from "../chunk-GYLL3HRD.js";
80
101
  import {
81
- questionStatusPrivateIcon_default
82
- } from "../chunk-WZTZFC36.js";
102
+ editChatIcon_default
103
+ } from "../chunk-QONKYAQ5.js";
83
104
  import {
84
- questionStatusPublicIcon_default
85
- } from "../chunk-QA2AYT4A.js";
105
+ editIcon_default
106
+ } from "../chunk-H372BAXA.js";
86
107
  import {
87
- questionTypeAllIcon_default
88
- } from "../chunk-WHGVO3HV.js";
108
+ engagementIcon_default
109
+ } from "../chunk-FSRABKKC.js";
89
110
  import {
90
111
  functionIcon_default
91
112
  } from "../chunk-ZAYWFYP4.js";
@@ -99,14 +120,14 @@ import {
99
120
  inactiveGroupIcon_default
100
121
  } from "../chunk-7WNPZ4B7.js";
101
122
  import {
102
- industryIcon_default
103
- } from "../chunk-NSW6ZGZF.js";
123
+ closeIcon_default
124
+ } from "../chunk-WXXJX3FF.js";
104
125
  import {
105
- invoiceIcon_default
106
- } from "../chunk-KYJ3475B.js";
126
+ copyIcon_default
127
+ } from "../chunk-6FEUS4CQ.js";
107
128
  import {
108
- logsIcon_default
109
- } from "../chunk-N4EJKMJK.js";
129
+ difficultyAllIcon_default
130
+ } from "../chunk-PPNZC5ZQ.js";
110
131
  import {
111
132
  difficultyEasyIcon_default
112
133
  } from "../chunk-JI5XMLWT.js";
@@ -122,15 +143,6 @@ import {
122
143
  import {
123
144
  downloadIcon_default
124
145
  } from "../chunk-IOEQAR2M.js";
125
- import {
126
- editChatIcon_default
127
- } from "../chunk-QONKYAQ5.js";
128
- import {
129
- editIcon_default
130
- } from "../chunk-H372BAXA.js";
131
- import {
132
- engagementIcon_default
133
- } from "../chunk-FSRABKKC.js";
134
146
  import {
135
147
  activateUserIcon_default
136
148
  } from "../chunk-AH6RCYDL.js";
@@ -140,16 +152,11 @@ import {
140
152
  import {
141
153
  assignGroupIcon_default
142
154
  } from "../chunk-MNPAE2ZF.js";
143
- import {
144
- copyIcon_default
145
- } from "../chunk-6FEUS4CQ.js";
146
- import {
147
- difficultyAllIcon_default
148
- } from "../chunk-PPNZC5ZQ.js";
149
155
  export {
150
156
  activateUserIcon_default as ActivateUserIcon,
151
157
  archivedIcon_default as ArchivedIcon,
152
158
  assignGroupIcon_default as AssignGroupIcon,
159
+ closeIcon_default as CloseIcon,
153
160
  copyIcon_default as CopyIcon,
154
161
  difficultyAllIcon_default as DifficultyAllIcon,
155
162
  difficultyEasyIcon_default as DifficultyEasyIcon,
@@ -182,6 +189,7 @@ export {
182
189
  refreshIcon_default as RefreshIcon,
183
190
  resendInviteIcon_default as ResendInviteIcon,
184
191
  rolesIcon_default as RolesIcon,
192
+ rufousAiIcon_default as RufousAiIcon,
185
193
  rufousBirdIcon_default as RufousBirdIcon,
186
194
  rufousLauncherBird_default as RufousLauncherIcon,
187
195
  sidebarIcon_default as SidebarIcon,
@@ -1,7 +1,6 @@
1
- // lib/icons/rufousAiIcon.tsx
2
- import * as React from "react";
3
- var RufousAiIcon = ({ color = "#3a3a3a", ...props }) => /* @__PURE__ */ React.createElement("svg", { width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props }, /* @__PURE__ */ React.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__ */ React.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__ */ React.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" }));
4
- var rufousAiIcon_default = RufousAiIcon;
1
+ import {
2
+ rufousAiIcon_default
3
+ } from "../chunk-DE73YGRW.js";
5
4
  export {
6
5
  rufousAiIcon_default as default
7
6
  };
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,
@@ -67,6 +69,7 @@ __export(main_exports, {
67
69
  RefreshIcon: () => refreshIcon_default,
68
70
  ResendInviteIcon: () => resendInviteIcon_default,
69
71
  RolesIcon: () => rolesIcon_default,
72
+ RufousAiIcon: () => rufousAiIcon_default,
70
73
  RufousBirdIcon: () => rufousBirdIcon_default,
71
74
  RufousLauncherIcon: () => rufousLauncherBird_default,
72
75
  RufousThemeProvider: () => RufousThemeProvider,
@@ -1060,15 +1063,25 @@ var RolesIcon = ({ color = "#3a3a3a", ...props }) => /* @__PURE__ */ React49.cre
1060
1063
  );
1061
1064
  var rolesIcon_default = RolesIcon;
1062
1065
 
1063
- // lib/Buttons/addButton.tsx
1066
+ // lib/icons/rufousAiIcon.tsx
1064
1067
  var React50 = __toESM(require("react"), 1);
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" }));
1069
+ var rufousAiIcon_default = RufousAiIcon;
1070
+
1071
+ // lib/icons/closeIcon.tsx
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);
1065
1078
  var AddButton = ({ children, ...props }) => {
1066
- return /* @__PURE__ */ React50.createElement("button", { className: "add-btn", ...props }, "+", children);
1079
+ return /* @__PURE__ */ React52.createElement("button", { className: "add-btn", ...props }, "+ ", children);
1067
1080
  };
1068
1081
  var addButton_default = AddButton;
1069
1082
 
1070
1083
  // lib/Buttons/submitButton.tsx
1071
- var React51 = __toESM(require("react"), 1);
1084
+ var React53 = __toESM(require("react"), 1);
1072
1085
  var SubmitButton = ({
1073
1086
  children,
1074
1087
  type = "submit",
@@ -1084,22 +1097,103 @@ var SubmitButton = ({
1084
1097
  ...onClick ? {} : { type }
1085
1098
  // only set type when no onClick
1086
1099
  };
1087
- return /* @__PURE__ */ React51.createElement("button", { ...buttonProps }, loading ? "Loading..." : children);
1100
+ return /* @__PURE__ */ React53.createElement("button", { ...buttonProps }, loading ? "Loading..." : children);
1088
1101
  };
1089
1102
  var submitButton_default = SubmitButton;
1090
1103
 
1091
1104
  // lib/Buttons/cancelButton.tsx
1092
- var React52 = __toESM(require("react"), 1);
1093
- var CancelButton = ({ children, ...props }) => /* @__PURE__ */ React52.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);
1094
1107
  var cancelButton_default = CancelButton;
1095
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
+
1096
1190
  // lib/Contexts/rufousThemeProvider.tsx
1097
- var import_react13 = __toESM(require("react"), 1);
1098
- var RufousThemeContext = (0, import_react13.createContext)(null);
1191
+ var import_react14 = __toESM(require("react"), 1);
1192
+ var RufousThemeContext = (0, import_react14.createContext)(null);
1099
1193
  var RufousThemeProvider = ({ children }) => {
1100
- const [committedThemeKey, setCommittedThemeKey] = (0, import_react13.useState)("default");
1101
- const [previewThemeKey, setPreviewThemeKey] = (0, import_react13.useState)("default");
1102
- 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);
1103
1197
  const getGeneralSettings = async () => {
1104
1198
  try {
1105
1199
  const theme = localStorage.getItem("theme") || "default";
@@ -1109,10 +1203,10 @@ var RufousThemeProvider = ({ children }) => {
1109
1203
  console.error("Error fetching general settings:", err);
1110
1204
  }
1111
1205
  };
1112
- (0, import_react13.useEffect)(() => {
1206
+ (0, import_react14.useEffect)(() => {
1113
1207
  getGeneralSettings();
1114
1208
  }, []);
1115
- const fullTheme = (0, import_react13.useMemo)(() => {
1209
+ const fullTheme = (0, import_react14.useMemo)(() => {
1116
1210
  return {
1117
1211
  themeKey: previewThemeKey || settings.theme,
1118
1212
  customStyles: APP_THEMES[previewThemeKey || settings.theme]
@@ -1125,7 +1219,7 @@ var RufousThemeProvider = ({ children }) => {
1125
1219
  setCommittedThemeKey(key);
1126
1220
  };
1127
1221
  const cancelTheme = () => setPreviewThemeKey(committedThemeKey);
1128
- return /* @__PURE__ */ import_react13.default.createElement(
1222
+ return /* @__PURE__ */ import_react14.default.createElement(
1129
1223
  RufousThemeContext.Provider,
1130
1224
  {
1131
1225
  value: {
@@ -1139,7 +1233,7 @@ var RufousThemeProvider = ({ children }) => {
1139
1233
  updateSettings: (v) => setSettings(v)
1140
1234
  }
1141
1235
  },
1142
- /* @__PURE__ */ import_react13.default.createElement(
1236
+ /* @__PURE__ */ import_react14.default.createElement(
1143
1237
  "div",
1144
1238
  {
1145
1239
  className: `theme-${previewThemeKey || committedThemeKey || "default"}`
@@ -1148,7 +1242,7 @@ var RufousThemeProvider = ({ children }) => {
1148
1242
  )
1149
1243
  );
1150
1244
  };
1151
- var useRufousTheme = () => (0, import_react13.useContext)(RufousThemeContext);
1245
+ var useRufousTheme = () => (0, import_react14.useContext)(RufousThemeContext);
1152
1246
  // Annotate the CommonJS export names for ESM import in node:
1153
1247
  0 && (module.exports = {
1154
1248
  APP_THEMES,
@@ -1156,7 +1250,9 @@ var useRufousTheme = () => (0, import_react13.useContext)(RufousThemeContext);
1156
1250
  AddButton,
1157
1251
  ArchivedIcon,
1158
1252
  AssignGroupIcon,
1253
+ BaseDialog,
1159
1254
  CancelButton,
1255
+ CloseIcon,
1160
1256
  CopyIcon,
1161
1257
  DifficultyAllIcon,
1162
1258
  DifficultyEasyIcon,
@@ -1189,6 +1285,7 @@ var useRufousTheme = () => (0, import_react13.useContext)(RufousThemeContext);
1189
1285
  RefreshIcon,
1190
1286
  ResendInviteIcon,
1191
1287
  RolesIcon,
1288
+ RufousAiIcon,
1192
1289
  RufousBirdIcon,
1193
1290
  RufousLauncherIcon,
1194
1291
  RufousThemeProvider,
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;
@@ -41,6 +94,7 @@
41
94
  border-radius: 6px;
42
95
  cursor: pointer;
43
96
  transition: background-color 250ms ease-in-out;
97
+ font-size: 600;
44
98
  }
45
99
  .submit-btn:hover {
46
100
  background-color: #9b1906;
@@ -67,6 +121,98 @@
67
121
  color: #ffffff;
68
122
  }
69
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
+
70
216
  /* lib/style.css */
71
217
  .theme-rufous .act-icon svg {
72
218
  color: #a81c08 !important;
package/dist/main.d.cts CHANGED
@@ -48,8 +48,11 @@ export { default as IndustryIcon } from './icons/industryIcon.cjs';
48
48
  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
+ export { default as RufousAiIcon } from './icons/rufousAiIcon.cjs';
52
+ export { default as CloseIcon } from './icons/closeIcon.cjs';
51
53
  export { default as AddButton } from './Buttons/addButton.cjs';
52
54
  export { default as SubmitButton } from './Buttons/submitButton.cjs';
53
55
  export { default as CancelButton } from './Buttons/cancelButton.cjs';
56
+ export { default as BaseDialog } from './Dialogs/BaseDialog.cjs';
54
57
  export { RufousThemeProvider, useRufousTheme } from './Contexts/rufousThemeProvider.cjs';
55
58
  import 'react';
package/dist/main.d.ts CHANGED
@@ -48,8 +48,11 @@ export { default as IndustryIcon } from './icons/industryIcon.js';
48
48
  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
+ export { default as RufousAiIcon } from './icons/rufousAiIcon.js';
52
+ export { default as CloseIcon } from './icons/closeIcon.js';
51
53
  export { default as AddButton } from './Buttons/addButton.js';
52
54
  export { default as SubmitButton } from './Buttons/submitButton.js';
53
55
  export { default as CancelButton } from './Buttons/cancelButton.js';
56
+ export { default as BaseDialog } from './Dialogs/BaseDialog.js';
54
57
  export { RufousThemeProvider, useRufousTheme } from './Contexts/rufousThemeProvider.js';
55
58
  import 'react';