@rufous/ui 0.1.62 → 0.1.64

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 (222) hide show
  1. package/README.md +4 -0
  2. package/dist/Buttons/addButton.js +1 -0
  3. package/dist/Buttons/cancelButton.js +1 -0
  4. package/dist/Buttons/index.cjs +2 -2
  5. package/dist/Buttons/index.js +3 -2
  6. package/dist/Buttons/stdButton.js +1 -0
  7. package/dist/Buttons/submitButton.cjs +2 -2
  8. package/dist/Buttons/submitButton.js +3 -2
  9. package/dist/CheckBoxes/CheckBox.cjs +1 -1
  10. package/dist/CheckBoxes/CheckBox.js +4 -25
  11. package/dist/Contexts/rufousThemeProvider.cjs +146 -81
  12. package/dist/Contexts/rufousThemeProvider.js +3 -2
  13. package/dist/DataGrid/DataGrid.cjs +418 -0
  14. package/dist/DataGrid/DataGrid.d.cts +8 -0
  15. package/dist/DataGrid/DataGrid.d.ts +8 -0
  16. package/dist/DataGrid/DataGrid.js +9 -0
  17. package/dist/DataGrid/index.cjs +418 -0
  18. package/dist/DataGrid/index.d.cts +3 -0
  19. package/dist/DataGrid/index.d.ts +3 -0
  20. package/dist/DataGrid/index.js +8 -0
  21. package/dist/{TextFields/FloatingInput.d.cjs → DataGrid/types.cjs} +3 -3
  22. package/dist/DataGrid/types.d.cts +31 -0
  23. package/dist/DataGrid/types.d.ts +31 -0
  24. package/dist/Dialogs/BaseDialog.cjs +18 -10
  25. package/dist/Dialogs/BaseDialog.css +8356 -163
  26. package/dist/Dialogs/BaseDialog.d.cts +1 -0
  27. package/dist/Dialogs/BaseDialog.d.ts +1 -0
  28. package/dist/Dialogs/BaseDialog.js +51 -43
  29. package/dist/Dialogs/index.cjs +18 -10
  30. package/dist/Dialogs/index.css +8356 -163
  31. package/dist/Dialogs/index.js +51 -43
  32. package/dist/Editors/RichTextEditor.cjs +29477 -0
  33. package/dist/Editors/RichTextEditor.css +7179 -0
  34. package/dist/Editors/RichTextEditor.d.cts +57 -0
  35. package/dist/Editors/RichTextEditor.d.ts +57 -0
  36. package/dist/Editors/RichTextEditor.js +9 -0
  37. package/dist/Editors/index.cjs +29477 -0
  38. package/dist/Editors/index.css +7179 -0
  39. package/dist/Editors/index.d.cts +2 -0
  40. package/dist/Editors/index.d.ts +2 -0
  41. package/dist/Editors/index.js +8 -0
  42. package/dist/Progress/circularProgress.cjs +2 -2
  43. package/dist/Progress/circularProgress.d.cts +3 -3
  44. package/dist/Progress/circularProgress.d.ts +3 -3
  45. package/dist/Progress/circularProgress.js +2 -1
  46. package/dist/TextFields/AddressLookup.cjs +390 -0
  47. package/dist/TextFields/AddressLookup.d.cts +49 -0
  48. package/dist/TextFields/AddressLookup.d.ts +49 -0
  49. package/dist/TextFields/AddressLookup.js +11 -0
  50. package/dist/TextFields/FloatingInput.cjs +6 -4
  51. package/dist/TextFields/FloatingInput.d.cts +13 -19
  52. package/dist/TextFields/FloatingInput.d.ts +13 -19
  53. package/dist/TextFields/FloatingInput.js +4 -28
  54. package/dist/chunk-2AJACSJ3.js +8 -0
  55. package/dist/chunk-3Y6QBRGD.js +8 -0
  56. package/dist/chunk-4Y7SQ5EP.js +8 -0
  57. package/dist/chunk-5GK5B3FD.js +8 -0
  58. package/dist/chunk-5XKFPQLH.js +8 -0
  59. package/dist/chunk-66HHM7VI.js +468 -0
  60. package/dist/{chunk-FOZYOE5W.js → chunk-763IHEJ2.js} +1 -1
  61. package/dist/chunk-77QDKDFI.js +8 -0
  62. package/dist/{chunk-UZAD2QJD.js → chunk-7II4Q2WY.js} +1 -1
  63. package/dist/chunk-7KRG7VNW.js +0 -0
  64. package/dist/chunk-AXSFVJ3H.js +10 -0
  65. package/dist/chunk-B2LVMM55.js +8 -0
  66. package/dist/chunk-CSQGNUVU.js +62 -0
  67. package/dist/{chunk-YRFUVQDN.js → chunk-CTBYVXFP.js} +2 -2
  68. package/dist/{chunk-UWQSGKVX.js → chunk-CTWVJQJ5.js} +1 -1
  69. package/dist/chunk-DLJHWFNG.js +18 -0
  70. package/dist/chunk-EZI3QGYJ.js +8 -0
  71. package/dist/{chunk-G4CVY5MD.js → chunk-FZCFFVXW.js} +1 -1
  72. package/dist/{chunk-BH53P2UM.js → chunk-G2GZDPUL.js} +3 -3
  73. package/dist/chunk-GJGRMMAQ.js +0 -0
  74. package/dist/chunk-J6E3UO2W.js +402 -0
  75. package/dist/chunk-JVN6QVET.js +8 -0
  76. package/dist/chunk-LI4N7JWK.js +39 -0
  77. package/dist/chunk-MGFGSPHM.js +303 -0
  78. package/dist/{chunk-AQXTOTWY.js → chunk-P3I6CP2I.js} +19 -11
  79. package/dist/chunk-Q4DHI3B5.js +8 -0
  80. package/dist/chunk-QDMNCTXT.js +8 -0
  81. package/dist/{chunk-EC7M5LL2.js → chunk-QTGVW36I.js} +1 -1
  82. package/dist/chunk-R4ISYGEP.js +8 -0
  83. package/dist/chunk-S7BNFVQO.js +156 -0
  84. package/dist/chunk-UPCMMCPQ.js +34 -0
  85. package/dist/{chunk-SBX4CHO7.js → chunk-UTBCFDOX.js} +1 -1
  86. package/dist/chunk-X357WQOT.js +29 -0
  87. package/dist/{chunk-O3EAZPD3.js → chunk-XCE3QE6Q.js} +1 -1
  88. package/dist/chunk-XHY3OCAQ.js +8 -0
  89. package/dist/{chunk-7YKG3WYS.js → chunk-YRLN3TBF.js} +1 -1
  90. package/dist/chunk-Z7USRFM2.js +8 -0
  91. package/dist/{chunk-EFIJYBYX.js → chunk-ZLJDOLXZ.js} +1 -1
  92. package/dist/esm-5T53WHPT.js +27362 -0
  93. package/dist/icons/activateUserIcon.js +1 -0
  94. package/dist/icons/archivedIcon.js +1 -0
  95. package/dist/icons/assignGroupIcon.js +1 -0
  96. package/dist/icons/closeIcon.js +1 -0
  97. package/dist/icons/copyIcon.js +1 -0
  98. package/dist/icons/difficultyAllIcon.cjs +1 -1
  99. package/dist/icons/difficultyAllIcon.js +2 -1
  100. package/dist/icons/difficultyEasyIcon.js +1 -0
  101. package/dist/icons/difficultyHardIcon.js +1 -0
  102. package/dist/icons/difficultyMediumIcon.js +1 -0
  103. package/dist/icons/dollarIcon.js +1 -0
  104. package/dist/icons/downloadIcon.cjs +1 -1
  105. package/dist/icons/downloadIcon.js +2 -1
  106. package/dist/icons/downloadPdfIcon.js +1 -0
  107. package/dist/icons/editChatIcon.cjs +1 -1
  108. package/dist/icons/editChatIcon.js +2 -1
  109. package/dist/icons/editIcon.js +1 -0
  110. package/dist/icons/engagementIcon.cjs +1 -1
  111. package/dist/icons/engagementIcon.js +2 -1
  112. package/dist/icons/functionIcon.js +1 -0
  113. package/dist/icons/helpOutlinedIcon.cjs +1 -1
  114. package/dist/icons/helpOutlinedIcon.js +2 -1
  115. package/dist/icons/hierarchyIcon.js +1 -0
  116. package/dist/icons/inactiveGroupIcon.cjs +1 -1
  117. package/dist/icons/inactiveGroupIcon.js +2 -1
  118. package/dist/icons/index.cjs +27 -27
  119. package/dist/icons/index.js +66 -65
  120. package/dist/icons/industryIcon.js +1 -0
  121. package/dist/icons/invoiceIcon.js +1 -0
  122. package/dist/icons/locationPinIcon.js +1 -0
  123. package/dist/icons/logsIcon.js +1 -0
  124. package/dist/icons/minExperienceIcon.js +1 -0
  125. package/dist/icons/nineDotMenuIcon.js +1 -0
  126. package/dist/icons/notificationIcon.js +1 -0
  127. package/dist/icons/projectIcon.cjs +1 -1
  128. package/dist/icons/projectIcon.js +2 -1
  129. package/dist/icons/qualificationsIcon.cjs +1 -1
  130. package/dist/icons/qualificationsIcon.js +2 -1
  131. package/dist/icons/questionStatusAllIcon.cjs +1 -1
  132. package/dist/icons/questionStatusAllIcon.js +2 -1
  133. package/dist/icons/questionStatusPrivateIcon.cjs +1 -1
  134. package/dist/icons/questionStatusPrivateIcon.js +2 -1
  135. package/dist/icons/questionStatusPublicIcon.cjs +1 -1
  136. package/dist/icons/questionStatusPublicIcon.js +2 -1
  137. package/dist/icons/questionTypeAllIcon.js +1 -0
  138. package/dist/icons/questionTypeCodingIcon.cjs +1 -1
  139. package/dist/icons/questionTypeCodingIcon.js +2 -1
  140. package/dist/icons/questionTypeDescriptiveIcon.cjs +1 -1
  141. package/dist/icons/questionTypeDescriptiveIcon.js +2 -1
  142. package/dist/icons/questionTypeMultipleIcon.cjs +1 -1
  143. package/dist/icons/questionTypeMultipleIcon.js +2 -1
  144. package/dist/icons/questionTypeSingleIcon.cjs +1 -1
  145. package/dist/icons/questionTypeSingleIcon.js +2 -1
  146. package/dist/icons/refreshIcon.js +1 -0
  147. package/dist/icons/resendInviteIcon.js +1 -0
  148. package/dist/icons/rolesIcon.js +1 -0
  149. package/dist/icons/rufousAiIcon.cjs +1 -1
  150. package/dist/icons/rufousAiIcon.js +2 -1
  151. package/dist/icons/rufousBirdIcon.js +1 -0
  152. package/dist/icons/rufousLauncherBird.js +1 -0
  153. package/dist/icons/sidebarIcon.js +1 -0
  154. package/dist/icons/softSkillsIcon.cjs +1 -1
  155. package/dist/icons/softSkillsIcon.js +2 -1
  156. package/dist/icons/subscribeIcon.cjs +1 -1
  157. package/dist/icons/subscribeIcon.js +2 -1
  158. package/dist/icons/suspendUserIcon.cjs +1 -1
  159. package/dist/icons/suspendUserIcon.js +2 -1
  160. package/dist/icons/technicalSkillsIcon.js +1 -0
  161. package/dist/icons/tickIcon.cjs +1 -1
  162. package/dist/icons/tickIcon.js +2 -1
  163. package/dist/icons/timerIcon.cjs +1 -1
  164. package/dist/icons/timerIcon.js +2 -1
  165. package/dist/icons/trashIcon.js +1 -0
  166. package/dist/icons/unArchivedIcon.js +1 -0
  167. package/dist/icons/unsubscribeIcon.cjs +1 -1
  168. package/dist/icons/unsubscribeIcon.js +2 -1
  169. package/dist/icons/uploadIcon.cjs +1 -1
  170. package/dist/icons/uploadIcon.js +2 -1
  171. package/dist/icons/userAssignIcon.cjs +3 -3
  172. package/dist/icons/userAssignIcon.js +2 -1
  173. package/dist/icons/viewIcon.cjs +1 -1
  174. package/dist/icons/viewIcon.js +2 -1
  175. package/dist/icons/workItemIcon.js +1 -0
  176. package/dist/main.cjs +30455 -204
  177. package/dist/main.css +8356 -163
  178. package/dist/main.d.cts +7 -0
  179. package/dist/main.d.ts +7 -0
  180. package/dist/main.js +99 -73
  181. package/dist/style.css +1069 -164
  182. package/dist/styles/address-lookup.css +107 -0
  183. package/dist/styles/address-lookup.d.cts +2 -0
  184. package/dist/styles/address-lookup.d.ts +2 -0
  185. package/dist/styles/button.css +82 -110
  186. package/dist/styles/checkbox.css +60 -0
  187. package/dist/styles/checkbox.d.cts +2 -0
  188. package/dist/styles/checkbox.d.ts +2 -0
  189. package/dist/styles/datagrid.css +531 -0
  190. package/dist/styles/datagrid.d.cts +2 -0
  191. package/dist/styles/datagrid.d.ts +2 -0
  192. package/dist/styles/dialog.css +78 -51
  193. package/dist/styles/editor.css +211 -0
  194. package/dist/styles/editor.d.cts +2 -0
  195. package/dist/styles/editor.d.ts +2 -0
  196. package/dist/styles/progress.css +1 -1
  197. package/dist/utils/constants.cjs +115 -42
  198. package/dist/utils/constants.d.cts +60 -37
  199. package/dist/utils/constants.d.ts +60 -37
  200. package/dist/utils/constants.js +2 -1
  201. package/package.json +13 -2
  202. package/dist/TextFields/FloatingInput.d.d.cts +0 -23
  203. package/dist/TextFields/FloatingInput.d.d.ts +0 -23
  204. package/dist/chunk-2FHTGYR4.js +0 -83
  205. package/dist/chunk-5BB3H3YO.js +0 -8
  206. package/dist/chunk-5I44RDFT.js +0 -8
  207. package/dist/chunk-5UEJAVFK.js +0 -10
  208. package/dist/chunk-7WNPZ4B7.js +0 -8
  209. package/dist/chunk-BCGCLMKA.js +0 -71
  210. package/dist/chunk-BYJP2WNC.js +0 -18
  211. package/dist/chunk-DE73YGRW.js +0 -8
  212. package/dist/chunk-EH3QXE5G.js +0 -8
  213. package/dist/chunk-FSSJZDI6.js +0 -8
  214. package/dist/chunk-JYTI2ZBC.js +0 -8
  215. package/dist/chunk-OCOOSNRU.js +0 -8
  216. package/dist/chunk-PPNZC5ZQ.js +0 -8
  217. package/dist/chunk-QA2AYT4A.js +0 -8
  218. package/dist/chunk-VI32N6SI.js +0 -8
  219. package/dist/chunk-VIUTE7F5.js +0 -8
  220. package/dist/chunk-WWAHNTUH.js +0 -8
  221. package/dist/chunk-ZJYLZ6I6.js +0 -8
  222. /package/dist/{TextFields/FloatingInput.d.js → DataGrid/types.js} +0 -0
