@local-civics/mgmt-ui 0.1.243 → 0.1.244
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.d.ts +11 -91
- package/dist/index.js +60 -329
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +62 -330
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -60,7 +60,7 @@ function styleInject(css, ref) {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
var css_248z = "@font-face{font-family:ProximaNova;src:url(https://cdn.localcivics.io/fonts/ProximaNova.otf) format(\"opentype\")}@font-face{font-family:ProximaNova;font-weight:700;src:url(https://cdn.localcivics.io/fonts/ProximaNovaBold.otf) format(\"opentype\")}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.\\!relative{position:relative!important}.left-3{left:.75rem}.top-1\\/2{top:50%}.left-3\\.5{left:.875rem}.bottom-\\[-20px\\]{bottom:-20px}.left-1\\/2{left:50%}.m-3{margin:.75rem}.mt-0\\.5{margin-top:.125rem}.mt-0{margin-top:0}.mt-6{margin-top:1.5rem}.mt-2{margin-top:.5rem}.mt-1{margin-top:.25rem}.mb-2{margin-bottom:.5rem}.mt-1\\.5{margin-top:.375rem}.-ml-2{margin-left:-.5rem}.mt-4{margin-top:1rem}.mt-3{margin-top:.75rem}.mb-8{margin-bottom:2rem}.mb-1{margin-bottom:.25rem}.ml-\\[29px\\]{margin-left:29px}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-full{height:100%}.h-9{height:2.25rem}.h-8{height:2rem}.h-7{height:1.75rem}.h-5{height:1.25rem}.h-12{height:3rem}.h-\\[300px\\]{height:300px}.h-screen{height:100vh}.h-14{height:3.5rem}.h-16{height:4rem}.h-28{height:7rem}.h-\\[30px\\]{height:30px}.h-\\[400px\\]{height:400px}.max-h-\\[70vh\\]{max-height:70vh}.w-10{width:2.5rem}.w-full{width:100%}.w-fit{width:-moz-fit-content;width:fit-content}.w-36{width:9rem}.w-28{width:7rem}.w-4{width:1rem}.w-9{width:2.25rem}.w-\\[296px\\]{width:296px}.w-40{width:10rem}.w-24{width:6rem}.w-56{width:14rem}.w-8{width:2rem}.w-7{width:1.75rem}.w-64{width:16rem}.w-5{width:1.25rem}.w-16{width:4rem}.w-12{width:3rem}.w-\\[440px\\]{width:440px}.w-20{width:5rem}.w-\\[250px\\]{width:250px}.w-screen{width:100vw}.w-\\[500px\\]{width:500px}.w-14{width:3.5rem}.w-\\[230px\\]{width:230px}.w-\\[30px\\]{width:30px}.w-max{width:-moz-max-content;width:max-content}.min-w-0{min-width:0}.max-w-xs{max-width:20rem}.max-w-xl{max-width:36rem}.max-w-\\[460px\\]{max-width:460px}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\\/2{--tw-translate-y:-50%}.-translate-x-1\\/2,.-translate-y-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-1\\/2{--tw-translate-x:-50%}.rotate-180{--tw-rotate:180deg}.rotate-180,.rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-\\[2\\.2fr_1\\.2fr_1fr_1\\.2fr_1fr_0\\.6fr\\]{grid-template-columns:2.2fr 1.2fr 1fr 1.2fr 1fr .6fr}.grid-cols-\\[1\\.5fr_2fr_1fr_0\\.6fr\\]{grid-template-columns:1.5fr 2fr 1fr .6fr}.grid-cols-\\[1\\.3fr_1\\.3fr_2fr_1fr_1fr\\]{grid-template-columns:1.3fr 1.3fr 2fr 1fr 1fr}.grid-cols-\\[1\\.5fr_2fr_0\\.8fr\\]{grid-template-columns:1.5fr 2fr .8fr}.grid-cols-\\[1fr_3fr\\]{grid-template-columns:1fr 3fr}.grid-cols-\\[1fr_1fr_2fr_0\\.8fr\\]{grid-template-columns:1fr 1fr 2fr .8fr}.grid-cols-\\[2fr_1fr\\]{grid-template-columns:2fr 1fr}.grid-cols-\\[2\\.2fr_1\\.2fr_1fr_1fr_0\\.6fr\\]{grid-template-columns:2.2fr 1.2fr 1fr 1fr .6fr}.grid-cols-\\[2\\.2fr_1fr\\]{grid-template-columns:2.2fr 1fr}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-\\[18px\\]{gap:18px}.gap-5{gap:1.25rem}.gap-3{gap:.75rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-1\\.5{gap:.375rem}.gap-2\\.5{gap:.625rem}.gap-3\\.5{gap:.875rem}.gap-0\\.5{gap:.125rem}.gap-0{gap:0}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-y-4{row-gap:1rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.-space-y-\\[3px\\]>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(-3px*var(--tw-space-y-reverse));margin-top:calc(-3px*(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-none{overscroll-behavior:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-\\[10px\\]{border-radius:10px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:1.5rem}.rounded-\\[8px\\]{border-radius:8px}.border{border-width:1px}.border-2{border-width:2px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-l{border-left-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity))}.border-sky-blue-400\\/40{border-color:rgba(59,208,242,.4)}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-sky-blue-400\\/30{border-color:rgba(59,208,242,.3)}.border-mint-400\\/30{border-color:rgba(30,226,175,.3)}.border-gold-400\\/30{border-color:rgba(255,212,77,.3)}.border-transparent{border-color:transparent}.border-l-sky-blue-400{--tw-border-opacity:1;border-left-color:rgb(59 208 242/var(--tw-border-opacity))}.border-l-mint-400{--tw-border-opacity:1;border-left-color:rgb(30 226 175/var(--tw-border-opacity))}.border-l-gold-400{--tw-border-opacity:1;border-left-color:rgb(255 212 77/var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-sky-blue-400\\/20{background-color:rgba(59,208,242,.2)}.bg-mint-100{--tw-bg-opacity:1;background-color:rgb(208 251 240/var(--tw-bg-opacity))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.bg-gold-100{--tw-bg-opacity:1;background-color:rgb(255 248 214/var(--tw-bg-opacity))}.bg-mint-400\\/20{background-color:rgba(30,226,175,.2)}.bg-transparent{background-color:transparent}.bg-dark-blue-400{--tw-bg-opacity:1;background-color:rgb(35 42 58/var(--tw-bg-opacity))}.bg-slate-50\\/60{background-color:rgba(248,250,252,.6)}.bg-gold-400\\/15{background-color:rgba(255,212,77,.15)}.bg-sky-blue-400\\/10{background-color:rgba(59,208,242,.1)}.bg-white\\/90{background-color:hsla(0,0%,100%,.9)}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.bg-sky-blue-400\\/15{background-color:rgba(59,208,242,.15)}.bg-mint-400\\/15{background-color:rgba(30,226,175,.15)}.bg-sky-blue-400\\/25{background-color:rgba(59,208,242,.25)}.bg-mint-400\\/25{background-color:rgba(30,226,175,.25)}.bg-gold-400\\/25{background-color:rgba(255,212,77,.25)}.bg-gold-400{--tw-bg-opacity:1;background-color:rgb(255 212 77/var(--tw-bg-opacity))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-sky-blue-400{--tw-gradient-from:#3bd0f2;--tw-gradient-to:rgba(59,208,242,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-mint-400{--tw-gradient-from:#1ee2af;--tw-gradient-to:rgba(30,226,175,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gold-400{--tw-gradient-from:#ffd44d;--tw-gradient-to:rgba(255,212,77,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-dark-blue-600{--tw-gradient-from:#0a0f2e;--tw-gradient-to:rgba(10,15,46,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-sky-blue-400\\/15{--tw-gradient-from:rgba(59,208,242,.15);--tw-gradient-to:rgba(59,208,242,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-dark-blue-400{--tw-gradient-to:rgba(35,42,58,0);--tw-gradient-stops:var(--tw-gradient-from),#232a3a,var(--tw-gradient-to)}.to-dark-blue-400{--tw-gradient-to:#232a3a}.to-\\[\\#f5c300\\]{--tw-gradient-to:#f5c300}.to-sky-blue-400{--tw-gradient-to:#3bd0f2}.to-mint-400\\/15{--tw-gradient-to:rgba(30,226,175,.15)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-4{padding:1rem}.p-8{padding:2rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-3{padding:.75rem}.p-2\\.5{padding:.625rem}.p-2{padding:.5rem}.px-\\[22px\\]{padding-left:22px;padding-right:22px}.py-\\[18px\\]{padding-bottom:18px;padding-top:18px}.px-4{padding-left:1rem;padding-right:1rem}.py-8{padding-bottom:2rem;padding-top:2rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3\\.5{padding-left:.875rem;padding-right:.875rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-3\\.5{padding-bottom:.875rem;padding-top:.875rem}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-0{padding-bottom:0;padding-top:0}.py-4{padding-bottom:1rem;padding-top:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pl-9{padding-left:2.25rem}.pr-4{padding-right:1rem}.pl-10{padding-left:2.5rem}.pb-2{padding-bottom:.5rem}.pr-1{padding-right:.25rem}.pl-4{padding-left:1rem}.pt-0\\.5{padding-top:.125rem}.pt-0{padding-top:0}.pb-12{padding-bottom:3rem}.pl-2\\.5{padding-left:.625rem}.pl-2{padding-left:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-proxima{font-family:ProximaNova}.text-\\[15\\.5px\\]{font-size:15.5px}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-\\[10px\\]{font-size:10px}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-\\[10\\.5px\\]{font-size:10.5px}.text-\\[11px\\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-\\[28px\\]{font-size:28px}.text-\\[12\\.5px\\]{font-size:12.5px}.text-\\[11\\.5px\\]{font-size:11.5px}.text-3xl{font-size:1.875rem;line-height:2.25rem}.font-extrabold{font-weight:800}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-black{font-weight:900}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-dark-blue-400{--tw-text-opacity:1;color:rgb(35 42 58/var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity))}.text-mint-400{--tw-text-opacity:1;color:rgb(30 226 175/var(--tw-text-opacity))}.text-sky-blue-400{--tw-text-opacity:1;color:rgb(59 208 242/var(--tw-text-opacity))}.text-white\\/70{color:hsla(0,0%,100%,.7)}.text-gold-400{--tw-text-opacity:1;color:rgb(255 212 77/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-\\[0_3px_12px_rgba\\(255\\2c 212\\2c 77\\2c 0\\.35\\)\\],.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[0_3px_12px_rgba\\(255\\2c 212\\2c 77\\2c 0\\.35\\)\\]{--tw-shadow:0 3px 12px rgba(255,212,77,.35);--tw-shadow-colored:0 3px 12px var(--tw-shadow-color)}.shadow-\\[0_2px_10px_rgba\\(30\\2c 226\\2c 175\\2c 0\\.15\\)\\]{--tw-shadow:0 2px 10px rgba(30,226,175,.15);--tw-shadow-colored:0 2px 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.line-clamp-2{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden}*,:after,:before{border-style:solid;border-width:0}button{background-color:transparent;background-image:none;color:inherit;cursor:pointer;font:inherit;margin:0;padding:0;text-transform:none}.placeholder\\:text-slate-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.placeholder\\:text-slate-400::placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.first\\:ml-0:first-child{margin-left:0}.hover\\:scale-\\[1\\.02\\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.hover\\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.hover\\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.hover\\:bg-sky-blue-400\\/20:hover{background-color:rgba(59,208,242,.2)}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.hover\\:text-slate-600:hover{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity))}.hover\\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.hover\\:text-sky-blue-400:hover{--tw-text-opacity:1;color:rgb(59 208 242/var(--tw-text-opacity))}.hover\\:text-dark-blue-400:hover{--tw-text-opacity:1;color:rgb(35 42 58/var(--tw-text-opacity))}.hover\\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.hover\\:text-slate-500:hover{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:border-sky-blue-400:focus{--tw-border-opacity:1;border-color:rgb(59 208 242/var(--tw-border-opacity))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:opacity-40:disabled{opacity:.4}@media (min-width:640px){.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.md\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}";
|
|
63
|
+
var css_248z = "@font-face{font-family:ProximaNova;src:url(https://cdn.localcivics.io/fonts/ProximaNova.otf) format(\"opentype\")}@font-face{font-family:ProximaNova;font-weight:700;src:url(https://cdn.localcivics.io/fonts/ProximaNovaBold.otf) format(\"opentype\")}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.\\!relative{position:relative!important}.left-3{left:.75rem}.top-1\\/2{top:50%}.left-3\\.5{left:.875rem}.bottom-\\[-20px\\]{bottom:-20px}.left-1\\/2{left:50%}.m-3{margin:.75rem}.mt-0\\.5{margin-top:.125rem}.mt-0{margin-top:0}.mt-6{margin-top:1.5rem}.mt-2{margin-top:.5rem}.mt-1{margin-top:.25rem}.mb-2{margin-bottom:.5rem}.mt-1\\.5{margin-top:.375rem}.-ml-2{margin-left:-.5rem}.mt-4{margin-top:1rem}.mt-3{margin-top:.75rem}.mb-8{margin-bottom:2rem}.mb-1{margin-bottom:.25rem}.ml-\\[29px\\]{margin-left:29px}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-full{height:100%}.h-9{height:2.25rem}.h-8{height:2rem}.h-7{height:1.75rem}.h-5{height:1.25rem}.h-12{height:3rem}.h-\\[300px\\]{height:300px}.h-screen{height:100vh}.h-14{height:3.5rem}.h-16{height:4rem}.h-28{height:7rem}.h-\\[30px\\]{height:30px}.h-\\[400px\\]{height:400px}.max-h-\\[70vh\\]{max-height:70vh}.w-10{width:2.5rem}.w-full{width:100%}.w-fit{width:-moz-fit-content;width:fit-content}.w-36{width:9rem}.w-28{width:7rem}.w-4{width:1rem}.w-9{width:2.25rem}.w-\\[296px\\]{width:296px}.w-40{width:10rem}.w-24{width:6rem}.w-56{width:14rem}.w-8{width:2rem}.w-7{width:1.75rem}.w-64{width:16rem}.w-5{width:1.25rem}.w-16{width:4rem}.w-12{width:3rem}.w-\\[440px\\]{width:440px}.w-20{width:5rem}.w-\\[250px\\]{width:250px}.w-screen{width:100vw}.w-\\[500px\\]{width:500px}.w-14{width:3.5rem}.w-\\[230px\\]{width:230px}.w-\\[30px\\]{width:30px}.w-max{width:-moz-max-content;width:max-content}.min-w-0{min-width:0}.max-w-xs{max-width:20rem}.max-w-xl{max-width:36rem}.max-w-\\[460px\\]{max-width:460px}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\\/2{--tw-translate-y:-50%}.-translate-x-1\\/2,.-translate-y-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-1\\/2{--tw-translate-x:-50%}.rotate-180{--tw-rotate:180deg}.rotate-180,.rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-\\[2\\.2fr_1\\.2fr_1fr_1\\.2fr_1fr_0\\.6fr\\]{grid-template-columns:2.2fr 1.2fr 1fr 1.2fr 1fr .6fr}.grid-cols-\\[1\\.5fr_2fr_1fr_0\\.6fr\\]{grid-template-columns:1.5fr 2fr 1fr .6fr}.grid-cols-\\[1\\.3fr_1\\.3fr_2fr_1fr_1fr\\]{grid-template-columns:1.3fr 1.3fr 2fr 1fr 1fr}.grid-cols-\\[2\\.2fr_1\\.2fr_1fr_1fr_0\\.6fr\\]{grid-template-columns:2.2fr 1.2fr 1fr 1fr .6fr}.grid-cols-\\[2\\.2fr_1fr\\]{grid-template-columns:2.2fr 1fr}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-\\[18px\\]{gap:18px}.gap-5{gap:1.25rem}.gap-3{gap:.75rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-1\\.5{gap:.375rem}.gap-2\\.5{gap:.625rem}.gap-3\\.5{gap:.875rem}.gap-0\\.5{gap:.125rem}.gap-0{gap:0}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-y-4{row-gap:1rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.-space-y-\\[3px\\]>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(-3px*var(--tw-space-y-reverse));margin-top:calc(-3px*(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-none{overscroll-behavior:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-\\[10px\\]{border-radius:10px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:1.5rem}.rounded-\\[8px\\]{border-radius:8px}.border{border-width:1px}.border-2{border-width:2px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-l{border-left-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity))}.border-sky-blue-400\\/40{border-color:rgba(59,208,242,.4)}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-sky-blue-400\\/30{border-color:rgba(59,208,242,.3)}.border-mint-400\\/30{border-color:rgba(30,226,175,.3)}.border-gold-400\\/30{border-color:rgba(255,212,77,.3)}.border-transparent{border-color:transparent}.border-l-sky-blue-400{--tw-border-opacity:1;border-left-color:rgb(59 208 242/var(--tw-border-opacity))}.border-l-mint-400{--tw-border-opacity:1;border-left-color:rgb(30 226 175/var(--tw-border-opacity))}.border-l-gold-400{--tw-border-opacity:1;border-left-color:rgb(255 212 77/var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-sky-blue-400\\/20{background-color:rgba(59,208,242,.2)}.bg-mint-100{--tw-bg-opacity:1;background-color:rgb(208 251 240/var(--tw-bg-opacity))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.bg-gold-100{--tw-bg-opacity:1;background-color:rgb(255 248 214/var(--tw-bg-opacity))}.bg-mint-400\\/20{background-color:rgba(30,226,175,.2)}.bg-transparent{background-color:transparent}.bg-dark-blue-400{--tw-bg-opacity:1;background-color:rgb(35 42 58/var(--tw-bg-opacity))}.bg-slate-50\\/60{background-color:rgba(248,250,252,.6)}.bg-gold-400\\/15{background-color:rgba(255,212,77,.15)}.bg-sky-blue-400\\/10{background-color:rgba(59,208,242,.1)}.bg-white\\/90{background-color:hsla(0,0%,100%,.9)}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.bg-sky-blue-400\\/15{background-color:rgba(59,208,242,.15)}.bg-mint-400\\/15{background-color:rgba(30,226,175,.15)}.bg-sky-blue-400\\/25{background-color:rgba(59,208,242,.25)}.bg-mint-400\\/25{background-color:rgba(30,226,175,.25)}.bg-gold-400\\/25{background-color:rgba(255,212,77,.25)}.bg-gold-400{--tw-bg-opacity:1;background-color:rgb(255 212 77/var(--tw-bg-opacity))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-sky-blue-400{--tw-gradient-from:#3bd0f2;--tw-gradient-to:rgba(59,208,242,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-mint-400{--tw-gradient-from:#1ee2af;--tw-gradient-to:rgba(30,226,175,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gold-400{--tw-gradient-from:#ffd44d;--tw-gradient-to:rgba(255,212,77,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-dark-blue-600{--tw-gradient-from:#0a0f2e;--tw-gradient-to:rgba(10,15,46,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-sky-blue-400\\/15{--tw-gradient-from:rgba(59,208,242,.15);--tw-gradient-to:rgba(59,208,242,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-dark-blue-400{--tw-gradient-to:rgba(35,42,58,0);--tw-gradient-stops:var(--tw-gradient-from),#232a3a,var(--tw-gradient-to)}.to-dark-blue-400{--tw-gradient-to:#232a3a}.to-\\[\\#f5c300\\]{--tw-gradient-to:#f5c300}.to-sky-blue-400{--tw-gradient-to:#3bd0f2}.to-mint-400\\/15{--tw-gradient-to:rgba(30,226,175,.15)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-4{padding:1rem}.p-8{padding:2rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-3{padding:.75rem}.p-2\\.5{padding:.625rem}.p-2{padding:.5rem}.px-\\[22px\\]{padding-left:22px;padding-right:22px}.py-\\[18px\\]{padding-bottom:18px;padding-top:18px}.px-4{padding-left:1rem;padding-right:1rem}.py-8{padding-bottom:2rem;padding-top:2rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3\\.5{padding-left:.875rem;padding-right:.875rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-3\\.5{padding-bottom:.875rem;padding-top:.875rem}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-0{padding-bottom:0;padding-top:0}.py-4{padding-bottom:1rem;padding-top:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pl-9{padding-left:2.25rem}.pr-4{padding-right:1rem}.pl-10{padding-left:2.5rem}.pb-2{padding-bottom:.5rem}.pr-1{padding-right:.25rem}.pl-4{padding-left:1rem}.pt-0\\.5{padding-top:.125rem}.pt-0{padding-top:0}.pb-12{padding-bottom:3rem}.pl-2\\.5{padding-left:.625rem}.pl-2{padding-left:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-proxima{font-family:ProximaNova}.text-\\[15\\.5px\\]{font-size:15.5px}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-\\[10px\\]{font-size:10px}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-\\[10\\.5px\\]{font-size:10.5px}.text-\\[11px\\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-\\[28px\\]{font-size:28px}.text-\\[12\\.5px\\]{font-size:12.5px}.text-\\[11\\.5px\\]{font-size:11.5px}.text-3xl{font-size:1.875rem;line-height:2.25rem}.font-extrabold{font-weight:800}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-black{font-weight:900}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-dark-blue-400{--tw-text-opacity:1;color:rgb(35 42 58/var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity))}.text-mint-400{--tw-text-opacity:1;color:rgb(30 226 175/var(--tw-text-opacity))}.text-sky-blue-400{--tw-text-opacity:1;color:rgb(59 208 242/var(--tw-text-opacity))}.text-white\\/70{color:hsla(0,0%,100%,.7)}.text-gold-400{--tw-text-opacity:1;color:rgb(255 212 77/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-\\[0_3px_12px_rgba\\(255\\2c 212\\2c 77\\2c 0\\.35\\)\\],.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[0_3px_12px_rgba\\(255\\2c 212\\2c 77\\2c 0\\.35\\)\\]{--tw-shadow:0 3px 12px rgba(255,212,77,.35);--tw-shadow-colored:0 3px 12px var(--tw-shadow-color)}.shadow-\\[0_2px_10px_rgba\\(30\\2c 226\\2c 175\\2c 0\\.15\\)\\]{--tw-shadow:0 2px 10px rgba(30,226,175,.15);--tw-shadow-colored:0 2px 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.line-clamp-2{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden}*,:after,:before{border-style:solid;border-width:0}button{background-color:transparent;background-image:none;color:inherit;cursor:pointer;font:inherit;margin:0;padding:0;text-transform:none}.placeholder\\:text-slate-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.placeholder\\:text-slate-400::placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.first\\:ml-0:first-child{margin-left:0}.hover\\:scale-\\[1\\.02\\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.hover\\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.hover\\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.hover\\:bg-sky-blue-400\\/20:hover{background-color:rgba(59,208,242,.2)}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.hover\\:text-slate-600:hover{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity))}.hover\\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.hover\\:text-sky-blue-400:hover{--tw-text-opacity:1;color:rgb(59 208 242/var(--tw-text-opacity))}.hover\\:text-dark-blue-400:hover{--tw-text-opacity:1;color:rgb(35 42 58/var(--tw-text-opacity))}.hover\\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.hover\\:text-slate-500:hover{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:border-sky-blue-400:focus{--tw-border-opacity:1;border-color:rgb(59 208 242/var(--tw-border-opacity))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:opacity-40:disabled{opacity:.4}@media (min-width:640px){.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.md\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}";
|
|
64
64
|
styleInject(css_248z);
|
|
65
65
|
|
|
66
66
|
function UserButton({ image, name, email }) {
|
|
@@ -144,28 +144,27 @@ function LinksGroup({ icon: Icon, href, label, accent = "cyan", initiallyOpened,
|
|
|
144
144
|
), hasLinks && opened && /* @__PURE__ */ React__namespace.createElement("div", { className: "ml-[29px] mt-0.5 flex flex-col gap-0.5 border-l border-slate-100 pl-2.5" }, items));
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
var __defProp$
|
|
148
|
-
var __defProps$
|
|
149
|
-
var __getOwnPropDescs$
|
|
150
|
-
var __getOwnPropSymbols$
|
|
151
|
-
var __hasOwnProp$
|
|
152
|
-
var __propIsEnum$
|
|
153
|
-
var __defNormalProp$
|
|
154
|
-
var __spreadValues$
|
|
147
|
+
var __defProp$i = Object.defineProperty;
|
|
148
|
+
var __defProps$f = Object.defineProperties;
|
|
149
|
+
var __getOwnPropDescs$f = Object.getOwnPropertyDescriptors;
|
|
150
|
+
var __getOwnPropSymbols$i = Object.getOwnPropertySymbols;
|
|
151
|
+
var __hasOwnProp$i = Object.prototype.hasOwnProperty;
|
|
152
|
+
var __propIsEnum$i = Object.prototype.propertyIsEnumerable;
|
|
153
|
+
var __defNormalProp$i = (obj, key, value) => key in obj ? __defProp$i(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
154
|
+
var __spreadValues$i = (a, b) => {
|
|
155
155
|
for (var prop in b || (b = {}))
|
|
156
|
-
if (__hasOwnProp$
|
|
157
|
-
__defNormalProp$
|
|
158
|
-
if (__getOwnPropSymbols$
|
|
159
|
-
for (var prop of __getOwnPropSymbols$
|
|
160
|
-
if (__propIsEnum$
|
|
161
|
-
__defNormalProp$
|
|
156
|
+
if (__hasOwnProp$i.call(b, prop))
|
|
157
|
+
__defNormalProp$i(a, prop, b[prop]);
|
|
158
|
+
if (__getOwnPropSymbols$i)
|
|
159
|
+
for (var prop of __getOwnPropSymbols$i(b)) {
|
|
160
|
+
if (__propIsEnum$i.call(b, prop))
|
|
161
|
+
__defNormalProp$i(a, prop, b[prop]);
|
|
162
162
|
}
|
|
163
163
|
return a;
|
|
164
164
|
};
|
|
165
|
-
var __spreadProps$
|
|
165
|
+
var __spreadProps$f = (a, b) => __defProps$f(a, __getOwnPropDescs$f(b));
|
|
166
166
|
const data = [
|
|
167
167
|
{ label: "Home", icon: icons.IconHome2, accent: "cyan" },
|
|
168
|
-
{ label: "Dashboard", icon: icons.IconGauge, accent: "mint" },
|
|
169
168
|
{ label: "Classes", icon: icons.IconCategory2, accent: "gold" },
|
|
170
169
|
{ label: "Pathways", icon: icons.IconRoute, accent: "cyan" },
|
|
171
170
|
{ label: "Badges", icon: icons.IconAlbum, accent: "mint" },
|
|
@@ -191,12 +190,12 @@ function Navbar(props) {
|
|
|
191
190
|
}
|
|
192
191
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
193
192
|
LinksGroup,
|
|
194
|
-
__spreadProps$
|
|
193
|
+
__spreadProps$f(__spreadValues$i(__spreadValues$i({
|
|
195
194
|
key: item.label,
|
|
196
195
|
active: props.active
|
|
197
196
|
}, item), context), {
|
|
198
197
|
links: (item.links || []).map((link) => {
|
|
199
|
-
return __spreadValues$
|
|
198
|
+
return __spreadValues$i(__spreadValues$i({}, link), props.links[`${item.label}/${link.label}`] || { notifications: 0, href: "" });
|
|
200
199
|
})
|
|
201
200
|
})
|
|
202
201
|
);
|
|
@@ -528,29 +527,29 @@ function useSortableData(items, config = { key: "", direction: null }) {
|
|
|
528
527
|
return { items: sortedItems, requestSort, sortConfig };
|
|
529
528
|
}
|
|
530
529
|
|
|
531
|
-
var __defProp$
|
|
532
|
-
var __defProps$
|
|
533
|
-
var __getOwnPropDescs$
|
|
534
|
-
var __getOwnPropSymbols$
|
|
535
|
-
var __hasOwnProp$
|
|
536
|
-
var __propIsEnum$
|
|
537
|
-
var __defNormalProp$
|
|
538
|
-
var __spreadValues$
|
|
530
|
+
var __defProp$h = Object.defineProperty;
|
|
531
|
+
var __defProps$e = Object.defineProperties;
|
|
532
|
+
var __getOwnPropDescs$e = Object.getOwnPropertyDescriptors;
|
|
533
|
+
var __getOwnPropSymbols$h = Object.getOwnPropertySymbols;
|
|
534
|
+
var __hasOwnProp$h = Object.prototype.hasOwnProperty;
|
|
535
|
+
var __propIsEnum$h = Object.prototype.propertyIsEnumerable;
|
|
536
|
+
var __defNormalProp$h = (obj, key, value) => key in obj ? __defProp$h(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
537
|
+
var __spreadValues$h = (a, b) => {
|
|
539
538
|
for (var prop in b || (b = {}))
|
|
540
|
-
if (__hasOwnProp$
|
|
541
|
-
__defNormalProp$
|
|
542
|
-
if (__getOwnPropSymbols$
|
|
543
|
-
for (var prop of __getOwnPropSymbols$
|
|
544
|
-
if (__propIsEnum$
|
|
545
|
-
__defNormalProp$
|
|
539
|
+
if (__hasOwnProp$h.call(b, prop))
|
|
540
|
+
__defNormalProp$h(a, prop, b[prop]);
|
|
541
|
+
if (__getOwnPropSymbols$h)
|
|
542
|
+
for (var prop of __getOwnPropSymbols$h(b)) {
|
|
543
|
+
if (__propIsEnum$h.call(b, prop))
|
|
544
|
+
__defNormalProp$h(a, prop, b[prop]);
|
|
546
545
|
}
|
|
547
546
|
return a;
|
|
548
547
|
};
|
|
549
|
-
var __spreadProps$
|
|
550
|
-
function Table$
|
|
548
|
+
var __spreadProps$e = (a, b) => __defProps$e(a, __getOwnPropDescs$e(b));
|
|
549
|
+
function Table$e(props) {
|
|
551
550
|
const [expanded, setExpanded] = React__namespace.useState({});
|
|
552
551
|
const preparedItems = React__namespace.useMemo(() => {
|
|
553
|
-
return props.items.map((item) => __spreadProps$
|
|
552
|
+
return props.items.map((item) => __spreadProps$e(__spreadValues$h({}, item), {
|
|
554
553
|
status: item.isComplete ? 1 : 0
|
|
555
554
|
}));
|
|
556
555
|
}, [props.items]);
|
|
@@ -573,7 +572,7 @@ function Table$j(props) {
|
|
|
573
572
|
return /* @__PURE__ */ React__namespace.createElement("div", { key: row.userId, className: "rounded-xl border border-slate-200 bg-white shadow-sm" }, /* @__PURE__ */ React__namespace.createElement(
|
|
574
573
|
"div",
|
|
575
574
|
{
|
|
576
|
-
onClick: () => setExpanded(__spreadProps$
|
|
575
|
+
onClick: () => setExpanded(__spreadProps$e(__spreadValues$h({}, expanded), { [row.userId]: !isOpen })),
|
|
577
576
|
className: "flex cursor-pointer items-center gap-4 p-4"
|
|
578
577
|
},
|
|
579
578
|
/* @__PURE__ */ React__namespace.createElement("div", { className: "flex min-w-0 flex-1 items-center gap-3" }, row.avatar ? /* @__PURE__ */ React__namespace.createElement("img", { src: row.avatar, className: "h-9 w-9 shrink-0 rounded-full object-cover", alt: "" }) : /* @__PURE__ */ React__namespace.createElement("div", { className: "flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-mint-400/20 text-xs font-bold text-dark-blue-400" }, initials), /* @__PURE__ */ React__namespace.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ React__namespace.createElement("div", { className: "truncate text-sm font-bold text-dark-blue-400" }, row.name), /* @__PURE__ */ React__namespace.createElement("div", { className: "truncate text-xs text-slate-400" }, row.email))),
|
|
@@ -583,7 +582,7 @@ function Table$j(props) {
|
|
|
583
582
|
}));
|
|
584
583
|
}
|
|
585
584
|
|
|
586
|
-
function Table$
|
|
585
|
+
function Table$d(props) {
|
|
587
586
|
const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
|
|
588
587
|
if (props.items.length === 0) {
|
|
589
588
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
@@ -608,7 +607,7 @@ function Table$i(props) {
|
|
|
608
607
|
)));
|
|
609
608
|
}
|
|
610
609
|
|
|
611
|
-
const TABS$
|
|
610
|
+
const TABS$4 = [
|
|
612
611
|
{ label: "By lesson", value: "lessons" },
|
|
613
612
|
{ label: "By student", value: "students" }
|
|
614
613
|
];
|
|
@@ -655,7 +654,7 @@ const Badge = (props) => {
|
|
|
655
654
|
},
|
|
656
655
|
/* @__PURE__ */ React__namespace.createElement("option", { value: "" }, "All classes"),
|
|
657
656
|
props.classes.map((c) => /* @__PURE__ */ React__namespace.createElement("option", { key: c.classId, value: c.classId }, c.name))
|
|
658
|
-
)), /* @__PURE__ */ React__namespace.createElement("div", { className: "flex flex-col gap-3" }, !props.trial && /* @__PURE__ */ React__namespace.createElement("div", { className: "flex w-fit gap-1 rounded-xl border border-slate-200 bg-white p-1" }, TABS$
|
|
657
|
+
)), /* @__PURE__ */ React__namespace.createElement("div", { className: "flex flex-col gap-3" }, !props.trial && /* @__PURE__ */ React__namespace.createElement("div", { className: "flex w-fit gap-1 rounded-xl border border-slate-200 bg-white p-1" }, TABS$4.map((t) => /* @__PURE__ */ React__namespace.createElement(
|
|
659
658
|
"button",
|
|
660
659
|
{
|
|
661
660
|
key: t.value,
|
|
@@ -663,10 +662,10 @@ const Badge = (props) => {
|
|
|
663
662
|
className: `rounded-lg px-4 py-2 text-xs font-bold ${tab === t.value ? "bg-sky-blue-400/20 text-dark-blue-400" : "text-slate-400 hover:text-slate-600"}`
|
|
664
663
|
},
|
|
665
664
|
t.label
|
|
666
|
-
))), (!!props.trial || tab === "lessons") && /* @__PURE__ */ React__namespace.createElement(Table$
|
|
665
|
+
))), (!!props.trial || tab === "lessons") && /* @__PURE__ */ React__namespace.createElement(Table$d, { loading: props.loading, items: props.lessons }), !props.trial && tab === "students" && /* @__PURE__ */ React__namespace.createElement(Table$e, { loading: props.loading, items: props.students, linkState: props.linkState })));
|
|
667
666
|
};
|
|
668
667
|
|
|
669
|
-
function Table$
|
|
668
|
+
function Table$c(props) {
|
|
670
669
|
const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
|
|
671
670
|
if (props.loading) {
|
|
672
671
|
return /* @__PURE__ */ React__namespace.createElement("div", { className: "text-sm text-slate-400" }, "Loading\u2026");
|
|
@@ -717,283 +716,7 @@ const Badges = (props) => {
|
|
|
717
716
|
onChange: (e) => props.onAutocompleteChange(e.target.value),
|
|
718
717
|
className: "flex-1 border-none bg-transparent text-sm text-dark-blue-400 outline-none placeholder:text-slate-400"
|
|
719
718
|
}
|
|
720
|
-
)), /* @__PURE__ */ React__namespace.createElement(Table$
|
|
721
|
-
};
|
|
722
|
-
|
|
723
|
-
function Table$g(props) {
|
|
724
|
-
const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
|
|
725
|
-
if (props.items.length === 0) {
|
|
726
|
-
return /* @__PURE__ */ React__namespace.createElement(
|
|
727
|
-
PlaceholderBanner,
|
|
728
|
-
{
|
|
729
|
-
title: "No students to display",
|
|
730
|
-
description: "You don't have any students yet, add them and revisit.",
|
|
731
|
-
loading: props.loading,
|
|
732
|
-
icon: "groups"
|
|
733
|
-
}
|
|
734
|
-
);
|
|
735
|
-
}
|
|
736
|
-
return /* @__PURE__ */ React__namespace.createElement("div", { className: "overflow-hidden rounded-xl border border-slate-200 bg-white shadow-sm" }, /* @__PURE__ */ React__namespace.createElement("div", { className: "grid grid-cols-[2fr_1fr] items-center gap-3 border-b border-slate-100 px-5 py-3" }, /* @__PURE__ */ React__namespace.createElement(SortableHeader, { label: "Student Name", sortKey: "studentName", sortConfig, onSort: requestSort }), /* @__PURE__ */ React__namespace.createElement(SortableHeader, { label: "Class Name", sortKey: "className", sortConfig, onSort: requestSort })), sortedItems.map((row, i) => /* @__PURE__ */ React__namespace.createElement(
|
|
737
|
-
"div",
|
|
738
|
-
{
|
|
739
|
-
key: row.studentId,
|
|
740
|
-
className: `grid grid-cols-[2fr_1fr] items-center gap-3 px-5 py-3.5 ${i < sortedItems.length - 1 ? "border-b border-slate-100" : ""}`
|
|
741
|
-
},
|
|
742
|
-
/* @__PURE__ */ React__namespace.createElement(
|
|
743
|
-
"button",
|
|
744
|
-
{
|
|
745
|
-
type: "button",
|
|
746
|
-
onClick: () => props.onViewProfile(row),
|
|
747
|
-
className: "truncate text-left text-xs font-bold text-dark-blue-400 hover:text-sky-blue-400"
|
|
748
|
-
},
|
|
749
|
-
row.studentName
|
|
750
|
-
),
|
|
751
|
-
/* @__PURE__ */ React__namespace.createElement("div", { className: "truncate text-xs text-slate-500" }, row.className)
|
|
752
|
-
)));
|
|
753
|
-
}
|
|
754
|
-
|
|
755
|
-
const units = [
|
|
756
|
-
{ unit: "year", ms: 31536e6 },
|
|
757
|
-
{ unit: "month", ms: 2628e6 },
|
|
758
|
-
{ unit: "day", ms: 864e5 },
|
|
759
|
-
{ unit: "hour", ms: 36e5 },
|
|
760
|
-
{ unit: "minute", ms: 6e4 },
|
|
761
|
-
{ unit: "second", ms: 1e3 }
|
|
762
|
-
];
|
|
763
|
-
const rtf = new Intl.RelativeTimeFormat("en", { numeric: "auto" });
|
|
764
|
-
function relativeTimeFromDates(relative, pivot = new Date()) {
|
|
765
|
-
if (!relative)
|
|
766
|
-
return "";
|
|
767
|
-
const elapsed = relative.getTime() - pivot.getTime();
|
|
768
|
-
return relativeTimeFromElapsed(elapsed);
|
|
769
|
-
}
|
|
770
|
-
function relativeTimeFromElapsed(elapsed) {
|
|
771
|
-
for (const { unit, ms } of units) {
|
|
772
|
-
if (Math.abs(elapsed) >= ms || unit === "second") {
|
|
773
|
-
return rtf.format(Math.round(elapsed / ms), unit);
|
|
774
|
-
}
|
|
775
|
-
}
|
|
776
|
-
return "";
|
|
777
|
-
}
|
|
778
|
-
|
|
779
|
-
var __defProp$h = Object.defineProperty;
|
|
780
|
-
var __defProps$e = Object.defineProperties;
|
|
781
|
-
var __getOwnPropDescs$e = Object.getOwnPropertyDescriptors;
|
|
782
|
-
var __getOwnPropSymbols$h = Object.getOwnPropertySymbols;
|
|
783
|
-
var __hasOwnProp$h = Object.prototype.hasOwnProperty;
|
|
784
|
-
var __propIsEnum$h = Object.prototype.propertyIsEnumerable;
|
|
785
|
-
var __defNormalProp$h = (obj, key, value) => key in obj ? __defProp$h(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
786
|
-
var __spreadValues$h = (a, b) => {
|
|
787
|
-
for (var prop in b || (b = {}))
|
|
788
|
-
if (__hasOwnProp$h.call(b, prop))
|
|
789
|
-
__defNormalProp$h(a, prop, b[prop]);
|
|
790
|
-
if (__getOwnPropSymbols$h)
|
|
791
|
-
for (var prop of __getOwnPropSymbols$h(b)) {
|
|
792
|
-
if (__propIsEnum$h.call(b, prop))
|
|
793
|
-
__defNormalProp$h(a, prop, b[prop]);
|
|
794
|
-
}
|
|
795
|
-
return a;
|
|
796
|
-
};
|
|
797
|
-
var __spreadProps$e = (a, b) => __defProps$e(a, __getOwnPropDescs$e(b));
|
|
798
|
-
function Table$f(props) {
|
|
799
|
-
const preparedItems = React__namespace.useMemo(() => {
|
|
800
|
-
return props.items.map((item) => __spreadProps$e(__spreadValues$h({}, item), {
|
|
801
|
-
updatedAtDate: new Date(item.updatedAt)
|
|
802
|
-
}));
|
|
803
|
-
}, [props.items]);
|
|
804
|
-
const { items: sortedItems, requestSort, sortConfig } = useSortableData(preparedItems);
|
|
805
|
-
if (props.items.length === 0) {
|
|
806
|
-
return /* @__PURE__ */ React__namespace.createElement(
|
|
807
|
-
PlaceholderBanner,
|
|
808
|
-
{
|
|
809
|
-
title: "No reflections to display",
|
|
810
|
-
description: "There has not been any lesson progress just yet.",
|
|
811
|
-
loading: props.loading,
|
|
812
|
-
icon: "lessons"
|
|
813
|
-
}
|
|
814
|
-
);
|
|
815
|
-
}
|
|
816
|
-
return /* @__PURE__ */ React__namespace.createElement("div", { className: "overflow-hidden rounded-xl border border-slate-200 bg-white shadow-sm" }, /* @__PURE__ */ React__namespace.createElement("div", { className: "grid grid-cols-[1fr_1fr_2fr_0.8fr] items-center gap-3 border-b border-slate-100 px-5 py-3" }, /* @__PURE__ */ React__namespace.createElement(SortableHeader, { label: "Student Name", sortKey: "studentName", sortConfig, onSort: requestSort }), /* @__PURE__ */ React__namespace.createElement(SortableHeader, { label: "Lesson Name", sortKey: "lessonName", sortConfig, onSort: requestSort }), /* @__PURE__ */ React__namespace.createElement("div", { className: "text-[10.5px] font-extrabold uppercase tracking-wide text-slate-400" }, "Reflection"), /* @__PURE__ */ React__namespace.createElement(SortableHeader, { label: "Updated At", sortKey: "updatedAtDate", sortConfig, onSort: requestSort })), sortedItems.map((row, i) => /* @__PURE__ */ React__namespace.createElement(
|
|
817
|
-
"div",
|
|
818
|
-
{
|
|
819
|
-
key: row.studentName + row.lessonName,
|
|
820
|
-
className: `grid grid-cols-[1fr_1fr_2fr_0.8fr] items-center gap-3 px-5 py-3.5 ${i < sortedItems.length - 1 ? "border-b border-slate-100" : ""}`
|
|
821
|
-
},
|
|
822
|
-
/* @__PURE__ */ React__namespace.createElement("div", { className: "truncate text-xs font-bold text-dark-blue-400" }, row.studentName),
|
|
823
|
-
/* @__PURE__ */ React__namespace.createElement("div", { className: "truncate text-xs text-slate-500" }, row.lessonName),
|
|
824
|
-
/* @__PURE__ */ React__namespace.createElement("div", { className: "text-xs text-slate-500" }, row.reflection),
|
|
825
|
-
/* @__PURE__ */ React__namespace.createElement("div", { className: "text-xs text-slate-500" }, relativeTimeFromDates(row.updatedAtDate))
|
|
826
|
-
)));
|
|
827
|
-
}
|
|
828
|
-
|
|
829
|
-
function Table$e(props) {
|
|
830
|
-
const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
|
|
831
|
-
if (props.items.length === 0) {
|
|
832
|
-
return /* @__PURE__ */ React__namespace.createElement(
|
|
833
|
-
PlaceholderBanner,
|
|
834
|
-
{
|
|
835
|
-
title: "No impact statements to display",
|
|
836
|
-
description: "There are no students with impact statements yet.",
|
|
837
|
-
loading: props.loading,
|
|
838
|
-
icon: "kindergarten"
|
|
839
|
-
}
|
|
840
|
-
);
|
|
841
|
-
}
|
|
842
|
-
return /* @__PURE__ */ React__namespace.createElement("div", { className: "overflow-hidden rounded-xl border border-slate-200 bg-white shadow-sm" }, /* @__PURE__ */ React__namespace.createElement("div", { className: "grid grid-cols-[1fr_3fr] items-center gap-3 border-b border-slate-100 px-5 py-3" }, /* @__PURE__ */ React__namespace.createElement(SortableHeader, { label: "Student Name", sortKey: "studentName", sortConfig, onSort: requestSort }), /* @__PURE__ */ React__namespace.createElement("div", { className: "text-[10.5px] font-extrabold uppercase tracking-wide text-slate-400" }, "Impact Statement")), sortedItems.map((row, i) => /* @__PURE__ */ React__namespace.createElement(
|
|
843
|
-
"div",
|
|
844
|
-
{
|
|
845
|
-
key: row.studentName,
|
|
846
|
-
className: `grid grid-cols-[1fr_3fr] items-center gap-3 px-5 py-3.5 ${i < sortedItems.length - 1 ? "border-b border-slate-100" : ""}`
|
|
847
|
-
},
|
|
848
|
-
/* @__PURE__ */ React__namespace.createElement("div", { className: "truncate text-xs font-bold text-dark-blue-400" }, row.studentName),
|
|
849
|
-
/* @__PURE__ */ React__namespace.createElement("div", { className: "text-xs text-slate-500" }, row.impactStatement)
|
|
850
|
-
)));
|
|
851
|
-
}
|
|
852
|
-
|
|
853
|
-
function Table$d(props) {
|
|
854
|
-
const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
|
|
855
|
-
if (props.items.length === 0) {
|
|
856
|
-
return /* @__PURE__ */ React__namespace.createElement(
|
|
857
|
-
PlaceholderBanner,
|
|
858
|
-
{
|
|
859
|
-
title: "No badges to display",
|
|
860
|
-
description: "We don't have any badges to show you just yet.",
|
|
861
|
-
loading: props.loading,
|
|
862
|
-
icon: "badges"
|
|
863
|
-
}
|
|
864
|
-
);
|
|
865
|
-
}
|
|
866
|
-
return /* @__PURE__ */ React__namespace.createElement("div", { className: "overflow-hidden rounded-xl border border-slate-200 bg-white shadow-sm" }, /* @__PURE__ */ React__namespace.createElement("div", { className: "grid grid-cols-[1.5fr_2fr_0.8fr] items-center gap-3 border-b border-slate-100 px-5 py-3" }, /* @__PURE__ */ React__namespace.createElement(SortableHeader, { label: "Badge Name", sortKey: "name", sortConfig, onSort: requestSort }), /* @__PURE__ */ React__namespace.createElement("div", { className: "text-[10.5px] font-extrabold uppercase tracking-wide text-slate-400" }, "Description"), /* @__PURE__ */ React__namespace.createElement(SortableHeader, { label: "Completion", sortKey: "percentageCompletion", sortConfig, onSort: requestSort, align: "center" })), sortedItems.map((row, i) => /* @__PURE__ */ React__namespace.createElement(
|
|
867
|
-
"div",
|
|
868
|
-
{
|
|
869
|
-
key: row.badgeId,
|
|
870
|
-
className: `grid grid-cols-[1.5fr_2fr_0.8fr] items-center gap-3 px-5 py-3.5 ${i < sortedItems.length - 1 ? "border-b border-slate-100" : ""}`
|
|
871
|
-
},
|
|
872
|
-
/* @__PURE__ */ React__namespace.createElement(
|
|
873
|
-
"button",
|
|
874
|
-
{
|
|
875
|
-
type: "button",
|
|
876
|
-
onClick: () => props.onClick && props.onClick(row),
|
|
877
|
-
className: "truncate text-left text-xs font-bold text-dark-blue-400 hover:text-sky-blue-400"
|
|
878
|
-
},
|
|
879
|
-
row.name
|
|
880
|
-
),
|
|
881
|
-
/* @__PURE__ */ React__namespace.createElement("div", { className: "truncate text-xs text-slate-500" }, row.description),
|
|
882
|
-
/* @__PURE__ */ React__namespace.createElement("div", { className: "text-center text-xs font-bold text-dark-blue-400" }, Math.round((row.percentageCompletion + Number.EPSILON) * 100), "%")
|
|
883
|
-
)));
|
|
884
|
-
}
|
|
885
|
-
|
|
886
|
-
function Table$c(props) {
|
|
887
|
-
const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
|
|
888
|
-
if (props.items.length === 0) {
|
|
889
|
-
return /* @__PURE__ */ React__namespace.createElement(
|
|
890
|
-
PlaceholderBanner,
|
|
891
|
-
{
|
|
892
|
-
title: "No lessons to display",
|
|
893
|
-
description: "We don't have any lessons to show you just yet.",
|
|
894
|
-
loading: props.loading,
|
|
895
|
-
icon: "lessons"
|
|
896
|
-
}
|
|
897
|
-
);
|
|
898
|
-
}
|
|
899
|
-
return /* @__PURE__ */ React__namespace.createElement("div", { className: "overflow-hidden rounded-xl border border-slate-200 bg-white shadow-sm" }, /* @__PURE__ */ React__namespace.createElement("div", { className: "grid grid-cols-[1.5fr_2fr_0.8fr] items-center gap-3 border-b border-slate-100 px-5 py-3" }, /* @__PURE__ */ React__namespace.createElement(SortableHeader, { label: "Lesson Name", sortKey: "name", sortConfig, onSort: requestSort }), /* @__PURE__ */ React__namespace.createElement("div", { className: "text-[10.5px] font-extrabold uppercase tracking-wide text-slate-400" }, "Description"), /* @__PURE__ */ React__namespace.createElement(SortableHeader, { label: "Completion", sortKey: "percentageCompletion", sortConfig, onSort: requestSort, align: "center" })), sortedItems.map((row, i) => /* @__PURE__ */ React__namespace.createElement(
|
|
900
|
-
"div",
|
|
901
|
-
{
|
|
902
|
-
key: row.lessonId,
|
|
903
|
-
className: `grid grid-cols-[1.5fr_2fr_0.8fr] items-center gap-3 px-5 py-3.5 ${i < sortedItems.length - 1 ? "border-b border-slate-100" : ""}`
|
|
904
|
-
},
|
|
905
|
-
/* @__PURE__ */ React__namespace.createElement(
|
|
906
|
-
"button",
|
|
907
|
-
{
|
|
908
|
-
type: "button",
|
|
909
|
-
onClick: () => props.onClick && props.onClick(row),
|
|
910
|
-
className: "truncate text-left text-xs font-bold text-dark-blue-400 hover:text-sky-blue-400"
|
|
911
|
-
},
|
|
912
|
-
row.name
|
|
913
|
-
),
|
|
914
|
-
/* @__PURE__ */ React__namespace.createElement("div", { className: "truncate text-xs text-slate-500" }, row.description),
|
|
915
|
-
/* @__PURE__ */ React__namespace.createElement("div", { className: "text-center text-xs font-bold text-dark-blue-400" }, Math.round((row.percentageCompletion + Number.EPSILON) * 100), "%")
|
|
916
|
-
)));
|
|
917
|
-
}
|
|
918
|
-
|
|
919
|
-
const TABS$4 = [
|
|
920
|
-
{ label: "My students", value: "students" },
|
|
921
|
-
{ label: "Impact statements", value: "impact" },
|
|
922
|
-
{ label: "Reflections", value: "reflections" },
|
|
923
|
-
{ label: "Badges", value: "badges" },
|
|
924
|
-
{ label: "Lessons", value: "lessons" }
|
|
925
|
-
];
|
|
926
|
-
const Dashboard = (props) => {
|
|
927
|
-
const [tab, setTab] = React.useState("students");
|
|
928
|
-
return /* @__PURE__ */ React__namespace.createElement("div", { className: "flex flex-col gap-5 px-4 py-8" }, /* @__PURE__ */ React__namespace.createElement("div", { className: "space-y-1.5" }, /* @__PURE__ */ React__namespace.createElement("h1", { className: "text-2xl font-extrabold tracking-tight text-dark-blue-400" }, "Dashboard"), /* @__PURE__ */ React__namespace.createElement("p", { className: "max-w-xl text-sm text-slate-500" }, "Track your students' pathway progress")), /* @__PURE__ */ React__namespace.createElement(StatsGroup, { data: [
|
|
929
|
-
{
|
|
930
|
-
title: "# OF STUDENTS",
|
|
931
|
-
value: props.students.length
|
|
932
|
-
},
|
|
933
|
-
{
|
|
934
|
-
title: "ACCOUNT CREATION",
|
|
935
|
-
value: props.percentageOfAccountsCreated,
|
|
936
|
-
unit: "%"
|
|
937
|
-
},
|
|
938
|
-
{
|
|
939
|
-
title: "BADGES EARNED",
|
|
940
|
-
value: props.numberOfBadgesEarned
|
|
941
|
-
},
|
|
942
|
-
{
|
|
943
|
-
title: "LESSONS COMPLETED",
|
|
944
|
-
value: props.numberOfLessonsCompleted
|
|
945
|
-
}
|
|
946
|
-
] }), /* @__PURE__ */ React__namespace.createElement("div", { className: "relative w-full max-w-xs" }, /* @__PURE__ */ React__namespace.createElement(icons.IconCategory2, { size: 16, stroke: 2, className: "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-slate-400" }), /* @__PURE__ */ React__namespace.createElement(
|
|
947
|
-
"select",
|
|
948
|
-
{
|
|
949
|
-
value: props.classId,
|
|
950
|
-
onChange: (e) => props.onClassChange(e.target.value),
|
|
951
|
-
className: "w-full appearance-none rounded-lg border border-slate-200 bg-white py-2 pl-9 pr-4 text-sm text-dark-blue-400 focus:border-sky-blue-400 focus:outline-none"
|
|
952
|
-
},
|
|
953
|
-
/* @__PURE__ */ React__namespace.createElement("option", { value: "" }, "All classes"),
|
|
954
|
-
props.classes.map((c) => /* @__PURE__ */ React__namespace.createElement("option", { key: c.classId, value: c.classId }, c.name))
|
|
955
|
-
)), /* @__PURE__ */ React__namespace.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React__namespace.createElement("div", { className: "flex w-fit flex-wrap gap-1 rounded-xl border border-slate-200 bg-white p-1" }, TABS$4.map((t) => /* @__PURE__ */ React__namespace.createElement(
|
|
956
|
-
"button",
|
|
957
|
-
{
|
|
958
|
-
key: t.value,
|
|
959
|
-
onClick: () => setTab(t.value),
|
|
960
|
-
className: `rounded-lg px-4 py-2 text-xs font-bold ${tab === t.value ? "bg-sky-blue-400/20 text-dark-blue-400" : "text-slate-400 hover:text-slate-600"}`
|
|
961
|
-
},
|
|
962
|
-
t.label
|
|
963
|
-
))), tab === "impact" && /* @__PURE__ */ React__namespace.createElement(
|
|
964
|
-
Table$e,
|
|
965
|
-
{
|
|
966
|
-
loading: props.loading,
|
|
967
|
-
items: props.impacts
|
|
968
|
-
}
|
|
969
|
-
), tab === "reflections" && /* @__PURE__ */ React__namespace.createElement(
|
|
970
|
-
Table$f,
|
|
971
|
-
{
|
|
972
|
-
loading: props.loading,
|
|
973
|
-
items: props.reflections
|
|
974
|
-
}
|
|
975
|
-
), tab === "badges" && /* @__PURE__ */ React__namespace.createElement(
|
|
976
|
-
Table$d,
|
|
977
|
-
{
|
|
978
|
-
loading: props.loading,
|
|
979
|
-
items: props.badges,
|
|
980
|
-
onClick: props.onBadgeClick
|
|
981
|
-
}
|
|
982
|
-
), tab === "lessons" && /* @__PURE__ */ React__namespace.createElement(
|
|
983
|
-
Table$c,
|
|
984
|
-
{
|
|
985
|
-
loading: props.loading,
|
|
986
|
-
items: props.lessons,
|
|
987
|
-
onClick: props.onLessonClick
|
|
988
|
-
}
|
|
989
|
-
), tab === "students" && /* @__PURE__ */ React__namespace.createElement(
|
|
990
|
-
Table$g,
|
|
991
|
-
{
|
|
992
|
-
loading: props.loading,
|
|
993
|
-
items: props.students,
|
|
994
|
-
onViewProfile: props.onViewStudentProfile
|
|
995
|
-
}
|
|
996
|
-
)));
|
|
719
|
+
)), /* @__PURE__ */ React__namespace.createElement(Table$c, { loading: props.loading, items: props.badges }));
|
|
997
720
|
};
|
|
998
721
|
|
|
999
722
|
var __defProp$g = Object.defineProperty;
|
|
@@ -1635,15 +1358,6 @@ const Home = (props) => {
|
|
|
1635
1358
|
},
|
|
1636
1359
|
"Copy"
|
|
1637
1360
|
)))), /* @__PURE__ */ React__namespace.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React__namespace.createElement(
|
|
1638
|
-
CardGradient,
|
|
1639
|
-
{
|
|
1640
|
-
title: "Dashboard",
|
|
1641
|
-
description: "Track your students\u2019 pathway progress",
|
|
1642
|
-
accent: "mint",
|
|
1643
|
-
icon: /* @__PURE__ */ React__namespace.createElement(icons.IconGauge, { size: 18, stroke: 1.75 }),
|
|
1644
|
-
onClick: props.onDashboardClick
|
|
1645
|
-
}
|
|
1646
|
-
), /* @__PURE__ */ React__namespace.createElement(
|
|
1647
1361
|
CardGradient,
|
|
1648
1362
|
{
|
|
1649
1363
|
title: "Classes",
|
|
@@ -1679,6 +1393,24 @@ const Home = (props) => {
|
|
|
1679
1393
|
icon: /* @__PURE__ */ React__namespace.createElement(icons.IconClipboard, { size: 18, stroke: 1.75 }),
|
|
1680
1394
|
onClick: props.onFileLockerClick
|
|
1681
1395
|
}
|
|
1396
|
+
), /* @__PURE__ */ React__namespace.createElement(
|
|
1397
|
+
CardGradient,
|
|
1398
|
+
{
|
|
1399
|
+
title: "Comments",
|
|
1400
|
+
description: "Leave and resolve comments on student submissions",
|
|
1401
|
+
accent: "mint",
|
|
1402
|
+
icon: /* @__PURE__ */ React__namespace.createElement(icons.IconMessageCircle, { size: 18, stroke: 1.75 }),
|
|
1403
|
+
onClick: props.onCommentsClick
|
|
1404
|
+
}
|
|
1405
|
+
), /* @__PURE__ */ React__namespace.createElement(
|
|
1406
|
+
CardGradient,
|
|
1407
|
+
{
|
|
1408
|
+
title: "Validation",
|
|
1409
|
+
description: "Credit badges in bulk once students have met the requirements",
|
|
1410
|
+
accent: "gold",
|
|
1411
|
+
icon: /* @__PURE__ */ React__namespace.createElement(icons.IconClipboardCheck, { size: 18, stroke: 1.75 }),
|
|
1412
|
+
onClick: props.onValidationClick
|
|
1413
|
+
}
|
|
1682
1414
|
)));
|
|
1683
1415
|
};
|
|
1684
1416
|
|
|
@@ -4467,7 +4199,6 @@ exports.Badges = Badges;
|
|
|
4467
4199
|
exports.Class = Class;
|
|
4468
4200
|
exports.Classes = Classes;
|
|
4469
4201
|
exports.CommentCenter = CommentCenter;
|
|
4470
|
-
exports.Dashboard = Dashboard;
|
|
4471
4202
|
exports.FileLocker = FileLocker;
|
|
4472
4203
|
exports.GettingStarted = GettingStarted;
|
|
4473
4204
|
exports.Home = Home;
|