unipo-ui 1.8.0 → 1.11.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 (92) hide show
  1. package/dist/{chunk-5T2FWP5A.js → chunk-3GCVMEWH.js} +116 -4
  2. package/dist/chunk-3GCVMEWH.js.map +1 -0
  3. package/dist/{chunk-LTADAXBH.cjs → chunk-ALNLOACG.cjs} +6 -5
  4. package/dist/chunk-ALNLOACG.cjs.map +1 -0
  5. package/dist/{chunk-4YZB47GC.cjs → chunk-BE6YT3UM.cjs} +54 -15
  6. package/dist/chunk-BE6YT3UM.cjs.map +1 -0
  7. package/dist/{chunk-2CDMQI7K.js → chunk-D2IW3JNM.js} +438 -29
  8. package/dist/chunk-D2IW3JNM.js.map +1 -0
  9. package/dist/{chunk-CM4EFDV7.js → chunk-D5LSMIRT.js} +4 -4
  10. package/dist/{chunk-CM4EFDV7.js.map → chunk-D5LSMIRT.js.map} +1 -1
  11. package/dist/{chunk-HGQGB7ET.cjs → chunk-F353BYGT.cjs} +115 -115
  12. package/dist/{chunk-HGQGB7ET.cjs.map → chunk-F353BYGT.cjs.map} +1 -1
  13. package/dist/{chunk-BRARGLUX.js → chunk-HF6PYMP6.js} +6 -5
  14. package/dist/chunk-HF6PYMP6.js.map +1 -0
  15. package/dist/{chunk-NA23226U.js → chunk-JVICOFZC.js} +5 -127
  16. package/dist/chunk-JVICOFZC.js.map +1 -0
  17. package/dist/{chunk-WCWWDV2A.cjs → chunk-M3YX3K3E.cjs} +512 -79
  18. package/dist/chunk-M3YX3K3E.cjs.map +1 -0
  19. package/dist/chunk-NIRXA7SK.js +127 -0
  20. package/dist/chunk-NIRXA7SK.js.map +1 -0
  21. package/dist/chunk-SB33KUBL.cjs +130 -0
  22. package/dist/chunk-SB33KUBL.cjs.map +1 -0
  23. package/dist/{chunk-5BRCBOYC.cjs → chunk-UUPG77ZE.cjs} +43 -167
  24. package/dist/chunk-UUPG77ZE.cjs.map +1 -0
  25. package/dist/{chunk-UC2H3PKQ.cjs → chunk-WYOQ7RBA.cjs} +189 -70
  26. package/dist/chunk-WYOQ7RBA.cjs.map +1 -0
  27. package/dist/{chunk-OLQKRLWL.js → chunk-XEZCQKEQ.js} +54 -15
  28. package/dist/chunk-XEZCQKEQ.js.map +1 -0
  29. package/dist/editor.cjs +125 -124
  30. package/dist/editor.cjs.map +1 -1
  31. package/dist/editor.js +5 -3
  32. package/dist/editor.js.map +1 -1
  33. package/dist/ikon.cjs +28 -28
  34. package/dist/ikon.d.cts +3 -1
  35. package/dist/ikon.d.ts +3 -1
  36. package/dist/ikon.js +1 -1
  37. package/dist/index.cjs +337 -241
  38. package/dist/index.d.cts +117 -6
  39. package/dist/index.d.ts +117 -6
  40. package/dist/index.js +7 -7
  41. package/dist/katalog.cjs +107 -108
  42. package/dist/katalog.cjs.map +1 -1
  43. package/dist/katalog.js +4 -5
  44. package/dist/katalog.js.map +1 -1
  45. package/dist/{pemeliharaan-C-wGiwqE.d.ts → landing-B5c1OZvz.d.ts} +161 -1
  46. package/dist/{pemeliharaan-DZRBOGGS.d.cts → landing-CwNnf1Qj.d.cts} +161 -1
  47. package/dist/registry.json +662 -2
  48. package/dist/scss/components/_cbt.scss +37 -1
  49. package/dist/scss/components/_content.scss +11 -0
  50. package/dist/scss/components/_display.scss +14 -0
  51. package/dist/scss/components/_landing.scss +831 -0
  52. package/dist/scss/components/_lms-belajar.scss +1764 -0
  53. package/dist/scss/components/_pmb-maba.scss +741 -0
  54. package/dist/scss/components/_pmb-publik.scss +690 -0
  55. package/dist/scss/components/_tata-letak.scss +283 -0
  56. package/dist/scss/index.scss +5 -0
  57. package/dist/siakad.cjs +12889 -7700
  58. package/dist/siakad.cjs.map +1 -1
  59. package/dist/siakad.d.cts +1534 -15
  60. package/dist/siakad.d.ts +1534 -15
  61. package/dist/siakad.js +12391 -7374
  62. package/dist/siakad.js.map +1 -1
  63. package/dist/ui-unipo.css +4614 -2
  64. package/dist/ui-unipo.min.css +1 -1
  65. package/package.json +2 -2
  66. package/src/components/display.tsx +65 -7
  67. package/src/components/landing.tsx +576 -0
  68. package/src/components/tata-letak.tsx +217 -0
  69. package/src/ikon/ilustrasi.tsx +23 -4
  70. package/src/index.ts +2 -0
  71. package/src/siakad/cbt.tsx +155 -29
  72. package/src/siakad/index.ts +3 -0
  73. package/src/siakad/kalender.tsx +23 -7
  74. package/src/siakad/lms-belajar.tsx +3297 -0
  75. package/src/siakad/lms.tsx +7 -3
  76. package/src/siakad/pmb-maba.tsx +1934 -0
  77. package/src/siakad/pmb-publik.tsx +1628 -0
  78. package/src/siakad/pmb.tsx +419 -66
  79. package/dist/chunk-2CDMQI7K.js.map +0 -1
  80. package/dist/chunk-4YZB47GC.cjs.map +0 -1
  81. package/dist/chunk-5BRCBOYC.cjs.map +0 -1
  82. package/dist/chunk-5T2FWP5A.js.map +0 -1
  83. package/dist/chunk-BRARGLUX.js.map +0 -1
  84. package/dist/chunk-FK24GBNJ.cjs +0 -150
  85. package/dist/chunk-FK24GBNJ.cjs.map +0 -1
  86. package/dist/chunk-ITIQ2IHX.js +0 -122
  87. package/dist/chunk-ITIQ2IHX.js.map +0 -1
  88. package/dist/chunk-LTADAXBH.cjs.map +0 -1
  89. package/dist/chunk-NA23226U.js.map +0 -1
  90. package/dist/chunk-OLQKRLWL.js.map +0 -1
  91. package/dist/chunk-UC2H3PKQ.cjs.map +0 -1
  92. package/dist/chunk-WCWWDV2A.cjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { Button, formatDate, Popover, formatBytes, Badge, InputGroup, Input, Dialog, Field, DialogClose, Tooltip, Checkbox, Empty, Skeleton, SortButton, Select, Pagination, formatTime, formatNumber, Menu, Separator } from './chunk-OLQKRLWL.js';