@@ -0,0 +1,39 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __esm = (fn, res) => function __init() {
8
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
9
+ };
10
+ var __commonJS = (cb, mod) => function __require() {
11
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
12
+ };
13
+ var __export = (target, all) => {
14
+ for (var name in all)
15
+ __defProp(target, name, { get: all[name], enumerable: true });
16
+ };
17
+ var __copyProps = (to, from, except, desc) => {
18
+ if (from && typeof from === "object" || typeof from === "function") {
19
+ for (let key of __getOwnPropNames(from))
20
+ if (!__hasOwnProp.call(to, key) && key !== except)
21
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
22
+ }
23
+ return to;
24
+ };
25
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
26
+ // If the importer is in node compatibility mode or this is not an ESM
27
+ // file that has been converted to a CommonJS file using a Babel-
28
+ // compatible transform (i.e. "__esModule" has not been set), then set
29
+ // "default" to the CommonJS "module.exports" for node compatibility.
30
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
31
+ mod
32
+ ));
33
+
34
+ export {
35
+ __esm,
36
+ __commonJS,
37
+ __export,
38
+ __toESM
39
+ };
@@ -0,0 +1,303 @@
1
+ import {
2
+ FloatingInput
3
+ } from "./chunk-UPCMMCPQ.js";
4
+ import {
5
+ circularProgress_default
6
+ } from "./chunk-CTBYVXFP.js";
7
+ import {
8
+ useRufousTheme
9
+ } from "./chunk-CSQGNUVU.js";
10
+
11
+ // lib/TextFields/AddressLookup.tsx
12
+ import React, { useState, useRef, useEffect } from "react";
13
+ import Axios from "axios";
14
+ import { Country, State, City } from "country-state-city";
15
+ var AddressLookup = ({
16
+ value = {},
17
+ onChange = () => {
18
+ },
19
+ label = "Address",
20
+ error = {},
21
+ size = "medium",
22
+ sx = {},
23
+ layout = "stack",
24
+ required = false,
25
+ token = ""
26
+ }) => {
27
+ const { theme } = useRufousTheme();
28
+ const [suggestions, setSuggestions] = useState([]);
29
+ const [loading, setLoading] = useState(false);
30
+ const [showSuggestions, setShowSuggestions] = useState(false);
31
+ const [googleFields, setGoogleFields] = useState({
32
+ country: false,
33
+ state: false,
34
+ city: false,
35
+ pincode: false
36
+ });
37
+ const debounceTimeout = useRef(null);
38
+ const containerRef = useRef(null);
39
+ const apiKey = token || "";
40
+ const countries = Country.getAllCountries();
41
+ const [states, setStates] = useState([]);
42
+ const [cities, setCities] = useState([]);
43
+ useEffect(() => {
44
+ const handleClickOutside = (event) => {
45
+ if (containerRef.current && !containerRef.current.contains(event.target)) {
46
+ setShowSuggestions(false);
47
+ }
48
+ };
49
+ document.addEventListener("mousedown", handleClickOutside);
50
+ return () => document.removeEventListener("mousedown", handleClickOutside);
51
+ }, []);
52
+ useEffect(() => {
53
+ if (value.country || value.state || value.city || value.pincode) {
54
+ setGoogleFields({
55
+ country: !!value.country,
56
+ state: !!value.state,
57
+ city: !!value.city,
58
+ pincode: !!value.pincode
59
+ });
60
+ }
61
+ }, []);
62
+ useEffect(() => {
63
+ if (value.country) {
64
+ const country = countries.find((c) => c.name === value.country);
65
+ if (country) {
66
+ const stateList = State.getStatesOfCountry(country.isoCode);
67
+ setStates(stateList);
68
+ } else {
69
+ setStates([]);
70
+ }
71
+ } else {
72
+ setStates([]);
73
+ }
74
+ }, [value.country]);
75
+ useEffect(() => {
76
+ if (value.state && value.country) {
77
+ const country = countries.find((c) => c.name === value.country);
78
+ if (country) {
79
+ const state = State.getStatesOfCountry(country.isoCode).find((s) => s.name === value.state);
80
+ if (state) {
81
+ const cityList = City.getCitiesOfState(country.isoCode, state.isoCode);
82
+ setCities(cityList);
83
+ } else {
84
+ setCities([]);
85
+ }
86
+ } else {
87
+ setCities([]);
88
+ }
89
+ } else {
90
+ setCities([]);
91
+ }
92
+ }, [value.state, value.country]);
93
+ const handleChange = (field, newVal) => {
94
+ onChange({
95
+ ...value,
96
+ [field]: newVal
97
+ });
98
+ };
99
+ const fetchPlaceDetails = async (placeId, mainText = "") => {
100
+ if (!apiKey) {
101
+ console.warn("Google Places API Key (token) is missing.");
102
+ return;
103
+ }
104
+ setLoading(true);
105
+ try {
106
+ const res = await Axios.get(
107
+ `https://places.googleapis.com/v1/places/${placeId}`,
108
+ {
109
+ headers: {
110
+ "Content-Type": "application/json",
111
+ "X-Goog-Api-Key": apiKey,
112
+ "X-Goog-FieldMask": "addressComponents,formattedAddress"
113
+ }
114
+ }
115
+ );
116
+ const comps = res.data.addressComponents || [];
117
+ const findComp = (type) => comps.find((c) => c.types.includes(type))?.longText || "";
118
+ const city = findComp("locality") || findComp("sublocality_level_1");
119
+ const state = findComp("administrative_area_level_1");
120
+ const country = findComp("country");
121
+ const pincode = findComp("postal_code");
122
+ setGoogleFields({
123
+ country: !!country,
124
+ state: !!state,
125
+ city: !!city,
126
+ pincode: !!pincode
127
+ });
128
+ const updatedData = {
129
+ ...value,
130
+ addressLine1: mainText || value.addressLine1,
131
+ addressLine2: res.data.formattedAddress || value.addressLine2,
132
+ city,
133
+ state,
134
+ country,
135
+ pincode
136
+ };
137
+ onChange(updatedData);
138
+ setShowSuggestions(false);
139
+ } catch (err) {
140
+ console.error("Error fetching place details:", err);
141
+ } finally {
142
+ setLoading(false);
143
+ }
144
+ };
145
+ const handleQuerySuggestions = async (query) => {
146
+ if (!apiKey || !query || query.length < 3) {
147
+ setSuggestions([]);
148
+ setShowSuggestions(false);
149
+ return;
150
+ }
151
+ setLoading(true);
152
+ try {
153
+ const res = await Axios.post(
154
+ `https://places.googleapis.com/v1/places:autocomplete`,
155
+ { input: query },
156
+ {
157
+ headers: {
158
+ "Content-Type": "application/json",
159
+ "X-Goog-Api-Key": apiKey
160
+ }
161
+ }
162
+ );
163
+ setSuggestions(res.data.suggestions || []);
164
+ setShowSuggestions(true);
165
+ } catch (err) {
166
+ console.error("Autocomplete Error:", err);
167
+ } finally {
168
+ setLoading(false);
169
+ }
170
+ };
171
+ const handleCountryChange = (newCountry) => {
172
+ onChange({
173
+ ...value,
174
+ country: newCountry,
175
+ state: "",
176
+ city: ""
177
+ });
178
+ setGoogleFields({ ...googleFields, country: false, state: false, city: false });
179
+ };
180
+ const handleStateChange = (newState) => {
181
+ onChange({
182
+ ...value,
183
+ state: newState,
184
+ city: ""
185
+ });
186
+ };
187
+ return /* @__PURE__ */ React.createElement("div", { className: "address-lookup-container", style: sx, ref: containerRef }, /* @__PURE__ */ React.createElement("div", { className: `address-lookup-grid address-lookup-grid-${layout}` }, /* @__PURE__ */ React.createElement("div", { className: "address-lookup-grid-item col-l1" }, /* @__PURE__ */ React.createElement(
188
+ FloatingInput,
189
+ {
190
+ label,
191
+ name: "addressLine1",
192
+ value: value.addressLine1 || "",
193
+ required,
194
+ autoComplete: "off",
195
+ onChange: (e) => {
196
+ const val = e.target.value;
197
+ handleChange("addressLine1", val);
198
+ if (!val) {
199
+ onChange({
200
+ ...value,
201
+ addressLine1: "",
202
+ city: "",
203
+ state: "",
204
+ country: "",
205
+ pincode: ""
206
+ });
207
+ setSuggestions([]);
208
+ setShowSuggestions(false);
209
+ setGoogleFields({ country: false, state: false, city: false, pincode: false });
210
+ } else {
211
+ if (debounceTimeout.current) clearTimeout(debounceTimeout.current);
212
+ debounceTimeout.current = setTimeout(() => {
213
+ handleQuerySuggestions(val);
214
+ }, 500);
215
+ }
216
+ },
217
+ onFocus: () => suggestions.length > 0 && setShowSuggestions(true)
218
+ }
219
+ ), loading && /* @__PURE__ */ React.createElement("div", { className: "loading-indicator" }, /* @__PURE__ */ React.createElement(circularProgress_default, { size: 20 })), showSuggestions && suggestions.length > 0 && /* @__PURE__ */ React.createElement("div", { className: "autocomplete-dropdown" }, suggestions.map((option, idx) => /* @__PURE__ */ React.createElement(
220
+ "div",
221
+ {
222
+ key: idx,
223
+ className: "autocomplete-option",
224
+ onClick: () => {
225
+ const mainText = option?.placePrediction?.structuredFormat?.mainText?.text || "";
226
+ handleChange("addressLine1", mainText);
227
+ fetchPlaceDetails(option.placePrediction.placeId, mainText);
228
+ }
229
+ },
230
+ /* @__PURE__ */ React.createElement("div", { className: "autocomplete-main-text" }, option?.placePrediction?.structuredFormat?.mainText?.text),
231
+ /* @__PURE__ */ React.createElement("div", { className: "autocomplete-secondary-text" }, option?.placePrediction?.structuredFormat?.secondaryText?.text)
232
+ ))), error.addressLine1 && /* @__PURE__ */ React.createElement("div", { className: "field-error-text" }, error.addressLine1)), layout === "compact" && /* @__PURE__ */ React.createElement("div", { className: "address-lookup-grid-item col-l2" }, /* @__PURE__ */ React.createElement(
233
+ FloatingInput,
234
+ {
235
+ label: "Address Line 2",
236
+ name: "addressLine2",
237
+ value: value.addressLine2 || "",
238
+ onChange: (e) => handleChange("addressLine2", e.target.value)
239
+ }
240
+ )), layout !== "compact" && /* @__PURE__ */ React.createElement("div", { className: "address-lookup-grid-item col-l2" }, /* @__PURE__ */ React.createElement(
241
+ FloatingInput,
242
+ {
243
+ label: "Address Line 2",
244
+ name: "addressLine2",
245
+ value: value.addressLine2 || "",
246
+ onChange: (e) => handleChange("addressLine2", e.target.value)
247
+ }
248
+ )), /* @__PURE__ */ React.createElement("div", { className: "address-lookup-grid-item col-country" }, /* @__PURE__ */ React.createElement(
249
+ FloatingInput,
250
+ {
251
+ label: "Country",
252
+ name: "country",
253
+ value: value.country || "",
254
+ required,
255
+ className: googleFields.country && value.country ? "field-disabled" : "",
256
+ readOnly: googleFields.country && !!value.country,
257
+ onChange: (e) => handleCountryChange(e.target.value),
258
+ list: "countries-list"
259
+ }
260
+ ), /* @__PURE__ */ React.createElement("datalist", { id: "countries-list" }, countries.map((c) => /* @__PURE__ */ React.createElement("option", { key: c.isoCode, value: c.name }))), error.country && /* @__PURE__ */ React.createElement("div", { className: "field-error-text" }, error.country)), /* @__PURE__ */ React.createElement("div", { className: "address-lookup-grid-item col-state" }, /* @__PURE__ */ React.createElement(
261
+ FloatingInput,
262
+ {
263
+ label: "State",
264
+ name: "state",
265
+ value: value.state || "",
266
+ required,
267
+ disabled: !value.country,
268
+ className: googleFields.state && value.state ? "field-disabled" : "",
269
+ readOnly: googleFields.state && !!value.state,
270
+ onChange: (e) => handleStateChange(e.target.value),
271
+ list: "states-list"
272
+ }
273
+ ), /* @__PURE__ */ React.createElement("datalist", { id: "states-list" }, states.map((s) => /* @__PURE__ */ React.createElement("option", { key: s.isoCode, value: s.name }))), error.state && /* @__PURE__ */ React.createElement("div", { className: "field-error-text" }, error.state)), /* @__PURE__ */ React.createElement("div", { className: "address-lookup-grid-item col-city" }, /* @__PURE__ */ React.createElement(
274
+ FloatingInput,
275
+ {
276
+ label: "City",
277
+ name: "city",
278
+ value: value.city || "",
279
+ required,
280
+ disabled: !value.state,
281
+ className: googleFields.city && value.city ? "field-disabled" : "",
282
+ readOnly: googleFields.city && !!value.city,
283
+ onChange: (e) => handleChange("city", e.target.value),
284
+ list: "cities-list"
285
+ }
286
+ ), /* @__PURE__ */ React.createElement("datalist", { id: "cities-list" }, cities.map((c, i) => /* @__PURE__ */ React.createElement("option", { key: i, value: c.name }))), error.city && /* @__PURE__ */ React.createElement("div", { className: "field-error-text" }, error.city)), /* @__PURE__ */ React.createElement("div", { className: "address-lookup-grid-item col-pin" }, /* @__PURE__ */ React.createElement(
287
+ FloatingInput,
288
+ {
289
+ label: "Pincode",
290
+ name: "pincode",
291
+ value: value.pincode || "",
292
+ required,
293
+ className: googleFields.pincode && value.pincode ? "field-disabled" : "",
294
+ readOnly: googleFields.pincode && !!value.pincode,
295
+ onChange: (e) => handleChange("pincode", e.target.value)
296
+ }
297
+ ), error.pincode && /* @__PURE__ */ React.createElement("div", { className: "field-error-text" }, error.pincode))));
298
+ };
299
+ var AddressLookup_default = AddressLookup;
300
+
301
+ export {
302
+ AddressLookup_default
303
+ };
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-Q5XKCUE3.js";
4
4
  import {
5
5
  useRufousTheme
6
- } from "./chunk-BCGCLMKA.js";
6
+ } from "./chunk-CSQGNUVU.js";
7
7
 
