@local-civics/mgmt-ui 0.1.219 → 0.1.221
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 +16 -0
- package/dist/index.js +356 -255
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +356 -255
- 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}.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-1{margin-top:.25rem}.mt-6{margin-top:1.5rem}.mt-2{margin-top:.5rem}.mt-1\\.5{margin-top:.375rem}.-ml-2{margin-left:-.5rem}.mt-4{margin-top:1rem}.mb-8{margin-bottom:2rem}.ml-\\[29px\\]{margin-left:29px}.block{display:block}.inline{display:inline}.flex{display: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-12{height:3rem}.h-\\[300px\\]{height:300px}.h-screen{height:100vh}.h-11{height:2.75rem}.h-16{height:4rem}.h-\\[30px\\]{height:30px}.w-10{width:2.5rem}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.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-40{width:10rem}.w-8{width:2rem}.w-7{width:1.75rem}.w-64{width:16rem}.w-12{width:3rem}.w-16{width:4rem}.w-\\[440px\\]{width:440px}.w-20{width:5rem}.w-24{width:6rem}.w-\\[250px\\]{width:250px}.w-screen{width:100vw}.w-11{width:2.75rem}.w-\\[230px\\]{width:230px}.w-\\[30px\\]{width:30px}.min-w-0{min-width:0}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.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))}.cursor-pointer{cursor:pointer}.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\\.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}.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-center{justify-content:center}.justify-between{justify-content:space-between}.gap-\\[18px\\]{gap:18px}.gap-5{gap:1.25rem}.gap-4{gap:1rem}.gap-1{gap:.25rem}.gap-3{gap:.75rem}.gap-2{gap:.5rem}.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\\.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-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)))}.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-\\[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-r{border-right-width:1px}.border-l{border-left-width:1px}.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-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-sky-blue-400\\/40{border-color:rgba(59,208,242,.4)}.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-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-gold-400\\/15{background-color:rgba(255,212,77,.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-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}.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-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-\\[10px\\]{font-size:10px}.text-\\[10\\.5px\\]{font-size:10.5px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-\\[11px\\]{font-size:11px}.text-\\[28px\\]{font-size:28px}.text-\\[12\\.5px\\]{font-size:12.5px}.text-base{font-size:1rem;line-height:1.5rem}.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-sky-blue-400{--tw-text-opacity:1;color:rgb(59 208 242/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-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{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-\\[0_2px_10px_rgba\\(30\\2c 226\\2c 175\\2c 0\\.15\\)\\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.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)}.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)}*,: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-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:text-slate-600:hover{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity))}.hover\\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/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-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}";
|
|
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}.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-1{margin-top:.25rem}.mt-6{margin-top:1.5rem}.mt-2{margin-top:.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}.ml-\\[29px\\]{margin-left:29px}.block{display:block}.inline{display:inline}.flex{display: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-12{height:3rem}.h-\\[300px\\]{height:300px}.h-screen{height:100vh}.h-11{height:2.75rem}.h-16{height:4rem}.h-\\[30px\\]{height:30px}.max-h-\\[70vh\\]{max-height:70vh}.w-10{width:2.5rem}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.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-40{width:10rem}.w-8{width:2rem}.w-7{width:1.75rem}.w-64{width:16rem}.w-12{width:3rem}.w-16{width:4rem}.w-\\[440px\\]{width:440px}.w-20{width:5rem}.w-24{width:6rem}.w-\\[250px\\]{width:250px}.w-screen{width:100vw}.w-11{width:2.75rem}.w-\\[230px\\]{width:230px}.w-\\[30px\\]{width:30px}.min-w-0{min-width:0}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.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))}.cursor-pointer{cursor:pointer}.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\\.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}.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-center{justify-content:center}.justify-between{justify-content:space-between}.gap-\\[18px\\]{gap:18px}.gap-5{gap:1.25rem}.gap-4{gap:1rem}.gap-1{gap:.25rem}.gap-3{gap:.75rem}.gap-2{gap:.5rem}.gap-1\\.5{gap:.375rem}.gap-2\\.5{gap:.625rem}.gap-3\\.5{gap:.875rem}.gap-6{gap:1.5rem}.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\\.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-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)))}.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-\\[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-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-sky-blue-400\\/40{border-color:rgba(59,208,242,.4)}.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-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-slate-50\\/60{background-color:rgba(248,250,252,.6)}.bg-sky-blue-400\\/15{background-color:rgba(59,208,242,.15)}.bg-gold-400\\/15{background-color:rgba(255,212,77,.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-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}.px-1{padding-left:.25rem;padding-right:.25rem}.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-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-\\[10px\\]{font-size:10px}.text-\\[10\\.5px\\]{font-size:10.5px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-\\[11px\\]{font-size:11px}.text-\\[28px\\]{font-size:28px}.text-\\[12\\.5px\\]{font-size:12.5px}.text-base{font-size:1rem;line-height:1.5rem}.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-sky-blue-400{--tw-text-opacity:1;color:rgb(59 208 242/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-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{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-\\[0_2px_10px_rgba\\(30\\2c 226\\2c 175\\2c 0\\.15\\)\\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.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)}.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)}*,: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-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:text-slate-600:hover{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity))}.hover\\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/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-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}";
|
|
44
44
|
styleInject(css_248z);
|
|
45
45
|
|
|
46
46
|
function UserButton({ image, name, email }) {
|
|
@@ -124,25 +124,25 @@ function LinksGroup({ icon: Icon, href, label, accent = "cyan", initiallyOpened,
|
|
|
124
124
|
), hasLinks && opened && /* @__PURE__ */ React.createElement("div", { className: "ml-[29px] mt-0.5 flex flex-col gap-0.5 border-l border-slate-100 pl-2.5" }, items));
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
-
var __defProp$
|
|
128
|
-
var __defProps$
|
|
129
|
-
var __getOwnPropDescs$
|
|
130
|
-
var __getOwnPropSymbols$
|
|
131
|
-
var __hasOwnProp$
|
|
132
|
-
var __propIsEnum$
|
|
133
|
-
var __defNormalProp$
|
|
134
|
-
var __spreadValues$
|
|
127
|
+
var __defProp$h = Object.defineProperty;
|
|
128
|
+
var __defProps$e = Object.defineProperties;
|
|
129
|
+
var __getOwnPropDescs$e = Object.getOwnPropertyDescriptors;
|
|
130
|
+
var __getOwnPropSymbols$h = Object.getOwnPropertySymbols;
|
|
131
|
+
var __hasOwnProp$h = Object.prototype.hasOwnProperty;
|
|
132
|
+
var __propIsEnum$h = Object.prototype.propertyIsEnumerable;
|
|
133
|
+
var __defNormalProp$h = (obj, key, value) => key in obj ? __defProp$h(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
134
|
+
var __spreadValues$h = (a, b) => {
|
|
135
135
|
for (var prop in b || (b = {}))
|
|
136
|
-
if (__hasOwnProp$
|
|
137
|
-
__defNormalProp$
|
|
138
|
-
if (__getOwnPropSymbols$
|
|
139
|
-
for (var prop of __getOwnPropSymbols$
|
|
140
|
-
if (__propIsEnum$
|
|
141
|
-
__defNormalProp$
|
|
136
|
+
if (__hasOwnProp$h.call(b, prop))
|
|
137
|
+
__defNormalProp$h(a, prop, b[prop]);
|
|
138
|
+
if (__getOwnPropSymbols$h)
|
|
139
|
+
for (var prop of __getOwnPropSymbols$h(b)) {
|
|
140
|
+
if (__propIsEnum$h.call(b, prop))
|
|
141
|
+
__defNormalProp$h(a, prop, b[prop]);
|
|
142
142
|
}
|
|
143
143
|
return a;
|
|
144
144
|
};
|
|
145
|
-
var __spreadProps$
|
|
145
|
+
var __spreadProps$e = (a, b) => __defProps$e(a, __getOwnPropDescs$e(b));
|
|
146
146
|
const data = [
|
|
147
147
|
{ label: "Home", icon: IconHome2, accent: "cyan" },
|
|
148
148
|
{ label: "Dashboard", icon: IconGauge, accent: "mint" },
|
|
@@ -169,12 +169,12 @@ function Navbar(props) {
|
|
|
169
169
|
}
|
|
170
170
|
return /* @__PURE__ */ React.createElement(
|
|
171
171
|
LinksGroup,
|
|
172
|
-
__spreadProps$
|
|
172
|
+
__spreadProps$e(__spreadValues$h(__spreadValues$h({
|
|
173
173
|
key: item.label,
|
|
174
174
|
active: props.active
|
|
175
175
|
}, item), context), {
|
|
176
176
|
links: (item.links || []).map((link) => {
|
|
177
|
-
return __spreadValues$
|
|
177
|
+
return __spreadValues$h(__spreadValues$h({}, link), props.links[`${item.label}/${link.label}`] || { notifications: 0, href: "" });
|
|
178
178
|
})
|
|
179
179
|
})
|
|
180
180
|
);
|
|
@@ -338,9 +338,12 @@ function Emblem(props) {
|
|
|
338
338
|
return;
|
|
339
339
|
}
|
|
340
340
|
const el = ref.current;
|
|
341
|
-
const onLoad = () => setFailed(false);
|
|
342
|
-
el == null ? void 0 : el.addEventListener("iconload", onLoad);
|
|
343
341
|
const timer = setTimeout(() => setFailed(true), LOAD_TIMEOUT_MS);
|
|
342
|
+
const onLoad = () => {
|
|
343
|
+
setFailed(false);
|
|
344
|
+
clearTimeout(timer);
|
|
345
|
+
};
|
|
346
|
+
el == null ? void 0 : el.addEventListener("iconload", onLoad);
|
|
344
347
|
return () => {
|
|
345
348
|
el == null ? void 0 : el.removeEventListener("iconload", onLoad);
|
|
346
349
|
clearTimeout(timer);
|
|
@@ -496,29 +499,29 @@ function useSortableData(items, config = { key: "", direction: null }) {
|
|
|
496
499
|
return { items: sortedItems, requestSort, sortConfig };
|
|
497
500
|
}
|
|
498
501
|
|
|
499
|
-
var __defProp$
|
|
500
|
-
var __defProps$
|
|
501
|
-
var __getOwnPropDescs$
|
|
502
|
-
var __getOwnPropSymbols$
|
|
503
|
-
var __hasOwnProp$
|
|
504
|
-
var __propIsEnum$
|
|
505
|
-
var __defNormalProp$
|
|
506
|
-
var __spreadValues$
|
|
502
|
+
var __defProp$g = Object.defineProperty;
|
|
503
|
+
var __defProps$d = Object.defineProperties;
|
|
504
|
+
var __getOwnPropDescs$d = Object.getOwnPropertyDescriptors;
|
|
505
|
+
var __getOwnPropSymbols$g = Object.getOwnPropertySymbols;
|
|
506
|
+
var __hasOwnProp$g = Object.prototype.hasOwnProperty;
|
|
507
|
+
var __propIsEnum$g = Object.prototype.propertyIsEnumerable;
|
|
508
|
+
var __defNormalProp$g = (obj, key, value) => key in obj ? __defProp$g(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
509
|
+
var __spreadValues$g = (a, b) => {
|
|
507
510
|
for (var prop in b || (b = {}))
|
|
508
|
-
if (__hasOwnProp$
|
|
509
|
-
__defNormalProp$
|
|
510
|
-
if (__getOwnPropSymbols$
|
|
511
|
-
for (var prop of __getOwnPropSymbols$
|
|
512
|
-
if (__propIsEnum$
|
|
513
|
-
__defNormalProp$
|
|
511
|
+
if (__hasOwnProp$g.call(b, prop))
|
|
512
|
+
__defNormalProp$g(a, prop, b[prop]);
|
|
513
|
+
if (__getOwnPropSymbols$g)
|
|
514
|
+
for (var prop of __getOwnPropSymbols$g(b)) {
|
|
515
|
+
if (__propIsEnum$g.call(b, prop))
|
|
516
|
+
__defNormalProp$g(a, prop, b[prop]);
|
|
514
517
|
}
|
|
515
518
|
return a;
|
|
516
519
|
};
|
|
517
|
-
var __spreadProps$
|
|
520
|
+
var __spreadProps$d = (a, b) => __defProps$d(a, __getOwnPropDescs$d(b));
|
|
518
521
|
function Table$k(props) {
|
|
519
522
|
const [expanded, setExpanded] = React.useState({});
|
|
520
523
|
const preparedItems = React.useMemo(() => {
|
|
521
|
-
return props.items.map((item) => __spreadProps$
|
|
524
|
+
return props.items.map((item) => __spreadProps$d(__spreadValues$g({}, item), {
|
|
522
525
|
status: item.isComplete ? 1 : 0
|
|
523
526
|
}));
|
|
524
527
|
}, [props.items]);
|
|
@@ -542,7 +545,7 @@ function Table$k(props) {
|
|
|
542
545
|
return /* @__PURE__ */ React.createElement("div", { key: row.userId, className: "rounded-xl border border-slate-200 bg-white shadow-sm" }, /* @__PURE__ */ React.createElement(
|
|
543
546
|
"div",
|
|
544
547
|
{
|
|
545
|
-
onClick: () => setExpanded(__spreadProps$
|
|
548
|
+
onClick: () => setExpanded(__spreadProps$d(__spreadValues$g({}, expanded), { [row.userId]: !isOpen })),
|
|
546
549
|
className: "flex cursor-pointer items-center gap-4 p-4"
|
|
547
550
|
},
|
|
548
551
|
/* @__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))),
|
|
@@ -597,6 +600,10 @@ const Badge = (props) => {
|
|
|
597
600
|
{
|
|
598
601
|
title: props.trial ? "LESSONS SUBMITTED" : "BADGE COMPLETION",
|
|
599
602
|
value: props.trial ? props.lessonsCompleted || 0 : numberOfBadges
|
|
603
|
+
},
|
|
604
|
+
{
|
|
605
|
+
title: "POINT VALUE",
|
|
606
|
+
value: props.weight || 0
|
|
600
607
|
}
|
|
601
608
|
] }), !props.trial && /* @__PURE__ */ React.createElement("div", { className: "relative w-full max-w-xs" }, /* @__PURE__ */ React.createElement(IconCategory2, { size: 16, stroke: 2, className: "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-slate-400" }), /* @__PURE__ */ React.createElement(
|
|
602
609
|
"select",
|
|
@@ -726,28 +733,28 @@ function relativeTimeFromElapsed(elapsed) {
|
|
|
726
733
|
return "";
|
|
727
734
|
}
|
|
728
735
|
|
|
729
|
-
var __defProp$
|
|
730
|
-
var __defProps$
|
|
731
|
-
var __getOwnPropDescs$
|
|
732
|
-
var __getOwnPropSymbols$
|
|
733
|
-
var __hasOwnProp$
|
|
734
|
-
var __propIsEnum$
|
|
735
|
-
var __defNormalProp$
|
|
736
|
-
var __spreadValues$
|
|
736
|
+
var __defProp$f = Object.defineProperty;
|
|
737
|
+
var __defProps$c = Object.defineProperties;
|
|
738
|
+
var __getOwnPropDescs$c = Object.getOwnPropertyDescriptors;
|
|
739
|
+
var __getOwnPropSymbols$f = Object.getOwnPropertySymbols;
|
|
740
|
+
var __hasOwnProp$f = Object.prototype.hasOwnProperty;
|
|
741
|
+
var __propIsEnum$f = Object.prototype.propertyIsEnumerable;
|
|
742
|
+
var __defNormalProp$f = (obj, key, value) => key in obj ? __defProp$f(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
743
|
+
var __spreadValues$f = (a, b) => {
|
|
737
744
|
for (var prop in b || (b = {}))
|
|
738
|
-
if (__hasOwnProp$
|
|
739
|
-
__defNormalProp$
|
|
740
|
-
if (__getOwnPropSymbols$
|
|
741
|
-
for (var prop of __getOwnPropSymbols$
|
|
742
|
-
if (__propIsEnum$
|
|
743
|
-
__defNormalProp$
|
|
745
|
+
if (__hasOwnProp$f.call(b, prop))
|
|
746
|
+
__defNormalProp$f(a, prop, b[prop]);
|
|
747
|
+
if (__getOwnPropSymbols$f)
|
|
748
|
+
for (var prop of __getOwnPropSymbols$f(b)) {
|
|
749
|
+
if (__propIsEnum$f.call(b, prop))
|
|
750
|
+
__defNormalProp$f(a, prop, b[prop]);
|
|
744
751
|
}
|
|
745
752
|
return a;
|
|
746
753
|
};
|
|
747
|
-
var __spreadProps$
|
|
754
|
+
var __spreadProps$c = (a, b) => __defProps$c(a, __getOwnPropDescs$c(b));
|
|
748
755
|
function Table$g(props) {
|
|
749
756
|
const preparedItems = React.useMemo(() => {
|
|
750
|
-
return props.items.map((item) => __spreadProps$
|
|
757
|
+
return props.items.map((item) => __spreadProps$c(__spreadValues$f({}, item), {
|
|
751
758
|
updatedAtDate: new Date(item.updatedAt)
|
|
752
759
|
}));
|
|
753
760
|
}, [props.items]);
|
|
@@ -950,25 +957,25 @@ const Dashboard = (props) => {
|
|
|
950
957
|
)));
|
|
951
958
|
};
|
|
952
959
|
|
|
953
|
-
var __defProp$
|
|
954
|
-
var __defProps$
|
|
955
|
-
var __getOwnPropDescs$
|
|
956
|
-
var __getOwnPropSymbols$
|
|
957
|
-
var __hasOwnProp$
|
|
958
|
-
var __propIsEnum$
|
|
959
|
-
var __defNormalProp$
|
|
960
|
-
var __spreadValues$
|
|
960
|
+
var __defProp$e = Object.defineProperty;
|
|
961
|
+
var __defProps$b = Object.defineProperties;
|
|
962
|
+
var __getOwnPropDescs$b = Object.getOwnPropertyDescriptors;
|
|
963
|
+
var __getOwnPropSymbols$e = Object.getOwnPropertySymbols;
|
|
964
|
+
var __hasOwnProp$e = Object.prototype.hasOwnProperty;
|
|
965
|
+
var __propIsEnum$e = Object.prototype.propertyIsEnumerable;
|
|
966
|
+
var __defNormalProp$e = (obj, key, value) => key in obj ? __defProp$e(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
967
|
+
var __spreadValues$e = (a, b) => {
|
|
961
968
|
for (var prop in b || (b = {}))
|
|
962
|
-
if (__hasOwnProp$
|
|
963
|
-
__defNormalProp$
|
|
964
|
-
if (__getOwnPropSymbols$
|
|
965
|
-
for (var prop of __getOwnPropSymbols$
|
|
966
|
-
if (__propIsEnum$
|
|
967
|
-
__defNormalProp$
|
|
969
|
+
if (__hasOwnProp$e.call(b, prop))
|
|
970
|
+
__defNormalProp$e(a, prop, b[prop]);
|
|
971
|
+
if (__getOwnPropSymbols$e)
|
|
972
|
+
for (var prop of __getOwnPropSymbols$e(b)) {
|
|
973
|
+
if (__propIsEnum$e.call(b, prop))
|
|
974
|
+
__defNormalProp$e(a, prop, b[prop]);
|
|
968
975
|
}
|
|
969
976
|
return a;
|
|
970
977
|
};
|
|
971
|
-
var __spreadProps$
|
|
978
|
+
var __spreadProps$b = (a, b) => __defProps$b(a, __getOwnPropDescs$b(b));
|
|
972
979
|
const openDeleteModal$2 = (student, onDelete) => openConfirmModal({
|
|
973
980
|
title: `Remove "${student.givenName && student.familyName ? `${student.givenName} ${student.familyName}` : student.email}" from this class?`,
|
|
974
981
|
centered: true,
|
|
@@ -979,7 +986,7 @@ const openDeleteModal$2 = (student, onDelete) => openConfirmModal({
|
|
|
979
986
|
});
|
|
980
987
|
function Table$c(props) {
|
|
981
988
|
const preparedItems = React.useMemo(() => {
|
|
982
|
-
return props.items.map((item) => __spreadProps$
|
|
989
|
+
return props.items.map((item) => __spreadProps$b(__spreadValues$e({}, item), {
|
|
983
990
|
fullName: item.givenName && item.familyName ? `${item.givenName} ${item.familyName}`.toLowerCase() : item.email.toLowerCase()
|
|
984
991
|
}));
|
|
985
992
|
}, [props.items]);
|
|
@@ -1030,25 +1037,25 @@ function Table$c(props) {
|
|
|
1030
1037
|
}));
|
|
1031
1038
|
}
|
|
1032
1039
|
|
|
1033
|
-
var __defProp$
|
|
1034
|
-
var __defProps$
|
|
1035
|
-
var __getOwnPropDescs$
|
|
1036
|
-
var __getOwnPropSymbols$
|
|
1037
|
-
var __hasOwnProp$
|
|
1038
|
-
var __propIsEnum$
|
|
1039
|
-
var __defNormalProp$
|
|
1040
|
-
var __spreadValues$
|
|
1040
|
+
var __defProp$d = Object.defineProperty;
|
|
1041
|
+
var __defProps$a = Object.defineProperties;
|
|
1042
|
+
var __getOwnPropDescs$a = Object.getOwnPropertyDescriptors;
|
|
1043
|
+
var __getOwnPropSymbols$d = Object.getOwnPropertySymbols;
|
|
1044
|
+
var __hasOwnProp$d = Object.prototype.hasOwnProperty;
|
|
1045
|
+
var __propIsEnum$d = Object.prototype.propertyIsEnumerable;
|
|
1046
|
+
var __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$d(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1047
|
+
var __spreadValues$d = (a, b) => {
|
|
1041
1048
|
for (var prop in b || (b = {}))
|
|
1042
|
-
if (__hasOwnProp$
|
|
1043
|
-
__defNormalProp$
|
|
1044
|
-
if (__getOwnPropSymbols$
|
|
1045
|
-
for (var prop of __getOwnPropSymbols$
|
|
1046
|
-
if (__propIsEnum$
|
|
1047
|
-
__defNormalProp$
|
|
1049
|
+
if (__hasOwnProp$d.call(b, prop))
|
|
1050
|
+
__defNormalProp$d(a, prop, b[prop]);
|
|
1051
|
+
if (__getOwnPropSymbols$d)
|
|
1052
|
+
for (var prop of __getOwnPropSymbols$d(b)) {
|
|
1053
|
+
if (__propIsEnum$d.call(b, prop))
|
|
1054
|
+
__defNormalProp$d(a, prop, b[prop]);
|
|
1048
1055
|
}
|
|
1049
1056
|
return a;
|
|
1050
1057
|
};
|
|
1051
|
-
var __spreadProps$
|
|
1058
|
+
var __spreadProps$a = (a, b) => __defProps$a(a, __getOwnPropDescs$a(b));
|
|
1052
1059
|
const Class = (props) => {
|
|
1053
1060
|
const [opened, setOpened] = useState(false);
|
|
1054
1061
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
|
|
@@ -1060,7 +1067,7 @@ const Class = (props) => {
|
|
|
1060
1067
|
padding: "xl",
|
|
1061
1068
|
size: "xl"
|
|
1062
1069
|
},
|
|
1063
|
-
/* @__PURE__ */ React.createElement(DropzoneButton$1, __spreadProps$
|
|
1070
|
+
/* @__PURE__ */ React.createElement(DropzoneButton$1, __spreadProps$a(__spreadValues$d({}, props), { close: () => setOpened(false) }))
|
|
1064
1071
|
), /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-5 px-4 py-8" }, /* @__PURE__ */ React.createElement("div", { className: "flex flex-wrap items-start justify-between gap-4" }, /* @__PURE__ */ React.createElement("div", { className: "space-y-1.5" }, /* @__PURE__ */ React.createElement("div", { onClick: props.onBackClick, className: "flex w-max cursor-pointer items-center gap-1 text-xs font-bold text-sky-blue-400" }, /* @__PURE__ */ React.createElement(IconArrowLeft, { size: 13, stroke: 2.5 }), "Back"), /* @__PURE__ */ React.createElement("h1", { className: "text-2xl font-extrabold tracking-tight text-dark-blue-400" }, props.displayName || "Class"), /* @__PURE__ */ React.createElement("p", { className: "text-sm text-slate-500" }, props.description || "No description")), !props.loading && /* @__PURE__ */ React.createElement("div", { className: "flex gap-2" }, /* @__PURE__ */ React.createElement(
|
|
1065
1072
|
"button",
|
|
1066
1073
|
{
|
|
@@ -1186,20 +1193,20 @@ const DropzoneButton$1 = (props) => {
|
|
|
1186
1193
|
props.onCreateMembers && props.onCreateMembers([values]);
|
|
1187
1194
|
}) }, /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React.createElement(
|
|
1188
1195
|
TextInput,
|
|
1189
|
-
__spreadValues$
|
|
1196
|
+
__spreadValues$d({
|
|
1190
1197
|
withAsterisk: true,
|
|
1191
1198
|
label: "Email",
|
|
1192
1199
|
placeholder: "Email"
|
|
1193
1200
|
}, form.getInputProps("email"))
|
|
1194
1201
|
), /* @__PURE__ */ React.createElement(Group, { grow: true }, /* @__PURE__ */ React.createElement(
|
|
1195
1202
|
TextInput,
|
|
1196
|
-
__spreadValues$
|
|
1203
|
+
__spreadValues$d({
|
|
1197
1204
|
label: "Given name",
|
|
1198
1205
|
placeholder: "Given name"
|
|
1199
1206
|
}, form.getInputProps("givenName"))
|
|
1200
1207
|
), /* @__PURE__ */ React.createElement(
|
|
1201
1208
|
TextInput,
|
|
1202
|
-
__spreadValues$
|
|
1209
|
+
__spreadValues$d({
|
|
1203
1210
|
label: "Family name",
|
|
1204
1211
|
placeholder: "Family name"
|
|
1205
1212
|
}, form.getInputProps("familyName"))
|
|
@@ -1256,19 +1263,19 @@ function Table$b(props) {
|
|
|
1256
1263
|
)));
|
|
1257
1264
|
}
|
|
1258
1265
|
|
|
1259
|
-
var __defProp$
|
|
1260
|
-
var __getOwnPropSymbols$
|
|
1261
|
-
var __hasOwnProp$
|
|
1262
|
-
var __propIsEnum$
|
|
1263
|
-
var __defNormalProp$
|
|
1264
|
-
var __spreadValues$
|
|
1266
|
+
var __defProp$c = Object.defineProperty;
|
|
1267
|
+
var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
|
|
1268
|
+
var __hasOwnProp$c = Object.prototype.hasOwnProperty;
|
|
1269
|
+
var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
|
|
1270
|
+
var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$c(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1271
|
+
var __spreadValues$c = (a, b) => {
|
|
1265
1272
|
for (var prop in b || (b = {}))
|
|
1266
|
-
if (__hasOwnProp$
|
|
1267
|
-
__defNormalProp$
|
|
1268
|
-
if (__getOwnPropSymbols$
|
|
1269
|
-
for (var prop of __getOwnPropSymbols$
|
|
1270
|
-
if (__propIsEnum$
|
|
1271
|
-
__defNormalProp$
|
|
1273
|
+
if (__hasOwnProp$c.call(b, prop))
|
|
1274
|
+
__defNormalProp$c(a, prop, b[prop]);
|
|
1275
|
+
if (__getOwnPropSymbols$c)
|
|
1276
|
+
for (var prop of __getOwnPropSymbols$c(b)) {
|
|
1277
|
+
if (__propIsEnum$c.call(b, prop))
|
|
1278
|
+
__defNormalProp$c(a, prop, b[prop]);
|
|
1272
1279
|
}
|
|
1273
1280
|
return a;
|
|
1274
1281
|
};
|
|
@@ -1302,14 +1309,14 @@ const Classes = (props) => {
|
|
|
1302
1309
|
props.onCreateClass && props.onCreateClass(values);
|
|
1303
1310
|
}) }, /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React.createElement(
|
|
1304
1311
|
TextInput,
|
|
1305
|
-
__spreadValues$
|
|
1312
|
+
__spreadValues$c({
|
|
1306
1313
|
withAsterisk: true,
|
|
1307
1314
|
label: "Name",
|
|
1308
1315
|
placeholder: "Class name"
|
|
1309
1316
|
}, form.getInputProps("name"))
|
|
1310
1317
|
), /* @__PURE__ */ React.createElement(
|
|
1311
1318
|
TextInput,
|
|
1312
|
-
__spreadValues$
|
|
1319
|
+
__spreadValues$c({
|
|
1313
1320
|
label: "Description",
|
|
1314
1321
|
placeholder: "A class for my first period English students"
|
|
1315
1322
|
}, form.getInputProps("description"))
|
|
@@ -1613,29 +1620,29 @@ function Stack$3(props) {
|
|
|
1613
1620
|
return /* @__PURE__ */ React.createElement(Link, { to: props.href, 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."))));
|
|
1614
1621
|
}
|
|
1615
1622
|
|
|
1616
|
-
var __defProp$
|
|
1617
|
-
var __defProps$
|
|
1618
|
-
var __getOwnPropDescs$
|
|
1619
|
-
var __getOwnPropSymbols$
|
|
1620
|
-
var __hasOwnProp$
|
|
1621
|
-
var __propIsEnum$
|
|
1622
|
-
var __defNormalProp$
|
|
1623
|
-
var __spreadValues$
|
|
1623
|
+
var __defProp$b = Object.defineProperty;
|
|
1624
|
+
var __defProps$9 = Object.defineProperties;
|
|
1625
|
+
var __getOwnPropDescs$9 = Object.getOwnPropertyDescriptors;
|
|
1626
|
+
var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
|
|
1627
|
+
var __hasOwnProp$b = Object.prototype.hasOwnProperty;
|
|
1628
|
+
var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
|
|
1629
|
+
var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1630
|
+
var __spreadValues$b = (a, b) => {
|
|
1624
1631
|
for (var prop in b || (b = {}))
|
|
1625
|
-
if (__hasOwnProp$
|
|
1626
|
-
__defNormalProp$
|
|
1627
|
-
if (__getOwnPropSymbols$
|
|
1628
|
-
for (var prop of __getOwnPropSymbols$
|
|
1629
|
-
if (__propIsEnum$
|
|
1630
|
-
__defNormalProp$
|
|
1632
|
+
if (__hasOwnProp$b.call(b, prop))
|
|
1633
|
+
__defNormalProp$b(a, prop, b[prop]);
|
|
1634
|
+
if (__getOwnPropSymbols$b)
|
|
1635
|
+
for (var prop of __getOwnPropSymbols$b(b)) {
|
|
1636
|
+
if (__propIsEnum$b.call(b, prop))
|
|
1637
|
+
__defNormalProp$b(a, prop, b[prop]);
|
|
1631
1638
|
}
|
|
1632
1639
|
return a;
|
|
1633
1640
|
};
|
|
1634
|
-
var __spreadProps$
|
|
1641
|
+
var __spreadProps$9 = (a, b) => __defProps$9(a, __getOwnPropDescs$9(b));
|
|
1635
1642
|
function Table$6(props) {
|
|
1636
1643
|
const [expanded, setExpanded] = React.useState({});
|
|
1637
1644
|
const preparedItems = React.useMemo(() => {
|
|
1638
|
-
return props.items.map((item) => __spreadProps$
|
|
1645
|
+
return props.items.map((item) => __spreadProps$9(__spreadValues$b({}, item), {
|
|
1639
1646
|
status: item.isComplete ? 2 : item.isStarted ? 1 : 0
|
|
1640
1647
|
}));
|
|
1641
1648
|
}, [props.items]);
|
|
@@ -1659,7 +1666,7 @@ function Table$6(props) {
|
|
|
1659
1666
|
return /* @__PURE__ */ React.createElement("div", { key: row.userId, className: "rounded-xl border border-slate-200 bg-white shadow-sm" }, /* @__PURE__ */ React.createElement(
|
|
1660
1667
|
"div",
|
|
1661
1668
|
{
|
|
1662
|
-
onClick: () => setExpanded(__spreadProps$
|
|
1669
|
+
onClick: () => setExpanded(__spreadProps$9(__spreadValues$b({}, expanded), { [row.userId]: !isOpen })),
|
|
1663
1670
|
className: "flex cursor-pointer items-center gap-4 p-4"
|
|
1664
1671
|
},
|
|
1665
1672
|
/* @__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))),
|
|
@@ -1960,25 +1967,25 @@ function Table$4(props) {
|
|
|
1960
1967
|
}));
|
|
1961
1968
|
}
|
|
1962
1969
|
|
|
1963
|
-
var __defProp$
|
|
1964
|
-
var __defProps$
|
|
1965
|
-
var __getOwnPropDescs$
|
|
1966
|
-
var __getOwnPropSymbols$
|
|
1967
|
-
var __hasOwnProp$
|
|
1968
|
-
var __propIsEnum$
|
|
1969
|
-
var __defNormalProp$
|
|
1970
|
-
var __spreadValues$
|
|
1970
|
+
var __defProp$a = Object.defineProperty;
|
|
1971
|
+
var __defProps$8 = Object.defineProperties;
|
|
1972
|
+
var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
|
|
1973
|
+
var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
|
|
1974
|
+
var __hasOwnProp$a = Object.prototype.hasOwnProperty;
|
|
1975
|
+
var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
|
|
1976
|
+
var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1977
|
+
var __spreadValues$a = (a, b) => {
|
|
1971
1978
|
for (var prop in b || (b = {}))
|
|
1972
|
-
if (__hasOwnProp$
|
|
1973
|
-
__defNormalProp$
|
|
1974
|
-
if (__getOwnPropSymbols$
|
|
1975
|
-
for (var prop of __getOwnPropSymbols$
|
|
1976
|
-
if (__propIsEnum$
|
|
1977
|
-
__defNormalProp$
|
|
1979
|
+
if (__hasOwnProp$a.call(b, prop))
|
|
1980
|
+
__defNormalProp$a(a, prop, b[prop]);
|
|
1981
|
+
if (__getOwnPropSymbols$a)
|
|
1982
|
+
for (var prop of __getOwnPropSymbols$a(b)) {
|
|
1983
|
+
if (__propIsEnum$a.call(b, prop))
|
|
1984
|
+
__defNormalProp$a(a, prop, b[prop]);
|
|
1978
1985
|
}
|
|
1979
1986
|
return a;
|
|
1980
1987
|
};
|
|
1981
|
-
var __spreadProps$
|
|
1988
|
+
var __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));
|
|
1982
1989
|
const People = (props) => {
|
|
1983
1990
|
const form = useForm({
|
|
1984
1991
|
initialValues: {
|
|
@@ -2010,27 +2017,27 @@ const People = (props) => {
|
|
|
2010
2017
|
padding: "xl",
|
|
2011
2018
|
size: "xl"
|
|
2012
2019
|
},
|
|
2013
|
-
/* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-4" }, /* @__PURE__ */ React.createElement(DropzoneButton, __spreadProps$
|
|
2020
|
+
/* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-4" }, /* @__PURE__ */ React.createElement(DropzoneButton, __spreadProps$8(__spreadValues$a({}, props), { close: () => setOpened(false) })), /* @__PURE__ */ React.createElement(Divider, { label: "or", labelPosition: "center", my: "md", variant: "dashed" }), /* @__PURE__ */ React.createElement("form", { onSubmit: form.onSubmit(() => {
|
|
2014
2021
|
const values = form.values;
|
|
2015
2022
|
form.reset();
|
|
2016
2023
|
setOpened(false);
|
|
2017
2024
|
props.onCreateUsers && props.onCreateUsers([values]);
|
|
2018
2025
|
}) }, /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React.createElement(
|
|
2019
2026
|
TextInput,
|
|
2020
|
-
__spreadValues$
|
|
2027
|
+
__spreadValues$a({
|
|
2021
2028
|
withAsterisk: true,
|
|
2022
2029
|
label: "Email",
|
|
2023
2030
|
placeholder: "Email"
|
|
2024
2031
|
}, form.getInputProps("email"))
|
|
2025
2032
|
), /* @__PURE__ */ React.createElement(Group, { grow: true }, /* @__PURE__ */ React.createElement(
|
|
2026
2033
|
TextInput,
|
|
2027
|
-
__spreadValues$
|
|
2034
|
+
__spreadValues$a({
|
|
2028
2035
|
label: "Given name",
|
|
2029
2036
|
placeholder: "Given name"
|
|
2030
2037
|
}, form.getInputProps("givenName"))
|
|
2031
2038
|
), /* @__PURE__ */ React.createElement(
|
|
2032
2039
|
TextInput,
|
|
2033
|
-
__spreadValues$
|
|
2040
|
+
__spreadValues$a({
|
|
2034
2041
|
label: "Family name",
|
|
2035
2042
|
placeholder: "Family name"
|
|
2036
2043
|
}, form.getInputProps("familyName"))
|
|
@@ -2216,24 +2223,24 @@ const StartAnonymousLesson = (props) => {
|
|
|
2216
2223
|
))))));
|
|
2217
2224
|
};
|
|
2218
2225
|
|
|
2219
|
-
var __defProp$
|
|
2220
|
-
var __getOwnPropSymbols$
|
|
2221
|
-
var __hasOwnProp$
|
|
2222
|
-
var __propIsEnum$
|
|
2223
|
-
var __defNormalProp$
|
|
2224
|
-
var __spreadValues$
|
|
2226
|
+
var __defProp$9 = Object.defineProperty;
|
|
2227
|
+
var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
|
|
2228
|
+
var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
|
|
2229
|
+
var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
|
|
2230
|
+
var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2231
|
+
var __spreadValues$9 = (a, b) => {
|
|
2225
2232
|
for (var prop in b || (b = {}))
|
|
2226
|
-
if (__hasOwnProp$
|
|
2227
|
-
__defNormalProp$
|
|
2228
|
-
if (__getOwnPropSymbols$
|
|
2229
|
-
for (var prop of __getOwnPropSymbols$
|
|
2230
|
-
if (__propIsEnum$
|
|
2231
|
-
__defNormalProp$
|
|
2233
|
+
if (__hasOwnProp$9.call(b, prop))
|
|
2234
|
+
__defNormalProp$9(a, prop, b[prop]);
|
|
2235
|
+
if (__getOwnPropSymbols$9)
|
|
2236
|
+
for (var prop of __getOwnPropSymbols$9(b)) {
|
|
2237
|
+
if (__propIsEnum$9.call(b, prop))
|
|
2238
|
+
__defNormalProp$9(a, prop, b[prop]);
|
|
2232
2239
|
}
|
|
2233
2240
|
return a;
|
|
2234
2241
|
};
|
|
2235
2242
|
const BadgeGrid = (props) => {
|
|
2236
|
-
const badges = props.badges.map((b) => /* @__PURE__ */ React.createElement(TaskCard, __spreadValues$
|
|
2243
|
+
const badges = props.badges.map((b) => /* @__PURE__ */ React.createElement(TaskCard, __spreadValues$9({ key: b.title }, b)));
|
|
2237
2244
|
return /* @__PURE__ */ React.createElement(SimpleGrid, { cols: 4, breakpoints: [{ maxWidth: "sm", cols: 1 }, { maxWidth: "md", cols: 3 }] }, badges);
|
|
2238
2245
|
};
|
|
2239
2246
|
function TaskCard(props) {
|
|
@@ -2267,30 +2274,30 @@ const UserInfo = (props) => {
|
|
|
2267
2274
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Title, { className: classes.title }, props.name), /* @__PURE__ */ React.createElement(Text, { color: "dimmed", className: classes.description, mt: "xs" }, props.impactStatement));
|
|
2268
2275
|
};
|
|
2269
2276
|
|
|
2270
|
-
var __defProp$
|
|
2271
|
-
var __getOwnPropSymbols$
|
|
2272
|
-
var __hasOwnProp$
|
|
2273
|
-
var __propIsEnum$
|
|
2274
|
-
var __defNormalProp$
|
|
2275
|
-
var __spreadValues$
|
|
2277
|
+
var __defProp$8 = Object.defineProperty;
|
|
2278
|
+
var __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;
|
|
2279
|
+
var __hasOwnProp$8 = Object.prototype.hasOwnProperty;
|
|
2280
|
+
var __propIsEnum$8 = Object.prototype.propertyIsEnumerable;
|
|
2281
|
+
var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2282
|
+
var __spreadValues$8 = (a, b) => {
|
|
2276
2283
|
for (var prop in b || (b = {}))
|
|
2277
|
-
if (__hasOwnProp$
|
|
2278
|
-
__defNormalProp$
|
|
2279
|
-
if (__getOwnPropSymbols$
|
|
2280
|
-
for (var prop of __getOwnPropSymbols$
|
|
2281
|
-
if (__propIsEnum$
|
|
2282
|
-
__defNormalProp$
|
|
2284
|
+
if (__hasOwnProp$8.call(b, prop))
|
|
2285
|
+
__defNormalProp$8(a, prop, b[prop]);
|
|
2286
|
+
if (__getOwnPropSymbols$8)
|
|
2287
|
+
for (var prop of __getOwnPropSymbols$8(b)) {
|
|
2288
|
+
if (__propIsEnum$8.call(b, prop))
|
|
2289
|
+
__defNormalProp$8(a, prop, b[prop]);
|
|
2283
2290
|
}
|
|
2284
2291
|
return a;
|
|
2285
2292
|
};
|
|
2286
2293
|
var __objRest$1 = (source, exclude) => {
|
|
2287
2294
|
var target = {};
|
|
2288
2295
|
for (var prop in source)
|
|
2289
|
-
if (__hasOwnProp$
|
|
2296
|
+
if (__hasOwnProp$8.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
2290
2297
|
target[prop] = source[prop];
|
|
2291
|
-
if (source != null && __getOwnPropSymbols$
|
|
2292
|
-
for (var prop of __getOwnPropSymbols$
|
|
2293
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum$
|
|
2298
|
+
if (source != null && __getOwnPropSymbols$8)
|
|
2299
|
+
for (var prop of __getOwnPropSymbols$8(source)) {
|
|
2300
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum$8.call(source, prop))
|
|
2294
2301
|
target[prop] = source[prop];
|
|
2295
2302
|
}
|
|
2296
2303
|
return target;
|
|
@@ -2357,9 +2364,9 @@ const TenantBanner = (_a) => {
|
|
|
2357
2364
|
};
|
|
2358
2365
|
return /* @__PURE__ */ React.createElement(
|
|
2359
2366
|
Card,
|
|
2360
|
-
__spreadValues$
|
|
2367
|
+
__spreadValues$8({
|
|
2361
2368
|
radius: "md",
|
|
2362
|
-
style: __spreadValues$
|
|
2369
|
+
style: __spreadValues$8({ backgroundImage: `url(${image})` }, style),
|
|
2363
2370
|
className: cx(classes.card, className)
|
|
2364
2371
|
}, others),
|
|
2365
2372
|
/* @__PURE__ */ React.createElement(
|
|
@@ -2435,33 +2442,33 @@ const TrialHome = (props) => {
|
|
|
2435
2442
|
)), /* @__PURE__ */ React.createElement(Title, { maw: 500, mb: 20, mt: 20, className: classes.title }, "Based on the tags you selected, check out these lessons to get started with your students!"), /* @__PURE__ */ React.createElement(BadgeGrid, { onAssign: props.onAssign, badges: props.badges })));
|
|
2436
2443
|
};
|
|
2437
2444
|
|
|
2438
|
-
var __defProp$
|
|
2439
|
-
var __defProps$
|
|
2440
|
-
var __getOwnPropDescs$
|
|
2441
|
-
var __getOwnPropSymbols$
|
|
2442
|
-
var __hasOwnProp$
|
|
2443
|
-
var __propIsEnum$
|
|
2444
|
-
var __defNormalProp$
|
|
2445
|
-
var __spreadValues$
|
|
2445
|
+
var __defProp$7 = Object.defineProperty;
|
|
2446
|
+
var __defProps$7 = Object.defineProperties;
|
|
2447
|
+
var __getOwnPropDescs$7 = Object.getOwnPropertyDescriptors;
|
|
2448
|
+
var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
|
|
2449
|
+
var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
|
|
2450
|
+
var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
|
|
2451
|
+
var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2452
|
+
var __spreadValues$7 = (a, b) => {
|
|
2446
2453
|
for (var prop in b || (b = {}))
|
|
2447
|
-
if (__hasOwnProp$
|
|
2448
|
-
__defNormalProp$
|
|
2449
|
-
if (__getOwnPropSymbols$
|
|
2450
|
-
for (var prop of __getOwnPropSymbols$
|
|
2451
|
-
if (__propIsEnum$
|
|
2452
|
-
__defNormalProp$
|
|
2454
|
+
if (__hasOwnProp$7.call(b, prop))
|
|
2455
|
+
__defNormalProp$7(a, prop, b[prop]);
|
|
2456
|
+
if (__getOwnPropSymbols$7)
|
|
2457
|
+
for (var prop of __getOwnPropSymbols$7(b)) {
|
|
2458
|
+
if (__propIsEnum$7.call(b, prop))
|
|
2459
|
+
__defNormalProp$7(a, prop, b[prop]);
|
|
2453
2460
|
}
|
|
2454
2461
|
return a;
|
|
2455
2462
|
};
|
|
2456
|
-
var __spreadProps$
|
|
2463
|
+
var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
|
|
2457
2464
|
var __objRest = (source, exclude) => {
|
|
2458
2465
|
var target = {};
|
|
2459
2466
|
for (var prop in source)
|
|
2460
|
-
if (__hasOwnProp$
|
|
2467
|
+
if (__hasOwnProp$7.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
2461
2468
|
target[prop] = source[prop];
|
|
2462
|
-
if (source != null && __getOwnPropSymbols$
|
|
2463
|
-
for (var prop of __getOwnPropSymbols$
|
|
2464
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum$
|
|
2469
|
+
if (source != null && __getOwnPropSymbols$7)
|
|
2470
|
+
for (var prop of __getOwnPropSymbols$7(source)) {
|
|
2471
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum$7.call(source, prop))
|
|
2465
2472
|
target[prop] = source[prop];
|
|
2466
2473
|
}
|
|
2467
2474
|
return target;
|
|
@@ -2511,7 +2518,7 @@ function ImageCheckbox(_a) {
|
|
|
2511
2518
|
const { classes, cx } = useStyles$2({ checked: value });
|
|
2512
2519
|
return /* @__PURE__ */ React.createElement(
|
|
2513
2520
|
UnstyledButton,
|
|
2514
|
-
__spreadProps$
|
|
2521
|
+
__spreadProps$7(__spreadValues$7({}, others), {
|
|
2515
2522
|
onClick: () => handleChange(!value),
|
|
2516
2523
|
className: cx(classes.button, className)
|
|
2517
2524
|
}),
|
|
@@ -2532,7 +2539,7 @@ function ImageCheckbox(_a) {
|
|
|
2532
2539
|
function SelectGrid(props) {
|
|
2533
2540
|
const items = props.items.map((item) => /* @__PURE__ */ React.createElement(
|
|
2534
2541
|
ImageCheckbox,
|
|
2535
|
-
__spreadProps$
|
|
2542
|
+
__spreadProps$7(__spreadValues$7({}, item), {
|
|
2536
2543
|
key: item.title,
|
|
2537
2544
|
onChange: (checked) => props.onChange(item.title, checked)
|
|
2538
2545
|
})
|
|
@@ -2550,25 +2557,25 @@ function SelectGrid(props) {
|
|
|
2550
2557
|
);
|
|
2551
2558
|
}
|
|
2552
2559
|
|
|
2553
|
-
var __defProp$
|
|
2554
|
-
var __defProps$
|
|
2555
|
-
var __getOwnPropDescs$
|
|
2556
|
-
var __getOwnPropSymbols$
|
|
2557
|
-
var __hasOwnProp$
|
|
2558
|
-
var __propIsEnum$
|
|
2559
|
-
var __defNormalProp$
|
|
2560
|
-
var __spreadValues$
|
|
2560
|
+
var __defProp$6 = Object.defineProperty;
|
|
2561
|
+
var __defProps$6 = Object.defineProperties;
|
|
2562
|
+
var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
|
|
2563
|
+
var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
|
|
2564
|
+
var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
|
|
2565
|
+
var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
|
|
2566
|
+
var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2567
|
+
var __spreadValues$6 = (a, b) => {
|
|
2561
2568
|
for (var prop in b || (b = {}))
|
|
2562
|
-
if (__hasOwnProp$
|
|
2563
|
-
__defNormalProp$
|
|
2564
|
-
if (__getOwnPropSymbols$
|
|
2565
|
-
for (var prop of __getOwnPropSymbols$
|
|
2566
|
-
if (__propIsEnum$
|
|
2567
|
-
__defNormalProp$
|
|
2569
|
+
if (__hasOwnProp$6.call(b, prop))
|
|
2570
|
+
__defNormalProp$6(a, prop, b[prop]);
|
|
2571
|
+
if (__getOwnPropSymbols$6)
|
|
2572
|
+
for (var prop of __getOwnPropSymbols$6(b)) {
|
|
2573
|
+
if (__propIsEnum$6.call(b, prop))
|
|
2574
|
+
__defNormalProp$6(a, prop, b[prop]);
|
|
2568
2575
|
}
|
|
2569
2576
|
return a;
|
|
2570
2577
|
};
|
|
2571
|
-
var __spreadProps$
|
|
2578
|
+
var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
|
|
2572
2579
|
const useStyles$1 = createStyles((theme) => ({
|
|
2573
2580
|
wrapper: {
|
|
2574
2581
|
minHeight: "100%",
|
|
@@ -2678,7 +2685,7 @@ const TrialRegistration = (props) => {
|
|
|
2678
2685
|
label: "School/Organization Name",
|
|
2679
2686
|
placeholder: "What's the name of your school?",
|
|
2680
2687
|
data: props.organizations.map((o) => {
|
|
2681
|
-
return __spreadProps$
|
|
2688
|
+
return __spreadProps$6(__spreadValues$6({}, o), { value: o.displayName });
|
|
2682
2689
|
}),
|
|
2683
2690
|
onItemSubmit: (item) => setOrganization({ organizationId: item.organizationId, displayName: item.displayName }),
|
|
2684
2691
|
onChange: (next) => {
|
|
@@ -2690,7 +2697,7 @@ const TrialRegistration = (props) => {
|
|
|
2690
2697
|
SelectGrid,
|
|
2691
2698
|
{
|
|
2692
2699
|
items: OPTIONS,
|
|
2693
|
-
onChange: (e, checked) => setInterests(__spreadProps$
|
|
2700
|
+
onChange: (e, checked) => setInterests(__spreadProps$6(__spreadValues$6({}, interests), { [e]: checked }))
|
|
2694
2701
|
}
|
|
2695
2702
|
), /* @__PURE__ */ React.createElement(Group, { position: "right", mt: "md" }, /* @__PURE__ */ React.createElement(
|
|
2696
2703
|
Button,
|
|
@@ -2728,25 +2735,25 @@ const AdminProvider = (props) => {
|
|
|
2728
2735
|
);
|
|
2729
2736
|
};
|
|
2730
2737
|
|
|
2731
|
-
var __defProp$
|
|
2732
|
-
var __defProps$
|
|
2733
|
-
var __getOwnPropDescs$
|
|
2734
|
-
var __getOwnPropSymbols$
|
|
2735
|
-
var __hasOwnProp$
|
|
2736
|
-
var __propIsEnum$
|
|
2737
|
-
var __defNormalProp$
|
|
2738
|
-
var __spreadValues$
|
|
2738
|
+
var __defProp$5 = Object.defineProperty;
|
|
2739
|
+
var __defProps$5 = Object.defineProperties;
|
|
2740
|
+
var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
|
|
2741
|
+
var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
|
|
2742
|
+
var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
|
|
2743
|
+
var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
|
|
2744
|
+
var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2745
|
+
var __spreadValues$5 = (a, b) => {
|
|
2739
2746
|
for (var prop in b || (b = {}))
|
|
2740
|
-
if (__hasOwnProp$
|
|
2741
|
-
__defNormalProp$
|
|
2742
|
-
if (__getOwnPropSymbols$
|
|
2743
|
-
for (var prop of __getOwnPropSymbols$
|
|
2744
|
-
if (__propIsEnum$
|
|
2745
|
-
__defNormalProp$
|
|
2747
|
+
if (__hasOwnProp$5.call(b, prop))
|
|
2748
|
+
__defNormalProp$5(a, prop, b[prop]);
|
|
2749
|
+
if (__getOwnPropSymbols$5)
|
|
2750
|
+
for (var prop of __getOwnPropSymbols$5(b)) {
|
|
2751
|
+
if (__propIsEnum$5.call(b, prop))
|
|
2752
|
+
__defNormalProp$5(a, prop, b[prop]);
|
|
2746
2753
|
}
|
|
2747
2754
|
return a;
|
|
2748
2755
|
};
|
|
2749
|
-
var __spreadProps$
|
|
2756
|
+
var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
|
|
2750
2757
|
const useStyles = createStyles((theme, props) => ({
|
|
2751
2758
|
footer: {
|
|
2752
2759
|
paddingTop: theme.spacing.md,
|
|
@@ -2842,7 +2849,7 @@ const App = (props) => {
|
|
|
2842
2849
|
padding: "xs",
|
|
2843
2850
|
navbar: props.navbar && /* @__PURE__ */ React.createElement(
|
|
2844
2851
|
Navbar,
|
|
2845
|
-
__spreadProps$
|
|
2852
|
+
__spreadProps$5(__spreadValues$5({}, props.navbar.props), {
|
|
2846
2853
|
onSwitchAccounts: account.accounts && account.accounts.length > 1 ? () => account.setChangeModalOpen(true) : void 0
|
|
2847
2854
|
})
|
|
2848
2855
|
),
|
|
@@ -2993,30 +3000,30 @@ function Stack$1(props) {
|
|
|
2993
3000
|
return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-2" }, props.items.map((row) => /* @__PURE__ */ React.createElement("div", { key: row.badgeName, className: "flex items-center justify-between gap-4 py-1.5" }, /* @__PURE__ */ React.createElement(Link, { to: row.href, className: "text-sm font-bold text-dark-blue-400 no-underline hover:underline" }, row.badgeName), row.completion >= 1 && /* @__PURE__ */ React.createElement("span", { className: "shrink-0 rounded-full bg-mint-100 px-2.5 py-1 text-[10px] font-bold text-dark-blue-400" }, "Complete"), row.completion === 0 && !row.isStarted && /* @__PURE__ */ React.createElement("span", { className: "shrink-0 rounded-full bg-slate-100 px-2.5 py-1 text-[10px] font-bold text-slate-500" }, "Not started"), row.completion > 0 && row.completion < 1 && /* @__PURE__ */ React.createElement("span", { className: "shrink-0 rounded-full bg-gold-100 px-2.5 py-1 text-[10px] font-bold text-dark-blue-400" }, Math.round((row.completion + Number.EPSILON) * 100), "% Complete"))));
|
|
2994
3001
|
}
|
|
2995
3002
|
|
|
2996
|
-
var __defProp$
|
|
2997
|
-
var __defProps$
|
|
2998
|
-
var __getOwnPropDescs$
|
|
2999
|
-
var __getOwnPropSymbols$
|
|
3000
|
-
var __hasOwnProp$
|
|
3001
|
-
var __propIsEnum$
|
|
3002
|
-
var __defNormalProp$
|
|
3003
|
-
var __spreadValues$
|
|
3003
|
+
var __defProp$4 = Object.defineProperty;
|
|
3004
|
+
var __defProps$4 = Object.defineProperties;
|
|
3005
|
+
var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
|
|
3006
|
+
var __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;
|
|
3007
|
+
var __hasOwnProp$4 = Object.prototype.hasOwnProperty;
|
|
3008
|
+
var __propIsEnum$4 = Object.prototype.propertyIsEnumerable;
|
|
3009
|
+
var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3010
|
+
var __spreadValues$4 = (a, b) => {
|
|
3004
3011
|
for (var prop in b || (b = {}))
|
|
3005
|
-
if (__hasOwnProp$
|
|
3006
|
-
__defNormalProp$
|
|
3007
|
-
if (__getOwnPropSymbols$
|
|
3008
|
-
for (var prop of __getOwnPropSymbols$
|
|
3009
|
-
if (__propIsEnum$
|
|
3010
|
-
__defNormalProp$
|
|
3012
|
+
if (__hasOwnProp$4.call(b, prop))
|
|
3013
|
+
__defNormalProp$4(a, prop, b[prop]);
|
|
3014
|
+
if (__getOwnPropSymbols$4)
|
|
3015
|
+
for (var prop of __getOwnPropSymbols$4(b)) {
|
|
3016
|
+
if (__propIsEnum$4.call(b, prop))
|
|
3017
|
+
__defNormalProp$4(a, prop, b[prop]);
|
|
3011
3018
|
}
|
|
3012
3019
|
return a;
|
|
3013
3020
|
};
|
|
3014
|
-
var __spreadProps$
|
|
3021
|
+
var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
|
|
3015
3022
|
function Table$2(props) {
|
|
3016
3023
|
const [expanded, setExpanded] = React.useState({});
|
|
3017
3024
|
const categories = props.categories || [];
|
|
3018
3025
|
const preparedItems = React.useMemo(() => {
|
|
3019
|
-
return (props.items || []).map((item) => __spreadValues$
|
|
3026
|
+
return (props.items || []).map((item) => __spreadValues$4(__spreadValues$4({}, item), item.categoryPoints));
|
|
3020
3027
|
}, [props.items]);
|
|
3021
3028
|
const { items: sortedItems, requestSort, sortConfig } = useSortableData(preparedItems);
|
|
3022
3029
|
if (props.loading && props.items.length === 0) {
|
|
@@ -3038,7 +3045,7 @@ function Table$2(props) {
|
|
|
3038
3045
|
return /* @__PURE__ */ React.createElement("div", { key: row.userId, className: "rounded-xl border border-slate-200 bg-white shadow-sm" }, /* @__PURE__ */ React.createElement(
|
|
3039
3046
|
"div",
|
|
3040
3047
|
{
|
|
3041
|
-
onClick: () => setExpanded(__spreadProps$
|
|
3048
|
+
onClick: () => setExpanded(__spreadProps$4(__spreadValues$4({}, expanded), { [row.userId]: !isOpen })),
|
|
3042
3049
|
className: "flex cursor-pointer items-center gap-4 p-4"
|
|
3043
3050
|
},
|
|
3044
3051
|
/* @__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))),
|
|
@@ -3053,8 +3060,8 @@ function Table$2(props) {
|
|
|
3053
3060
|
}
|
|
3054
3061
|
|
|
3055
3062
|
function Table$1(props) {
|
|
3056
|
-
const { items:
|
|
3057
|
-
if (props.
|
|
3063
|
+
const { items: sortedBadges, requestSort, sortConfig } = useSortableData(props.badges);
|
|
3064
|
+
if (props.badges.length === 0) {
|
|
3058
3065
|
return /* @__PURE__ */ React.createElement(
|
|
3059
3066
|
PlaceholderBanner,
|
|
3060
3067
|
{
|
|
@@ -3066,30 +3073,116 @@ function Table$1(props) {
|
|
|
3066
3073
|
);
|
|
3067
3074
|
}
|
|
3068
3075
|
const indicator = (key) => sortConfig.key !== key ? "" : sortConfig.direction === "desc" ? " \u25BE" : " \u25B4";
|
|
3069
|
-
|
|
3070
|
-
|
|
3071
|
-
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
|
|
3075
|
-
|
|
3076
|
-
|
|
3077
|
-
|
|
3078
|
-
)));
|
|
3076
|
+
const groupedIds = new Set(props.categories.map((c) => c.categoryId));
|
|
3077
|
+
const forCategory = (categoryId) => sortedBadges.filter((b) => {
|
|
3078
|
+
var _a;
|
|
3079
|
+
return (_a = b.categories) == null ? void 0 : _a.includes(categoryId);
|
|
3080
|
+
});
|
|
3081
|
+
const other = sortedBadges.filter((b) => {
|
|
3082
|
+
var _a;
|
|
3083
|
+
return !((_a = b.categories) == null ? void 0 : _a.some((id) => groupedIds.has(id)));
|
|
3084
|
+
});
|
|
3085
|
+
return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ React.createElement("div", { className: "flex gap-4 px-4 text-[10.5px] font-extrabold uppercase tracking-wide text-slate-400" }, /* @__PURE__ */ React.createElement("button", { onClick: () => requestSort("badgeName"), className: "flex-1 text-left hover:text-slate-600" }, "Badge Name", indicator("badgeName")), /* @__PURE__ */ React.createElement("button", { onClick: () => requestSort("weight"), className: "w-24 shrink-0 text-right hover:text-slate-600" }, "Point Value", indicator("weight")), /* @__PURE__ */ React.createElement("button", { onClick: () => requestSort("percentageCompletion"), className: "w-36 shrink-0 text-right hover:text-slate-600" }, "Badge Completion", indicator("percentageCompletion"))), props.categories.map((category) => /* @__PURE__ */ React.createElement(CategorySection, { key: category.categoryId, name: category.name, badges: forCategory(category.categoryId) })), other.length > 0 && /* @__PURE__ */ React.createElement(CategorySection, { name: "Other badges", badges: other }));
|
|
3079
3086
|
}
|
|
3087
|
+
const CategorySection = (props) => /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-2" }, /* @__PURE__ */ React.createElement("div", { className: "px-1 text-sm font-extrabold tracking-tight text-dark-blue-400" }, props.name), props.badges.length === 0 && /* @__PURE__ */ React.createElement("div", { className: "rounded-xl border border-dashed border-slate-200 px-4 py-3 text-xs text-slate-400" }, "No badges yet."), props.badges.map((row) => /* @__PURE__ */ React.createElement(
|
|
3088
|
+
Link,
|
|
3089
|
+
{
|
|
3090
|
+
key: row.badgeId,
|
|
3091
|
+
to: row.href,
|
|
3092
|
+
className: "flex items-center gap-4 rounded-xl border border-slate-200 bg-white p-4 no-underline shadow-sm hover:bg-slate-50"
|
|
3093
|
+
},
|
|
3094
|
+
/* @__PURE__ */ React.createElement("div", { className: "min-w-0 flex-1 text-sm font-bold text-dark-blue-400" }, row.badgeName),
|
|
3095
|
+
/* @__PURE__ */ React.createElement("div", { className: "w-24 shrink-0 text-right text-xs font-black text-mint-400" }, row.weight, " pts"),
|
|
3096
|
+
/* @__PURE__ */ React.createElement("div", { className: "w-36 shrink-0 text-right text-xs text-slate-500" }, Math.round((row.percentageCompletion + Number.EPSILON) * 100), "%")
|
|
3097
|
+
)));
|
|
3098
|
+
|
|
3099
|
+
var __defProp$3 = Object.defineProperty;
|
|
3100
|
+
var __defProps$3 = Object.defineProperties;
|
|
3101
|
+
var __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;
|
|
3102
|
+
var __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;
|
|
3103
|
+
var __hasOwnProp$3 = Object.prototype.hasOwnProperty;
|
|
3104
|
+
var __propIsEnum$3 = Object.prototype.propertyIsEnumerable;
|
|
3105
|
+
var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3106
|
+
var __spreadValues$3 = (a, b) => {
|
|
3107
|
+
for (var prop in b || (b = {}))
|
|
3108
|
+
if (__hasOwnProp$3.call(b, prop))
|
|
3109
|
+
__defNormalProp$3(a, prop, b[prop]);
|
|
3110
|
+
if (__getOwnPropSymbols$3)
|
|
3111
|
+
for (var prop of __getOwnPropSymbols$3(b)) {
|
|
3112
|
+
if (__propIsEnum$3.call(b, prop))
|
|
3113
|
+
__defNormalProp$3(a, prop, b[prop]);
|
|
3114
|
+
}
|
|
3115
|
+
return a;
|
|
3116
|
+
};
|
|
3117
|
+
var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
|
|
3118
|
+
function buildCategoryTree(categories) {
|
|
3119
|
+
const byId = /* @__PURE__ */ new Map();
|
|
3120
|
+
categories.forEach((c) => byId.set(c.categoryId, c));
|
|
3121
|
+
const childrenByParent = /* @__PURE__ */ new Map();
|
|
3122
|
+
categories.forEach((c) => {
|
|
3123
|
+
const parentId = c.parentCategoryId;
|
|
3124
|
+
const hasValidParent = !!parentId && parentId !== c.categoryId && byId.has(parentId);
|
|
3125
|
+
if (!hasValidParent)
|
|
3126
|
+
return;
|
|
3127
|
+
const siblings = childrenByParent.get(parentId) || [];
|
|
3128
|
+
siblings.push(c);
|
|
3129
|
+
childrenByParent.set(parentId, siblings);
|
|
3130
|
+
});
|
|
3131
|
+
const attached = /* @__PURE__ */ new Set();
|
|
3132
|
+
const attach = (category, ancestry) => {
|
|
3133
|
+
attached.add(category.categoryId);
|
|
3134
|
+
const childAncestry = new Set(ancestry).add(category.categoryId);
|
|
3135
|
+
const children = (childrenByParent.get(category.categoryId) || []).filter((child) => !childAncestry.has(child.categoryId)).map((child) => attach(child, childAncestry));
|
|
3136
|
+
return __spreadProps$3(__spreadValues$3({}, category), { children });
|
|
3137
|
+
};
|
|
3138
|
+
const roots = categories.filter((c) => {
|
|
3139
|
+
const parentId = c.parentCategoryId;
|
|
3140
|
+
return !parentId || parentId === c.categoryId || !byId.has(parentId);
|
|
3141
|
+
});
|
|
3142
|
+
const tree = roots.map((root) => attach(root, /* @__PURE__ */ new Set()));
|
|
3143
|
+
categories.forEach((c) => {
|
|
3144
|
+
if (!attached.has(c.categoryId))
|
|
3145
|
+
tree.push(attach(c, /* @__PURE__ */ new Set()));
|
|
3146
|
+
});
|
|
3147
|
+
return tree;
|
|
3148
|
+
}
|
|
3149
|
+
|
|
3150
|
+
function CategoriesModal(props) {
|
|
3151
|
+
const tree = React.useMemo(() => buildCategoryTree(props.categories || []), [props.categories]);
|
|
3152
|
+
return /* @__PURE__ */ React.createElement(Modal, { opened: props.opened, onClose: props.onClose, title: "Category structure", size: "lg", centered: true }, /* @__PURE__ */ React.createElement("div", { className: "flex max-h-[70vh] flex-col gap-2 overflow-y-auto pr-1" }, tree.length === 0 && /* @__PURE__ */ React.createElement("p", { className: "text-sm text-slate-400" }, "No categories to display."), tree.map((node) => /* @__PURE__ */ React.createElement(CategoryNode, { key: node.categoryId, node, criteria: props.criteria, depth: 0 }))));
|
|
3153
|
+
}
|
|
3154
|
+
const CategoryNode = (props) => {
|
|
3155
|
+
var _a;
|
|
3156
|
+
const hasChildren = props.node.children.length > 0;
|
|
3157
|
+
const required = props.criteria[props.node.categoryId];
|
|
3158
|
+
return /* @__PURE__ */ React.createElement("div", { className: hasChildren ? "rounded-lg border border-slate-100 bg-slate-50/60 p-3" : "rounded-lg px-3 py-2 hover:bg-slate-50" }, /* @__PURE__ */ React.createElement("div", { className: "flex flex-wrap items-center justify-between gap-2" }, /* @__PURE__ */ React.createElement("span", { className: props.depth === 0 ? "text-sm font-extrabold text-dark-blue-400" : "text-xs font-bold text-dark-blue-400" }, props.node.name), /* @__PURE__ */ React.createElement("div", { className: "flex flex-wrap items-center gap-1.5" }, required !== void 0 && /* @__PURE__ */ React.createElement("span", { className: "rounded-full bg-sky-blue-400/15 px-2 py-0.5 text-[10px] font-bold text-dark-blue-400" }, "min. ", required, " pts"), !!props.node.maxPoints && /* @__PURE__ */ React.createElement("span", { className: "rounded-full bg-gold-400/15 px-2 py-0.5 text-[10px] font-bold text-dark-blue-400" }, "cap ", props.node.maxPoints, " pts"))), !!((_a = props.node.description) == null ? void 0 : _a.trim()) && /* @__PURE__ */ React.createElement("p", { className: "mt-0.5 text-xs text-slate-500" }, props.node.description), hasChildren && /* @__PURE__ */ React.createElement("div", { className: "mt-3 flex flex-col gap-2 border-l-2 border-slate-200 pl-4" }, props.node.children.map((child) => /* @__PURE__ */ React.createElement(CategoryNode, { key: child.categoryId, node: child, criteria: props.criteria, depth: props.depth + 1 }))));
|
|
3159
|
+
};
|
|
3080
3160
|
|
|
3081
3161
|
const TABS$1 = [
|
|
3082
3162
|
{ label: "By Badge", value: "badges" },
|
|
3083
3163
|
{ label: "By student", value: "students" }
|
|
3084
3164
|
];
|
|
3085
3165
|
const Pathway = (props) => {
|
|
3086
|
-
var _a;
|
|
3166
|
+
var _a, _b, _c;
|
|
3087
3167
|
const [tab, setTab] = useState("badges");
|
|
3168
|
+
const [categoriesOpen, setCategoriesOpen] = useState(false);
|
|
3088
3169
|
const numberOfStudents = props.students.length;
|
|
3089
3170
|
const numberOfBadgesEarned = numberOfStudents > 0 ? props.students.filter((u) => u.isComplete).length : 0;
|
|
3090
3171
|
const criteria = props.criteria || {};
|
|
3091
3172
|
const criteriaCategories = (props.categories || []).filter((c) => criteria[c.categoryId] !== void 0);
|
|
3092
|
-
|
|
3173
|
+
const rootCategoryIds = new Set(
|
|
3174
|
+
(props.allCategories || []).filter((c) => !c.parentCategoryId).map((c) => c.categoryId)
|
|
3175
|
+
);
|
|
3176
|
+
const badgeGroupCategories = criteriaCategories.filter((c) => !rootCategoryIds.has(c.categoryId));
|
|
3177
|
+
return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-5 px-4 py-8" }, /* @__PURE__ */ React.createElement("div", { className: "flex flex-wrap items-start justify-between gap-4" }, /* @__PURE__ */ React.createElement("div", { className: "flex items-start gap-4" }, /* @__PURE__ */ React.createElement(Emblem, { imageURL: props.imageURL, alt: props.title, size: "lg", icon: IconRoute, accent: "cyan" }), /* @__PURE__ */ React.createElement("div", { className: "space-y-1.5" }, /* @__PURE__ */ React.createElement("div", { onClick: props.onBackClick, className: "flex w-max cursor-pointer items-center gap-1 text-xs font-bold text-sky-blue-400" }, /* @__PURE__ */ React.createElement(IconArrowLeft, { size: 13, stroke: 2.5 }), "Back"), /* @__PURE__ */ React.createElement("h1", { className: "text-2xl font-extrabold tracking-tight text-dark-blue-400" }, props.title || "Pathway"), !!((_a = props.displayTags) == null ? void 0 : _a.length) && /* @__PURE__ */ React.createElement("div", { className: "flex flex-wrap gap-1.5" }, props.displayTags.map((tag) => /* @__PURE__ */ React.createElement("span", { key: tag, className: "rounded-full bg-slate-100 px-2.5 py-1 text-[10px] font-bold text-slate-500" }, tag))), /* @__PURE__ */ React.createElement("p", { className: "max-w-xl text-sm text-slate-500" }, props.description || "No description"), (criteriaCategories.length > 0 || !!((_b = props.allCategories) == null ? void 0 : _b.length)) && /* @__PURE__ */ React.createElement("div", { className: "flex flex-wrap items-center gap-1.5 pt-0.5" }, criteriaCategories.length > 0 && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("span", { className: "text-[10.5px] font-extrabold uppercase tracking-wide text-slate-400" }, "Criteria"), criteriaCategories.map((c) => /* @__PURE__ */ React.createElement("span", { key: c.categoryId, className: "rounded-full bg-sky-blue-400/15 px-2.5 py-1 text-[10px] font-bold text-dark-blue-400" }, c.name, ": ", criteria[c.categoryId], "+", c.maxPoints ? ` of ${c.maxPoints}` : "", " pts"))), !!((_c = props.allCategories) == null ? void 0 : _c.length) && /* @__PURE__ */ React.createElement(
|
|
3178
|
+
"button",
|
|
3179
|
+
{
|
|
3180
|
+
onClick: () => setCategoriesOpen(true),
|
|
3181
|
+
className: "flex items-center gap-1.5 rounded-full border border-slate-200 bg-white px-2.5 py-1 text-[10px] font-bold text-dark-blue-400 hover:bg-slate-50"
|
|
3182
|
+
},
|
|
3183
|
+
/* @__PURE__ */ React.createElement(IconCategory2, { size: 12, stroke: 2 }),
|
|
3184
|
+
" Categories"
|
|
3185
|
+
)))), !props.trial && /* @__PURE__ */ React.createElement(
|
|
3093
3186
|
SplitButton$1,
|
|
3094
3187
|
{
|
|
3095
3188
|
href: props.href,
|
|
@@ -3118,7 +3211,15 @@ const Pathway = (props) => {
|
|
|
3118
3211
|
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"}`
|
|
3119
3212
|
},
|
|
3120
3213
|
t.label
|
|
3121
|
-
))), (!!props.trial || tab === "badges") && /* @__PURE__ */ React.createElement(Table$1, { loading: props.loading,
|
|
3214
|
+
))), (!!props.trial || tab === "badges") && /* @__PURE__ */ React.createElement(Table$1, { loading: props.loading, badges: props.badges, categories: badgeGroupCategories }), !props.trial && tab === "students" && /* @__PURE__ */ React.createElement(Table$2, { loading: props.loading, items: props.students, categories: props.categories })), /* @__PURE__ */ React.createElement(
|
|
3215
|
+
CategoriesModal,
|
|
3216
|
+
{
|
|
3217
|
+
opened: categoriesOpen,
|
|
3218
|
+
onClose: () => setCategoriesOpen(false),
|
|
3219
|
+
categories: props.allCategories || [],
|
|
3220
|
+
criteria
|
|
3221
|
+
}
|
|
3222
|
+
));
|
|
3122
3223
|
};
|
|
3123
3224
|
|
|
3124
3225
|
const SplitButton = (props) => {
|