unipo-ui 1.2.0 → 1.3.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.
Files changed (173) hide show
  1. package/cli/index.mjs +53 -4
  2. package/dist/admisi-YCOE3DMH.cjs +20 -0
  3. package/dist/admisi-YXCTBECZ.js +11 -0
  4. package/dist/akademik-PJGL6MSP.cjs +20 -0
  5. package/dist/akademik-TPDFEZGF.js +11 -0
  6. package/dist/akses-AUPQD6YN.cjs +20 -0
  7. package/dist/akses-V5XIMBWT.js +11 -0
  8. package/dist/arsip-2T7IEION.cjs +20 -0
  9. package/dist/arsip-LDRV7FYX.js +11 -0
  10. package/dist/cbt-4N6COVIN.js +11 -0
  11. package/dist/cbt-GMQSR7TP.cjs +20 -0
  12. package/dist/chunk-34OKV63Q.js +122 -0
  13. package/dist/chunk-34OKV63Q.js.map +1 -0
  14. package/dist/chunk-3O5ELKBH.cjs +18 -0
  15. package/dist/chunk-3O5ELKBH.cjs.map +1 -0
  16. package/dist/chunk-4BQOABRV.js +462 -0
  17. package/dist/chunk-4BQOABRV.js.map +1 -0
  18. package/dist/{chunk-DEF5CA7C.cjs → chunk-5VNCBW4R.cjs} +282 -1165
  19. package/dist/chunk-5VNCBW4R.cjs.map +1 -0
  20. package/dist/{chunk-SJ4DJOMZ.js → chunk-7AJ4LW5H.js} +163 -1019
  21. package/dist/chunk-7AJ4LW5H.js.map +1 -0
  22. package/dist/chunk-JASW45YF.cjs +510 -0
  23. package/dist/chunk-JASW45YF.cjs.map +1 -0
  24. package/dist/chunk-JSUHAYQ4.js +15 -0
  25. package/dist/chunk-JSUHAYQ4.js.map +1 -0
  26. package/dist/chunk-LN6HZMPI.js +1006 -0
  27. package/dist/chunk-LN6HZMPI.js.map +1 -0
  28. package/dist/chunk-LNJTDEQR.cjs +1937 -0
  29. package/dist/chunk-LNJTDEQR.cjs.map +1 -0
  30. package/dist/chunk-MKQEH7QS.cjs +1058 -0
  31. package/dist/chunk-MKQEH7QS.cjs.map +1 -0
  32. package/dist/chunk-TAKLMRU7.cjs +150 -0
  33. package/dist/chunk-TAKLMRU7.cjs.map +1 -0
  34. package/dist/chunk-TYCRRYCQ.js +1843 -0
  35. package/dist/chunk-TYCRRYCQ.js.map +1 -0
  36. package/dist/crm-C4XGSG6O.js +11 -0
  37. package/dist/crm-LTVCDNMK.cjs +20 -0
  38. package/dist/dasbor-OJLMSFTF.cjs +20 -0
  39. package/dist/dasbor-Y3UPFYFE.js +11 -0
  40. package/dist/edom-3GZUUB7H.cjs +20 -0
  41. package/dist/edom-K4Y2NV4K.js +11 -0
  42. package/dist/fakultas-DJRUVJBV.js +11 -0
  43. package/dist/fakultas-VVAQOPUX.cjs +20 -0
  44. package/dist/filter-D54KALbB.d.cts +436 -0
  45. package/dist/filter-D54KALbB.d.ts +436 -0
  46. package/dist/helpdesk-AWVC7BPE.cjs +20 -0
  47. package/dist/helpdesk-BAOXAU6G.js +11 -0
  48. package/dist/humas-7BMMJ3WF.js +11 -0
  49. package/dist/humas-H56JFUW6.cjs +20 -0
  50. package/dist/ikon.cjs +125 -0
  51. package/dist/ikon.cjs.map +1 -0
  52. package/dist/ikon.d.cts +140 -0
  53. package/dist/ikon.d.ts +140 -0
  54. package/dist/ikon.js +6 -0
  55. package/dist/ikon.js.map +1 -0
  56. package/dist/iku-7JLF2NIH.js +11 -0
  57. package/dist/iku-F47ZLMYJ.cjs +20 -0
  58. package/dist/index.cjs +544 -257
  59. package/dist/index.cjs.map +1 -1
  60. package/dist/index.d.cts +192 -2
  61. package/dist/index.d.ts +192 -2
  62. package/dist/index.js +126 -4
  63. package/dist/index.js.map +1 -1
  64. package/dist/induk-BGTGKRLL.js +11 -0
  65. package/dist/induk-DLYDMZAM.cjs +20 -0
  66. package/dist/integrasi-4VXNGA3V.cjs +20 -0
  67. package/dist/integrasi-IP3WWDO7.js +11 -0
  68. package/dist/kalender-DGQDGJCL.cjs +20 -0
  69. package/dist/kalender-FGGUBYKZ.js +11 -0
  70. package/dist/karier-H3HBFCQQ.js +11 -0
  71. package/dist/karier-QTU2P5YD.cjs +20 -0
  72. package/dist/katalog.cjs +1709 -0
  73. package/dist/katalog.cjs.map +1 -0
  74. package/dist/katalog.d.cts +645 -0
  75. package/dist/katalog.d.ts +645 -0
  76. package/dist/katalog.js +1626 -0
  77. package/dist/katalog.js.map +1 -0
  78. package/dist/kelulusan-BHFQM5N4.cjs +20 -0
  79. package/dist/kelulusan-ZR7CM6I5.js +11 -0
  80. package/dist/kemahasiswaan-EINWXAY7.cjs +20 -0
  81. package/dist/kemahasiswaan-NH2LEDH7.js +11 -0
  82. package/dist/kerjasama-FAOHZCML.js +11 -0
  83. package/dist/kerjasama-TXWJOU4Y.cjs +20 -0
  84. package/dist/keu-4TXF4FEP.cjs +20 -0
  85. package/dist/keu-SD7UOCDB.js +11 -0
  86. package/dist/kurikulum-SRO7TJYI.cjs +20 -0
  87. package/dist/kurikulum-XT7PZJOK.js +11 -0
  88. package/dist/layanan-RQ2AWCQ5.cjs +20 -0
  89. package/dist/layanan-Y6WUCSD2.js +11 -0
  90. package/dist/lms-5JYOSLBI.cjs +20 -0
  91. package/dist/lms-NTXMSHG2.js +11 -0
  92. package/dist/lppm-7DH7PRF3.cjs +20 -0
  93. package/dist/lppm-UXYGIOIF.js +11 -0
  94. package/dist/master-GKTTAKLF.cjs +20 -0
  95. package/dist/master-ZG4SPPDU.js +11 -0
  96. package/dist/mbkm-OGR72BTB.js +11 -0
  97. package/dist/mbkm-URKJHUIQ.cjs +20 -0
  98. package/dist/notifikasi-FMA26M4I.js +11 -0
  99. package/dist/notifikasi-QDCYIX7G.cjs +20 -0
  100. package/dist/pddikti-RJVYY2J4.cjs +20 -0
  101. package/dist/pddikti-VF2PXDKA.js +11 -0
  102. package/dist/{content-DaJPx5LX.d.cts → pemeliharaan-D5S-1lqW.d.ts} +38 -434
  103. package/dist/{content-DaJPx5LX.d.ts → pemeliharaan-Dr0HSxvZ.d.cts} +38 -434
  104. package/dist/perpustakaan-5RL33XG2.js +11 -0
  105. package/dist/perpustakaan-JXZW43MJ.cjs +20 -0
  106. package/dist/pilih-BEes_D3n.d.cts +205 -0
  107. package/dist/pilih-CEKqXMUS.d.ts +205 -0
  108. package/dist/pmb-EGTWW2ZH.cjs +20 -0
  109. package/dist/pmb-G7EAFJ3R.js +11 -0
  110. package/dist/portal-EI7TXN7H.cjs +20 -0
  111. package/dist/portal-MMUYX3RA.js +11 -0
  112. package/dist/portal-api-BJLO6AGI.js +11 -0
  113. package/dist/portal-api-Q6B3X6ZV.cjs +20 -0
  114. package/dist/profil-46FV46VH.cjs +20 -0
  115. package/dist/profil-4BIXIM6D.js +11 -0
  116. package/dist/referensi-HNYOJGNX.js +11 -0
  117. package/dist/referensi-VOT5BRCL.cjs +20 -0
  118. package/dist/registry.json +606 -4
  119. package/dist/repositori-2MJ43NXM.js +11 -0
  120. package/dist/repositori-KFXVJB7B.cjs +20 -0
  121. package/dist/rpl-2ZXHNSPF.js +11 -0
  122. package/dist/rpl-YF5MV2YA.cjs +20 -0
  123. package/dist/sarpras-CQ7QKVUN.js +11 -0
  124. package/dist/sarpras-XGPHHFCG.cjs +20 -0
  125. package/dist/scss/components/_animasi.scss +280 -0
  126. package/dist/scss/components/_ikon.scss +249 -0
  127. package/dist/scss/components/_katalog.scss +662 -0
  128. package/dist/scss/components/_platform.scss +364 -0
  129. package/dist/scss/index.scss +4 -0
  130. package/dist/sdm-N6LE66PP.cjs +20 -0
  131. package/dist/sdm-QKBXH3JF.js +11 -0
  132. package/dist/siakad.cjs +1389 -2915
  133. package/dist/siakad.cjs.map +1 -1
  134. package/dist/siakad.d.cts +31 -196
  135. package/dist/siakad.d.ts +31 -196
  136. package/dist/siakad.js +446 -2194
  137. package/dist/siakad.js.map +1 -1
  138. package/dist/spmi-J37NEYIU.js +11 -0
  139. package/dist/spmi-N6EU7KNC.cjs +20 -0
  140. package/dist/tracer-G6DDXVXC.cjs +20 -0
  141. package/dist/tracer-M3FTNWBG.js +11 -0
  142. package/dist/ui-unipo.css +1650 -0
  143. package/dist/ui-unipo.min.css +1 -1
  144. package/package.json +25 -3
  145. package/src/components/animasi.tsx +186 -0
  146. package/src/components/modal.tsx +113 -0
  147. package/src/components/overlays.tsx +6 -1
  148. package/src/components/pemeliharaan.tsx +152 -0
  149. package/src/components/platform.tsx +94 -0
  150. package/src/ikon/ilustrasi.tsx +283 -0
  151. package/src/ikon/index.ts +7 -0
  152. package/src/ikon/kotak.tsx +30 -0
  153. package/src/ikon/unipo.tsx +326 -0
  154. package/src/index.ts +8 -0
  155. package/src/katalog/aturan.ts +488 -0
  156. package/src/katalog/data/id.ts +749 -0
  157. package/src/katalog/data/indeks.json +1 -0
  158. package/src/katalog/data/muat.ts +47 -0
  159. package/src/katalog/ikon.tsx +11 -0
  160. package/src/katalog/index.ts +13 -0
  161. package/src/katalog/isian.tsx +372 -0
  162. package/src/katalog/katalog.tsx +138 -0
  163. package/src/katalog/kelola.tsx +620 -0
  164. package/src/katalog/modul.tsx +336 -0
  165. package/src/katalog/tampil.tsx +147 -0
  166. package/src/katalog/tipe.ts +141 -0
  167. package/src/katalog/wizard.tsx +155 -0
  168. package/src/lib/platform.ts +91 -0
  169. package/src/siakad/index.ts +1 -0
  170. package/src/siakad/pemeliharaan.tsx +118 -0
  171. package/src/siakad/provider.tsx +2 -0
  172. package/dist/chunk-DEF5CA7C.cjs.map +0 -1
  173. package/dist/chunk-SJ4DJOMZ.js.map +0 -1