8
8
  // lib/Dialogs/BaseDialog.tsx
9
9
  import * as React from "react";
@@ -17,8 +17,8 @@ var BaseDialog = ({
17
17
  minWidth,
18
18
  minHeight,
19
19
  customButtons,
20
- cancelText = "Cancel",
21
- confirmText = "Ok",
20
+ cancelText = "CANCEL",
21
+ confirmText = "SUBMIT",
22
22
  submitText = "Submit",
23
23
  title = "",
24
24
  isLoading = false,
@@ -31,9 +31,10 @@ var BaseDialog = ({
31
31
  formatTitle = true,
32
32
  fullWidth = false,
33
33
  className,
34
- dialogBodyStyle = {}
34
+ dialogBodyStyle = {},
35
+ size
35
36
  }) => {
36
- const { theme } = useRufousTheme();
37
+ const { themeConfig } = useRufousTheme();
37
38
  const successBtnRef = useRef(null);
38
39
  if (!open) return null;
39
40
  const renderButtons = () => /* @__PURE__ */ React.createElement("div", { className: "dialog-footer", style: { justifyContent: buttonAlign } }, showCancelButton && /* @__PURE__ */ React.createElement(
@@ -58,17 +59,23 @@ var BaseDialog = ({
58
59
  },
59
60
  loading ? /* @__PURE__ */ React.createElement("span", { className: "spinner" }) : /* @__PURE__ */ React.createElement("span", null, confirmText)
60
61
  ));
61
- return /* @__PURE__ */ React.createElement("div", { className: `dialog-overlay ${fullScreen ? "fullscreen" : ""}` }, /* @__PURE__ */ React.createElement(
62
+ return /* @__PURE__ */ React.createElement("div", { className: `dialog-overlay ${size === "fullScreen" ? "overlay-fullscreen" : ""}` }, /* @__PURE__ */ React.createElement(
62
63
  "div",
63
64
  {
64
- className: `dialog-container ${className || ""}`,
65
+ className: `dialog-container ${size ? `size-${size}` : ""} ${className || ""}`,
65
66
  style: {
66
- minWidth: minWidth || (fullScreen ? "100%" : "685px"),
67
- minHeight,
68
- width: fullWidth ? "100%" : "auto"
67
+ minWidth,
68
+ minHeight
69
69
  }
70
70
  },
71
- /* @__PURE__ */ React.createElement("div", { className: "dialog-title" }, /* @__PURE__ */ React.createElement("h2", null, formatTitle ? title?.charAt(0).toUpperCase() + title?.slice(1).toLowerCase() : title), showCloseButton && /* @__PURE__ */ React.createElement("button", { className: "btn-close", onClick: onClose }, /* @__PURE__ */ React.createElement(closeIcon_default, { color: theme?.customStyles?.iconColor || "#707070" }))),
71
+ /* @__PURE__ */ React.createElement("div", { className: "dialog-title" }, /* @__PURE__ */ React.createElement("h2", null, formatTitle ? title?.charAt(0).toUpperCase() + title?.slice(1) : title), showCloseButton && /* @__PURE__ */ React.createElement("button", { className: "btn-close", onClick: onClose }, /* @__PURE__ */ React.createElement(
72
+ closeIcon_default,
73
+ {
74
+ width: 20,
75
+ height: 20,
76
+ color: themeConfig?.icon || "#666666"
77
+ }
78
+ ))),
72
79
  /* @__PURE__ */ React.createElement("div", { className: "dialog-divider" }),
73
80
  /* @__PURE__ */ React.createElement(
74
81
  "div",
@@ -81,6 +88,7 @@ var BaseDialog = ({
81
88
  },
82
89
  children
83
90
  ),
91
+ /* @__PURE__ */ React.createElement("div", { className: "dialog-divider" }),
84
92
  customButtons || renderButtons()
85
93
  ));
86
94
  };
@@ -0,0 +1,8 @@
1
+ // lib/icons/questionTypeSingleIcon.tsx
2
+ import * as React from "react";
3
+ var QuestionTypeSingleIcon = ({ color = "#3a3a3a", ...props }) => /* @__PURE__ */ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React.createElement("g", { id: "Group_25230", "data-name": "Group 25230", transform: "translate(-5649 -11786)" }, /* @__PURE__ */ React.createElement("g", { id: "Ellipse_383", "data-name": "Ellipse 383", transform: "translate(5650 11787)", fill: "none", stroke: color, strokeWidth: "1.6" }, /* @__PURE__ */ React.createElement("circle", { cx: "11", cy: "11", r: "11", stroke: "none" }), /* @__PURE__ */ React.createElement("circle", { cx: "11", cy: "11", r: "10.2", fill: "none" })), /* @__PURE__ */ React.createElement("g", { id: "Group_25229", "data-name": "Group 25229", transform: "translate(0 37)" }, /* @__PURE__ */ React.createElement("rect", { id: "Rectangle_19479", "data-name": "Rectangle 19479", width: "24", height: "24", rx: "5", transform: "translate(5649 11749)", fill: "none" })), /* @__PURE__ */ React.createElement("g", { id: "Ellipse_384", "data-name": "Ellipse 384", transform: "translate(5657 11794)", fill: "none", stroke: color, strokeWidth: "1.6" }, /* @__PURE__ */ React.createElement("circle", { cx: "4", cy: "4", r: "4", stroke: "none" }), /* @__PURE__ */ React.createElement("circle", { cx: "4", cy: "4", r: "3.2", fill: "none" }))));
4
+ var questionTypeSingleIcon_default = QuestionTypeSingleIcon;
5
+
6
+ export {
7
+ questionTypeSingleIcon_default
8
+ };
@@ -0,0 +1,8 @@
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, strokeWidth: "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, strokeWidth: "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, strokeWidth: "1.2" }));
4
+ var rufousAiIcon_default = RufousAiIcon;
5
+
6
+ export {
7
+ rufousAiIcon_default
8
+ };
@@ -1,6 +1,6 @@
1
1
  // lib/icons/uploadIcon.tsx
2
2
  import * as React from "react";
3
- var UploadIcon = ({ color = "#3a3a3a", ...props }) => /* @__PURE__ */ React.createElement("svg", { width: "800px", height: "800px", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", ...props }, /* @__PURE__ */ React.createElement("title", null), /* @__PURE__ */ React.createElement("g", { id: "Complete" }, /* @__PURE__ */ React.createElement("g", { id: "upload" }, /* @__PURE__ */ React.createElement("g", null, /* @__PURE__ */ React.createElement("path", { d: "M3,12.3v7a2,2,0,0,0,2,2H19a2,2,0,0,0,2-2v-7", fill: "none", stroke: color, strokeLinecap: "round", strokeLinejoin: "round", "stroke-width": "2" }), /* @__PURE__ */ React.createElement("g", null, /* @__PURE__ */ React.createElement("polyline", { "data-name": "Right", fill: "none", id: "Right-2", points: "7.9 6.7 12 2.7 16.1 6.7", stroke: color, strokeLinecap: "round", strokeLinejoin: "round", "stroke-width": "2" }), /* @__PURE__ */ React.createElement("line", { fill: "none", stroke: color, strokeLinecap: "round", strokeLinejoin: "round", "stroke-width": "2", x1: "12", x2: "12", y1: "16.3", y2: "4.8" }))))));
3
+ var UploadIcon = ({ color = "#3a3a3a", ...props }) => /* @__PURE__ */ React.createElement("svg", { width: "800px", height: "800px", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", ...props }, /* @__PURE__ */ React.createElement("title", null), /* @__PURE__ */ React.createElement("g", { id: "Complete" }, /* @__PURE__ */ React.createElement("g", { id: "upload" }, /* @__PURE__ */ React.createElement("g", null, /* @__PURE__ */ React.createElement("path", { d: "M3,12.3v7a2,2,0,0,0,2,2H19a2,2,0,0,0,2-2v-7", fill: "none", stroke: color, strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2" }), /* @__PURE__ */ React.createElement("g", null, /* @__PURE__ */ React.createElement("polyline", { "data-name": "Right", fill: "none", id: "Right-2", points: "7.9 6.7 12 2.7 16.1 6.7", stroke: color, strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2" }), /* @__PURE__ */ React.createElement("line", { fill: "none", stroke: color, strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", x1: "12", x2: "12", y1: "16.3", y2: "4.8" }))))));
4
4
  var uploadIcon_default = UploadIcon;