2
+ import { Button, formatDate, Popover, formatBytes, Badge, InputGroup, Input, Dialog, Field, DialogClose, Tooltip, Checkbox, Empty, Skeleton, SortButton, Select, Pagination, formatTime, formatNumber, Menu, Separator } from './chunk-XEZCQKEQ.js';
3
3
  import { dataFlag, cn } from './chunk-JSUHAYQ4.js';
4
4
  import * as React4 from 'react';
5
5
  import { ChevronLeft, ChevronRight, CalendarDays, UploadCloud, FileText, X, Check, Copy, PlusCircle, Search, SlidersHorizontal, ListFilter, Rows3, Columns3, Download, AlertTriangle, SearchX, CircleAlert, ArrowLeft, ArrowRight, Pencil, ArrowUpRight, ArrowDownRight, Minus, Wrench, CalendarClock, RefreshCw, MoreHorizontal } from 'lucide-react';
@@ -1703,7 +1703,119 @@ function BannerPemeliharaan({ start, end, message, showHoursBefore = 48, dismiss
1703
1703
  )
1704
1704
  ] });
1705
1705
  }
1706
+ var ANIMASI_FITUR = {
1707
+ notifikasi: "lonceng",
1708
+ pengumuman: "lonceng",
1709
+ kalender: "balik",
1710
+ agenda: "balik",
1711
+ portal: "balik",
1712
+ humas: "balik",
1713
+ keu: "naik",
1714
+ keuangan: "naik",
1715
+ pembayaran: "naik",
1716
+ unggah: "naik",
1717
+ berkas: "naik",
1718
+ pddikti: "putar",
1719
+ sinkron: "putar",
1720
+ integrasi: "putar",
1721
+ pemeliharaan: "putar",
1722
+ helpdesk: "denyut",
1723
+ tiket: "denyut",
1724
+ dasbor: "denyut",
1725
+ cbt: "denyut",
1726
+ kelulusan: "pantul",
1727
+ prestasi: "pantul",
1728
+ wisuda: "pantul",
1729
+ kemahasiswaan: "pantul",
1730
+ akses: "goyang",
1731
+ galat: "goyang",
1732
+ ditolak: "goyang",
1733
+ ai: "ketik",
1734
+ editor: "ketik",
1735
+ arsip: "geser",
1736
+ layanan: "geser",
1737
+ sukses: "sukses"
1738
+ };
1739
+ function animasiFitur(fitur) {
1740
+ return fitur && ANIMASI_FITUR[fitur] || "masuk";
1741
+ }
1742
+ var BERULANG = ["denyut", "mengambang", "putar"];
1743
+ function Animasi({ jenis = "masuk", tunda, durasi, pemicu, as = "div", ulang, className, style, children, ...rest }) {
1744
+ const p = pemicu ?? (BERULANG.includes(jenis) ? "selalu" : "muat");
1745
+ const ref = React4.useRef(null);
1746
+ const [terlihat, setTerlihat] = React4.useState(p !== "terlihat");
1747
+ React4.useEffect(() => {
1748
+ if (p !== "terlihat" || !ref.current || typeof IntersectionObserver === "undefined") return setTerlihat(true);
1749
+ const io = new IntersectionObserver(
1750
+ ([e]) => {
1751
+ if (e.isIntersecting) {
1752
+ setTerlihat(true);
1753
+ io.disconnect();
1754
+ }
1755
+ },
1756
+ { rootMargin: "0px 0px -10% 0px" }
1757
+ );
1758
+ io.observe(ref.current);
1759
+ return () => io.disconnect();
1760
+ }, [p]);
1761
+ const ms = tunda === void 0 ? void 0 : tunda > 20 ? tunda : tunda * 60;
1762
+ const Tag = as;
1763
+ return /* @__PURE__ */ jsx(
1764
+ Tag,
1765
+ {
1766
+ ref,
1767
+ className: cn("u-anim", className),
1768
+ "data-anim": jenis,
1769
+ "data-pemicu": p,
1770
+ "data-siap": terlihat || void 0,
1771
+ style: { ...ms !== void 0 ? { ["--u-anim-tunda"]: `${ms}ms` } : {}, ...durasi ? { ["--u-anim-durasi"]: `${durasi}ms` } : {}, ...style },
1772
+ ...rest,
1773
+ children
1774
+ },
1775
+ ulang
1776
+ );
1777
+ }
1778
+ function Bertahap({ jenis = "masuk", jeda = 60, pemicu = "muat", className, children, as = "div" }) {
1779
+ return /* @__PURE__ */ jsx(Fragment, { children: React4.Children.toArray(children).map((c, i) => /* @__PURE__ */ jsx(Animasi, { jenis, tunda: i * jeda + 1, pemicu, className, as, children: c }, c.key ?? i)) });
1780
+ }
1781
+ function kurangiGerak() {
1782
+ return typeof window !== "undefined" && window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;
1783
+ }
1784
+ function AngkaBerjalan({ nilai, durasi = 900, format = (n) => formatNumber(Math.round(n)), className }) {
1785
+ const [tampil, setTampil] = React4.useState(nilai);
1786
+ const dari = React4.useRef(0);
1787
+ React4.useEffect(() => {
1788
+ if (kurangiGerak()) return setTampil(nilai);
1789
+ const awal = dari.current;
1790
+ const t0 = performance.now();
1791
+ let id = 0;
1792
+ const langkah = (t) => {
1793
+ const p = Math.min(1, (t - t0) / durasi);
1794
+ const e = 1 - Math.pow(1 - p, 3);
1795
+ setTampil(awal + (nilai - awal) * e);
1796
+ if (p < 1) id = requestAnimationFrame(langkah);
1797
+ else dari.current = nilai;
1798
+ };
1799
+ id = requestAnimationFrame(langkah);
1800
+ return () => cancelAnimationFrame(id);
1801
+ }, [nilai, durasi]);
1802
+ return /* @__PURE__ */ jsx("span", { className: cn("u-angka-berjalan", className), "aria-label": format(nilai), children: /* @__PURE__ */ jsx("span", { "aria-hidden": true, children: format(tampil) }) });
1803
+ }
1804
+ function CentangSukses({ ukuran = 56, nada = "success", className, label = "Berhasil" }) {
1805
+ const silang = nada === "danger";
1806
+ return /* @__PURE__ */ jsxs("svg", { className: cn("u-centang", className), "data-nada": nada, width: ukuran, height: ukuran, viewBox: "0 0 52 52", role: "img", "aria-label": label, children: [
1807
+ /* @__PURE__ */ jsx("circle", { className: "u-centang-lingkar", cx: "26", cy: "26", r: "23", fill: "none", strokeWidth: "3" }),
1808
+ silang ? /* @__PURE__ */ jsx("path", { className: "u-centang-tanda", fill: "none", strokeWidth: "4", strokeLinecap: "round", d: "M18 18 34 34M34 18 18 34" }) : /* @__PURE__ */ jsx("path", { className: "u-centang-tanda", fill: "none", strokeWidth: "4", strokeLinecap: "round", strokeLinejoin: "round", d: "M15 27l7 7 15-16" })
1809
+ ] });
1810
+ }
1811
+ function TitikMengetik({ label = "Sedang mengetik", className }) {
1812
+ return /* @__PURE__ */ jsxs("span", { className: cn("u-titik-mengetik", className), role: "status", "aria-label": label, children: [
1813
+ /* @__PURE__ */ jsx("i", {}),
1814
+ /* @__PURE__ */ jsx("i", {}),
1815
+ /* @__PURE__ */ jsx("i", {})
1816
+ ] });
1817
+ }
1706
1818
 
