gov-layout 1.1.10 → 1.2.0

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/index.mjs CHANGED
@@ -77,6 +77,318 @@ function SidebarHeader({ orgLogo, orgName, orgSubtitle, collapsed }) {
77
77
  ] })
78
78
  ] });
79
79
  }
80
+ var defaultProps = (size = 20) => ({
81
+ width: size,
82
+ height: size,
83
+ viewBox: "0 0 24 24",
84
+ fill: "none",
85
+ stroke: "currentColor",
86
+ strokeWidth: 2,
87
+ strokeLinecap: "round",
88
+ strokeLinejoin: "round"
89
+ });
90
+ function HomeIcon({ size = 20, className, style } = {}) {
91
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
92
+ /* @__PURE__ */ jsx("path", { d: "M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" }),
93
+ /* @__PURE__ */ jsx("polyline", { points: "9 22 9 12 15 12 15 22" })
94
+ ] });
95
+ }
96
+ function SearchIcon({ size = 20, className, style } = {}) {
97
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
98
+ /* @__PURE__ */ jsx("circle", { cx: "11", cy: "11", r: "8" }),
99
+ /* @__PURE__ */ jsx("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65" })
100
+ ] });
101
+ }
102
+ function BellIcon({ size = 20, className, style } = {}) {
103
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
104
+ /* @__PURE__ */ jsx("path", { d: "M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9" }),
105
+ /* @__PURE__ */ jsx("path", { d: "M13.73 21a2 2 0 0 1-3.46 0" })
106
+ ] });
107
+ }
108
+ function FolderIcon({ size = 20, className, style } = {}) {
109
+ return /* @__PURE__ */ jsx("svg", { ...defaultProps(size), className, style, children: /* @__PURE__ */ jsx("path", { d: "M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z" }) });
110
+ }
111
+ function ClipboardIcon({ size = 20, className, style } = {}) {
112
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
113
+ /* @__PURE__ */ jsx("path", { d: "M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2" }),
114
+ /* @__PURE__ */ jsx("rect", { x: "8", y: "2", width: "8", height: "4", rx: "1", ry: "1" })
115
+ ] });
116
+ }
117
+ function FileTextIcon({ size = 20, className, style } = {}) {
118
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
119
+ /* @__PURE__ */ jsx("path", { d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" }),
120
+ /* @__PURE__ */ jsx("polyline", { points: "14 2 14 8 20 8" }),
121
+ /* @__PURE__ */ jsx("line", { x1: "16", y1: "13", x2: "8", y2: "13" }),
122
+ /* @__PURE__ */ jsx("line", { x1: "16", y1: "17", x2: "8", y2: "17" }),
123
+ /* @__PURE__ */ jsx("polyline", { points: "10 9 9 9 8 9" })
124
+ ] });
125
+ }
126
+ function CalendarIcon({ size = 20, className, style } = {}) {
127
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
128
+ /* @__PURE__ */ jsx("rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", ry: "2" }),
129
+ /* @__PURE__ */ jsx("line", { x1: "16", y1: "2", x2: "16", y2: "6" }),
130
+ /* @__PURE__ */ jsx("line", { x1: "8", y1: "2", x2: "8", y2: "6" }),
131
+ /* @__PURE__ */ jsx("line", { x1: "3", y1: "10", x2: "21", y2: "10" })
132
+ ] });
133
+ }
134
+ function UserIcon({ size = 20, className, style } = {}) {
135
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
136
+ /* @__PURE__ */ jsx("path", { d: "M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2" }),
137
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "7", r: "4" })
138
+ ] });
139
+ }
140
+ function UsersIcon({ size = 20, className, style } = {}) {
141
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
142
+ /* @__PURE__ */ jsx("path", { d: "M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2" }),
143
+ /* @__PURE__ */ jsx("circle", { cx: "9", cy: "7", r: "4" }),
144
+ /* @__PURE__ */ jsx("path", { d: "M23 21v-2a4 4 0 0 0-3-3.87" }),
145
+ /* @__PURE__ */ jsx("path", { d: "M16 3.13a4 4 0 0 1 0 7.75" })
146
+ ] });
147
+ }
148
+ function GearIcon({ size = 20, className, style } = {}) {
149
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
150
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "3" }),
151
+ /* @__PURE__ */ jsx("path", { d: "M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z" })
152
+ ] });
153
+ }
154
+ function WrenchIcon({ size = 20, className, style } = {}) {
155
+ return /* @__PURE__ */ jsx("svg", { ...defaultProps(size), className, style, children: /* @__PURE__ */ jsx("path", { d: "M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z" }) });
156
+ }
157
+ function ShieldIcon({ size = 20, className, style } = {}) {
158
+ return /* @__PURE__ */ jsx("svg", { ...defaultProps(size), className, style, children: /* @__PURE__ */ jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" }) });
159
+ }
160
+ function HelpCircleIcon({ size = 20, className, style } = {}) {
161
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
162
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }),
163
+ /* @__PURE__ */ jsx("path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" }),
164
+ /* @__PURE__ */ jsx("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })
165
+ ] });
166
+ }
167
+ function BarChartIcon({ size = 20, className, style } = {}) {
168
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
169
+ /* @__PURE__ */ jsx("line", { x1: "12", y1: "20", x2: "12", y2: "10" }),
170
+ /* @__PURE__ */ jsx("line", { x1: "18", y1: "20", x2: "18", y2: "4" }),
171
+ /* @__PURE__ */ jsx("line", { x1: "6", y1: "20", x2: "6", y2: "16" })
172
+ ] });
173
+ }
174
+ function HistoryIcon({ size = 20, className, style } = {}) {
175
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
176
+ /* @__PURE__ */ jsx("polyline", { points: "1 4 1 10 7 10" }),
177
+ /* @__PURE__ */ jsx("path", { d: "M3.51 15a9 9 0 1 0 2.13-9.36L1 10" })
178
+ ] });
179
+ }
180
+ function DatabaseIcon({ size = 20, className, style } = {}) {
181
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
182
+ /* @__PURE__ */ jsx("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3" }),
183
+ /* @__PURE__ */ jsx("path", { d: "M21 12c0 1.66-4 3-9 3s-9-1.34-9-3" }),
184
+ /* @__PURE__ */ jsx("path", { d: "M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5" })
185
+ ] });
186
+ }
187
+ function BuildingIcon({ size = 20, className, style } = {}) {
188
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
189
+ /* @__PURE__ */ jsx("rect", { x: "4", y: "2", width: "16", height: "20", rx: "2", ry: "2" }),
190
+ /* @__PURE__ */ jsx("line", { x1: "9", y1: "22", x2: "9", y2: "18" }),
191
+ /* @__PURE__ */ jsx("line", { x1: "15", y1: "22", x2: "15", y2: "18" }),
192
+ /* @__PURE__ */ jsx("line", { x1: "9", y1: "6", x2: "9.01", y2: "6" }),
193
+ /* @__PURE__ */ jsx("line", { x1: "15", y1: "6", x2: "15.01", y2: "6" }),
194
+ /* @__PURE__ */ jsx("line", { x1: "9", y1: "10", x2: "9.01", y2: "10" }),
195
+ /* @__PURE__ */ jsx("line", { x1: "15", y1: "10", x2: "15.01", y2: "10" }),
196
+ /* @__PURE__ */ jsx("line", { x1: "9", y1: "14", x2: "9.01", y2: "14" }),
197
+ /* @__PURE__ */ jsx("line", { x1: "15", y1: "14", x2: "15.01", y2: "14" })
198
+ ] });
199
+ }
200
+ function MapPinIcon({ size = 20, className, style } = {}) {
201
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
202
+ /* @__PURE__ */ jsx("path", { d: "M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z" }),
203
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "10", r: "3" })
204
+ ] });
205
+ }
206
+ function PhoneIcon({ size = 20, className, style } = {}) {
207
+ return /* @__PURE__ */ jsx("svg", { ...defaultProps(size), className, style, children: /* @__PURE__ */ jsx("path", { d: "M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z" }) });
208
+ }
209
+ function MailIcon({ size = 20, className, style } = {}) {
210
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
211
+ /* @__PURE__ */ jsx("path", { d: "M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z" }),
212
+ /* @__PURE__ */ jsx("polyline", { points: "22,6 12,13 2,6" })
213
+ ] });
214
+ }
215
+ function CheckCircleIcon({ size = 20, className, style } = {}) {
216
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
217
+ /* @__PURE__ */ jsx("path", { d: "M22 11.08V12a10 10 0 1 1-5.93-9.14" }),
218
+ /* @__PURE__ */ jsx("polyline", { points: "22 4 12 14.01 9 11.01" })
219
+ ] });
220
+ }
221
+ function AlertTriangleIcon({ size = 20, className, style } = {}) {
222
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
223
+ /* @__PURE__ */ jsx("path", { d: "M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z" }),
224
+ /* @__PURE__ */ jsx("line", { x1: "12", y1: "9", x2: "12", y2: "13" }),
225
+ /* @__PURE__ */ jsx("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })
226
+ ] });
227
+ }
228
+ function XCircleIcon({ size = 20, className, style } = {}) {
229
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
230
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }),
231
+ /* @__PURE__ */ jsx("line", { x1: "15", y1: "9", x2: "9", y2: "15" }),
232
+ /* @__PURE__ */ jsx("line", { x1: "9", y1: "9", x2: "15", y2: "15" })
233
+ ] });
234
+ }
235
+ function PlusCircleIcon({ size = 20, className, style } = {}) {
236
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
237
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }),
238
+ /* @__PURE__ */ jsx("line", { x1: "12", y1: "8", x2: "12", y2: "16" }),
239
+ /* @__PURE__ */ jsx("line", { x1: "8", y1: "12", x2: "16", y2: "12" })
240
+ ] });
241
+ }
242
+ function LogOutIcon({ size = 20, className, style } = {}) {
243
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
244
+ /* @__PURE__ */ jsx("path", { d: "M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" }),
245
+ /* @__PURE__ */ jsx("polyline", { points: "16 17 21 12 16 7" }),
246
+ /* @__PURE__ */ jsx("line", { x1: "21", y1: "12", x2: "9", y2: "12" })
247
+ ] });
248
+ }
249
+ function DownloadIcon({ size = 20, className, style } = {}) {
250
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
251
+ /* @__PURE__ */ jsx("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }),
252
+ /* @__PURE__ */ jsx("polyline", { points: "7 10 12 15 17 10" }),
253
+ /* @__PURE__ */ jsx("line", { x1: "12", y1: "15", x2: "12", y2: "3" })
254
+ ] });
255
+ }
256
+ function UploadIcon({ size = 20, className, style } = {}) {
257
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
258
+ /* @__PURE__ */ jsx("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }),
259
+ /* @__PURE__ */ jsx("polyline", { points: "17 8 12 3 7 8" }),
260
+ /* @__PURE__ */ jsx("line", { x1: "12", y1: "3", x2: "12", y2: "15" })
261
+ ] });
262
+ }
263
+ function PrinterIcon({ size = 20, className, style } = {}) {
264
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
265
+ /* @__PURE__ */ jsx("polyline", { points: "6 9 6 2 18 2 18 9" }),
266
+ /* @__PURE__ */ jsx("path", { d: "M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2" }),
267
+ /* @__PURE__ */ jsx("rect", { x: "6", y: "14", width: "12", height: "8" })
268
+ ] });
269
+ }
270
+ function StarIcon({ size = 20, className, style } = {}) {
271
+ return /* @__PURE__ */ jsx("svg", { ...defaultProps(size), className, style, children: /* @__PURE__ */ jsx("polygon", { points: "12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" }) });
272
+ }
273
+ function HeartIcon({ size = 20, className, style } = {}) {
274
+ return /* @__PURE__ */ jsx("svg", { ...defaultProps(size), className, style, children: /* @__PURE__ */ jsx("path", { d: "M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z" }) });
275
+ }
276
+ function EyeIcon({ size = 20, className, style } = {}) {
277
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
278
+ /* @__PURE__ */ jsx("path", { d: "M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z" }),
279
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "3" })
280
+ ] });
281
+ }
282
+ function EditIcon({ size = 20, className, style } = {}) {
283
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
284
+ /* @__PURE__ */ jsx("path", { d: "M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" }),
285
+ /* @__PURE__ */ jsx("path", { d: "M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z" })
286
+ ] });
287
+ }
288
+ function TrashIcon({ size = 20, className, style } = {}) {
289
+ return /* @__PURE__ */ jsxs("svg", { ...defaultProps(size), className, style, children: [
290
+ /* @__PURE__ */ jsx("polyline", { points: "3 6 5 6 21 6" }),
291
+ /* @__PURE__ */ jsx("path", { d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2" }),
292
+ /* @__PURE__ */ jsx("line", { x1: "10", y1: "11", x2: "10", y2: "17" }),
293
+ /* @__PURE__ */ jsx("line", { x1: "14", y1: "11", x2: "14", y2: "17" })
294
+ ] });
295
+ }
296
+ var ICON_MAP = {
297
+ home: HomeIcon,
298
+ dashboard: HomeIcon,
299
+ services: FolderIcon,
300
+ service: FolderIcon,
301
+ folder: FolderIcon,
302
+ category: FolderIcon,
303
+ users: UsersIcon,
304
+ members: UsersIcon,
305
+ user: UserIcon,
306
+ profile: UserIcon,
307
+ staff: UserIcon,
308
+ settings: GearIcon,
309
+ setting: GearIcon,
310
+ config: GearIcon,
311
+ help: HelpCircleIcon,
312
+ support: HelpCircleIcon,
313
+ faq: HelpCircleIcon,
314
+ reports: BarChartIcon,
315
+ report: BarChartIcon,
316
+ stats: BarChartIcon,
317
+ chart: BarChartIcon,
318
+ analytics: BarChartIcon,
319
+ roles: ShieldIcon,
320
+ permissions: ShieldIcon,
321
+ security: ShieldIcon,
322
+ logs: HistoryIcon,
323
+ history: HistoryIcon,
324
+ activity: HistoryIcon,
325
+ audit: HistoryIcon,
326
+ backup: DatabaseIcon,
327
+ database: DatabaseIcon,
328
+ data: DatabaseIcon,
329
+ documents: FileTextIcon,
330
+ document: FileTextIcon,
331
+ docs: FileTextIcon,
332
+ files: FileTextIcon,
333
+ file: FileTextIcon,
334
+ forms: ClipboardIcon,
335
+ form: ClipboardIcon,
336
+ request: ClipboardIcon,
337
+ requests: ClipboardIcon,
338
+ calendar: CalendarIcon,
339
+ schedule: CalendarIcon,
340
+ appointment: CalendarIcon,
341
+ notifications: BellIcon,
342
+ notification: BellIcon,
343
+ alerts: BellIcon,
344
+ search: SearchIcon,
345
+ organization: BuildingIcon,
346
+ org: BuildingIcon,
347
+ department: BuildingIcon,
348
+ agency: BuildingIcon,
349
+ location: MapPinIcon,
350
+ map: MapPinIcon,
351
+ address: MapPinIcon,
352
+ phone: PhoneIcon,
353
+ contact: PhoneIcon,
354
+ call: PhoneIcon,
355
+ email: MailIcon,
356
+ mail: MailIcon,
357
+ message: MailIcon,
358
+ messages: MailIcon,
359
+ tools: WrenchIcon,
360
+ maintenance: WrenchIcon,
361
+ favorites: StarIcon,
362
+ bookmark: StarIcon,
363
+ edit: EditIcon,
364
+ manage: EditIcon,
365
+ delete: TrashIcon,
366
+ trash: TrashIcon,
367
+ view: EyeIcon,
368
+ preview: EyeIcon,
369
+ detail: EyeIcon,
370
+ download: DownloadIcon,
371
+ export: DownloadIcon,
372
+ upload: UploadIcon,
373
+ import: UploadIcon,
374
+ print: PrinterIcon,
375
+ printer: PrinterIcon,
376
+ logout: LogOutIcon,
377
+ signout: LogOutIcon,
378
+ approve: CheckCircleIcon,
379
+ approved: CheckCircleIcon,
380
+ add: PlusCircleIcon,
381
+ create: PlusCircleIcon,
382
+ new: PlusCircleIcon
383
+ };
384
+ function DefaultIcon() {
385
+ return /* @__PURE__ */ jsx("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "4" }) });
386
+ }
387
+ function getAutoIcon(id) {
388
+ const IconComp = ICON_MAP[id.toLowerCase()];
389
+ if (IconComp) return /* @__PURE__ */ jsx(IconComp, {});
390
+ return /* @__PURE__ */ jsx(DefaultIcon, {});
391
+ }
80
392
  function ChevronDownIcon({ isOpen }) {
81
393
  return /* @__PURE__ */ jsx(
82
394
  "svg",
@@ -107,6 +419,7 @@ function MenuItemComponent({
107
419
  }) {
108
420
  const hasChildren = item.children && item.children.length > 0;
109
421
  const isActive = item.path ? currentPath === item.path : false;
422
+ const resolvedIcon = item.icon || getAutoIcon(item.id);
110
423
  const isChildActive = hasChildren ? item.children.some((child) => child.path === currentPath) : false;
111
424
  const [userToggled, setUserToggled] = useState(false);
112
425
  const [isOpen, setIsOpen] = useState(isChildActive);
@@ -147,13 +460,13 @@ function MenuItemComponent({
147
460
  cursor: "pointer",
148
461
  transition: "background-color 0.15s ease"
149
462
  },
150
- children: item.icon && /* @__PURE__ */ jsx("span", { style: {
463
+ children: /* @__PURE__ */ jsx("span", { style: {
151
464
  width: "24px",
152
465
  height: "24px",
153
466
  display: "flex",
154
467
  alignItems: "center",
155
468
  justifyContent: "center"
156
- }, children: item.icon })
469
+ }, children: resolvedIcon })
157
470
  }
158
471
  ),
159
472
  item.dividerAfter && /* @__PURE__ */ jsx("hr", { style: {
@@ -192,7 +505,7 @@ function MenuItemComponent({
192
505
  lineHeight: "22px"
193
506
  },
194
507
  children: [
195
- item.icon && /* @__PURE__ */ jsx("span", { style: {
508
+ /* @__PURE__ */ jsx("span", { style: {
196
509
  width: "24px",
197
510
  height: "24px",
198
511
  display: "flex",
@@ -200,7 +513,7 @@ function MenuItemComponent({
200
513
  justifyContent: "center",
201
514
  flexShrink: 0,
202
515
  color: isActive ? activeColor : "var(--color-alias-text-colors-tertiary, #475272)"
203
- }, children: item.icon }),
516
+ }, children: resolvedIcon }),
204
517
  /* @__PURE__ */ jsx("span", { style: { flex: 1 }, children: item.title }),
205
518
  hasChildren && /* @__PURE__ */ jsx(ChevronDownIcon, { isOpen: expanded })
206
519
  ]
@@ -466,22 +779,22 @@ function ToggleIcon({ isOpen }) {
466
779
  }
467
780
  );
468
781
  }
469
- function HelpCircleIcon() {
782
+ function HelpCircleIcon2() {
470
783
  return /* @__PURE__ */ jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
471
784
  /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }),
472
785
  /* @__PURE__ */ jsx("path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" }),
473
786
  /* @__PURE__ */ jsx("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })
474
787
  ] });
475
788
  }
476
- function GearIcon() {
789
+ function GearIcon2() {
477
790
  return /* @__PURE__ */ jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
478
791
  /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "3" }),
479
792
  /* @__PURE__ */ jsx("path", { d: "M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z" })
480
793
  ] });
481
794
  }
482
795
  var DEFAULT_BOTTOM_MENU = [
483
- { id: "settings", title: "\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E23\u0E30\u0E1A\u0E1A", icon: /* @__PURE__ */ jsx(GearIcon, {}), path: "/settings" },
484
- { id: "help", title: "\u0E0A\u0E48\u0E27\u0E22\u0E40\u0E2B\u0E25\u0E37\u0E2D", icon: /* @__PURE__ */ jsx(HelpCircleIcon, {}), path: "/help" }
796
+ { id: "settings", title: "\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E23\u0E30\u0E1A\u0E1A", icon: /* @__PURE__ */ jsx(GearIcon2, {}), path: "/settings" },
797
+ { id: "help", title: "\u0E0A\u0E48\u0E27\u0E22\u0E40\u0E2B\u0E25\u0E37\u0E2D", icon: /* @__PURE__ */ jsx(HelpCircleIcon2, {}), path: "/help" }
485
798
  ];
486
799
  function StaffSidebar({
487
800
  orgLogo,
@@ -608,7 +921,7 @@ function StaffSidebar({
608
921
  )
609
922
  ] });
610
923
  }