5
5
 
6
6
  export {
@@ -0,0 +1,8 @@
1
+ // lib/icons/suspendUserIcon.tsx
2
+ import * as React from "react";
3
+ var SuspendUserIcon = ({ color = "#3a3a3a", ...props }) => /* @__PURE__ */ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "25.8", height: "25.8", viewBox: "0 0 25.8 25.8", ...props }, /* @__PURE__ */ React.createElement("g", { id: "Group_24703", "data-name": "Group 24703", transform: "translate(-1737.415 -376.95)" }, /* @__PURE__ */ React.createElement("g", { id: "Group_24684", "data-name": "Group 24684", transform: "translate(1738.315 377.85)" }, /* @__PURE__ */ React.createElement("ellipse", { id: "Ellipse_414", "data-name": "Ellipse 414", cx: "4.979", cy: "5.203", rx: "4.979", ry: "5.203", transform: "translate(3.506)", fill: "rgba(0,0,0,0)", stroke: color, strokeWidth: "1.8" }), /* @__PURE__ */ React.createElement("path", { id: "Path_52609", "data-name": "Path 52609", d: "M128.5,212.538a8.719,8.719,0,0,1,14.56-6.69", transform: "translate(-128.5 -193.195)", fill: "rgba(0,0,0,0)", stroke: color, strokeWidth: "1.8" })), /* @__PURE__ */ React.createElement("g", { id: "Group_24690", "data-name": "Group 24690", transform: "translate(1750.156 389.69)" }, /* @__PURE__ */ React.createElement("g", { id: "Group_24741", "data-name": "Group 24741" }, /* @__PURE__ */ React.createElement("ellipse", { id: "Ellipse_415", "data-name": "Ellipse 415", cx: "6.08", cy: "6.08", rx: "6.08", ry: "6.08", fill: "none", stroke: color, strokeWidth: "1.8", "stroke-dasharray": "470 154" }), /* @__PURE__ */ React.createElement("line", { id: "Line_419", "data-name": "Line 419", x1: "7", y2: "9", transform: "translate(2.66 1.66)", fill: "none", stroke: color, strokeWidth: "1.8" })))));
4
+ var suspendUserIcon_default = SuspendUserIcon;
5
+
6
+ export {
7
+ suspendUserIcon_default
8
+ };
@@ -0,0 +1,156 @@
1
+ // lib/utils/constants.ts
2
+ var APP_THEMES = {
3
+ default: {
4
+ name: "Default",
5
+ light: {
6
+ primary: "#707070",
7
+ secondary: "#e0e0e0",
8
+ background: "#f5f5f5",
9
+ surface: "#ffffff",
10
+ text: "#2d2d2d",
11
+ textSecondary: "#6f6f6f",
12
+ border: "#dcdcdc",
13
+ hover: "#d4d4d4",
14
+ selection: "#5a5a5a",
15
+ icon: "#707070",
16
+ get customStyles() {
17
+ return {
18
+ iconColor: this.icon,
19
+ primaryColor: this.primary,
20
+ secondaryColor: this.secondary
21
+ };
22
+ }
23
+ },
24
+ dark: {
25
+ primary: "#94a3b8",
26
+ secondary: "#475569",
27
+ background: "#0f172a",
28
+ surface: "#1e293b",
29
+ text: "#f1f5f9",
30
+ textSecondary: "#94a3b8",
31
+ border: "#334155",
32
+ hover: "#1e293b",
33
+ selection: "#334155",
34
+ icon: "#94a3b8",
35
+ get customStyles() {
36
+ return {
37
+ iconColor: this.icon,
38
+ primaryColor: this.primary,
39
+ secondaryColor: this.secondary
40
+ };
41
+ }
42
+ },
43
+ // Keep user's extra properties if they were intended for specific components
44
+ button: {
45
+ background: "#707070",
46
+ text: "#ffffff",
47
+ hoverBackground: "#5f5f5f",
48
+ disabledBackground: "#cfcfcf"
49
+ },
50
+ input: {
51
+ background: "#ffffff",
52
+ text: "#2d2d2d",
53
+ border: "#ccc",
54
+ placeholder: "#999",
55
+ focusBorder: "#707070"
56
+ },
57
+ card: {
58
+ background: "#ffffff",
59
+ shadow: "0 1px 3px rgba(0,0,0,0.1)"
60
+ },
61
+ sidebar: {
62
+ background: "#e8e8e8",
63
+ text: "#2d2d2d",
64
+ hover: "#dcdcdc"
65
+ },
66
+ success: "#4CAF50",
67
+ warning: "#FFC107",
68
+ error: "#F44336"
69
+ },
70
+ rufous: {
71
+ name: "Rufous",
72
+ light: {
73
+ primary: "#a41b06",
74
+ secondary: "#8b1605",
75
+ background: "#ffffff",
76
+ surface: "#ffffff",
77
+ text: "#2d2d2d",
78
+ textSecondary: "#666666",
79
+ border: "#e0e0e0",
80
+ hover: "#fff5f5",
81
+ selection: "#fce4ec",
82
+ icon: "#a41b06",
83
+ get customStyles() {
84
+ return {
85
+ iconColor: this.icon,
86
+ primaryColor: this.primary,
87
+ secondaryColor: this.secondary
88
+ };
89
+ }
90
+ },
91
+ dark: {
92
+ primary: "#dc2626",
93
+ secondary: "#a41b06",
94
+ background: "#121212",
95
+ surface: "#1e1e1e",
96
+ text: "#f5f5f5",
97
+ textSecondary: "#b0b0b0",
98
+ border: "#333333",
99
+ hover: "#2d1a1a",
100
+ selection: "#4a1212",
101
+ icon: "#dc2626",
102
+ get customStyles() {
103
+ return {
104
+ iconColor: this.icon,
105
+ primaryColor: this.primary,
106
+ secondaryColor: this.secondary
107
+ };
108
+ }
109
+ }
110
+ }
111
+ // slate: {
112
+ // name: "Slate",
113
+ // light: {
114
+ // primary: "#334155",
115
+ // secondary: "#475569",
116
+ // background: "#f8fafc",
117
+ // surface: "#ffffff",
118
+ // text: "#0f172a",
119
+ // textSecondary: "#64748b",
120
+ // border: "#e2e8f0",
121
+ // hover: "#f1f5f9",
122
+ // selection: "#e0f2fe",
123
+ // icon: "#334155",
124
+ // get customStyles() {
125
+ // return {
126
+ // iconColor: this.icon,
127
+ // primaryColor: this.primary,
128
+ // secondaryColor: this.secondary,
129
+ // };
130
+ // },
131
+ // },
132
+ // dark: {
133
+ // primary: "#94a3b8",
134
+ // secondary: "#64748b",
135
+ // background: "#0f172a",
136
+ // surface: "#1e293b",
137
+ // text: "#f1f5f9",
138
+ // textSecondary: "#94a3b8",
139
+ // border: "#334155",
140
+ // hover: "#1e293b",
141
+ // selection: "#0c4a6e",
142
+ // icon: "#94a3b8",
143
+ // get customStyles() {
144
+ // return {
145
+ // iconColor: this.icon,
146
+ // primaryColor: this.primary,
147
+ // secondaryColor: this.secondary,
148
+ // };
149
+ // },
150
+ // },
151
+ // },
152
+ };
153
+
154
+ export {
155
+ APP_THEMES
156
+ };
@@ -0,0 +1,34 @@
1
+ // lib/TextFields/FloatingInput.tsx
2
+ import React from "react";
3
+ var FloatingInput = ({
4
+ label,
5
+ name,
6
+ id,
7
+ type = "text",
8
+ value,
9
+ onChange,
10
+ required = false,
11
+ placeholder,
12
+ className = "",
13
+ style,
14
+ ...props
15
+ }) => {
16
+ return /* @__PURE__ */ React.createElement("div", { className: `form__group field ${className}`, style }, /* @__PURE__ */ React.createElement(
17
+ "input",
18
+ {
19
+ type,
20
+ className: "form__field",
21
+ placeholder: " ",
22
+ name,
23
+ id: id || name,
24
+ value,
25
+ onChange,
26
+ required,
27
+ ...props
28
+ }
29
+ ), /* @__PURE__ */ React.createElement("label", { htmlFor: id || name, className: "form__label" }, label));
30
+ };
31
+
32
+ export {
33
+ FloatingInput
34
+ };
@@ -1,6 +1,6 @@
1
1
  // lib/icons/qualificationsIcon.tsx