1707
- export { ActionList, ActivityFeed, BannerPemeliharaan, BarChart, BarList, BudgetMeter, CHART_COLORS, Calendar, CodeBlock, CopyButton, CycleSteps, DashboardGrid, DataTable, DatePicker, DonutChart, Dropzone, FacetFilter, FileList, FilterBar, FormGrid, Funnel, GroupedBarChart, InlineCode, KodeLaporan, LineChart, ModePemeliharaan, Panel, SegmentBar, Sparkline, StatCard, StatGrid, Wizard, WizardReview, chartColor, filterToQuery, monthMatrix, parseISODate, requestIdDari, toISODate, tokenize, useCopy, useFilterParams };
1708
- //# sourceMappingURL=chunk-5T2FWP5A.js.map
1709
- //# sourceMappingURL=chunk-5T2FWP5A.js.map
1819
+ export { ANIMASI_FITUR, ActionList, ActivityFeed, AngkaBerjalan, Animasi, BannerPemeliharaan, BarChart, BarList, Bertahap, BudgetMeter, CHART_COLORS, Calendar, CentangSukses, CodeBlock, CopyButton, CycleSteps, DashboardGrid, DataTable, DatePicker, DonutChart, Dropzone, FacetFilter, FileList, FilterBar, FormGrid, Funnel, GroupedBarChart, InlineCode, KodeLaporan, LineChart, ModePemeliharaan, Panel, SegmentBar, Sparkline, StatCard, StatGrid, TitikMengetik, Wizard, WizardReview, animasiFitur, chartColor, filterToQuery, monthMatrix, parseISODate, requestIdDari, toISODate, tokenize, useCopy, useFilterParams };
1820
+ //# sourceMappingURL=chunk-3GCVMEWH.js.map
1821
+ //# sourceMappingURL=chunk-3GCVMEWH.js.map