@local-civics/mgmt-ui 0.1.242 → 0.1.243
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 +40 -41
- package/dist/index.js +134 -112
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +134 -112
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -40,7 +40,7 @@ function styleInject(css, ref) {
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
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-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.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))}}";
|
|
43
|
+
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))}}";
|
|
44
44
|
styleInject(css_248z);
|
|
45
45
|
|
|
46
46
|
function UserButton({ image, name, email }) {
|
|
@@ -527,7 +527,7 @@ var __spreadValues$i = (a, b) => {
|
|
|
527
527
|
return a;
|
|
528
528
|
};
|
|
529
529
|
var __spreadProps$f = (a, b) => __defProps$f(a, __getOwnPropDescs$f(b));
|
|
530
|
-
function Table$
|
|
530
|
+
function Table$j(props) {
|
|
531
531
|
const [expanded, setExpanded] = React.useState({});
|
|
532
532
|
const preparedItems = React.useMemo(() => {
|
|
533
533
|
return props.items.map((item) => __spreadProps$f(__spreadValues$i({}, item), {
|
|
@@ -563,7 +563,7 @@ function Table$k(props) {
|
|
|
563
563
|
}));
|
|
564
564
|
}
|
|
565
565
|
|
|
566
|
-
function Table$
|
|
566
|
+
function Table$i(props) {
|
|
567
567
|
const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
|
|
568
568
|
if (props.items.length === 0) {
|
|
569
569
|
return /* @__PURE__ */ React.createElement(
|
|
@@ -643,10 +643,10 @@ const Badge = (props) => {
|
|
|
643
643
|
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"}`
|
|
644
644
|
},
|
|
645
645
|
t.label
|
|
646
|
-
))), (!!props.trial || tab === "lessons") && /* @__PURE__ */ React.createElement(Table$
|
|
646
|
+
))), (!!props.trial || tab === "lessons") && /* @__PURE__ */ React.createElement(Table$i, { loading: props.loading, items: props.lessons }), !props.trial && tab === "students" && /* @__PURE__ */ React.createElement(Table$j, { loading: props.loading, items: props.students, linkState: props.linkState })));
|
|
647
647
|
};
|
|
648
648
|
|
|
649
|
-
function Table$
|
|
649
|
+
function Table$h(props) {
|
|
650
650
|
const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
|
|
651
651
|
if (props.loading) {
|
|
652
652
|
return /* @__PURE__ */ React.createElement("div", { className: "text-sm text-slate-400" }, "Loading\u2026");
|
|
@@ -697,10 +697,10 @@ const Badges = (props) => {
|
|
|
697
697
|
onChange: (e) => props.onAutocompleteChange(e.target.value),
|
|
698
698
|
className: "flex-1 border-none bg-transparent text-sm text-dark-blue-400 outline-none placeholder:text-slate-400"
|
|
699
699
|
}
|
|
700
|
-
)), /* @__PURE__ */ React.createElement(Table$
|
|
700
|
+
)), /* @__PURE__ */ React.createElement(Table$h, { loading: props.loading, items: props.badges }));
|
|
701
701
|
};
|
|
702
702
|
|
|
703
|
-
function Table$
|
|
703
|
+
function Table$g(props) {
|
|
704
704
|
const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
|
|
705
705
|
if (props.items.length === 0) {
|
|
706
706
|
return /* @__PURE__ */ React.createElement(
|
|
@@ -775,7 +775,7 @@ var __spreadValues$h = (a, b) => {
|
|
|
775
775
|
return a;
|
|
776
776
|
};
|
|
777
777
|
var __spreadProps$e = (a, b) => __defProps$e(a, __getOwnPropDescs$e(b));
|
|
778
|
-
function Table$
|
|
778
|
+
function Table$f(props) {
|
|
779
779
|
const preparedItems = React.useMemo(() => {
|
|
780
780
|
return props.items.map((item) => __spreadProps$e(__spreadValues$h({}, item), {
|
|
781
781
|
updatedAtDate: new Date(item.updatedAt)
|
|
@@ -806,7 +806,7 @@ function Table$g(props) {
|
|
|
806
806
|
)));
|
|
807
807
|
}
|
|
808
808
|
|
|
809
|
-
function Table$
|
|
809
|
+
function Table$e(props) {
|
|
810
810
|
const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
|
|
811
811
|
if (props.items.length === 0) {
|
|
812
812
|
return /* @__PURE__ */ React.createElement(
|
|
@@ -830,7 +830,7 @@ function Table$f(props) {
|
|
|
830
830
|
)));
|
|
831
831
|
}
|
|
832
832
|
|
|
833
|
-
function Table$
|
|
833
|
+
function Table$d(props) {
|
|
834
834
|
const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
|
|
835
835
|
if (props.items.length === 0) {
|
|
836
836
|
return /* @__PURE__ */ React.createElement(
|
|
@@ -863,7 +863,7 @@ function Table$e(props) {
|
|
|
863
863
|
)));
|
|
864
864
|
}
|
|
865
865
|
|
|
866
|
-
function Table$
|
|
866
|
+
function Table$c(props) {
|
|
867
867
|
const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
|
|
868
868
|
if (props.items.length === 0) {
|
|
869
869
|
return /* @__PURE__ */ React.createElement(
|
|
@@ -941,33 +941,33 @@ const Dashboard = (props) => {
|
|
|
941
941
|
},
|
|
942
942
|
t.label
|
|
943
943
|
))), tab === "impact" && /* @__PURE__ */ React.createElement(
|
|
944
|
-
Table$
|
|
944
|
+
Table$e,
|
|
945
945
|
{
|
|
946
946
|
loading: props.loading,
|
|
947
947
|
items: props.impacts
|
|
948
948
|
}
|
|
949
949
|
), tab === "reflections" && /* @__PURE__ */ React.createElement(
|
|
950
|
-
Table$
|
|
950
|
+
Table$f,
|
|
951
951
|
{
|
|
952
952
|
loading: props.loading,
|
|
953
953
|
items: props.reflections
|
|
954
954
|
}
|
|
955
955
|
), tab === "badges" && /* @__PURE__ */ React.createElement(
|
|
956
|
-
Table$
|
|
956
|
+
Table$d,
|
|
957
957
|
{
|
|
958
958
|
loading: props.loading,
|
|
959
959
|
items: props.badges,
|
|
960
960
|
onClick: props.onBadgeClick
|
|
961
961
|
}
|
|
962
962
|
), tab === "lessons" && /* @__PURE__ */ React.createElement(
|
|
963
|
-
Table$
|
|
963
|
+
Table$c,
|
|
964
964
|
{
|
|
965
965
|
loading: props.loading,
|
|
966
966
|
items: props.lessons,
|
|
967
967
|
onClick: props.onLessonClick
|
|
968
968
|
}
|
|
969
969
|
), tab === "students" && /* @__PURE__ */ React.createElement(
|
|
970
|
-
Table$
|
|
970
|
+
Table$g,
|
|
971
971
|
{
|
|
972
972
|
loading: props.loading,
|
|
973
973
|
items: props.students,
|
|
@@ -1003,7 +1003,7 @@ const openDeleteModal$2 = (student, onDelete) => openConfirmModal({
|
|
|
1003
1003
|
confirmProps: { color: "red" },
|
|
1004
1004
|
onConfirm: () => onDelete(student)
|
|
1005
1005
|
});
|
|
1006
|
-
function Table$
|
|
1006
|
+
function Table$b(props) {
|
|
1007
1007
|
const preparedItems = React.useMemo(() => {
|
|
1008
1008
|
return props.items.map((item) => __spreadProps$d(__spreadValues$g({}, item), {
|
|
1009
1009
|
fullName: item.givenName && item.familyName ? `${item.givenName} ${item.familyName}`.toLowerCase() : item.email.toLowerCase()
|
|
@@ -1140,7 +1140,7 @@ const Class = (props) => {
|
|
|
1140
1140
|
value: props.numberOfLessonsCompleted
|
|
1141
1141
|
}
|
|
1142
1142
|
] }), /* @__PURE__ */ React.createElement(
|
|
1143
|
-
Table$
|
|
1143
|
+
Table$b,
|
|
1144
1144
|
{
|
|
1145
1145
|
loading: props.loading,
|
|
1146
1146
|
items: props.members,
|
|
@@ -1262,7 +1262,7 @@ const openDeleteModal$1 = (group, onDeleteClass) => openConfirmModal({
|
|
|
1262
1262
|
confirmProps: { color: "red" },
|
|
1263
1263
|
onConfirm: () => onDeleteClass(group)
|
|
1264
1264
|
});
|
|
1265
|
-
function Table$
|
|
1265
|
+
function Table$a(props) {
|
|
1266
1266
|
const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
|
|
1267
1267
|
if (props.items.length === 0) {
|
|
1268
1268
|
return /* @__PURE__ */ React.createElement(
|
|
@@ -1384,7 +1384,7 @@ const Classes = (props) => {
|
|
|
1384
1384
|
className: "w-full rounded-xl border border-slate-200 bg-white py-2.5 pl-10 pr-4 text-sm text-dark-blue-400 placeholder:text-slate-400 focus:border-sky-blue-400 focus:outline-none"
|
|
1385
1385
|
}
|
|
1386
1386
|
)), /* @__PURE__ */ React.createElement(
|
|
1387
|
-
Table$
|
|
1387
|
+
Table$a,
|
|
1388
1388
|
{
|
|
1389
1389
|
loading: props.loading,
|
|
1390
1390
|
items: props.classes,
|
|
@@ -1393,7 +1393,8 @@ const Classes = (props) => {
|
|
|
1393
1393
|
)));
|
|
1394
1394
|
};
|
|
1395
1395
|
|
|
1396
|
-
function Table$
|
|
1396
|
+
function Table$9(props) {
|
|
1397
|
+
const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
|
|
1397
1398
|
if (props.items.length === 0) {
|
|
1398
1399
|
return /* @__PURE__ */ React.createElement(
|
|
1399
1400
|
PlaceholderBanner,
|
|
@@ -1405,18 +1406,18 @@ function Table$a(props) {
|
|
|
1405
1406
|
}
|
|
1406
1407
|
);
|
|
1407
1408
|
}
|
|
1408
|
-
return /* @__PURE__ */ React.createElement("div", { className: "overflow-hidden rounded-xl border border-slate-200 bg-white shadow-sm" },
|
|
1409
|
+
return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React.createElement("div", { className: "flex items-center gap-4 px-4" }, /* @__PURE__ */ React.createElement(SortableHeader, { label: "Badge Name", sortKey: "badgeName", sortConfig, onSort: requestSort, className: "flex-1" }), /* @__PURE__ */ React.createElement(SortableHeader, { label: "Status", sortKey: "isComplete", sortConfig, onSort: requestSort, align: "center", className: "w-28 shrink-0" })), /* @__PURE__ */ React.createElement("div", { className: "overflow-hidden rounded-xl border border-slate-200 bg-white shadow-sm" }, sortedItems.map((row, i) => /* @__PURE__ */ React.createElement(
|
|
1409
1410
|
"div",
|
|
1410
1411
|
{
|
|
1411
1412
|
key: row.badgeId || row.badgeName,
|
|
1412
|
-
className: `flex items-center justify-between gap-4 px-5 py-4 ${i <
|
|
1413
|
+
className: `flex items-center justify-between gap-4 px-5 py-4 ${i < sortedItems.length - 1 ? "border-b border-slate-100" : ""}`
|
|
1413
1414
|
},
|
|
1414
|
-
/* @__PURE__ */ React.createElement("div", { className: "text-sm font-bold text-dark-blue-400" }, row.badgeName),
|
|
1415
|
-
/* @__PURE__ */ React.createElement("span", { className: `shrink-0 rounded-full px-2.5 py-1 text-[10px] font-bold uppercase tracking-wide ${row.isComplete ? "bg-mint-100 text-dark-blue-400" : "bg-slate-100 text-slate-500"}` }, row.isComplete ? "Complete" : "Incomplete")
|
|
1416
|
-
)));
|
|
1415
|
+
/* @__PURE__ */ React.createElement("div", { className: "min-w-0 flex-1" }, /* @__PURE__ */ React.createElement("div", { className: "text-sm font-bold text-dark-blue-400" }, row.badgeName), row.pathwayName && /* @__PURE__ */ React.createElement("div", { className: "mt-1 text-xs text-slate-500" }, row.pathwayName, " pathway")),
|
|
1416
|
+
/* @__PURE__ */ React.createElement("span", { className: `w-28 shrink-0 rounded-full px-2.5 py-1 text-center text-[10px] font-bold uppercase tracking-wide ${row.isComplete ? "bg-mint-100 text-dark-blue-400" : "bg-slate-100 text-slate-500"}` }, row.isComplete ? "Complete" : "Incomplete")
|
|
1417
|
+
))));
|
|
1417
1418
|
}
|
|
1418
1419
|
|
|
1419
|
-
function Table$
|
|
1420
|
+
function Table$8(props) {
|
|
1420
1421
|
if (props.items.length === 0) {
|
|
1421
1422
|
return /* @__PURE__ */ React.createElement(
|
|
1422
1423
|
PlaceholderBanner,
|
|
@@ -1433,24 +1434,28 @@ function Table$9(props) {
|
|
|
1433
1434
|
props.items.forEach((row) => {
|
|
1434
1435
|
let group = groupByLessonId[row.lessonId];
|
|
1435
1436
|
if (!group) {
|
|
1436
|
-
group = { lessonId: row.lessonId, lessonName: row.lessonName, badgeName: row.badgeName, href: row.href, items: [] };
|
|
1437
|
+
group = { lessonId: row.lessonId, lessonName: row.lessonName, badgeName: row.badgeName, pathwayName: row.pathwayName, href: row.href, items: [] };
|
|
1437
1438
|
groupByLessonId[row.lessonId] = group;
|
|
1438
1439
|
groups.push(group);
|
|
1439
1440
|
}
|
|
1440
1441
|
group.items.push(row);
|
|
1441
1442
|
});
|
|
1442
|
-
return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-3" }, groups.map((group) =>
|
|
1443
|
-
|
|
1444
|
-
{
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1443
|
+
return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-3" }, groups.map((group) => {
|
|
1444
|
+
const subtitleParts = [group.badgeName, group.pathwayName ? `${group.pathwayName} pathway` : void 0].filter(Boolean);
|
|
1445
|
+
return /* @__PURE__ */ React.createElement("div", { key: group.lessonId, className: "overflow-hidden rounded-xl border border-slate-200 bg-white shadow-sm" }, /* @__PURE__ */ React.createElement("div", { className: "border-b border-slate-100 px-5 py-4" }, /* @__PURE__ */ React.createElement(Link, { to: group.href, className: "text-sm font-bold text-dark-blue-400 no-underline hover:underline" }, group.lessonName), subtitleParts.length > 0 && /* @__PURE__ */ React.createElement("div", { className: "mt-1 text-xs text-slate-500" }, subtitleParts.join(" \xB7 "))), group.items.map((row, i) => /* @__PURE__ */ React.createElement(
|
|
1446
|
+
"div",
|
|
1447
|
+
{
|
|
1448
|
+
key: row.questionName,
|
|
1449
|
+
className: `px-5 py-4 ${i < group.items.length - 1 ? "border-b border-slate-100" : ""}`
|
|
1450
|
+
},
|
|
1451
|
+
/* @__PURE__ */ React.createElement("div", { className: "text-xs font-semibold text-slate-500" }, row.questionName),
|
|
1452
|
+
/* @__PURE__ */ React.createElement("div", { className: "mt-1 text-xs text-slate-600" }, row.answer.join(", "))
|
|
1453
|
+
)));
|
|
1454
|
+
}));
|
|
1451
1455
|
}
|
|
1452
1456
|
|
|
1453
|
-
function Table$
|
|
1457
|
+
function Table$7(props) {
|
|
1458
|
+
const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
|
|
1454
1459
|
if (props.items.length === 0) {
|
|
1455
1460
|
return /* @__PURE__ */ React.createElement(
|
|
1456
1461
|
PlaceholderBanner,
|
|
@@ -1462,15 +1467,18 @@ function Table$8(props) {
|
|
|
1462
1467
|
}
|
|
1463
1468
|
);
|
|
1464
1469
|
}
|
|
1465
|
-
return /* @__PURE__ */ React.createElement("div", { className: "overflow-hidden rounded-xl border border-slate-200 bg-white shadow-sm" },
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1470
|
+
return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React.createElement("div", { className: "flex items-center gap-4 px-4" }, /* @__PURE__ */ React.createElement(SortableHeader, { label: "Lesson Name", sortKey: "lessonName", sortConfig, onSort: requestSort, className: "flex-1" }), /* @__PURE__ */ React.createElement(SortableHeader, { label: "Rating", sortKey: "rating", sortConfig, onSort: requestSort, align: "center", className: "w-16 shrink-0" })), /* @__PURE__ */ React.createElement("div", { className: "overflow-hidden rounded-xl border border-slate-200 bg-white shadow-sm" }, sortedItems.map((row, i) => {
|
|
1471
|
+
const subtitleParts = [row.badgeName, row.pathwayName ? `${row.pathwayName} pathway` : void 0].filter(Boolean);
|
|
1472
|
+
return /* @__PURE__ */ React.createElement(
|
|
1473
|
+
"div",
|
|
1474
|
+
{
|
|
1475
|
+
key: row.lessonId || row.lessonName,
|
|
1476
|
+
className: `flex items-start justify-between gap-4 px-5 py-4 ${i < sortedItems.length - 1 ? "border-b border-slate-100" : ""}`
|
|
1477
|
+
},
|
|
1478
|
+
/* @__PURE__ */ React.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ React.createElement(Link, { to: row.href, className: "text-sm font-bold text-dark-blue-400 no-underline hover:underline" }, row.lessonName), subtitleParts.length > 0 && /* @__PURE__ */ React.createElement("div", { className: "mt-1 text-xs text-slate-500" }, subtitleParts.join(" \xB7 ")), /* @__PURE__ */ React.createElement("div", { className: "mt-1.5 text-xs text-slate-600" }, row.reflection)),
|
|
1479
|
+
/* @__PURE__ */ React.createElement("div", { className: "shrink-0 rounded-full bg-gold-100 px-2.5 py-1 text-[10px] font-bold text-dark-blue-400" }, row.rating.toLocaleString())
|
|
1480
|
+
);
|
|
1481
|
+
})));
|
|
1474
1482
|
}
|
|
1475
1483
|
|
|
1476
1484
|
const TABS$3 = [
|
|
@@ -1478,10 +1486,32 @@ const TABS$3 = [
|
|
|
1478
1486
|
{ label: "My answers", value: "answers" },
|
|
1479
1487
|
{ label: "My reflections", value: "reflections" }
|
|
1480
1488
|
];
|
|
1489
|
+
const OTHER_FILTER$1 = "__other__";
|
|
1481
1490
|
const Student = (props) => {
|
|
1491
|
+
var _a;
|
|
1482
1492
|
const [tab, setTab] = useState("badges");
|
|
1493
|
+
const [pathwayFilter, setPathwayFilter] = useState("");
|
|
1483
1494
|
const numberOfBadgesCompleted = props.badges.length > 0 ? props.badges.filter((b) => b.isComplete).length : 0;
|
|
1484
1495
|
const numberOfLessonsCompleted = props.lessons.filter((l) => l.isComplete).length;
|
|
1496
|
+
const activeItems = tab === "badges" ? props.badges : tab === "answers" ? props.answers : props.reflections;
|
|
1497
|
+
const pathways = useMemo(() => {
|
|
1498
|
+
const seen = {};
|
|
1499
|
+
activeItems.forEach((item) => {
|
|
1500
|
+
if (item.pathwayId && item.pathwayName && !(item.pathwayId in seen)) {
|
|
1501
|
+
seen[item.pathwayId] = item.pathwayName;
|
|
1502
|
+
}
|
|
1503
|
+
});
|
|
1504
|
+
return Object.keys(seen).map((pathwayId) => ({ pathwayId, title: seen[pathwayId] }));
|
|
1505
|
+
}, [activeItems]);
|
|
1506
|
+
const hasOther = activeItems.some((item) => !item.pathwayId);
|
|
1507
|
+
const filterByPathway = (items) => {
|
|
1508
|
+
if (!pathwayFilter)
|
|
1509
|
+
return items;
|
|
1510
|
+
if (pathwayFilter === OTHER_FILTER$1)
|
|
1511
|
+
return items.filter((item) => !item.pathwayId);
|
|
1512
|
+
return items.filter((item) => item.pathwayId === pathwayFilter);
|
|
1513
|
+
};
|
|
1514
|
+
const activePathwayName = pathwayFilter && pathwayFilter !== OTHER_FILTER$1 ? (_a = pathways.find((p) => p.pathwayId === pathwayFilter)) == null ? void 0 : _a.title : void 0;
|
|
1485
1515
|
return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-5 px-4 py-8" }, /* @__PURE__ */ React.createElement(
|
|
1486
1516
|
PageHeader,
|
|
1487
1517
|
{
|
|
@@ -1512,7 +1542,25 @@ const Student = (props) => {
|
|
|
1512
1542
|
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"}`
|
|
1513
1543
|
},
|
|
1514
1544
|
t.label
|
|
1515
|
-
))),
|
|
1545
|
+
))), pathways.length > 0 && /* @__PURE__ */ React.createElement("div", { className: "flex flex-wrap items-center gap-3" }, /* @__PURE__ */ React.createElement(PathwayFilterPills, { pathways, selected: pathwayFilter, onChange: setPathwayFilter }), hasOther && /* @__PURE__ */ React.createElement(
|
|
1546
|
+
"button",
|
|
1547
|
+
{
|
|
1548
|
+
type: "button",
|
|
1549
|
+
onClick: () => setPathwayFilter(OTHER_FILTER$1),
|
|
1550
|
+
className: `rounded-full border px-3.5 py-1.5 text-xs font-bold ${pathwayFilter === OTHER_FILTER$1 ? "border-sky-blue-400/40 bg-sky-blue-400/20 text-dark-blue-400" : "border-slate-200 bg-white text-slate-500 hover:bg-slate-50"}`
|
|
1551
|
+
},
|
|
1552
|
+
"Other"
|
|
1553
|
+
), activePathwayName && props.onViewPathway && /* @__PURE__ */ React.createElement(
|
|
1554
|
+
"button",
|
|
1555
|
+
{
|
|
1556
|
+
type: "button",
|
|
1557
|
+
onClick: () => props.onViewPathway(pathwayFilter),
|
|
1558
|
+
className: "text-xs font-bold text-dark-blue-400 hover:underline"
|
|
1559
|
+
},
|
|
1560
|
+
"View ",
|
|
1561
|
+
activePathwayName,
|
|
1562
|
+
" Transcript \u2192"
|
|
1563
|
+
)), tab === "badges" && /* @__PURE__ */ React.createElement(Table$9, { loading: props.loading, items: filterByPathway(props.badges) }), tab === "answers" && /* @__PURE__ */ React.createElement(Table$8, { loading: props.loading, items: filterByPathway(props.answers) }), tab === "reflections" && /* @__PURE__ */ React.createElement(Table$7, { loading: props.loading, items: filterByPathway(props.reflections) }));
|
|
1516
1564
|
};
|
|
1517
1565
|
|
|
1518
1566
|
const ACCENT_BORDER = {
|
|
@@ -1614,22 +1662,6 @@ const Home = (props) => {
|
|
|
1614
1662
|
)));
|
|
1615
1663
|
};
|
|
1616
1664
|
|
|
1617
|
-
function Table$7(props) {
|
|
1618
|
-
const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
|
|
1619
|
-
if (props.items.length === 0) {
|
|
1620
|
-
return /* @__PURE__ */ React.createElement(
|
|
1621
|
-
PlaceholderBanner,
|
|
1622
|
-
{
|
|
1623
|
-
title: "No reflections to display",
|
|
1624
|
-
description: "There has not been any lesson progress just yet.",
|
|
1625
|
-
loading: props.loading,
|
|
1626
|
-
icon: "lessons"
|
|
1627
|
-
}
|
|
1628
|
-
);
|
|
1629
|
-
}
|
|
1630
|
-
return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React.createElement("div", { className: "flex gap-4 px-4 text-[10.5px] font-extrabold uppercase tracking-wide text-slate-400" }, /* @__PURE__ */ React.createElement(SortableHeader, { label: "Student Name", sortKey: "studentName", sortConfig, onSort: requestSort, className: "w-40 shrink-0" }), /* @__PURE__ */ React.createElement("div", { className: "flex-1" }, "Reflection"), /* @__PURE__ */ React.createElement(SortableHeader, { label: "Rating", sortKey: "rating", sortConfig, onSort: requestSort, align: "right", className: "w-20 shrink-0" })), sortedItems.map((row, i) => /* @__PURE__ */ React.createElement("div", { key: `${row.studentName}-${i}`, className: "rounded-xl border border-slate-200 bg-white p-4 shadow-sm" }, /* @__PURE__ */ React.createElement("div", { className: "flex items-start gap-4" }, /* @__PURE__ */ React.createElement("div", { className: "w-40 shrink-0 text-sm font-bold text-dark-blue-400" }, row.studentName), /* @__PURE__ */ React.createElement("div", { className: "flex-1 text-sm text-slate-600" }, row.reflection), /* @__PURE__ */ React.createElement("div", { className: "w-20 shrink-0 text-right text-sm text-slate-500" }, row.rating)))));
|
|
1631
|
-
}
|
|
1632
|
-
|
|
1633
1665
|
const SplitButton$3 = (props) => {
|
|
1634
1666
|
return /* @__PURE__ */ React.createElement("div", { className: "flex gap-2" }, /* @__PURE__ */ React.createElement(
|
|
1635
1667
|
Link,
|
|
@@ -1660,10 +1692,9 @@ const SplitButton$3 = (props) => {
|
|
|
1660
1692
|
};
|
|
1661
1693
|
|
|
1662
1694
|
function Stack$3(props) {
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
}
|
|
1666
|
-
return /* @__PURE__ */ React.createElement(Link, { to: props.href, state: props.state, className: "flex flex-col gap-4 no-underline" }, props.items.map((row) => /* @__PURE__ */ React.createElement("div", { key: row.questionName }, /* @__PURE__ */ React.createElement("div", { className: "text-sm font-bold text-dark-blue-400" }, row.questionName), /* @__PURE__ */ React.createElement("div", { className: "mt-1 text-sm text-slate-600" }, row.answer.join(", ") || "No answer."))), /* @__PURE__ */ React.createElement("div", { className: "text-xs font-bold text-dark-blue-400 hover:underline" }, "View full response \u2192"));
|
|
1695
|
+
const hasAnswers = props.items.length > 0;
|
|
1696
|
+
const hasReflection = !!props.reflection;
|
|
1697
|
+
return /* @__PURE__ */ React.createElement(Link, { to: props.href, state: props.state, className: "flex flex-col gap-4 no-underline" }, hasAnswers ? props.items.map((row) => /* @__PURE__ */ React.createElement("div", { key: row.questionName }, /* @__PURE__ */ React.createElement("div", { className: "text-sm font-bold text-dark-blue-400" }, row.questionName), /* @__PURE__ */ React.createElement("div", { className: "mt-1 text-sm text-slate-600" }, row.answer.join(", ") || "No answer."))) : !hasReflection ? /* @__PURE__ */ React.createElement("div", { className: "text-sm font-bold text-dark-blue-400" }, "No question responses recorded yet.") : null, hasReflection && /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between gap-3" }, /* @__PURE__ */ React.createElement("div", { className: "text-sm font-bold text-dark-blue-400" }, "Reflection"), !!props.rating && /* @__PURE__ */ React.createElement("div", { className: "shrink-0 rounded-full bg-gold-100 px-2.5 py-1 text-[10px] font-bold text-dark-blue-400" }, props.rating)), /* @__PURE__ */ React.createElement("div", { className: "mt-1 text-sm text-slate-600" }, props.reflection)), /* @__PURE__ */ React.createElement("div", { className: "text-xs font-bold text-dark-blue-400 hover:underline" }, "View full response \u2192"));
|
|
1667
1698
|
}
|
|
1668
1699
|
|
|
1669
1700
|
var __defProp$d = Object.defineProperty;
|
|
@@ -1717,7 +1748,7 @@ function Table$6(props) {
|
|
|
1717
1748
|
/* @__PURE__ */ React.createElement("div", { className: "flex min-w-0 flex-1 items-center gap-3" }, row.avatar ? /* @__PURE__ */ React.createElement("img", { src: row.avatar, className: "h-9 w-9 shrink-0 rounded-full object-cover", alt: "" }) : /* @__PURE__ */ React.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.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ React.createElement("div", { className: "truncate text-sm font-bold text-dark-blue-400" }, row.name), /* @__PURE__ */ React.createElement("div", { className: "truncate text-xs text-slate-400" }, row.email))),
|
|
1718
1749
|
/* @__PURE__ */ React.createElement("div", { className: "w-28 shrink-0 text-center" }, row.isComplete && /* @__PURE__ */ React.createElement("span", { className: "rounded-full bg-mint-100 px-2.5 py-1 text-[10px] font-bold text-dark-blue-400" }, "Complete"), !row.isComplete && !row.isStarted && /* @__PURE__ */ React.createElement("span", { className: "rounded-full bg-slate-100 px-2.5 py-1 text-[10px] font-bold text-slate-500" }, "Not started"), !row.isComplete && !!row.isStarted && /* @__PURE__ */ React.createElement("span", { className: "rounded-full bg-gold-100 px-2.5 py-1 text-[10px] font-bold text-dark-blue-400" }, "In progress")),
|
|
1719
1750
|
/* @__PURE__ */ React.createElement(IconChevronDown, { size: 15, stroke: 2.3, className: `shrink-0 text-slate-400 transition-transform ${isOpen ? "rotate-180" : ""}` })
|
|
1720
|
-
), isOpen && /* @__PURE__ */ React.createElement("div", { className: "border-t border-slate-100 px-4 py-3" }, /* @__PURE__ */ React.createElement(Stack$3, { href: row.href, items: row.answers, state: props.linkState })));
|
|
1751
|
+
), isOpen && /* @__PURE__ */ React.createElement("div", { className: "border-t border-slate-100 px-4 py-3" }, /* @__PURE__ */ React.createElement(Stack$3, { href: row.href, items: row.answers, reflection: row.reflection, rating: row.rating, state: props.linkState })));
|
|
1721
1752
|
}));
|
|
1722
1753
|
}
|
|
1723
1754
|
|
|
@@ -1738,52 +1769,47 @@ function Stack$2(props) {
|
|
|
1738
1769
|
],
|
|
1739
1770
|
[]
|
|
1740
1771
|
);
|
|
1741
|
-
|
|
1772
|
+
const chartItems = props.items.filter((row) => row.chart);
|
|
1773
|
+
if (chartItems.length === 0) {
|
|
1742
1774
|
return /* @__PURE__ */ React.createElement(
|
|
1743
1775
|
PlaceholderBanner,
|
|
1744
1776
|
{
|
|
1745
|
-
title: "No questions
|
|
1746
|
-
description: "
|
|
1777
|
+
title: "No multiple-choice questions",
|
|
1778
|
+
description: "This lesson doesn't have any multiple-choice questions to chart.",
|
|
1747
1779
|
loading: props.loading,
|
|
1748
1780
|
icon: "lessons"
|
|
1749
1781
|
}
|
|
1750
1782
|
);
|
|
1751
1783
|
}
|
|
1752
|
-
return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-3" },
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
{
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
secondaryAxes
|
|
1779
|
-
}
|
|
1784
|
+
return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-3" }, chartItems.map((row) => {
|
|
1785
|
+
const labelMap = {};
|
|
1786
|
+
const choices = row.choices || [];
|
|
1787
|
+
choices.forEach((c) => {
|
|
1788
|
+
labelMap[c] = 0;
|
|
1789
|
+
});
|
|
1790
|
+
row.answers.forEach((a) => a.forEach((r) => {
|
|
1791
|
+
if (r in labelMap) {
|
|
1792
|
+
labelMap[r] = labelMap[r] ? labelMap[r] + 1 : 1;
|
|
1793
|
+
}
|
|
1794
|
+
}));
|
|
1795
|
+
return /* @__PURE__ */ React.createElement("div", { key: row.question, className: "rounded-xl border border-slate-200 bg-white p-6 shadow-sm" }, /* @__PURE__ */ React.createElement("div", { className: "text-base font-extrabold text-dark-blue-400" }, row.question), /* @__PURE__ */ React.createElement("div", { className: "mt-1 text-xs text-slate-500" }, row.answers.length, " answers"), /* @__PURE__ */ React.createElement("div", { className: "relative mt-4 h-[300px] w-full bg-white" }, /* @__PURE__ */ React.createElement(
|
|
1796
|
+
Chart,
|
|
1797
|
+
{
|
|
1798
|
+
options: {
|
|
1799
|
+
data: [{
|
|
1800
|
+
label: "",
|
|
1801
|
+
data: choices.map((k) => {
|
|
1802
|
+
return {
|
|
1803
|
+
primary: truncateWithEllipses(k, 50),
|
|
1804
|
+
secondary: labelMap[k]
|
|
1805
|
+
};
|
|
1806
|
+
})
|
|
1807
|
+
}],
|
|
1808
|
+
primaryAxis,
|
|
1809
|
+
secondaryAxes
|
|
1780
1810
|
}
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
return /* @__PURE__ */ React.createElement("div", { key: row.question, className: "rounded-xl border border-slate-200 bg-white p-6 shadow-sm" }, /* @__PURE__ */ React.createElement("div", { className: "text-base font-extrabold text-dark-blue-400" }, row.question), /* @__PURE__ */ React.createElement("div", { className: "mt-1 text-xs text-slate-500" }, row.answers.length, " answers"), /* @__PURE__ */ React.createElement("div", { className: "mt-4 flex flex-col gap-2" }, row.answers.map((a) => {
|
|
1784
|
-
const answerText = a.join("\n");
|
|
1785
|
-
return /* @__PURE__ */ React.createElement("div", { key: answerText, className: "rounded-lg bg-slate-50 p-3 text-sm text-slate-700" }, answerText);
|
|
1786
|
-
})));
|
|
1811
|
+
}
|
|
1812
|
+
)));
|
|
1787
1813
|
}));
|
|
1788
1814
|
}
|
|
1789
1815
|
const truncateWithEllipses = (text, max) => text.substr(0, max - 1) + (text.length > max ? "…" : "");
|
|
@@ -1796,13 +1822,9 @@ const Lesson = (props) => {
|
|
|
1796
1822
|
const contributors = props.contributors || [];
|
|
1797
1823
|
const visibleContributors = contributors.slice(0, 5);
|
|
1798
1824
|
const remainingContributors = contributors.slice(5).length;
|
|
1799
|
-
const tabs =
|
|
1825
|
+
const tabs = [
|
|
1800
1826
|
{ label: "By question", value: "question" },
|
|
1801
1827
|
{ label: "By student", value: "students" }
|
|
1802
|
-
] : [
|
|
1803
|
-
{ label: "By question", value: "question" },
|
|
1804
|
-
{ label: "By student", value: "students" },
|
|
1805
|
-
{ label: "By reflection", value: "reflections" }
|
|
1806
1828
|
];
|
|
1807
1829
|
return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-5 px-4 py-8" }, /* @__PURE__ */ React.createElement(
|
|
1808
1830
|
PageHeader,
|
|
@@ -1850,7 +1872,7 @@ const Lesson = (props) => {
|
|
|
1850
1872
|
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"}`
|
|
1851
1873
|
},
|
|
1852
1874
|
t.label
|
|
1853
|
-
))), tab === "question" && /* @__PURE__ */ React.createElement(Stack$2, { loading: props.loading, items: props.questions }), tab === "
|
|
1875
|
+
))), tab === "question" && /* @__PURE__ */ React.createElement(Stack$2, { loading: props.loading, items: props.questions }), tab === "students" && /* @__PURE__ */ React.createElement(Table$6, { loading: props.loading, items: props.students, linkState: props.linkState })));
|
|
1854
1876
|
};
|
|
1855
1877
|
|
|
1856
1878
|
function Table$5(props) {
|