2
2
  import * as React from "react";
3
- var QualificationsIcon = ({ color = "#3a3a3a", ...props }) => /* @__PURE__ */ React.createElement("svg", { width: "24", height: "17", viewBox: "0 0 24 17", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props }, /* @__PURE__ */ React.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M11.096 0.920005L1.422 5.25601C1.29964 5.31928 1.18771 5.40089 1.09003 5.49801C0.982986 5.61801 0.923828 5.7732 0.923828 5.934C0.923828 6.09481 0.982986 6.25 1.09003 6.37001C1.18134 6.47434 1.29472 6.55701 1.422 6.61201L5.35498 8.29801V12.829C5.35246 12.8915 5.36648 12.9535 5.39563 13.0088C5.42478 13.0641 5.46804 13.1108 5.521 13.144L11.909 16.23C11.9351 16.2419 11.9634 16.248 11.992 16.248C12.0206 16.248 12.049 16.2419 12.075 16.23L18.482 13.144C18.5377 13.1137 18.5831 13.0677 18.6127 13.0116C18.6422 12.9556 18.6545 12.892 18.648 12.829V8.29901L21.842 7.04001C21.6965 8.80938 21.6882 10.5874 21.817 12.358C21.817 12.843 22.217 12.843 22.217 12.358C22.4317 10.5206 22.4729 8.66711 22.34 6.82201C22.5425 6.68685 22.7337 6.5357 22.912 6.37001C23.019 6.25 23.0782 6.09481 23.0782 5.934C23.0782 5.7732 23.019 5.61801 22.912 5.49801C22.8142 5.40101 22.7023 5.31941 22.58 5.25601L12.905 0.919005C12.3228 0.692932 11.6771 0.692932 11.095 0.919005L11.096 0.920005ZM12.696 1.86701L21.785 5.94101C21.837 5.96401 21.837 5.98601 21.872 6.00901C21.838 6.03201 21.838 6.05501 21.785 6.07701L17.485 8.01201C17.451 8.01201 17.398 8.01201 17.385 8.05701L12.702 10.151C12.253 10.3102 11.763 10.3102 11.314 10.151L6.62201 8.03401C6.58701 8.03401 6.56998 8.01101 6.55298 8.01101L2.22198 6.07601C2.16898 6.05301 2.16901 6.03101 2.13501 6.00801C2.16901 5.98501 2.16898 5.962 2.22198 5.962L11.31 1.86201C11.5331 1.78448 11.7678 1.74624 12.004 1.74901C12.239 1.7475 12.4725 1.78709 12.694 1.866L12.696 1.86701ZM17.665 8.657V12.482L12.002 15.272L6.33899 12.728V8.90301L11.156 10.926C11.4239 11.0384 11.7115 11.0963 12.002 11.0963C12.2925 11.0963 12.5801 11.0384 12.848 10.926L17.248 8.95501L17.665 8.657Z", fill: color, stroke: color, "stroke-width": "0.2" }));
3
+ var QualificationsIcon = ({ color = "#3a3a3a", ...props }) => /* @__PURE__ */ React.createElement("svg", { width: "24", height: "17", viewBox: "0 0 24 17", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props }, /* @__PURE__ */ React.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M11.096 0.920005L1.422 5.25601C1.29964 5.31928 1.18771 5.40089 1.09003 5.49801C0.982986 5.61801 0.923828 5.7732 0.923828 5.934C0.923828 6.09481 0.982986 6.25 1.09003 6.37001C1.18134 6.47434 1.29472 6.55701 1.422 6.61201L5.35498 8.29801V12.829C5.35246 12.8915 5.36648 12.9535 5.39563 13.0088C5.42478 13.0641 5.46804 13.1108 5.521 13.144L11.909 16.23C11.9351 16.2419 11.9634 16.248 11.992 16.248C12.0206 16.248 12.049 16.2419 12.075 16.23L18.482 13.144C18.5377 13.1137 18.5831 13.0677 18.6127 13.0116C18.6422 12.9556 18.6545 12.892 18.648 12.829V8.29901L21.842 7.04001C21.6965 8.80938 21.6882 10.5874 21.817 12.358C21.817 12.843 22.217 12.843 22.217 12.358C22.4317 10.5206 22.4729 8.66711 22.34 6.82201C22.5425 6.68685 22.7337 6.5357 22.912 6.37001C23.019 6.25 23.0782 6.09481 23.0782 5.934C23.0782 5.7732 23.019 5.61801 22.912 5.49801C22.8142 5.40101 22.7023 5.31941 22.58 5.25601L12.905 0.919005C12.3228 0.692932 11.6771 0.692932 11.095 0.919005L11.096 0.920005ZM12.696 1.86701L21.785 5.94101C21.837 5.96401 21.837 5.98601 21.872 6.00901C21.838 6.03201 21.838 6.05501 21.785 6.07701L17.485 8.01201C17.451 8.01201 17.398 8.01201 17.385 8.05701L12.702 10.151C12.253 10.3102 11.763 10.3102 11.314 10.151L6.62201 8.03401C6.58701 8.03401 6.56998 8.01101 6.55298 8.01101L2.22198 6.07601C2.16898 6.05301 2.16901 6.03101 2.13501 6.00801C2.16901 5.98501 2.16898 5.962 2.22198 5.962L11.31 1.86201C11.5331 1.78448 11.7678 1.74624 12.004 1.74901C12.239 1.7475 12.4725 1.78709 12.694 1.866L12.696 1.86701ZM17.665 8.657V12.482L12.002 15.272L6.33899 12.728V8.90301L11.156 10.926C11.4239 11.0384 11.7115 11.0963 12.002 11.0963C12.2925 11.0963 12.5801 11.0384 12.848 10.926L17.248 8.95501L17.665 8.657Z", fill: color, stroke: color, strokeWidth: "0.2" }));
4
4
  var qualificationsIcon_default = QualificationsIcon;
5
5
 
6
6
  export {