611
- function BellIcon() {
924
+ function BellIcon2() {
612
925
  return /* @__PURE__ */ jsx("svg", { width: "22", height: "24", viewBox: "0 0 22 24", fill: "none", children: /* @__PURE__ */ jsx(
613
926
  "path",
614
927
  {
@@ -769,7 +1082,7 @@ function UserHeader({
769
1082
  justifyContent: "center"
770
1083
  },
771
1084
  children: [
772
- /* @__PURE__ */ jsx(BellIcon, {}),
1085
+ /* @__PURE__ */ jsx(BellIcon2, {}),
773
1086
  unreadCount > 0 && /* @__PURE__ */ jsx(
774
1087
  "span",
775
1088
  {
@@ -1600,6 +1913,43 @@ function SettingsPanel({ className, showTheme = true }) {
1600
1913
  ] });
1601
1914
  }
1602
1915
 
1603
- export { FONT_SIZE_OPTIONS, FontSizeSettings, SettingsPanel, SettingsProvider, SidebarHeader, SidebarMenu, SidebarUserProfile, StaffSidebar, ThemeSettings, UserHeader, UserSidebar, useSettings };
1916
+ // src/icons/index.ts
1917
+ var Icons = {
1918
+ Home: HomeIcon,
1919
+ Search: SearchIcon,
1920
+ Bell: BellIcon,
1921
+ Folder: FolderIcon,
1922
+ Clipboard: ClipboardIcon,
1923
+ FileText: FileTextIcon,
1924
+ Calendar: CalendarIcon,
1925
+ User: UserIcon,
1926
+ Users: UsersIcon,
1927
+ Gear: GearIcon,
1928
+ Wrench: WrenchIcon,
1929
+ Shield: ShieldIcon,
1930
+ HelpCircle: HelpCircleIcon,
1931
+ BarChart: BarChartIcon,
1932
+ History: HistoryIcon,
1933
+ Database: DatabaseIcon,
1934
+ Building: BuildingIcon,
1935
+ MapPin: MapPinIcon,
1936
+ Phone: PhoneIcon,
1937
+ Mail: MailIcon,
1938
+ CheckCircle: CheckCircleIcon,
1939
+ AlertTriangle: AlertTriangleIcon,
1940
+ XCircle: XCircleIcon,
1941
+ PlusCircle: PlusCircleIcon,
1942
+ LogOut: LogOutIcon,
1943
+ Download: DownloadIcon,
1944
+ Upload: UploadIcon,
1945
+ Printer: PrinterIcon,
1946
+ Star: StarIcon,
1947
+ Heart: HeartIcon,
1948
+ Eye: EyeIcon,
1949
+ Edit: EditIcon,
1950
+ Trash: TrashIcon
1951
+ };
1952
+
1953
+ export { AlertTriangleIcon, BarChartIcon, BellIcon, BuildingIcon, CalendarIcon, CheckCircleIcon, ClipboardIcon, DatabaseIcon, DownloadIcon, EditIcon, EyeIcon, FONT_SIZE_OPTIONS, FileTextIcon, FolderIcon, FontSizeSettings, GearIcon, HeartIcon, HelpCircleIcon, HistoryIcon, HomeIcon, Icons, LogOutIcon, MailIcon, MapPinIcon, PhoneIcon, PlusCircleIcon, PrinterIcon, SearchIcon, SettingsPanel, SettingsProvider, ShieldIcon, SidebarHeader, SidebarMenu, SidebarUserProfile, StaffSidebar, StarIcon, ThemeSettings, TrashIcon, UploadIcon, UserHeader, UserIcon, UserSidebar, UsersIcon, WrenchIcon, XCircleIcon, useSettings };
1604
1954
  //# sourceMappingURL=index.mjs.map
1605
1955
  //# sourceMappingURL=index.mjs.map