@@ -0,0 +1,462 @@
1
+ 'use client';
2
+ import { cn } from './chunk-JSUHAYQ4.js';
3
+ import * as React from 'react';
4
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
5
+ import { Sparkles, PartyPopper, Lock, Wrench, TriangleAlert, Search, FileSearch, Award, Target, Contact, Megaphone, Newspaper, Library, BookMarked, Warehouse, MessageSquareText, LifeBuoy, Archive, Handshake, Gauge, BadgeCheck, Wallet, Users, IdCard, Landmark, Briefcase, Compass, Repeat, Route, ClipboardCheck, BookOpen, MonitorPlay, UserPlus, DoorOpen, Bell, CalendarDays, GraduationCap, Building2, Database, ListTree, Send, Plug, UserRound, KeyRound, ShieldCheck, FileCheck2 } from 'lucide-react';
6
+
7
+ function buat(nama, isi, duo) {
8
+ const C = React.forwardRef(function Ikon({ size = 24, strokeWidth = 2, duo: pakaiDuo, className, children, ...rest }, ref) {
9
+ return /* @__PURE__ */ jsxs(
10
+ "svg",
11
+ {
12
+ ref,
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ width: size,
15
+ height: size,
16
+ viewBox: "0 0 24 24",
17
+ fill: "none",
18
+ stroke: "currentColor",
19
+ strokeWidth,
20
+ strokeLinecap: "round",
21
+ strokeLinejoin: "round",
22
+ className: cn("u-ikon", `u-ikon-${nama}`, className),
23
+ "aria-hidden": rest["aria-label"] ? void 0 : true,
24
+ ...rest,
25
+ children: [
26
+ pakaiDuo && duo ? /* @__PURE__ */ jsx("g", { fill: "currentColor", fillOpacity: 0.18, stroke: "none", children: duo }) : null,
27
+ isi,
28
+ children
29
+ ]
30
+ }
31
+ );
32
+ });
33
+ C.displayName = `Ikon${nama.charAt(0).toUpperCase()}${nama.slice(1)}`;
34
+ return C;
35
+ }
36
+ var IkonKtm = buat(
37
+ "ktm",
38
+ /* @__PURE__ */ jsxs(Fragment, { children: [
39
+ /* @__PURE__ */ jsx("rect", { x: "2.5", y: "5", width: "19", height: "14", rx: "2.5" }),
40
+ /* @__PURE__ */ jsx("circle", { cx: "8", cy: "11", r: "2" }),
41
+ /* @__PURE__ */ jsx("path", { d: "M5 16c.6-1.4 1.7-2 3-2s2.4.6 3 2" }),
42
+ /* @__PURE__ */ jsx("path", { d: "M14 10h4.5M14 13h3" })
43
+ ] }),
44
+ /* @__PURE__ */ jsx("rect", { x: "2.5", y: "5", width: "19", height: "14", rx: "2.5" })
45
+ );
46
+ var IkonIjazah = buat(
47
+ "ijazah",
48
+ /* @__PURE__ */ jsxs(Fragment, { children: [
49
+ /* @__PURE__ */ jsx("path", { d: "M4 6.5A2.5 2.5 0 0 1 6.5 4H19v12H6.5A2.5 2.5 0 0 0 4 18.5z" }),
50
+ /* @__PURE__ */ jsx("path", { d: "M4 18.5A2.5 2.5 0 0 0 6.5 21H19v-5" }),
51
+ /* @__PURE__ */ jsx("path", { d: "M8 8h7M8 11h5" }),
52
+ /* @__PURE__ */ jsx("circle", { cx: "15.5", cy: "13.5", r: "1.5" })
53
+ ] }),
54
+ /* @__PURE__ */ jsx("path", { d: "M4 6.5A2.5 2.5 0 0 1 6.5 4H19v12H6.5A2.5 2.5 0 0 0 4 18.5z" })
55
+ );
56
+ var IkonKhs = buat(
57
+ "khs",
58
+ /* @__PURE__ */ jsxs(Fragment, { children: [
59
+ /* @__PURE__ */ jsx("path", { d: "M14 3H6.5A1.5 1.5 0 0 0 5 4.5v15A1.5 1.5 0 0 0 6.5 21h11a1.5 1.5 0 0 0 1.5-1.5V8z" }),
60
+ /* @__PURE__ */ jsx("path", { d: "M14 3v5h5" }),
61
+ /* @__PURE__ */ jsx("path", { d: "M8.5 17v-2M12 17v-4.5M15.5 17v-3" })
62
+ ] }),
63
+ /* @__PURE__ */ jsx("path", { d: "M14 3H6.5A1.5 1.5 0 0 0 5 4.5v15A1.5 1.5 0 0 0 6.5 21h11a1.5 1.5 0 0 0 1.5-1.5V8z" })
64
+ );
65
+ var IkonKrs = buat(
66
+ "krs",
67
+ /* @__PURE__ */ jsxs(Fragment, { children: [
68
+ /* @__PURE__ */ jsx("rect", { x: "4", y: "3", width: "16", height: "18", rx: "2" }),
69
+ /* @__PURE__ */ jsx("path", { d: "m7.5 8 1.2 1.2L11 7M7.5 13l1.2 1.2L11 12" }),
70
+ /* @__PURE__ */ jsx("path", { d: "M13.5 8h3M13.5 13h3M7.5 17.5h9" })
71
+ ] }),
72
+ /* @__PURE__ */ jsx("rect", { x: "4", y: "3", width: "16", height: "18", rx: "2" })
73
+ );
74
+ var IkonSks = buat(
75
+ "sks",
76
+ /* @__PURE__ */ jsxs(Fragment, { children: [
77
+ /* @__PURE__ */ jsx("rect", { x: "3.5", y: "15", width: "17", height: "4.5", rx: "1" }),
78
+ /* @__PURE__ */ jsx("rect", { x: "5", y: "10", width: "14", height: "5", rx: "1" }),
79
+ /* @__PURE__ */ jsx("rect", { x: "6.5", y: "4.5", width: "11", height: "5.5", rx: "1" }),
80
+ /* @__PURE__ */ jsx("path", { d: "M7 17.25h4M8.5 12.5h3M10 7.25h4" })
81
+ ] }),
82
+ /* @__PURE__ */ jsx("rect", { x: "5", y: "10", width: "14", height: "5", rx: "1" })
83
+ );
84
+ var IkonToga = buat(
85
+ "toga",
86
+ /* @__PURE__ */ jsxs(Fragment, { children: [
87
+ /* @__PURE__ */ jsx("path", { d: "M2 9.5 12 5l10 4.5-10 4.5z" }),
88
+ /* @__PURE__ */ jsx("path", { d: "M6 11.5V16c0 1.5 2.7 3 6 3s6-1.5 6-3v-4.5" }),
89
+ /* @__PURE__ */ jsx("path", { d: "M20 10.5v5.5" }),
90
+ /* @__PURE__ */ jsx("circle", { cx: "20", cy: "17", r: "1" })
91
+ ] }),
92
+ /* @__PURE__ */ jsx("path", { d: "M2 9.5 12 5l10 4.5-10 4.5z" })
93
+ );
94
+ var IkonSkripsi = buat(
95
+ "skripsi",
96
+ /* @__PURE__ */ jsxs(Fragment, { children: [
97
+ /* @__PURE__ */ jsx("path", { d: "M5 4.5A1.5 1.5 0 0 1 6.5 3H19v15H6.5A1.5 1.5 0 0 0 5 19.5z" }),
98
+ /* @__PURE__ */ jsx("path", { d: "M5 19.5A1.5 1.5 0 0 0 6.5 21H19" }),
99
+ /* @__PURE__ */ jsx("path", { d: "M14 3v6l2-1.3L18 9V3" }),
100
+ /* @__PURE__ */ jsx("path", { d: "M8.5 12h6M8.5 15h4" })
101
+ ] }),
102
+ /* @__PURE__ */ jsx("path", { d: "M5 4.5A1.5 1.5 0 0 1 6.5 3H19v15H6.5A1.5 1.5 0 0 0 5 19.5z" })
103
+ );
104
+ var IkonUkt = buat(
105
+ "ukt",
106
+ /* @__PURE__ */ jsxs(Fragment, { children: [
107
+ /* @__PURE__ */ jsx("path", { d: "M19 8V6.5A1.5 1.5 0 0 0 17.5 5h-12A2.5 2.5 0 0 0 3 7.5v9A2.5 2.5 0 0 0 5.5 19h12a1.5 1.5 0 0 0 1.5-1.5V16" }),
108
+ /* @__PURE__ */ jsx("path", { d: "M21 10h-4a2 2 0 0 0 0 4h4z" }),
109
+ /* @__PURE__ */ jsx("path", { d: "m6 10 3-1.5 3 1.5-3 1.5z" })
110
+ ] }),
111
+ /* @__PURE__ */ jsx("path", { d: "M19 8V6.5A1.5 1.5 0 0 0 17.5 5h-12A2.5 2.5 0 0 0 3 7.5v9A2.5 2.5 0 0 0 5.5 19h12a1.5 1.5 0 0 0 1.5-1.5V16" })
112
+ );
113
+ var IkonBeasiswa = buat(
114
+ "beasiswa",
115
+ /* @__PURE__ */ jsxs(Fragment, { children: [
116
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "13", r: "7.5" }),
117
+ /* @__PURE__ */ jsx("path", { d: "m7.5 12 4.5-2 4.5 2-4.5 2z" }),
118
+ /* @__PURE__ */ jsx("path", { d: "M9.5 13v2c0 .7 1.1 1.3 2.5 1.3s2.5-.6 2.5-1.3v-2" }),
119
+ /* @__PURE__ */ jsx("path", { d: "M12 2.5v2M8 3.5l.8 1.6M16 3.5l-.8 1.6" })
120
+ ] }),
121
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "13", r: "7.5" })
122
+ );
123
+ var IkonYudisium = buat(
124
+ "yudisium",
125
+ /* @__PURE__ */ jsxs(Fragment, { children: [
126
+ /* @__PURE__ */ jsx("path", { d: "m13 5 6 6M11.5 6.5l6 6M14 4l5 5-2.5 2.5-5-5z" }),
127
+ /* @__PURE__ */ jsx("path", { d: "m11 10-6.5 6.5a1.4 1.4 0 0 0 2 2L13 12" }),
128
+ /* @__PURE__ */ jsx("path", { d: "M13 20h8" })
129
+ ] }),
130
+ /* @__PURE__ */ jsx("path", { d: "M14 4l5 5-2.5 2.5-5-5z" })
131
+ );
132
+ var IkonPresensi = buat(
133
+ "presensi",
134
+ /* @__PURE__ */ jsxs(Fragment, { children: [
135
+ /* @__PURE__ */ jsx("rect", { x: "3", y: "3", width: "7", height: "7", rx: "1.5" }),
136
+ /* @__PURE__ */ jsx("rect", { x: "14", y: "3", width: "7", height: "7", rx: "1.5" }),
137
+ /* @__PURE__ */ jsx("rect", { x: "3", y: "14", width: "7", height: "7", rx: "1.5" }),
138
+ /* @__PURE__ */ jsx("path", { d: "M14 14h3v3M21 14v.01M17 21h4v-4M14 18v3" })
139
+ ] }),
140
+ /* @__PURE__ */ jsxs(Fragment, { children: [
141
+ /* @__PURE__ */ jsx("rect", { x: "3", y: "3", width: "7", height: "7", rx: "1.5" }),
142
+ /* @__PURE__ */ jsx("rect", { x: "14", y: "3", width: "7", height: "7", rx: "1.5" }),
143
+ /* @__PURE__ */ jsx("rect", { x: "3", y: "14", width: "7", height: "7", rx: "1.5" })
144
+ ] })
145
+ );
146
+ var IkonJadwalKuliah = buat(
147
+ "jadwal-kuliah",
148
+ /* @__PURE__ */ jsxs(Fragment, { children: [
149
+ /* @__PURE__ */ jsx("path", { d: "M20 11V6.5A1.5 1.5 0 0 0 18.5 5h-13A1.5 1.5 0 0 0 4 6.5v12A1.5 1.5 0 0 0 5.5 20H11" }),
150
+ /* @__PURE__ */ jsx("path", { d: "M8 3v4M16 3v4M4 10h16" }),
151
+ /* @__PURE__ */ jsx("circle", { cx: "17", cy: "17", r: "4" }),
152
+ /* @__PURE__ */ jsx("path", { d: "M17 15.5V17l1 1" })
153
+ ] }),
154
+ /* @__PURE__ */ jsx("path", { d: "M4 6.5A1.5 1.5 0 0 1 5.5 5h13A1.5 1.5 0 0 1 20 6.5V10H4z" })
155
+ );
156
+ var IkonKampus = buat(
157
+ "kampus",
158
+ /* @__PURE__ */ jsxs(Fragment, { children: [
159
+ /* @__PURE__ */ jsx("path", { d: "M3 9.5 12 4l9 5.5" }),
160
+ /* @__PURE__ */ jsx("path", { d: "M4 9.5h16" }),
161
+ /* @__PURE__ */ jsx("path", { d: "M6 12v6M10 12v6M14 12v6M18 12v6" }),
162
+ /* @__PURE__ */ jsx("path", { d: "M3 21h18M4 18h16" })
163
+ ] }),
164
+ /* @__PURE__ */ jsx("path", { d: "M3 9.5 12 4l9 5.5z" })
165
+ );
166
+ var IkonAkreditasi = buat(
167
+ "akreditasi",
168
+ /* @__PURE__ */ jsxs(Fragment, { children: [
169
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "9", r: "6" }),
170
+ /* @__PURE__ */ jsx("path", { d: "m12 6 1 2 2.2.3-1.6 1.5.4 2.2-2-1-2 1 .4-2.2L8.8 8.3 11 8z" }),
171
+ /* @__PURE__ */ jsx("path", { d: "M8.5 14 7 21l5-2.5L17 21l-1.5-7" })
172
+ ] }),
173
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "9", r: "6" })
174
+ );
175
+ var IkonOrmawa = buat(
176
+ "ormawa",
177
+ /* @__PURE__ */ jsxs(Fragment, { children: [
178
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "8", r: "2.5" }),
179
+ /* @__PURE__ */ jsx("circle", { cx: "5.5", cy: "10.5", r: "2" }),
180
+ /* @__PURE__ */ jsx("circle", { cx: "18.5", cy: "10.5", r: "2" }),
181
+ /* @__PURE__ */ jsx("path", { d: "M7.5 20v-1.5a4.5 4.5 0 0 1 9 0V20M2 20v-1a3.5 3.5 0 0 1 4.5-3.3M22 20v-1a3.5 3.5 0 0 0-4.5-3.3" }),
182
+ /* @__PURE__ */ jsx("path", { d: "M12 5.5V2l3 1.2L12 4.4" })
183
+ ] }),
184
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "8", r: "2.5" })
185
+ );
186
+ var IkonKkn = buat(
187
+ "kkn",
188
+ /* @__PURE__ */ jsxs(Fragment, { children: [
189
+ /* @__PURE__ */ jsx("path", { d: "M3 11 9 6l6 5" }),
190
+ /* @__PURE__ */ jsx("path", { d: "M4.5 10v10h9V10" }),
191
+ /* @__PURE__ */ jsx("path", { d: "M8 20v-4h2v4" }),
192
+ /* @__PURE__ */ jsx("circle", { cx: "18.5", cy: "10", r: "2.5" }),
193
+ /* @__PURE__ */ jsx("path", { d: "M18.5 12.5V20M2 20h20" })
194
+ ] }),
195
+ /* @__PURE__ */ jsx("path", { d: "M4.5 10 9 6.3l4.5 3.7v10h-9z" })
196
+ );
197
+ var IkonPenelitian = buat(
198
+ "penelitian",
199
+ /* @__PURE__ */ jsxs(Fragment, { children: [
200
+ /* @__PURE__ */ jsx("path", { d: "M9 3h6M10 3v6l-5 8.5A2.3 2.3 0 0 0 7 21h10a2.3 2.3 0 0 0 2-3.5L14 9V3" }),
201
+ /* @__PURE__ */ jsx("path", { d: "M7.5 15h9" }),
202
+ /* @__PURE__ */ jsx("circle", { cx: "11", cy: "17.5", r: ".6" }),
203
+ /* @__PURE__ */ jsx("circle", { cx: "14", cy: "18", r: ".6" })
204
+ ] }),
205
+ /* @__PURE__ */ jsx("path", { d: "M7.5 15h9l1.5 2.5A2.3 2.3 0 0 1 17 21H7a2.3 2.3 0 0 1-2-3.5z" })
206
+ );
207
+ var IkonSurat = buat(
208
+ "surat",
209
+ /* @__PURE__ */ jsxs(Fragment, { children: [
210
+ /* @__PURE__ */ jsx("path", { d: "M14 3H6.5A1.5 1.5 0 0 0 5 4.5v15A1.5 1.5 0 0 0 6.5 21h11a1.5 1.5 0 0 0 1.5-1.5V8z" }),
211
+ /* @__PURE__ */ jsx("path", { d: "M14 3v5h5" }),
212
+ /* @__PURE__ */ jsx("path", { d: "M8 7h3M8 11h8M8 14h6" }),
213
+ /* @__PURE__ */ jsx("circle", { cx: "15", cy: "17.5", r: "1.8" })
214
+ ] }),
215
+ /* @__PURE__ */ jsx("circle", { cx: "15", cy: "17.5", r: "1.8" })
216
+ );
217
+ var IkonTandaTangan = buat(
218
+ "tanda-tangan",
219
+ /* @__PURE__ */ jsxs(Fragment, { children: [
220
+ /* @__PURE__ */ jsx("path", { d: "M3 17c2-3 3.5-7 5-7s.5 6 2 6 2.5-4 4-4 1 3 2.5 3 2-1.5 3.5-2" }),
221
+ /* @__PURE__ */ jsx("path", { d: "M3 21h18" }),
222
+ /* @__PURE__ */ jsx("path", { d: "m15.5 4.5 3 3-6 6H9.5v-3z" })
223
+ ] }),
224
+ /* @__PURE__ */ jsx("path", { d: "m15.5 4.5 3 3-6 6H9.5v-3z" })
225
+ );
226
+ var IkonSinkronPddikti = buat(
227
+ "sinkron-pddikti",
228
+ /* @__PURE__ */ jsxs(Fragment, { children: [
229
+ /* @__PURE__ */ jsx("path", { d: "M7 18.5A4.5 4.5 0 0 1 6.5 9.5 6 6 0 0 1 18 8a4 4 0 0 1-.5 8" }),
230
+ /* @__PURE__ */ jsx("path", { d: "M10 13l2-2 2 2M12 11v8M14 17l-2 2" })
231
+ ] }),
232
+ /* @__PURE__ */ jsx("path", { d: "M7 18.5A4.5 4.5 0 0 1 6.5 9.5 6 6 0 0 1 18 8a4 4 0 0 1-.5 8z" })
233
+ );
234
+ var IkonPinjamRuang = buat(
235
+ "pinjam-ruang",
236
+ /* @__PURE__ */ jsxs(Fragment, { children: [
237
+ /* @__PURE__ */ jsx("path", { d: "M4 21V4.5A1.5 1.5 0 0 1 5.5 3h7A1.5 1.5 0 0 1 14 4.5V21" }),
238
+ /* @__PURE__ */ jsx("path", { d: "M2 21h20" }),
239
+ /* @__PURE__ */ jsx("circle", { cx: "11", cy: "12", r: ".8" }),
240
+ /* @__PURE__ */ jsx("rect", { x: "15", y: "10", width: "7", height: "7", rx: "1.2" }),
241
+ /* @__PURE__ */ jsx("path", { d: "M15 12.5h7M17 9v2M20 9v2" })
242
+ ] }),
243
+ /* @__PURE__ */ jsx("path", { d: "M4 21V4.5A1.5 1.5 0 0 1 5.5 3h7A1.5 1.5 0 0 1 14 4.5V21z" })
244
+ );
245
+ var IkonAlumni = buat(
246
+ "alumni",
247
+ /* @__PURE__ */ jsxs(Fragment, { children: [
248
+ /* @__PURE__ */ jsx("rect", { x: "3", y: "9", width: "18", height: "11", rx: "2" }),
249
+ /* @__PURE__ */ jsx("path", { d: "M9 9V7a1.5 1.5 0 0 1 1.5-1.5h3A1.5 1.5 0 0 1 15 7v2" }),
250
+ /* @__PURE__ */ jsx("path", { d: "m8 14 4-1.8 4 1.8-4 1.8z" })
251
+ ] }),
252
+ /* @__PURE__ */ jsx("rect", { x: "3", y: "9", width: "18", height: "11", rx: "2" })
253
+ );
254
+ var IkonBerita = buat(
255
+ "berita",
256
+ /* @__PURE__ */ jsxs(Fragment, { children: [
257
+ /* @__PURE__ */ jsx("path", { d: "M4 5.5A1.5 1.5 0 0 1 5.5 4h10A1.5 1.5 0 0 1 17 5.5V19a2 2 0 0 0 2 2H6a2 2 0 0 1-2-2z" }),
258
+ /* @__PURE__ */ jsx("path", { d: "M17 9h2.5A1.5 1.5 0 0 1 21 10.5V19a2 2 0 0 1-4 0" }),
259
+ /* @__PURE__ */ jsx("rect", { x: "7", y: "7.5", width: "7", height: "4", rx: ".8" }),
260
+ /* @__PURE__ */ jsx("path", { d: "M7 15h7M7 18h5" })
261
+ ] }),
262
+ /* @__PURE__ */ jsx("rect", { x: "7", y: "7.5", width: "7", height: "4", rx: ".8" })
263
+ );
264
+ var IKON_UNIPO = {
265
+ IkonKtm,
266
+ IkonIjazah,
267
+ IkonKhs,
268
+ IkonKrs,
269
+ IkonSks,
270
+ IkonToga,
271
+ IkonSkripsi,
272
+ IkonUkt,
273
+ IkonBeasiswa,
274
+ IkonYudisium,
275
+ IkonPresensi,
276
+ IkonJadwalKuliah,
277
+ IkonKampus,
278
+ IkonAkreditasi,
279
+ IkonOrmawa,
280
+ IkonKkn,
281
+ IkonPenelitian,
282
+ IkonSurat,
283
+ IkonTandaTangan,
284
+ IkonSinkronPddikti,
285
+ IkonPinjamRuang,
286
+ IkonAlumni,
287
+ IkonBerita
288
+ };
289
+ function IkonKotak({ children, nada = "primary", ukuran = "md", gaya = "clay", bentuk = "kotak", gerak = "angkat", className, ...rest }) {
290
+ return /* @__PURE__ */ jsx("span", { className: cn("u-ikon-kotak", className), "data-nada": nada, "data-ukuran": ukuran, "data-gaya": gaya, "data-bentuk": bentuk, "data-gerak": gerak, ...rest, children });
291
+ }
292
+ var ADEGAN = {
293
+ // Grup
294
+ sistem: { nada: "indigo", ikon: ShieldCheck, ikon2: KeyRound },
295
+ referensi: { nada: "toska", ikon: Database, ikon2: ListTree },
296
+ akademik: { nada: "biru", ikon: GraduationCap, ikon2: IkonKrs },
297
+ kemahasiswaan: { nada: "merah-muda", ikon: IkonOrmawa, ikon2: Award },
298
+ alumni: { nada: "ungu", ikon: Compass, ikon2: Briefcase },
299
+ kelembagaan: { nada: "kuning", ikon: Landmark, ikon2: IkonAkreditasi },
300
+ layanan: { nada: "hijau", ikon: FileCheck2, ikon2: IkonSurat },
301
+ sarana: { nada: "oranye", ikon: Warehouse, ikon2: IkonPinjamRuang },
302
+ humas: { nada: "mawar", ikon: Megaphone, ikon2: Newspaper },
303
+ // Modul
304
+ akses: { nada: "indigo", ikon: ShieldCheck, ikon2: KeyRound },
305
+ "portal-api": { nada: "indigo", ikon: Plug, ikon2: KeyRound },
306
+ profil: { nada: "indigo", ikon: UserRound, ikon2: IkonKtm },
307
+ notifikasi: { nada: "indigo", ikon: Bell, ikon2: Send },
308
+ integrasi: { nada: "indigo", ikon: Plug, ikon2: Sparkles },
309
+ pddikti: { nada: "indigo", ikon: IkonSinkronPddikti, ikon2: Send },
310
+ dasbor: { nada: "indigo", ikon: Gauge, ikon2: Target },
311
+ "referensi-akademik": { nada: "toska", ikon: ListTree, ikon2: Database },
312
+ master: { nada: "toska", ikon: Database, ikon2: IkonKampus },
313
+ induk: { nada: "toska", ikon: Building2, ikon2: Users },
314
+ perkuliahan: { nada: "biru", ikon: GraduationCap, ikon2: IkonKrs },
315
+ kurikulum: { nada: "biru", ikon: BookOpen, ikon2: Target },
316
+ kalender: { nada: "biru", ikon: CalendarDays, ikon2: Bell },
317
+ admisi: { nada: "biru", ikon: DoorOpen, ikon2: IkonUkt },
318
+ pmb: { nada: "biru", ikon: UserPlus, ikon2: IkonKtm },
319
+ lms: { nada: "biru", ikon: MonitorPlay, ikon2: BookOpen },
320
+ cbt: { nada: "biru", ikon: ClipboardCheck, ikon2: IkonKhs },
321
+ edom: { nada: "biru", ikon: MessageSquareText, ikon2: BadgeCheck },
322
+ mbkm: { nada: "biru", ikon: Route, ikon2: Briefcase },
323
+ rpl: { nada: "biru", ikon: Repeat, ikon2: IkonKhs },
324
+ kelulusan: { nada: "biru", ikon: IkonToga, ikon2: Award },
325
+ tracer: { nada: "ungu", ikon: Compass, ikon2: IkonToga },
326
+ karier: { nada: "ungu", ikon: Briefcase, ikon2: Handshake },
327
+ fakultas: { nada: "kuning", ikon: Landmark, ikon2: IkonKampus },
328
+ sdm: { nada: "kuning", ikon: IdCard, ikon2: Users },
329
+ keu: { nada: "kuning", ikon: Wallet, ikon2: IkonUkt },
330
+ lppm: { nada: "kuning", ikon: IkonPenelitian, ikon2: IkonKkn },
331
+ spmi: { nada: "kuning", ikon: BadgeCheck, ikon2: IkonAkreditasi },
332
+ iku: { nada: "kuning", ikon: Target, ikon2: Gauge },
333
+ kerjasama: { nada: "kuning", ikon: Handshake, ikon2: IkonSurat },
334
+ arsip: { nada: "hijau", ikon: Archive, ikon2: IkonSurat },
335
+ helpdesk: { nada: "hijau", ikon: LifeBuoy, ikon2: MessageSquareText },
336
+ sarpras: { nada: "oranye", ikon: Warehouse, ikon2: IkonPinjamRuang },
337
+ perpustakaan: { nada: "oranye", ikon: BookMarked, ikon2: Library },
338
+ repositori: { nada: "oranye", ikon: Library, ikon2: IkonSkripsi },
339
+ portal: { nada: "mawar", ikon: Newspaper, ikon2: Megaphone },
340
+ crm: { nada: "mawar", ikon: Contact, ikon2: Target },
341
+ beasiswa: { nada: "merah-muda", ikon: IkonBeasiswa, ikon2: Award },
342
+ // Keadaan
343
+ kosong: { nada: "langit", ikon: FileSearch, tokoh: "tunjuk" },
344
+ cari: { nada: "langit", ikon: Search, tokoh: "tunjuk" },
345
+ galat: { nada: "mawar", ikon: TriangleAlert, tokoh: "duduk" },
346
+ pemeliharaan: { nada: "kuning", ikon: Wrench, tokoh: "duduk" },
347
+ terkunci: { nada: "indigo", ikon: Lock, tokoh: "tunjuk" },
348
+ sukses: { nada: "hijau", ikon: PartyPopper, tokoh: "jalan" },
349
+ "selamat-datang": { nada: "biru", ikon: Sparkles, ikon2: IkonKampus, tokoh: "jalan" }
350
+ };
351
+ function Ilustrasi({ nama, lebar = 240, bergerak = true, nada, ikon, label, className, style, ...rest }) {
352
+ const a = ADEGAN[nama] ?? { nada: "primary", ikon: Sparkles };
353
+ const uid = React.useId().replace(/:/g, "");
354
+ const Ikon = ikon ?? a.ikon;
355
+ const Ikon2 = a.ikon2;
356
+ const g = (n) => `${uid}-${n}`;
357
+ const ada = Boolean(a.tokoh);
358
+ const kx = ada ? 128 : 78;
359
+ return /* @__PURE__ */ jsxs(
360
+ "svg",
361
+ {
362
+ viewBox: "0 0 240 180",
363
+ width: lebar,
364
+ className: cn("u-ilustrasi", className),
365
+ "data-nada": nada ?? a.nada,
366
+ "data-bergerak": bergerak || void 0,
367
+ role: label ? "img" : void 0,
368
+ "aria-label": label,
369
+ "aria-hidden": label ? void 0 : true,
370
+ style,
371
+ ...rest,
372
+ children: [
373
+ /* @__PURE__ */ jsxs("defs", { children: [
374
+ /* @__PURE__ */ jsxs("radialGradient", { id: g("latar"), cx: "50%", cy: "45%", r: "60%", children: [
375
+ /* @__PURE__ */ jsx("stop", { offset: "0", className: "u-ilus-latar-1" }),
376
+ /* @__PURE__ */ jsx("stop", { offset: "1", className: "u-ilus-latar-2" })
377
+ ] }),
378
+ /* @__PURE__ */ jsxs("linearGradient", { id: g("kotak"), x1: "0", y1: "0", x2: "1", y2: "1", children: [
379
+ /* @__PURE__ */ jsx("stop", { offset: "0", className: "u-ilus-terang" }),
380
+ /* @__PURE__ */ jsx("stop", { offset: "1", className: "u-ilus-gelap" })
381
+ ] }),
382
+ /* @__PURE__ */ jsxs("linearGradient", { id: g("kilap"), x1: "0", y1: "0", x2: "0", y2: "1", children: [
383
+ /* @__PURE__ */ jsx("stop", { offset: "0", stopColor: "#fff", stopOpacity: "0.55" }),
384
+ /* @__PURE__ */ jsx("stop", { offset: "0.6", stopColor: "#fff", stopOpacity: "0" })
385
+ ] }),
386
+ /* @__PURE__ */ jsxs("linearGradient", { id: g("baju"), x1: "0", y1: "0", x2: "0.4", y2: "1", children: [
387
+ /* @__PURE__ */ jsx("stop", { offset: "0", stopColor: "#4aa3f0" }),
388
+ /* @__PURE__ */ jsx("stop", { offset: "1", stopColor: "#1f6fd1" })
389
+ ] }),
390
+ /* @__PURE__ */ jsxs("linearGradient", { id: g("celana"), x1: "0", y1: "0", x2: "0", y2: "1", children: [
391
+ /* @__PURE__ */ jsx("stop", { offset: "0", stopColor: "#3a3f55" }),
392
+ /* @__PURE__ */ jsx("stop", { offset: "1", stopColor: "#1e2233" })
393
+ ] }),
394
+ /* @__PURE__ */ jsxs("radialGradient", { id: g("kulit"), cx: "40%", cy: "35%", r: "70%", children: [
395
+ /* @__PURE__ */ jsx("stop", { offset: "0", stopColor: "#ffe3cf" }),
396
+ /* @__PURE__ */ jsx("stop", { offset: "1", stopColor: "#f2b896" })
397
+ ] }),
398
+ /* @__PURE__ */ jsx("filter", { id: g("bayang"), x: "-30%", y: "-30%", width: "160%", height: "170%", children: /* @__PURE__ */ jsx("feDropShadow", { dx: "0", dy: "6", stdDeviation: "6", floodOpacity: "0.18" }) })
399
+ ] }),
400
+ /* @__PURE__ */ jsx("ellipse", { cx: "120", cy: "92", rx: "104", ry: "78", fill: `url(#${g("latar")})` }),
401
+ /* @__PURE__ */ jsxs("g", { className: "u-ilus-bentuk", children: [
402
+ /* @__PURE__ */ jsx("path", { className: "u-ilus-b1", d: "M28 40l10-3 -3 10z", fill: "#5fd4c4" }),
403
+ /* @__PURE__ */ jsx("path", { className: "u-ilus-b2", d: "M200 28l14 6-12 9z", fill: "#ec8cc8" }),
404
+ /* @__PURE__ */ jsx("circle", { className: "u-ilus-b3", cx: "214", cy: "104", r: "7", fill: "none", stroke: "#7c7cf0", strokeWidth: "4.5" }),
405
+ /* @__PURE__ */ jsx("circle", { className: "u-ilus-b4", cx: "26", cy: "122", r: "6", fill: "none", stroke: "#f4c95d", strokeWidth: "4" }),
406
+ /* @__PURE__ */ jsx("path", { className: "u-ilus-b5", d: "M190 146l7 -9 4 11z", fill: "none", stroke: "#5fd4c4", strokeWidth: "2.5", strokeLinejoin: "round" }),
407
+ /* @__PURE__ */ jsx("rect", { className: "u-ilus-b6", x: "52", y: "18", width: "8", height: "8", rx: "1.5", transform: "rotate(25 56 22)", fill: "#5fd4c4", opacity: ".85" })
408
+ ] }),
409
+ /* @__PURE__ */ jsx("ellipse", { cx: ada ? 120 : 120, cy: "160", rx: ada ? 78 : 56, ry: "6", className: "u-ilus-lantai" }),
410
+ Ikon2 && /* @__PURE__ */ jsxs("g", { className: "u-ilus-kotak2", transform: `translate(${kx + 52} 70) rotate(12)`, children: [
411
+ /* @__PURE__ */ jsx("rect", { x: "-22", y: "-22", width: "44", height: "44", rx: "12", fill: `url(#${g("kotak")})`, filter: `url(#${g("bayang")})`, opacity: ".92" }),
412
+ /* @__PURE__ */ jsx("rect", { x: "-22", y: "-22", width: "44", height: "44", rx: "12", fill: `url(#${g("kilap")})` }),
413
+ /* @__PURE__ */ jsx(Ikon2, { x: -11, y: -11, width: 22, height: 22, stroke: "#fff", strokeWidth: 2.2 })
414
+ ] }),
415
+ /* @__PURE__ */ jsxs("g", { className: "u-ilus-kotak", transform: `translate(${kx} 96)`, children: [
416
+ /* @__PURE__ */ jsx("rect", { x: "-38", y: "-34", width: "76", height: "76", rx: "20", className: "u-ilus-sisi" }),
417
+ /* @__PURE__ */ jsx("rect", { x: "-38", y: "-40", width: "76", height: "76", rx: "20", fill: `url(#${g("kotak")})`, filter: `url(#${g("bayang")})` }),
418
+ /* @__PURE__ */ jsx("rect", { x: "-38", y: "-40", width: "76", height: "76", rx: "20", fill: `url(#${g("kilap")})` }),
419
+ /* @__PURE__ */ jsx(Ikon, { x: -19, y: -21, width: 38, height: 38, stroke: "#fff", strokeWidth: 2 })
420
+ ] }),
421
+ a.tokoh && /* @__PURE__ */ jsx(Tokoh, { pose: a.tokoh, g })
422
+ ]
423
+ }
424
+ );
425
+ }
426
+ function Tokoh({ pose, g }) {
427
+ const kaki = pose === "duduk" ? /* @__PURE__ */ jsxs(Fragment, { children: [
428
+ /* @__PURE__ */ jsx("path", { d: "M50 118 L74 120 L76 150", stroke: `url(#${g("celana")})`, strokeWidth: "14", strokeLinecap: "round", strokeLinejoin: "round", fill: "none" }),
429
+ /* @__PURE__ */ jsx("path", { d: "M44 120 L66 126 L64 152", stroke: `url(#${g("celana")})`, strokeWidth: "14", strokeLinecap: "round", strokeLinejoin: "round", fill: "none" }),
430
+ /* @__PURE__ */ jsx("ellipse", { cx: "80", cy: "154", rx: "9", ry: "5", fill: "#eef1f8", stroke: "#1e2233", strokeWidth: "2" }),
431
+ /* @__PURE__ */ jsx("ellipse", { cx: "68", cy: "156", rx: "9", ry: "5", fill: "#eef1f8", stroke: "#1e2233", strokeWidth: "2" })
432
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
433
+ /* @__PURE__ */ jsx("path", { className: "u-ilus-kaki-b", d: "M52 112 L36 132 L28 150", stroke: `url(#${g("celana")})`, strokeWidth: "14", strokeLinecap: "round", strokeLinejoin: "round", fill: "none" }),
434
+ /* @__PURE__ */ jsx("path", { className: "u-ilus-kaki-d", d: "M60 112 L72 132 L84 146", stroke: `url(#${g("celana")})`, strokeWidth: "14", strokeLinecap: "round", strokeLinejoin: "round", fill: "none" }),
435
+ /* @__PURE__ */ jsx("ellipse", { cx: "24", cy: "153", rx: "9", ry: "5", transform: "rotate(-20 24 153)", fill: "#eef1f8", stroke: "#1e2233", strokeWidth: "2" }),
436
+ /* @__PURE__ */ jsx("ellipse", { cx: "89", cy: "149", rx: "9", ry: "5", transform: "rotate(15 89 149)", fill: "#eef1f8", stroke: "#1e2233", strokeWidth: "2" })
437
+ ] });
438
+ const lenganDepan = pose === "tunjuk" ? "M68 76 L86 66 L100 58" : pose === "duduk" ? "M68 78 L78 96 L90 100" : "M68 76 L84 70 L96 62";
439
+ const tanganDepan = pose === "tunjuk" ? [102, 56] : pose === "duduk" ? [93, 100] : [98, 60];
440
+ return /* @__PURE__ */ jsxs("g", { className: "u-ilus-tokoh", "data-pose": pose, transform: pose === "duduk" ? "translate(4 0)" : void 0, children: [
441
+ kaki,
442
+ /* @__PURE__ */ jsx("path", { d: "M44 78 L32 94 L28 104", stroke: "#1f6fd1", strokeWidth: "11", strokeLinecap: "round", strokeLinejoin: "round", fill: "none" }),
443
+ /* @__PURE__ */ jsx("circle", { cx: "27", cy: "107", r: "5.5", fill: `url(#${g("kulit")})` }),
444
+ /* @__PURE__ */ jsx("path", { d: "M40 72 Q40 60 54 60 L62 60 Q74 60 74 74 L72 112 Q72 120 64 120 L48 120 Q40 120 40 112 Z", fill: `url(#${g("baju")})` }),
445
+ /* @__PURE__ */ jsx("path", { d: "M44 66 Q56 62 66 64", stroke: "#fff", strokeOpacity: ".35", strokeWidth: "3", strokeLinecap: "round", fill: "none" }),
446
+ /* @__PURE__ */ jsx("path", { className: "u-ilus-lengan", d: lenganDepan, stroke: "#3a8ee6", strokeWidth: "11", strokeLinecap: "round", strokeLinejoin: "round", fill: "none" }),
447
+ /* @__PURE__ */ jsx("circle", { cx: tanganDepan[0], cy: tanganDepan[1], r: "5.5", fill: `url(#${g("kulit")})` }),
448
+ /* @__PURE__ */ jsxs("g", { className: "u-ilus-kepala", children: [
449
+ /* @__PURE__ */ jsx("circle", { cx: "58", cy: "44", r: "14", fill: `url(#${g("kulit")})` }),
450
+ /* @__PURE__ */ jsx("path", { d: "M44 42 Q45 28 59 29 Q72 30 72 42 Q66 36 58 37 Q50 37 44 42 Z", fill: "#1e2233" }),
451
+ /* @__PURE__ */ jsx("circle", { cx: "57", cy: "24", r: "7", fill: "#1e2233" }),
452
+ /* @__PURE__ */ jsx("path", { d: "M51 29 Q57 33 63 29", stroke: "#f4c95d", strokeWidth: "3", strokeLinecap: "round", fill: "none" }),
453
+ /* @__PURE__ */ jsx("circle", { cx: "64", cy: "45", r: "1.4", fill: "#1e2233" }),
454
+ /* @__PURE__ */ jsx("path", { d: "M61 51 Q64 53 67 50", stroke: "#1e2233", strokeWidth: "1.4", strokeLinecap: "round", fill: "none" }),
455
+ /* @__PURE__ */ jsx("ellipse", { cx: "58", cy: "52", rx: "4", ry: "2.5", fill: "#f08bb3", opacity: ".45" })
456
+ ] })
457
+ ] });
458
+ }
459
+
460
+ export { ADEGAN, IKON_UNIPO, IkonAkreditasi, IkonAlumni, IkonBeasiswa, IkonBerita, IkonIjazah, IkonJadwalKuliah, IkonKampus, IkonKhs, IkonKkn, IkonKotak, IkonKrs, IkonKtm, IkonOrmawa, IkonPenelitian, IkonPinjamRuang, IkonPresensi, IkonSinkronPddikti, IkonSkripsi, IkonSks, IkonSurat, IkonTandaTangan, IkonToga, IkonUkt, IkonYudisium, Ilustrasi };
461
+ //# sourceMappingURL=chunk-4BQOABRV.js.map
462
+ //# sourceMappingURL=chunk-4BQOABRV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ikon/unipo.tsx","../src/ikon/kotak.tsx","../src/ikon/ilustrasi.tsx"],"names":["jsx","React2","jsxs","Fragment"],"mappings":"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","file":"chunk-4BQOABRV.js","sourcesContent":["'use client';\nimport * as React from 'react';\nimport { cn } from '../lib/cn';\n\nexport interface IkonProps extends React.SVGProps<SVGSVGElement> {\n /** Ukuran (px atau CSS). Bawaan 24. */\n size?: number | string;\n strokeWidth?: number;\n /** Isi lembut warna kedua (duotone) memakai currentColor 18%. */\n duo?: boolean;\n}\n\n/** Pembuat ikon UNIPO bergaya sama dengan lucide (24×24, garis 2, ujung bulat) + opsi duotone. */\nfunction buat(nama: string, isi: React.ReactNode, duo?: React.ReactNode) {\n const C = React.forwardRef<SVGSVGElement, IkonProps>(function Ikon({ size = 24, strokeWidth = 2, duo: pakaiDuo, className, children, ...rest }, ref) {\n return (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={cn('u-ikon', `u-ikon-${nama}`, className)}\n aria-hidden={rest['aria-label'] ? undefined : true}\n {...rest}\n >\n {pakaiDuo && duo ? (\n <g fill=\"currentColor\" fillOpacity={0.18} stroke=\"none\">\n {duo}\n </g>\n ) : null}\n {isi}\n {children}\n </svg>\n );\n });\n C.displayName = `Ikon${nama.charAt(0).toUpperCase()}${nama.slice(1)}`;\n return C;\n}\n\n// ---------------------------------------------------------------- Akademik\n/** Kartu tanda mahasiswa. */\nexport const IkonKtm = buat(\n 'ktm',\n <>\n <rect x=\"2.5\" y=\"5\" width=\"19\" height=\"14\" rx=\"2.5\" />\n <circle cx=\"8\" cy=\"11\" r=\"2\" />\n <path d=\"M5 16c.6-1.4 1.7-2 3-2s2.4.6 3 2\" />\n <path d=\"M14 10h4.5M14 13h3\" />\n </>,\n <rect x=\"2.5\" y=\"5\" width=\"19\" height=\"14\" rx=\"2.5\" />,\n);\n/** Ijazah: gulungan dengan pita. */\nexport const IkonIjazah = buat(\n 'ijazah',\n <>\n <path d=\"M4 6.5A2.5 2.5 0 0 1 6.5 4H19v12H6.5A2.5 2.5 0 0 0 4 18.5z\" />\n <path d=\"M4 18.5A2.5 2.5 0 0 0 6.5 21H19v-5\" />\n <path d=\"M8 8h7M8 11h5\" />\n <circle cx=\"15.5\" cy=\"13.5\" r=\"1.5\" />\n </>,\n <path d=\"M4 6.5A2.5 2.5 0 0 1 6.5 4H19v12H6.5A2.5 2.5 0 0 0 4 18.5z\" />,\n);\n/** Kartu hasil studi (KHS): lembar nilai dengan grafik kecil. */\nexport const IkonKhs = buat(\n 'khs',\n <>\n <path d=\"M14 3H6.5A1.5 1.5 0 0 0 5 4.5v15A1.5 1.5 0 0 0 6.5 21h11a1.5 1.5 0 0 0 1.5-1.5V8z\" />\n <path d=\"M14 3v5h5\" />\n <path d=\"M8.5 17v-2M12 17v-4.5M15.5 17v-3\" />\n </>,\n <path d=\"M14 3H6.5A1.5 1.5 0 0 0 5 4.5v15A1.5 1.5 0 0 0 6.5 21h11a1.5 1.5 0 0 0 1.5-1.5V8z\" />,\n);\n/** Kartu rencana studi (KRS): daftar dengan centang. */\nexport const IkonKrs = buat(\n 'krs',\n <>\n <rect x=\"4\" y=\"3\" width=\"16\" height=\"18\" rx=\"2\" />\n <path d=\"m7.5 8 1.2 1.2L11 7M7.5 13l1.2 1.2L11 12\" />\n <path d=\"M13.5 8h3M13.5 13h3M7.5 17.5h9\" />\n </>,\n <rect x=\"4\" y=\"3\" width=\"16\" height=\"18\" rx=\"2\" />,\n);\n/** Satuan kredit semester: tumpukan buku. */\nexport const IkonSks = buat(\n 'sks',\n <>\n <rect x=\"3.5\" y=\"15\" width=\"17\" height=\"4.5\" rx=\"1\" />\n <rect x=\"5\" y=\"10\" width=\"14\" height=\"5\" rx=\"1\" />\n <rect x=\"6.5\" y=\"4.5\" width=\"11\" height=\"5.5\" rx=\"1\" />\n <path d=\"M7 17.25h4M8.5 12.5h3M10 7.25h4\" />\n </>,\n <rect x=\"5\" y=\"10\" width=\"14\" height=\"5\" rx=\"1\" />,\n);\n/** Toga wisuda dengan tali. */\nexport const IkonToga = buat(\n 'toga',\n <>\n <path d=\"M2 9.5 12 5l10 4.5-10 4.5z\" />\n <path d=\"M6 11.5V16c0 1.5 2.7 3 6 3s6-1.5 6-3v-4.5\" />\n <path d=\"M20 10.5v5.5\" />\n <circle cx=\"20\" cy=\"17\" r=\"1\" />\n </>,\n <path d=\"M2 9.5 12 5l10 4.5-10 4.5z\" />,\n);\n/** Skripsi/tugas akhir: buku tebal dengan pembatas. */\nexport const IkonSkripsi = buat(\n 'skripsi',\n <>\n <path d=\"M5 4.5A1.5 1.5 0 0 1 6.5 3H19v15H6.5A1.5 1.5 0 0 0 5 19.5z\" />\n <path d=\"M5 19.5A1.5 1.5 0 0 0 6.5 21H19\" />\n <path d=\"M14 3v6l2-1.3L18 9V3\" />\n <path d=\"M8.5 12h6M8.5 15h4\" />\n </>,\n <path d=\"M5 4.5A1.5 1.5 0 0 1 6.5 3H19v15H6.5A1.5 1.5 0 0 0 5 19.5z\" />,\n);\n/** Uang kuliah tunggal: dompet dengan topi wisuda kecil. */\nexport const IkonUkt = buat(\n 'ukt',\n <>\n <path d=\"M19 8V6.5A1.5 1.5 0 0 0 17.5 5h-12A2.5 2.5 0 0 0 3 7.5v9A2.5 2.5 0 0 0 5.5 19h12a1.5 1.5 0 0 0 1.5-1.5V16\" />\n <path d=\"M21 10h-4a2 2 0 0 0 0 4h4z\" />\n <path d=\"m6 10 3-1.5 3 1.5-3 1.5z\" />\n </>,\n <path d=\"M19 8V6.5A1.5 1.5 0 0 0 17.5 5h-12A2.5 2.5 0 0 0 3 7.5v9A2.5 2.5 0 0 0 5.5 19h12a1.5 1.5 0 0 0 1.5-1.5V16\" />,\n);\n/** Beasiswa: koin dengan topi wisuda. */\nexport const IkonBeasiswa = buat(\n 'beasiswa',\n <>\n <circle cx=\"12\" cy=\"13\" r=\"7.5\" />\n <path d=\"m7.5 12 4.5-2 4.5 2-4.5 2z\" />\n <path d=\"M9.5 13v2c0 .7 1.1 1.3 2.5 1.3s2.5-.6 2.5-1.3v-2\" />\n <path d=\"M12 2.5v2M8 3.5l.8 1.6M16 3.5l-.8 1.6\" />\n </>,\n <circle cx=\"12\" cy=\"13\" r=\"7.5\" />,\n);\n/** Yudisium: palu sidang dan berkas. */\nexport const IkonYudisium = buat(\n 'yudisium',\n <>\n <path d=\"m13 5 6 6M11.5 6.5l6 6M14 4l5 5-2.5 2.5-5-5z\" />\n <path d=\"m11 10-6.5 6.5a1.4 1.4 0 0 0 2 2L13 12\" />\n <path d=\"M13 20h8\" />\n </>,\n <path d=\"M14 4l5 5-2.5 2.5-5-5z\" />,\n);\n/** Presensi QR. */\nexport const IkonPresensi = buat(\n 'presensi',\n <>\n <rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1.5\" />\n <rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1.5\" />\n <rect x=\"3\" y=\"14\" width=\"7\" height=\"7\" rx=\"1.5\" />\n <path d=\"M14 14h3v3M21 14v.01M17 21h4v-4M14 18v3\" />\n </>,\n <>\n <rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1.5\" />\n <rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1.5\" />\n <rect x=\"3\" y=\"14\" width=\"7\" height=\"7\" rx=\"1.5\" />\n </>,\n);\n/** Jadwal kuliah: kalender dengan jam. */\nexport const IkonJadwalKuliah = buat(\n 'jadwal-kuliah',\n <>\n <path d=\"M20 11V6.5A1.5 1.5 0 0 0 18.5 5h-13A1.5 1.5 0 0 0 4 6.5v12A1.5 1.5 0 0 0 5.5 20H11\" />\n <path d=\"M8 3v4M16 3v4M4 10h16\" />\n <circle cx=\"17\" cy=\"17\" r=\"4\" />\n <path d=\"M17 15.5V17l1 1\" />\n </>,\n <path d=\"M4 6.5A1.5 1.5 0 0 1 5.5 5h13A1.5 1.5 0 0 1 20 6.5V10H4z\" />,\n);\n\n// ---------------------------------------------------------------- Kelembagaan & layanan\n/** Gedung kampus berpilar. */\nexport const IkonKampus = buat(\n 'kampus',\n <>\n <path d=\"M3 9.5 12 4l9 5.5\" />\n <path d=\"M4 9.5h16\" />\n <path d=\"M6 12v6M10 12v6M14 12v6M18 12v6\" />\n <path d=\"M3 21h18M4 18h16\" />\n </>,\n <path d=\"M3 9.5 12 4l9 5.5z\" />,\n);\n/** Akreditasi: lencana bintang dengan pita. */\nexport const IkonAkreditasi = buat(\n 'akreditasi',\n <>\n <circle cx=\"12\" cy=\"9\" r=\"6\" />\n <path d=\"m12 6 1 2 2.2.3-1.6 1.5.4 2.2-2-1-2 1 .4-2.2L8.8 8.3 11 8z\" />\n <path d=\"M8.5 14 7 21l5-2.5L17 21l-1.5-7\" />\n </>,\n <circle cx=\"12\" cy=\"9\" r=\"6\" />,\n);\n/** Organisasi mahasiswa: tiga orang dengan bendera. */\nexport const IkonOrmawa = buat(\n 'ormawa',\n <>\n <circle cx=\"12\" cy=\"8\" r=\"2.5\" />\n <circle cx=\"5.5\" cy=\"10.5\" r=\"2\" />\n <circle cx=\"18.5\" cy=\"10.5\" r=\"2\" />\n <path d=\"M7.5 20v-1.5a4.5 4.5 0 0 1 9 0V20M2 20v-1a3.5 3.5 0 0 1 4.5-3.3M22 20v-1a3.5 3.5 0 0 0-4.5-3.3\" />\n <path d=\"M12 5.5V2l3 1.2L12 4.4\" />\n </>,\n <circle cx=\"12\" cy=\"8\" r=\"2.5\" />,\n);\n/** KKN/pengabdian: rumah desa dengan pohon. */\nexport const IkonKkn = buat(\n 'kkn',\n <>\n <path d=\"M3 11 9 6l6 5\" />\n <path d=\"M4.5 10v10h9V10\" />\n <path d=\"M8 20v-4h2v4\" />\n <circle cx=\"18.5\" cy=\"10\" r=\"2.5\" />\n <path d=\"M18.5 12.5V20M2 20h20\" />\n </>,\n <path d=\"M4.5 10 9 6.3l4.5 3.7v10h-9z\" />,\n);\n/** Penelitian: tabung dengan grafik. */\nexport const IkonPenelitian = buat(\n 'penelitian',\n <>\n <path d=\"M9 3h6M10 3v6l-5 8.5A2.3 2.3 0 0 0 7 21h10a2.3 2.3 0 0 0 2-3.5L14 9V3\" />\n <path d=\"M7.5 15h9\" />\n <circle cx=\"11\" cy=\"17.5\" r=\".6\" />\n <circle cx=\"14\" cy=\"18\" r=\".6\" />\n </>,\n <path d=\"M7.5 15h9l1.5 2.5A2.3 2.3 0 0 1 17 21H7a2.3 2.3 0 0 1-2-3.5z\" />,\n);\n/** Surat resmi dengan kop dan stempel. */\nexport const IkonSurat = buat(\n 'surat',\n <>\n <path d=\"M14 3H6.5A1.5 1.5 0 0 0 5 4.5v15A1.5 1.5 0 0 0 6.5 21h11a1.5 1.5 0 0 0 1.5-1.5V8z\" />\n <path d=\"M14 3v5h5\" />\n <path d=\"M8 7h3M8 11h8M8 14h6\" />\n <circle cx=\"15\" cy=\"17.5\" r=\"1.8\" />\n </>,\n <circle cx=\"15\" cy=\"17.5\" r=\"1.8\" />,\n);\n/** Tanda tangan elektronik. */\nexport const IkonTandaTangan = buat(\n 'tanda-tangan',\n <>\n <path d=\"M3 17c2-3 3.5-7 5-7s.5 6 2 6 2.5-4 4-4 1 3 2.5 3 2-1.5 3.5-2\" />\n <path d=\"M3 21h18\" />\n <path d=\"m15.5 4.5 3 3-6 6H9.5v-3z\" />\n </>,\n <path d=\"m15.5 4.5 3 3-6 6H9.5v-3z\" />,\n);\n/** Sinkronisasi PDDikti/Feeder: awan dengan panah dua arah. */\nexport const IkonSinkronPddikti = buat(\n 'sinkron-pddikti',\n <>\n <path d=\"M7 18.5A4.5 4.5 0 0 1 6.5 9.5 6 6 0 0 1 18 8a4 4 0 0 1-.5 8\" />\n <path d=\"M10 13l2-2 2 2M12 11v8M14 17l-2 2\" />\n </>,\n <path d=\"M7 18.5A4.5 4.5 0 0 1 6.5 9.5 6 6 0 0 1 18 8a4 4 0 0 1-.5 8z\" />,\n);\n/** Peminjaman ruang: pintu dengan kalender. */\nexport const IkonPinjamRuang = buat(\n 'pinjam-ruang',\n <>\n <path d=\"M4 21V4.5A1.5 1.5 0 0 1 5.5 3h7A1.5 1.5 0 0 1 14 4.5V21\" />\n <path d=\"M2 21h20\" />\n <circle cx=\"11\" cy=\"12\" r=\".8\" />\n <rect x=\"15\" y=\"10\" width=\"7\" height=\"7\" rx=\"1.2\" />\n <path d=\"M15 12.5h7M17 9v2M20 9v2\" />\n </>,\n <path d=\"M4 21V4.5A1.5 1.5 0 0 1 5.5 3h7A1.5 1.5 0 0 1 14 4.5V21z\" />,\n);\n/** Alumni/karier: koper dengan topi wisuda. */\nexport const IkonAlumni = buat(\n 'alumni',\n <>\n <rect x=\"3\" y=\"9\" width=\"18\" height=\"11\" rx=\"2\" />\n <path d=\"M9 9V7a1.5 1.5 0 0 1 1.5-1.5h3A1.5 1.5 0 0 1 15 7v2\" />\n <path d=\"m8 14 4-1.8 4 1.8-4 1.8z\" />\n </>,\n <rect x=\"3\" y=\"9\" width=\"18\" height=\"11\" rx=\"2\" />,\n);\n/** Berita/humas: koran dengan pengeras suara. */\nexport const IkonBerita = buat(\n 'berita',\n <>\n <path d=\"M4 5.5A1.5 1.5 0 0 1 5.5 4h10A1.5 1.5 0 0 1 17 5.5V19a2 2 0 0 0 2 2H6a2 2 0 0 1-2-2z\" />\n <path d=\"M17 9h2.5A1.5 1.5 0 0 1 21 10.5V19a2 2 0 0 1-4 0\" />\n <rect x=\"7\" y=\"7.5\" width=\"7\" height=\"4\" rx=\".8\" />\n <path d=\"M7 15h7M7 18h5\" />\n </>,\n <rect x=\"7\" y=\"7.5\" width=\"7\" height=\"4\" rx=\".8\" />,\n);\n\n/** Semua ikon khas UNIPO (untuk galeri dan pencarian). */\nexport const IKON_UNIPO = {\n IkonKtm,\n IkonIjazah,\n IkonKhs,\n IkonKrs,\n IkonSks,\n IkonToga,\n IkonSkripsi,\n IkonUkt,\n IkonBeasiswa,\n IkonYudisium,\n IkonPresensi,\n IkonJadwalKuliah,\n IkonKampus,\n IkonAkreditasi,\n IkonOrmawa,\n IkonKkn,\n IkonPenelitian,\n IkonSurat,\n IkonTandaTangan,\n IkonSinkronPddikti,\n IkonPinjamRuang,\n IkonAlumni,\n IkonBerita,\n};\n","'use client';\nimport * as React from 'react';\nimport { cn } from '../lib/cn';\n\n/** Warna ikon dan ilustrasi. Selain nada tema (primary…info) tersedia warna fitur yang tetap. */\nexport type NadaIkon = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'neutral' | 'biru' | 'indigo' | 'ungu' | 'merah-muda' | 'mawar' | 'oranye' | 'kuning' | 'hijau' | 'toska' | 'langit' | 'abu';\n\nexport interface IkonKotakProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'children'> {\n children: React.ReactNode;\n nada?: NadaIkon;\n /** sm 32, md 40, lg 48, xl 64 px. */\n ukuran?: 'sm' | 'md' | 'lg' | 'xl';\n /** clay: timbul lembut seperti 3D (bawaan); lembut: latar pucat datar; padat: warna penuh; garis: tepi saja. */\n gaya?: 'clay' | 'lembut' | 'padat' | 'garis';\n bentuk?: 'kotak' | 'bulat';\n /** Gerak saat disorot: angkat (bawaan), ayun, putar, tidak. */\n gerak?: 'angkat' | 'ayun' | 'putar' | 'tidak';\n}\n\n/**\n * Ikon dalam kotak berwarna bergaya clay (timbul lembut), untuk kartu modul, statistik, menu, dan keadaan kosong.\n * <IkonKotak nada=\"ungu\"><IkonBeasiswa /></IkonKotak>\n */\nexport function IkonKotak({ children, nada = 'primary', ukuran = 'md', gaya = 'clay', bentuk = 'kotak', gerak = 'angkat', className, ...rest }: IkonKotakProps) {\n return (\n <span className={cn('u-ikon-kotak', className)} data-nada={nada} data-ukuran={ukuran} data-gaya={gaya} data-bentuk={bentuk} data-gerak={gerak} {...rest}>\n {children}\n </span>\n );\n}\n","'use client';\nimport * as React from 'react';\nimport {\n Archive,\n Award,\n BadgeCheck,\n Bell,\n BookMarked,\n BookOpen,\n Briefcase,\n Building2,\n CalendarDays,\n ClipboardCheck,\n Compass,\n Contact,\n Database,\n DoorOpen,\n FileCheck2,\n FileSearch,\n Gauge,\n GraduationCap,\n Handshake,\n IdCard,\n KeyRound,\n Landmark,\n Library,\n LifeBuoy,\n ListTree,\n Lock,\n Megaphone,\n MessageSquareText,\n MonitorPlay,\n Newspaper,\n PartyPopper,\n Plug,\n Repeat,\n Route,\n Search,\n Send,\n ShieldCheck,\n Sparkles,\n Target,\n TriangleAlert,\n UserPlus,\n UserRound,\n Users,\n Wallet,\n Warehouse,\n Wrench,\n} from 'lucide-react';\nimport { cn } from '../lib/cn';\nimport type { NadaIkon } from './kotak';\nimport { IkonAkreditasi, IkonBeasiswa, IkonKampus, IkonKhs, IkonKkn, IkonKrs, IkonKtm, IkonOrmawa, IkonPenelitian, IkonPinjamRuang, IkonSinkronPddikti, IkonSkripsi, IkonSurat, IkonToga, IkonUkt } from './unipo';\n\ntype Ik = React.ComponentType<React.SVGProps<SVGSVGElement> & { size?: number | string; strokeWidth?: number }>;\ninterface Adegan {\n nada: NadaIkon;\n /** Ikon utama di kotak besar. */\n ikon: Ik;\n /** Ikon kedua di kotak kecil yang miring. */\n ikon2?: Ik;\n /** Tampilkan tokoh. */\n tokoh?: 'jalan' | 'tunjuk' | 'duduk';\n}\n\n/** Adegan ilustrasi untuk tiap modul katalog dan keadaan umum. */\nexport const ADEGAN: Record<string, Adegan> = {\n // Grup\n sistem: { nada: 'indigo', ikon: ShieldCheck, ikon2: KeyRound },\n referensi: { nada: 'toska', ikon: Database, ikon2: ListTree },\n akademik: { nada: 'biru', ikon: GraduationCap, ikon2: IkonKrs },\n kemahasiswaan: { nada: 'merah-muda', ikon: IkonOrmawa, ikon2: Award },\n alumni: { nada: 'ungu', ikon: Compass, ikon2: Briefcase },\n kelembagaan: { nada: 'kuning', ikon: Landmark, ikon2: IkonAkreditasi },\n layanan: { nada: 'hijau', ikon: FileCheck2, ikon2: IkonSurat },\n sarana: { nada: 'oranye', ikon: Warehouse, ikon2: IkonPinjamRuang },\n humas: { nada: 'mawar', ikon: Megaphone, ikon2: Newspaper },\n // Modul\n akses: { nada: 'indigo', ikon: ShieldCheck, ikon2: KeyRound },\n 'portal-api': { nada: 'indigo', ikon: Plug, ikon2: KeyRound },\n profil: { nada: 'indigo', ikon: UserRound, ikon2: IkonKtm },\n notifikasi: { nada: 'indigo', ikon: Bell, ikon2: Send },\n integrasi: { nada: 'indigo', ikon: Plug, ikon2: Sparkles },\n pddikti: { nada: 'indigo', ikon: IkonSinkronPddikti, ikon2: Send },\n dasbor: { nada: 'indigo', ikon: Gauge, ikon2: Target },\n 'referensi-akademik': { nada: 'toska', ikon: ListTree, ikon2: Database },\n master: { nada: 'toska', ikon: Database, ikon2: IkonKampus },\n induk: { nada: 'toska', ikon: Building2, ikon2: Users },\n perkuliahan: { nada: 'biru', ikon: GraduationCap, ikon2: IkonKrs },\n kurikulum: { nada: 'biru', ikon: BookOpen, ikon2: Target },\n kalender: { nada: 'biru', ikon: CalendarDays, ikon2: Bell },\n admisi: { nada: 'biru', ikon: DoorOpen, ikon2: IkonUkt },\n pmb: { nada: 'biru', ikon: UserPlus, ikon2: IkonKtm },\n lms: { nada: 'biru', ikon: MonitorPlay, ikon2: BookOpen },\n cbt: { nada: 'biru', ikon: ClipboardCheck, ikon2: IkonKhs },\n edom: { nada: 'biru', ikon: MessageSquareText, ikon2: BadgeCheck },\n mbkm: { nada: 'biru', ikon: Route, ikon2: Briefcase },\n rpl: { nada: 'biru', ikon: Repeat, ikon2: IkonKhs },\n kelulusan: { nada: 'biru', ikon: IkonToga, ikon2: Award },\n tracer: { nada: 'ungu', ikon: Compass, ikon2: IkonToga },\n karier: { nada: 'ungu', ikon: Briefcase, ikon2: Handshake },\n fakultas: { nada: 'kuning', ikon: Landmark, ikon2: IkonKampus },\n sdm: { nada: 'kuning', ikon: IdCard, ikon2: Users },\n keu: { nada: 'kuning', ikon: Wallet, ikon2: IkonUkt },\n lppm: { nada: 'kuning', ikon: IkonPenelitian, ikon2: IkonKkn },\n spmi: { nada: 'kuning', ikon: BadgeCheck, ikon2: IkonAkreditasi },\n iku: { nada: 'kuning', ikon: Target, ikon2: Gauge },\n kerjasama: { nada: 'kuning', ikon: Handshake, ikon2: IkonSurat },\n arsip: { nada: 'hijau', ikon: Archive, ikon2: IkonSurat },\n helpdesk: { nada: 'hijau', ikon: LifeBuoy, ikon2: MessageSquareText },\n sarpras: { nada: 'oranye', ikon: Warehouse, ikon2: IkonPinjamRuang },\n perpustakaan: { nada: 'oranye', ikon: BookMarked, ikon2: Library },\n repositori: { nada: 'oranye', ikon: Library, ikon2: IkonSkripsi },\n portal: { nada: 'mawar', ikon: Newspaper, ikon2: Megaphone },\n crm: { nada: 'mawar', ikon: Contact, ikon2: Target },\n beasiswa: { nada: 'merah-muda', ikon: IkonBeasiswa, ikon2: Award },\n // Keadaan\n kosong: { nada: 'langit', ikon: FileSearch, tokoh: 'tunjuk' },\n cari: { nada: 'langit', ikon: Search, tokoh: 'tunjuk' },\n galat: { nada: 'mawar', ikon: TriangleAlert, tokoh: 'duduk' },\n pemeliharaan: { nada: 'kuning', ikon: Wrench, tokoh: 'duduk' },\n terkunci: { nada: 'indigo', ikon: Lock, tokoh: 'tunjuk' },\n sukses: { nada: 'hijau', ikon: PartyPopper, tokoh: 'jalan' },\n 'selamat-datang': { nada: 'biru', ikon: Sparkles, ikon2: IkonKampus, tokoh: 'jalan' },\n};\n\n/** Nama adegan yang tersedia. */\nexport type NamaIlustrasi = keyof typeof ADEGAN | (string & {});\n\nexport interface IlustrasiProps extends Omit<React.SVGProps<SVGSVGElement>, 'children'> {\n /** Kunci modul katalog (akademik, keu, sarpras, …), grup, atau keadaan (kosong, galat, pemeliharaan, sukses, terkunci, cari, selamat-datang). */\n nama: NamaIlustrasi;\n /** Lebar (px/CSS). Tinggi ikut rasio 4:3. */\n lebar?: number | string;\n /** Bentuk melayang dan tokoh bergerak pelan (bawaan true; mati bila pengguna memilih kurangi gerakan). */\n bergerak?: boolean;\n /** Ganti warna/ikon. */\n nada?: NadaIkon;\n ikon?: Ik;\n /** Teks alternatif; kosong = dekoratif. */\n label?: string;\n}\n\n/**\n * Ilustrasi vektor bergaya 3D lembut (clay) untuk modul dan keadaan: kotak ikon timbul, bentuk geometris\n * melayang, dan tokoh untuk keadaan kosong/galat/sukses. Warna mengikuti tema dan mode gelap.\n * <Ilustrasi nama=\"beasiswa\" lebar={240} />\n */\nexport function Ilustrasi({ nama, lebar = 240, bergerak = true, nada, ikon, label, className, style, ...rest }: IlustrasiProps) {\n const a = ADEGAN[nama] ?? { nada: 'primary' as const, ikon: Sparkles };\n const uid = React.useId().replace(/:/g, '');\n const Ikon = ikon ?? a.ikon;\n const Ikon2 = a.ikon2;\n const g = (n: string) => `${uid}-${n}`;\n const ada = Boolean(a.tokoh);\n const kx = ada ? 128 : 78; // posisi kotak utama\n return (\n <svg\n viewBox=\"0 0 240 180\"\n width={lebar}\n className={cn('u-ilustrasi', className)}\n data-nada={nada ?? a.nada}\n data-bergerak={bergerak || undefined}\n role={label ? 'img' : undefined}\n aria-label={label}\n aria-hidden={label ? undefined : true}\n style={style}\n {...rest}\n >\n <defs>\n <radialGradient id={g('latar')} cx=\"50%\" cy=\"45%\" r=\"60%\">\n <stop offset=\"0\" className=\"u-ilus-latar-1\" />\n <stop offset=\"1\" className=\"u-ilus-latar-2\" />\n </radialGradient>\n <linearGradient id={g('kotak')} x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\">\n <stop offset=\"0\" className=\"u-ilus-terang\" />\n <stop offset=\"1\" className=\"u-ilus-gelap\" />\n </linearGradient>\n <linearGradient id={g('kilap')} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop offset=\"0\" stopColor=\"#fff\" stopOpacity=\"0.55\" />\n <stop offset=\"0.6\" stopColor=\"#fff\" stopOpacity=\"0\" />\n </linearGradient>\n <linearGradient id={g('baju')} x1=\"0\" y1=\"0\" x2=\"0.4\" y2=\"1\">\n <stop offset=\"0\" stopColor=\"#4aa3f0\" />\n <stop offset=\"1\" stopColor=\"#1f6fd1\" />\n </linearGradient>\n <linearGradient id={g('celana')} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop offset=\"0\" stopColor=\"#3a3f55\" />\n <stop offset=\"1\" stopColor=\"#1e2233\" />\n </linearGradient>\n <radialGradient id={g('kulit')} cx=\"40%\" cy=\"35%\" r=\"70%\">\n <stop offset=\"0\" stopColor=\"#ffe3cf\" />\n <stop offset=\"1\" stopColor=\"#f2b896\" />\n </radialGradient>\n <filter id={g('bayang')} x=\"-30%\" y=\"-30%\" width=\"160%\" height=\"170%\">\n <feDropShadow dx=\"0\" dy=\"6\" stdDeviation=\"6\" floodOpacity=\"0.18\" />\n </filter>\n </defs>\n\n {/* Latar lembut */}\n <ellipse cx=\"120\" cy=\"92\" rx=\"104\" ry=\"78\" fill={`url(#${g('latar')})`} />\n\n {/* Bentuk melayang (segitiga, cincin, belah ketupat) */}\n <g className=\"u-ilus-bentuk\">\n <path className=\"u-ilus-b1\" d=\"M28 40l10-3 -3 10z\" fill=\"#5fd4c4\" />\n <path className=\"u-ilus-b2\" d=\"M200 28l14 6-12 9z\" fill=\"#ec8cc8\" />\n <circle className=\"u-ilus-b3\" cx=\"214\" cy=\"104\" r=\"7\" fill=\"none\" stroke=\"#7c7cf0\" strokeWidth=\"4.5\" />\n <circle className=\"u-ilus-b4\" cx=\"26\" cy=\"122\" r=\"6\" fill=\"none\" stroke=\"#f4c95d\" strokeWidth=\"4\" />\n <path className=\"u-ilus-b5\" d=\"M190 146l7 -9 4 11z\" fill=\"none\" stroke=\"#5fd4c4\" strokeWidth=\"2.5\" strokeLinejoin=\"round\" />\n <rect className=\"u-ilus-b6\" x=\"52\" y=\"18\" width=\"8\" height=\"8\" rx=\"1.5\" transform=\"rotate(25 56 22)\" fill=\"#5fd4c4\" opacity=\".85\" />\n </g>\n\n {/* Bayangan lantai */}\n <ellipse cx={ada ? 120 : 120} cy=\"160\" rx={ada ? 78 : 56} ry=\"6\" className=\"u-ilus-lantai\" />\n\n {/* Kotak kedua (miring di belakang) */}\n {Ikon2 && (\n <g className=\"u-ilus-kotak2\" transform={`translate(${kx + 52} 70) rotate(12)`}>\n <rect x=\"-22\" y=\"-22\" width=\"44\" height=\"44\" rx=\"12\" fill={`url(#${g('kotak')})`} filter={`url(#${g('bayang')})`} opacity=\".92\" />\n <rect x=\"-22\" y=\"-22\" width=\"44\" height=\"44\" rx=\"12\" fill={`url(#${g('kilap')})`} />\n <Ikon2 x={-11} y={-11} width={22} height={22} stroke=\"#fff\" strokeWidth={2.2} />\n </g>\n )}\n\n {/* Kotak utama timbul */}\n <g className=\"u-ilus-kotak\" transform={`translate(${kx} 96)`}>\n <rect x=\"-38\" y=\"-34\" width=\"76\" height=\"76\" rx=\"20\" className=\"u-ilus-sisi\" />\n <rect x=\"-38\" y=\"-40\" width=\"76\" height=\"76\" rx=\"20\" fill={`url(#${g('kotak')})`} filter={`url(#${g('bayang')})`} />\n <rect x=\"-38\" y=\"-40\" width=\"76\" height=\"76\" rx=\"20\" fill={`url(#${g('kilap')})`} />\n <Ikon x={-19} y={-21} width={38} height={38} stroke=\"#fff\" strokeWidth={2} />\n </g>\n\n {/* Tokoh */}\n {a.tokoh && <Tokoh pose={a.tokoh} g={g} />}\n </svg>\n );\n}\n\n/** Tokoh bergaya clay: rambut cepol, sweter biru, celana gelap, sepatu putih. */\nfunction Tokoh({ pose, g }: { pose: 'jalan' | 'tunjuk' | 'duduk'; g: (n: string) => string }) {\n const kaki =\n pose === 'duduk' ? (\n <>\n <path d=\"M50 118 L74 120 L76 150\" stroke={`url(#${g('celana')})`} strokeWidth=\"14\" strokeLinecap=\"round\" strokeLinejoin=\"round\" fill=\"none\" />\n <path d=\"M44 120 L66 126 L64 152\" stroke={`url(#${g('celana')})`} strokeWidth=\"14\" strokeLinecap=\"round\" strokeLinejoin=\"round\" fill=\"none\" />\n <ellipse cx=\"80\" cy=\"154\" rx=\"9\" ry=\"5\" fill=\"#eef1f8\" stroke=\"#1e2233\" strokeWidth=\"2\" />\n <ellipse cx=\"68\" cy=\"156\" rx=\"9\" ry=\"5\" fill=\"#eef1f8\" stroke=\"#1e2233\" strokeWidth=\"2\" />\n </>\n ) : (\n <>\n <path className=\"u-ilus-kaki-b\" d=\"M52 112 L36 132 L28 150\" stroke={`url(#${g('celana')})`} strokeWidth=\"14\" strokeLinecap=\"round\" strokeLinejoin=\"round\" fill=\"none\" />\n <path className=\"u-ilus-kaki-d\" d=\"M60 112 L72 132 L84 146\" stroke={`url(#${g('celana')})`} strokeWidth=\"14\" strokeLinecap=\"round\" strokeLinejoin=\"round\" fill=\"none\" />\n <ellipse cx=\"24\" cy=\"153\" rx=\"9\" ry=\"5\" transform=\"rotate(-20 24 153)\" fill=\"#eef1f8\" stroke=\"#1e2233\" strokeWidth=\"2\" />\n <ellipse cx=\"89\" cy=\"149\" rx=\"9\" ry=\"5\" transform=\"rotate(15 89 149)\" fill=\"#eef1f8\" stroke=\"#1e2233\" strokeWidth=\"2\" />\n </>\n );\n const lenganDepan = pose === 'tunjuk' ? 'M68 76 L86 66 L100 58' : pose === 'duduk' ? 'M68 78 L78 96 L90 100' : 'M68 76 L84 70 L96 62';\n const tanganDepan = pose === 'tunjuk' ? [102, 56] : pose === 'duduk' ? [93, 100] : [98, 60];\n return (\n <g className=\"u-ilus-tokoh\" data-pose={pose} transform={pose === 'duduk' ? 'translate(4 0)' : undefined}>\n {kaki}\n {/* lengan belakang */}\n <path d=\"M44 78 L32 94 L28 104\" stroke=\"#1f6fd1\" strokeWidth=\"11\" strokeLinecap=\"round\" strokeLinejoin=\"round\" fill=\"none\" />\n <circle cx=\"27\" cy=\"107\" r=\"5.5\" fill={`url(#${g('kulit')})`} />\n {/* badan */}\n <path d=\"M40 72 Q40 60 54 60 L62 60 Q74 60 74 74 L72 112 Q72 120 64 120 L48 120 Q40 120 40 112 Z\" fill={`url(#${g('baju')})`} />\n <path d=\"M44 66 Q56 62 66 64\" stroke=\"#fff\" strokeOpacity=\".35\" strokeWidth=\"3\" strokeLinecap=\"round\" fill=\"none\" />\n {/* lengan depan */}\n <path className=\"u-ilus-lengan\" d={lenganDepan} stroke=\"#3a8ee6\" strokeWidth=\"11\" strokeLinecap=\"round\" strokeLinejoin=\"round\" fill=\"none\" />\n <circle cx={tanganDepan[0]} cy={tanganDepan[1]} r=\"5.5\" fill={`url(#${g('kulit')})`} />\n {/* kepala */}\n <g className=\"u-ilus-kepala\">\n <circle cx=\"58\" cy=\"44\" r=\"14\" fill={`url(#${g('kulit')})`} />\n <path d=\"M44 42 Q45 28 59 29 Q72 30 72 42 Q66 36 58 37 Q50 37 44 42 Z\" fill=\"#1e2233\" />\n <circle cx=\"57\" cy=\"24\" r=\"7\" fill=\"#1e2233\" />\n <path d=\"M51 29 Q57 33 63 29\" stroke=\"#f4c95d\" strokeWidth=\"3\" strokeLinecap=\"round\" fill=\"none\" />\n <circle cx=\"64\" cy=\"45\" r=\"1.4\" fill=\"#1e2233\" />\n <path d=\"M61 51 Q64 53 67 50\" stroke=\"#1e2233\" strokeWidth=\"1.4\" strokeLinecap=\"round\" fill=\"none\" />\n <ellipse cx=\"58\" cy=\"52\" rx=\"4\" ry=\"2.5\" fill=\"#f08bb3\" opacity=\".45\" />\n </g>\n </g>\n );\n}\n"]}