@local-civics/mgmt-ui 0.1.220 → 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 +351 -253
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +351 -253
- 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
|
);
|
|
@@ -499,29 +499,29 @@ function useSortableData(items, config = { key: "", direction: null }) {
|
|
|
499
499
|
return { items: sortedItems, requestSort, sortConfig };
|
|
500
500
|
}
|
|
501
501
|
|
|
502
|
-
var __defProp$
|
|
503
|
-
var __defProps$
|
|
504
|
-
var __getOwnPropDescs$
|
|
505
|
-
var __getOwnPropSymbols$
|
|
506
|
-
var __hasOwnProp$
|
|
507
|
-
var __propIsEnum$
|
|
508
|
-
var __defNormalProp$
|
|
509
|
-
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) => {
|
|
510
510
|
for (var prop in b || (b = {}))
|
|
511
|
-
if (__hasOwnProp$
|
|
512
|
-
__defNormalProp$
|
|
513
|
-
if (__getOwnPropSymbols$
|
|
514
|
-
for (var prop of __getOwnPropSymbols$
|
|
515
|
-
if (__propIsEnum$
|
|
516
|
-
__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]);
|
|
517
517
|
}
|
|
518
518
|
return a;
|
|
519
519
|
};
|
|
520
|
-
var __spreadProps$
|
|
520
|
+
var __spreadProps$d = (a, b) => __defProps$d(a, __getOwnPropDescs$d(b));
|
|
521
521
|
function Table$k(props) {
|
|
522
522
|
const [expanded, setExpanded] = React.useState({});
|
|
523
523
|
const preparedItems = React.useMemo(() => {
|
|
524
|
-
return props.items.map((item) => __spreadProps$
|
|
524
|
+
return props.items.map((item) => __spreadProps$d(__spreadValues$g({}, item), {
|
|
525
525
|
status: item.isComplete ? 1 : 0
|
|
526
526
|
}));
|
|
527
527
|
}, [props.items]);
|
|
@@ -545,7 +545,7 @@ function Table$k(props) {
|
|
|
545
545
|
return /* @__PURE__ */ React.createElement("div", { key: row.userId, className: "rounded-xl border border-slate-200 bg-white shadow-sm" }, /* @__PURE__ */ React.createElement(
|
|
546
546
|
"div",
|
|
547
547
|
{
|
|
548
|
-
onClick: () => setExpanded(__spreadProps$
|
|
548
|
+
onClick: () => setExpanded(__spreadProps$d(__spreadValues$g({}, expanded), { [row.userId]: !isOpen })),
|
|
549
549
|
className: "flex cursor-pointer items-center gap-4 p-4"
|
|
550
550
|
},
|
|
551
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))),
|
|
@@ -600,6 +600,10 @@ const Badge = (props) => {
|
|
|
600
600
|
{
|
|
601
601
|
title: props.trial ? "LESSONS SUBMITTED" : "BADGE COMPLETION",
|
|
602
602
|
value: props.trial ? props.lessonsCompleted || 0 : numberOfBadges
|
|
603
|
+
},
|
|
604
|
+
{
|
|
605
|
+
title: "POINT VALUE",
|
|
606
|
+
value: props.weight || 0
|
|
603
607
|
}
|
|
604
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(
|
|
605
609
|
"select",
|
|
@@ -729,28 +733,28 @@ function relativeTimeFromElapsed(elapsed) {
|
|
|
729
733
|
return "";
|
|
730
734
|
}
|
|
731
735
|
|
|
732
|
-
var __defProp$
|
|
733
|
-
var __defProps$
|
|
734
|
-
var __getOwnPropDescs$
|
|
735
|
-
var __getOwnPropSymbols$
|
|
736
|
-
var __hasOwnProp$
|
|
737
|
-
var __propIsEnum$
|
|
738
|
-
var __defNormalProp$
|
|
739
|
-
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) => {
|
|
740
744
|
for (var prop in b || (b = {}))
|
|
741
|
-
if (__hasOwnProp$
|
|
742
|
-
__defNormalProp$
|
|
743
|
-
if (__getOwnPropSymbols$
|
|
744
|
-
for (var prop of __getOwnPropSymbols$
|
|
745
|
-
if (__propIsEnum$
|
|
746
|
-
__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]);
|
|
747
751
|
}
|
|
748
752
|
return a;
|
|
749
753
|
};
|
|
750
|
-
var __spreadProps$
|
|
754
|
+
var __spreadProps$c = (a, b) => __defProps$c(a, __getOwnPropDescs$c(b));
|
|
751
755
|
function Table$g(props) {
|
|
752
756
|
const preparedItems = React.useMemo(() => {
|
|
753
|
-
return props.items.map((item) => __spreadProps$
|
|
757
|
+
return props.items.map((item) => __spreadProps$c(__spreadValues$f({}, item), {
|
|
754
758
|
updatedAtDate: new Date(item.updatedAt)
|
|
755
759
|
}));
|
|
756
760
|
}, [props.items]);
|
|
@@ -953,25 +957,25 @@ const Dashboard = (props) => {
|
|
|
953
957
|
)));
|
|
954
958
|
};
|
|
955
959
|
|
|
956
|
-
var __defProp$
|
|
957
|
-
var __defProps$
|
|
958
|
-
var __getOwnPropDescs$
|
|
959
|
-
var __getOwnPropSymbols$
|
|
960
|
-
var __hasOwnProp$
|
|
961
|
-
var __propIsEnum$
|
|
962
|
-
var __defNormalProp$
|
|
963
|
-
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) => {
|
|
964
968
|
for (var prop in b || (b = {}))
|
|
965
|
-
if (__hasOwnProp$
|
|
966
|
-
__defNormalProp$
|
|
967
|
-
if (__getOwnPropSymbols$
|
|
968
|
-
for (var prop of __getOwnPropSymbols$
|
|
969
|
-
if (__propIsEnum$
|
|
970
|
-
__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]);
|
|
971
975
|
}
|
|
972
976
|
return a;
|
|
973
977
|
};
|
|
974
|
-
var __spreadProps$
|
|
978
|
+
var __spreadProps$b = (a, b) => __defProps$b(a, __getOwnPropDescs$b(b));
|
|
975
979
|
const openDeleteModal$2 = (student, onDelete) => openConfirmModal({
|
|
976
980
|
title: `Remove "${student.givenName && student.familyName ? `${student.givenName} ${student.familyName}` : student.email}" from this class?`,
|
|
977
981
|
centered: true,
|
|
@@ -982,7 +986,7 @@ const openDeleteModal$2 = (student, onDelete) => openConfirmModal({
|
|
|
982
986
|
});
|
|
983
987
|
function Table$c(props) {
|
|
984
988
|
const preparedItems = React.useMemo(() => {
|
|
985
|
-
return props.items.map((item) => __spreadProps$
|
|
989
|
+
return props.items.map((item) => __spreadProps$b(__spreadValues$e({}, item), {
|
|
986
990
|
fullName: item.givenName && item.familyName ? `${item.givenName} ${item.familyName}`.toLowerCase() : item.email.toLowerCase()
|
|
987
991
|
}));
|
|
988
992
|
}, [props.items]);
|
|
@@ -1033,25 +1037,25 @@ function Table$c(props) {
|
|
|
1033
1037
|
}));
|
|
1034
1038
|
}
|
|
1035
1039
|
|
|
1036
|
-
var __defProp$
|
|
1037
|
-
var __defProps$
|
|
1038
|
-
var __getOwnPropDescs$
|
|
1039
|
-
var __getOwnPropSymbols$
|
|
1040
|
-
var __hasOwnProp$
|
|
1041
|
-
var __propIsEnum$
|
|
1042
|
-
var __defNormalProp$
|
|
1043
|
-
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) => {
|
|
1044
1048
|
for (var prop in b || (b = {}))
|
|
1045
|
-
if (__hasOwnProp$
|
|
1046
|
-
__defNormalProp$
|
|
1047
|
-
if (__getOwnPropSymbols$
|
|
1048
|
-
for (var prop of __getOwnPropSymbols$
|
|
1049
|
-
if (__propIsEnum$
|
|
1050
|
-
__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]);
|
|
1051
1055
|
}
|
|
1052
1056
|
return a;
|
|
1053
1057
|
};
|
|
1054
|
-
var __spreadProps$
|
|
1058
|
+
var __spreadProps$a = (a, b) => __defProps$a(a, __getOwnPropDescs$a(b));
|
|
1055
1059
|
const Class = (props) => {
|
|
1056
1060
|
const [opened, setOpened] = useState(false);
|
|
1057
1061
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
|
|
@@ -1063,7 +1067,7 @@ const Class = (props) => {
|
|
|
1063
1067
|
padding: "xl",
|
|
1064
1068
|
size: "xl"
|
|
1065
1069
|
},
|
|
1066
|
-
/* @__PURE__ */ React.createElement(DropzoneButton$1, __spreadProps$
|
|
1070
|
+
/* @__PURE__ */ React.createElement(DropzoneButton$1, __spreadProps$a(__spreadValues$d({}, props), { close: () => setOpened(false) }))
|
|
1067
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(
|
|
1068
1072
|
"button",
|
|
1069
1073
|
{
|
|
@@ -1189,20 +1193,20 @@ const DropzoneButton$1 = (props) => {
|
|
|
1189
1193
|
props.onCreateMembers && props.onCreateMembers([values]);
|
|
1190
1194
|
}) }, /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React.createElement(
|
|
1191
1195
|
TextInput,
|
|
1192
|
-
__spreadValues$
|
|
1196
|
+
__spreadValues$d({
|
|
1193
1197
|
withAsterisk: true,
|
|
1194
1198
|
label: "Email",
|
|
1195
1199
|
placeholder: "Email"
|
|
1196
1200
|
}, form.getInputProps("email"))
|
|
1197
1201
|
), /* @__PURE__ */ React.createElement(Group, { grow: true }, /* @__PURE__ */ React.createElement(
|
|
1198
1202
|
TextInput,
|
|
1199
|
-
__spreadValues$
|
|
1203
|
+
__spreadValues$d({
|
|
1200
1204
|
label: "Given name",
|
|
1201
1205
|
placeholder: "Given name"
|
|
1202
1206
|
}, form.getInputProps("givenName"))
|
|
1203
1207
|
), /* @__PURE__ */ React.createElement(
|
|
1204
1208
|
TextInput,
|
|
1205
|
-
__spreadValues$
|
|
1209
|
+
__spreadValues$d({
|
|
1206
1210
|
label: "Family name",
|
|
1207
1211
|
placeholder: "Family name"
|
|
1208
1212
|
}, form.getInputProps("familyName"))
|
|
@@ -1259,19 +1263,19 @@ function Table$b(props) {
|
|
|
1259
1263
|
)));
|
|
1260
1264
|
}
|
|
1261
1265
|
|
|
1262
|
-
var __defProp$
|
|
1263
|
-
var __getOwnPropSymbols$
|
|
1264
|
-
var __hasOwnProp$
|
|
1265
|
-
var __propIsEnum$
|
|
1266
|
-
var __defNormalProp$
|
|
1267
|
-
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) => {
|
|
1268
1272
|
for (var prop in b || (b = {}))
|
|
1269
|
-
if (__hasOwnProp$
|
|
1270
|
-
__defNormalProp$
|
|
1271
|
-
if (__getOwnPropSymbols$
|
|
1272
|
-
for (var prop of __getOwnPropSymbols$
|
|
1273
|
-
if (__propIsEnum$
|
|
1274
|
-
__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]);
|
|
1275
1279
|
}
|
|
1276
1280
|
return a;
|
|
1277
1281
|
};
|
|
@@ -1305,14 +1309,14 @@ const Classes = (props) => {
|
|
|
1305
1309
|
props.onCreateClass && props.onCreateClass(values);
|
|
1306
1310
|
}) }, /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React.createElement(
|
|
1307
1311
|
TextInput,
|
|
1308
|
-
__spreadValues$
|
|
1312
|
+
__spreadValues$c({
|
|
1309
1313
|
withAsterisk: true,
|
|
1310
1314
|
label: "Name",
|
|
1311
1315
|
placeholder: "Class name"
|
|
1312
1316
|
}, form.getInputProps("name"))
|
|
1313
1317
|
), /* @__PURE__ */ React.createElement(
|
|
1314
1318
|
TextInput,
|
|
1315
|
-
__spreadValues$
|
|
1319
|
+
__spreadValues$c({
|
|
1316
1320
|
label: "Description",
|
|
1317
1321
|
placeholder: "A class for my first period English students"
|
|
1318
1322
|
}, form.getInputProps("description"))
|
|
@@ -1616,29 +1620,29 @@ function Stack$3(props) {
|
|
|
1616
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."))));
|
|
1617
1621
|
}
|
|
1618
1622
|
|
|
1619
|
-
var __defProp$
|
|
1620
|
-
var __defProps$
|
|
1621
|
-
var __getOwnPropDescs$
|
|
1622
|
-
var __getOwnPropSymbols$
|
|
1623
|
-
var __hasOwnProp$
|
|
1624
|
-
var __propIsEnum$
|
|
1625
|
-
var __defNormalProp$
|
|
1626
|
-
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) => {
|
|
1627
1631
|
for (var prop in b || (b = {}))
|
|
1628
|
-
if (__hasOwnProp$
|
|
1629
|
-
__defNormalProp$
|
|
1630
|
-
if (__getOwnPropSymbols$
|
|
1631
|
-
for (var prop of __getOwnPropSymbols$
|
|
1632
|
-
if (__propIsEnum$
|
|
1633
|
-
__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]);
|
|
1634
1638
|
}
|
|
1635
1639
|
return a;
|
|
1636
1640
|
};
|
|
1637
|
-
var __spreadProps$
|
|
1641
|
+
var __spreadProps$9 = (a, b) => __defProps$9(a, __getOwnPropDescs$9(b));
|
|
1638
1642
|
function Table$6(props) {
|
|
1639
1643
|
const [expanded, setExpanded] = React.useState({});
|
|
1640
1644
|
const preparedItems = React.useMemo(() => {
|
|
1641
|
-
return props.items.map((item) => __spreadProps$
|
|
1645
|
+
return props.items.map((item) => __spreadProps$9(__spreadValues$b({}, item), {
|
|
1642
1646
|
status: item.isComplete ? 2 : item.isStarted ? 1 : 0
|
|
1643
1647
|
}));
|
|
1644
1648
|
}, [props.items]);
|
|
@@ -1662,7 +1666,7 @@ function Table$6(props) {
|
|
|
1662
1666
|
return /* @__PURE__ */ React.createElement("div", { key: row.userId, className: "rounded-xl border border-slate-200 bg-white shadow-sm" }, /* @__PURE__ */ React.createElement(
|
|
1663
1667
|
"div",
|
|
1664
1668
|
{
|
|
1665
|
-
onClick: () => setExpanded(__spreadProps$
|
|
1669
|
+
onClick: () => setExpanded(__spreadProps$9(__spreadValues$b({}, expanded), { [row.userId]: !isOpen })),
|
|
1666
1670
|
className: "flex cursor-pointer items-center gap-4 p-4"
|
|
1667
1671
|
},
|
|
1668
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))),
|
|
@@ -1963,25 +1967,25 @@ function Table$4(props) {
|
|
|
1963
1967
|
}));
|
|
1964
1968
|
}
|
|
1965
1969
|
|
|
1966
|
-
var __defProp$
|
|
1967
|
-
var __defProps$
|
|
1968
|
-
var __getOwnPropDescs$
|
|
1969
|
-
var __getOwnPropSymbols$
|
|
1970
|
-
var __hasOwnProp$
|
|
1971
|
-
var __propIsEnum$
|
|
1972
|
-
var __defNormalProp$
|
|
1973
|
-
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) => {
|
|
1974
1978
|
for (var prop in b || (b = {}))
|
|
1975
|
-
if (__hasOwnProp$
|
|
1976
|
-
__defNormalProp$
|
|
1977
|
-
if (__getOwnPropSymbols$
|
|
1978
|
-
for (var prop of __getOwnPropSymbols$
|
|
1979
|
-
if (__propIsEnum$
|
|
1980
|
-
__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]);
|
|
1981
1985
|
}
|
|
1982
1986
|
return a;
|
|
1983
1987
|
};
|
|
1984
|
-
var __spreadProps$
|
|
1988
|
+
var __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));
|
|
1985
1989
|
const People = (props) => {
|
|
1986
1990
|
const form = useForm({
|
|
1987
1991
|
initialValues: {
|
|
@@ -2013,27 +2017,27 @@ const People = (props) => {
|
|
|
2013
2017
|
padding: "xl",
|
|
2014
2018
|
size: "xl"
|
|
2015
2019
|
},
|
|
2016
|
-
/* @__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(() => {
|
|
2017
2021
|
const values = form.values;
|
|
2018
2022
|
form.reset();
|
|
2019
2023
|
setOpened(false);
|
|
2020
2024
|
props.onCreateUsers && props.onCreateUsers([values]);
|
|
2021
2025
|
}) }, /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React.createElement(
|
|
2022
2026
|
TextInput,
|
|
2023
|
-
__spreadValues$
|
|
2027
|
+
__spreadValues$a({
|
|
2024
2028
|
withAsterisk: true,
|
|
2025
2029
|
label: "Email",
|
|
2026
2030
|
placeholder: "Email"
|
|
2027
2031
|
}, form.getInputProps("email"))
|
|
2028
2032
|
), /* @__PURE__ */ React.createElement(Group, { grow: true }, /* @__PURE__ */ React.createElement(
|
|
2029
2033
|
TextInput,
|
|
2030
|
-
__spreadValues$
|
|
2034
|
+
__spreadValues$a({
|
|
2031
2035
|
label: "Given name",
|
|
2032
2036
|
placeholder: "Given name"
|
|
2033
2037
|
}, form.getInputProps("givenName"))
|
|
2034
2038
|
), /* @__PURE__ */ React.createElement(
|
|
2035
2039
|
TextInput,
|
|
2036
|
-
__spreadValues$
|
|
2040
|
+
__spreadValues$a({
|
|
2037
2041
|
label: "Family name",
|
|
2038
2042
|
placeholder: "Family name"
|
|
2039
2043
|
}, form.getInputProps("familyName"))
|
|
@@ -2219,24 +2223,24 @@ const StartAnonymousLesson = (props) => {
|
|
|
2219
2223
|
))))));
|
|
2220
2224
|
};
|
|
2221
2225
|
|
|
2222
|
-
var __defProp$
|
|
2223
|
-
var __getOwnPropSymbols$
|
|
2224
|
-
var __hasOwnProp$
|
|
2225
|
-
var __propIsEnum$
|
|
2226
|
-
var __defNormalProp$
|
|
2227
|
-
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) => {
|
|
2228
2232
|
for (var prop in b || (b = {}))
|
|
2229
|
-
if (__hasOwnProp$
|
|
2230
|
-
__defNormalProp$
|
|
2231
|
-
if (__getOwnPropSymbols$
|
|
2232
|
-
for (var prop of __getOwnPropSymbols$
|
|
2233
|
-
if (__propIsEnum$
|
|
2234
|
-
__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]);
|
|
2235
2239
|
}
|
|
2236
2240
|
return a;
|
|
2237
2241
|
};
|
|
2238
2242
|
const BadgeGrid = (props) => {
|
|
2239
|
-
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)));
|
|
2240
2244
|
return /* @__PURE__ */ React.createElement(SimpleGrid, { cols: 4, breakpoints: [{ maxWidth: "sm", cols: 1 }, { maxWidth: "md", cols: 3 }] }, badges);
|
|
2241
2245
|
};
|
|
2242
2246
|
function TaskCard(props) {
|
|
@@ -2270,30 +2274,30 @@ const UserInfo = (props) => {
|
|
|
2270
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));
|
|
2271
2275
|
};
|
|
2272
2276
|
|
|
2273
|
-
var __defProp$
|
|
2274
|
-
var __getOwnPropSymbols$
|
|
2275
|
-
var __hasOwnProp$
|
|
2276
|
-
var __propIsEnum$
|
|
2277
|
-
var __defNormalProp$
|
|
2278
|
-
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) => {
|
|
2279
2283
|
for (var prop in b || (b = {}))
|
|
2280
|
-
if (__hasOwnProp$
|
|
2281
|
-
__defNormalProp$
|
|
2282
|
-
if (__getOwnPropSymbols$
|
|
2283
|
-
for (var prop of __getOwnPropSymbols$
|
|
2284
|
-
if (__propIsEnum$
|
|
2285
|
-
__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]);
|
|
2286
2290
|
}
|
|
2287
2291
|
return a;
|
|
2288
2292
|
};
|
|
2289
2293
|
var __objRest$1 = (source, exclude) => {
|
|
2290
2294
|
var target = {};
|
|
2291
2295
|
for (var prop in source)
|
|
2292
|
-
if (__hasOwnProp$
|
|
2296
|
+
if (__hasOwnProp$8.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
2293
2297
|
target[prop] = source[prop];
|
|
2294
|
-
if (source != null && __getOwnPropSymbols$
|
|
2295
|
-
for (var prop of __getOwnPropSymbols$
|
|
2296
|
-
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))
|
|
2297
2301
|
target[prop] = source[prop];
|
|
2298
2302
|
}
|
|
2299
2303
|
return target;
|
|
@@ -2360,9 +2364,9 @@ const TenantBanner = (_a) => {
|
|
|
2360
2364
|
};
|
|
2361
2365
|
return /* @__PURE__ */ React.createElement(
|
|
2362
2366
|
Card,
|
|
2363
|
-
__spreadValues$
|
|
2367
|
+
__spreadValues$8({
|
|
2364
2368
|
radius: "md",
|
|
2365
|
-
style: __spreadValues$
|
|
2369
|
+
style: __spreadValues$8({ backgroundImage: `url(${image})` }, style),
|
|
2366
2370
|
className: cx(classes.card, className)
|
|
2367
2371
|
}, others),
|
|
2368
2372
|
/* @__PURE__ */ React.createElement(
|
|
@@ -2438,33 +2442,33 @@ const TrialHome = (props) => {
|
|
|
2438
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 })));
|
|
2439
2443
|
};
|
|
2440
2444
|
|
|
2441
|
-
var __defProp$
|
|
2442
|
-
var __defProps$
|
|
2443
|
-
var __getOwnPropDescs$
|
|
2444
|
-
var __getOwnPropSymbols$
|
|
2445
|
-
var __hasOwnProp$
|
|
2446
|
-
var __propIsEnum$
|
|
2447
|
-
var __defNormalProp$
|
|
2448
|
-
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) => {
|
|
2449
2453
|
for (var prop in b || (b = {}))
|
|
2450
|
-
if (__hasOwnProp$
|
|
2451
|
-
__defNormalProp$
|
|
2452
|
-
if (__getOwnPropSymbols$
|
|
2453
|
-
for (var prop of __getOwnPropSymbols$
|
|
2454
|
-
if (__propIsEnum$
|
|
2455
|
-
__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]);
|
|
2456
2460
|
}
|
|
2457
2461
|
return a;
|
|
2458
2462
|
};
|
|
2459
|
-
var __spreadProps$
|
|
2463
|
+
var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
|
|
2460
2464
|
var __objRest = (source, exclude) => {
|
|
2461
2465
|
var target = {};
|
|
2462
2466
|
for (var prop in source)
|
|
2463
|
-
if (__hasOwnProp$
|
|
2467
|
+
if (__hasOwnProp$7.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
2464
2468
|
target[prop] = source[prop];
|
|
2465
|
-
if (source != null && __getOwnPropSymbols$
|
|
2466
|
-
for (var prop of __getOwnPropSymbols$
|
|
2467
|
-
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))
|
|
2468
2472
|
target[prop] = source[prop];
|
|
2469
2473
|
}
|
|
2470
2474
|
return target;
|
|
@@ -2514,7 +2518,7 @@ function ImageCheckbox(_a) {
|
|
|
2514
2518
|
const { classes, cx } = useStyles$2({ checked: value });
|
|
2515
2519
|
return /* @__PURE__ */ React.createElement(
|
|
2516
2520
|
UnstyledButton,
|
|
2517
|
-
__spreadProps$
|
|
2521
|
+
__spreadProps$7(__spreadValues$7({}, others), {
|
|
2518
2522
|
onClick: () => handleChange(!value),
|
|
2519
2523
|
className: cx(classes.button, className)
|
|
2520
2524
|
}),
|
|
@@ -2535,7 +2539,7 @@ function ImageCheckbox(_a) {
|
|
|
2535
2539
|
function SelectGrid(props) {
|
|
2536
2540
|
const items = props.items.map((item) => /* @__PURE__ */ React.createElement(
|
|
2537
2541
|
ImageCheckbox,
|
|
2538
|
-
__spreadProps$
|
|
2542
|
+
__spreadProps$7(__spreadValues$7({}, item), {
|
|
2539
2543
|
key: item.title,
|
|
2540
2544
|
onChange: (checked) => props.onChange(item.title, checked)
|
|
2541
2545
|
})
|
|
@@ -2553,25 +2557,25 @@ function SelectGrid(props) {
|
|
|
2553
2557
|
);
|
|
2554
2558
|
}
|
|
2555
2559
|
|
|
2556
|
-
var __defProp$
|
|
2557
|
-
var __defProps$
|
|
2558
|
-
var __getOwnPropDescs$
|
|
2559
|
-
var __getOwnPropSymbols$
|
|
2560
|
-
var __hasOwnProp$
|
|
2561
|
-
var __propIsEnum$
|
|
2562
|
-
var __defNormalProp$
|
|
2563
|
-
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) => {
|
|
2564
2568
|
for (var prop in b || (b = {}))
|
|
2565
|
-
if (__hasOwnProp$
|
|
2566
|
-
__defNormalProp$
|
|
2567
|
-
if (__getOwnPropSymbols$
|
|
2568
|
-
for (var prop of __getOwnPropSymbols$
|
|
2569
|
-
if (__propIsEnum$
|
|
2570
|
-
__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]);
|
|
2571
2575
|
}
|
|
2572
2576
|
return a;
|
|
2573
2577
|
};
|
|
2574
|
-
var __spreadProps$
|
|
2578
|
+
var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
|
|
2575
2579
|
const useStyles$1 = createStyles((theme) => ({
|
|
2576
2580
|
wrapper: {
|
|
2577
2581
|
minHeight: "100%",
|
|
@@ -2681,7 +2685,7 @@ const TrialRegistration = (props) => {
|
|
|
2681
2685
|
label: "School/Organization Name",
|
|
2682
2686
|
placeholder: "What's the name of your school?",
|
|
2683
2687
|
data: props.organizations.map((o) => {
|
|
2684
|
-
return __spreadProps$
|
|
2688
|
+
return __spreadProps$6(__spreadValues$6({}, o), { value: o.displayName });
|
|
2685
2689
|
}),
|
|
2686
2690
|
onItemSubmit: (item) => setOrganization({ organizationId: item.organizationId, displayName: item.displayName }),
|
|
2687
2691
|
onChange: (next) => {
|
|
@@ -2693,7 +2697,7 @@ const TrialRegistration = (props) => {
|
|
|
2693
2697
|
SelectGrid,
|
|
2694
2698
|
{
|
|
2695
2699
|
items: OPTIONS,
|
|
2696
|
-
onChange: (e, checked) => setInterests(__spreadProps$
|
|
2700
|
+
onChange: (e, checked) => setInterests(__spreadProps$6(__spreadValues$6({}, interests), { [e]: checked }))
|
|
2697
2701
|
}
|
|
2698
2702
|
), /* @__PURE__ */ React.createElement(Group, { position: "right", mt: "md" }, /* @__PURE__ */ React.createElement(
|
|
2699
2703
|
Button,
|
|
@@ -2731,25 +2735,25 @@ const AdminProvider = (props) => {
|
|
|
2731
2735
|
);
|
|
2732
2736
|
};
|
|
2733
2737
|
|
|
2734
|
-
var __defProp$
|
|
2735
|
-
var __defProps$
|
|
2736
|
-
var __getOwnPropDescs$
|
|
2737
|
-
var __getOwnPropSymbols$
|
|
2738
|
-
var __hasOwnProp$
|
|
2739
|
-
var __propIsEnum$
|
|
2740
|
-
var __defNormalProp$
|
|
2741
|
-
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) => {
|
|
2742
2746
|
for (var prop in b || (b = {}))
|
|
2743
|
-
if (__hasOwnProp$
|
|
2744
|
-
__defNormalProp$
|
|
2745
|
-
if (__getOwnPropSymbols$
|
|
2746
|
-
for (var prop of __getOwnPropSymbols$
|
|
2747
|
-
if (__propIsEnum$
|
|
2748
|
-
__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]);
|
|
2749
2753
|
}
|
|
2750
2754
|
return a;
|
|
2751
2755
|
};
|
|
2752
|
-
var __spreadProps$
|
|
2756
|
+
var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
|
|
2753
2757
|
const useStyles = createStyles((theme, props) => ({
|
|
2754
2758
|
footer: {
|
|
2755
2759
|
paddingTop: theme.spacing.md,
|
|
@@ -2845,7 +2849,7 @@ const App = (props) => {
|
|
|
2845
2849
|
padding: "xs",
|
|
2846
2850
|
navbar: props.navbar && /* @__PURE__ */ React.createElement(
|
|
2847
2851
|
Navbar,
|
|
2848
|
-
__spreadProps$
|
|
2852
|
+
__spreadProps$5(__spreadValues$5({}, props.navbar.props), {
|
|
2849
2853
|
onSwitchAccounts: account.accounts && account.accounts.length > 1 ? () => account.setChangeModalOpen(true) : void 0
|
|
2850
2854
|
})
|
|
2851
2855
|
),
|
|
@@ -2996,30 +3000,30 @@ function Stack$1(props) {
|
|
|
2996
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"))));
|
|
2997
3001
|
}
|
|
2998
3002
|
|
|
2999
|
-
var __defProp$
|
|
3000
|
-
var __defProps$
|
|
3001
|
-
var __getOwnPropDescs$
|
|
3002
|
-
var __getOwnPropSymbols$
|
|
3003
|
-
var __hasOwnProp$
|
|
3004
|
-
var __propIsEnum$
|
|
3005
|
-
var __defNormalProp$
|
|
3006
|
-
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) => {
|
|
3007
3011
|
for (var prop in b || (b = {}))
|
|
3008
|
-
if (__hasOwnProp$
|
|
3009
|
-
__defNormalProp$
|
|
3010
|
-
if (__getOwnPropSymbols$
|
|
3011
|
-
for (var prop of __getOwnPropSymbols$
|
|
3012
|
-
if (__propIsEnum$
|
|
3013
|
-
__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]);
|
|
3014
3018
|
}
|
|
3015
3019
|
return a;
|
|
3016
3020
|
};
|
|
3017
|
-
var __spreadProps$
|
|
3021
|
+
var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
|
|
3018
3022
|
function Table$2(props) {
|
|
3019
3023
|
const [expanded, setExpanded] = React.useState({});
|
|
3020
3024
|
const categories = props.categories || [];
|
|
3021
3025
|
const preparedItems = React.useMemo(() => {
|
|
3022
|
-
return (props.items || []).map((item) => __spreadValues$
|
|
3026
|
+
return (props.items || []).map((item) => __spreadValues$4(__spreadValues$4({}, item), item.categoryPoints));
|
|
3023
3027
|
}, [props.items]);
|
|
3024
3028
|
const { items: sortedItems, requestSort, sortConfig } = useSortableData(preparedItems);
|
|
3025
3029
|
if (props.loading && props.items.length === 0) {
|
|
@@ -3041,7 +3045,7 @@ function Table$2(props) {
|
|
|
3041
3045
|
return /* @__PURE__ */ React.createElement("div", { key: row.userId, className: "rounded-xl border border-slate-200 bg-white shadow-sm" }, /* @__PURE__ */ React.createElement(
|
|
3042
3046
|
"div",
|
|
3043
3047
|
{
|
|
3044
|
-
onClick: () => setExpanded(__spreadProps$
|
|
3048
|
+
onClick: () => setExpanded(__spreadProps$4(__spreadValues$4({}, expanded), { [row.userId]: !isOpen })),
|
|
3045
3049
|
className: "flex cursor-pointer items-center gap-4 p-4"
|
|
3046
3050
|
},
|
|
3047
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))),
|
|
@@ -3056,8 +3060,8 @@ function Table$2(props) {
|
|
|
3056
3060
|
}
|
|
3057
3061
|
|
|
3058
3062
|
function Table$1(props) {
|
|
3059
|
-
const { items:
|
|
3060
|
-
if (props.
|
|
3063
|
+
const { items: sortedBadges, requestSort, sortConfig } = useSortableData(props.badges);
|
|
3064
|
+
if (props.badges.length === 0) {
|
|
3061
3065
|
return /* @__PURE__ */ React.createElement(
|
|
3062
3066
|
PlaceholderBanner,
|
|
3063
3067
|
{
|
|
@@ -3069,30 +3073,116 @@ function Table$1(props) {
|
|
|
3069
3073
|
);
|
|
3070
3074
|
}
|
|
3071
3075
|
const indicator = (key) => sortConfig.key !== key ? "" : sortConfig.direction === "desc" ? " \u25BE" : " \u25B4";
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
|
|
3075
|
-
|
|
3076
|
-
|
|
3077
|
-
|
|
3078
|
-
|
|
3079
|
-
|
|
3080
|
-
|
|
3081
|
-
)));
|
|
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 }));
|
|
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;
|
|
3082
3148
|
}
|
|
3083
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
|
+
};
|
|
3160
|
+
|
|
3084
3161
|
const TABS$1 = [
|
|
3085
3162
|
{ label: "By Badge", value: "badges" },
|
|
3086
3163
|
{ label: "By student", value: "students" }
|
|
3087
3164
|
];
|
|
3088
3165
|
const Pathway = (props) => {
|
|
3089
|
-
var _a;
|
|
3166
|
+
var _a, _b, _c;
|
|
3090
3167
|
const [tab, setTab] = useState("badges");
|
|
3168
|
+
const [categoriesOpen, setCategoriesOpen] = useState(false);
|
|
3091
3169
|
const numberOfStudents = props.students.length;
|
|
3092
3170
|
const numberOfBadgesEarned = numberOfStudents > 0 ? props.students.filter((u) => u.isComplete).length : 0;
|
|
3093
3171
|
const criteria = props.criteria || {};
|
|
3094
3172
|
const criteriaCategories = (props.categories || []).filter((c) => criteria[c.categoryId] !== void 0);
|
|
3095
|
-
|
|
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(
|
|
3096
3186
|
SplitButton$1,
|
|
3097
3187
|
{
|
|
3098
3188
|
href: props.href,
|
|
@@ -3121,7 +3211,15 @@ const Pathway = (props) => {
|
|
|
3121
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"}`
|
|
3122
3212
|
},
|
|
3123
3213
|
t.label
|
|
3124
|
-
))), (!!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
|
+
));
|
|
3125
3223
|
};
|
|
3126
3224
|
|
|
3127
3225
|
const SplitButton = (props) => {
|