@photonhealth/elements 0.23.0 → 0.23.2
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/PhotonFormWrapper/PhotonFormWrapper.d.ts +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.js +344 -418
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +344 -418
- package/dist/index.mjs.map +1 -1
- package/dist/photon-patient-dialog/PatientForm.d.ts +9 -0
- package/package.json +2 -2
- package/dist/photon-patient-form/index.d.ts +0 -1
- /package/dist/{photon-patient-form/photon-patient-form-component.d.ts → photon-multirx-form/prescribe-workflow-template-prefill.test.d.ts} +0 -0
package/dist/index.mjs
CHANGED
|
@@ -41990,7 +41990,7 @@ function clickOutside(el, accessor) {
|
|
|
41990
41990
|
onCleanup(() => document.body.removeEventListener("click", onClick));
|
|
41991
41991
|
}
|
|
41992
41992
|
|
|
41993
|
-
var _tmpl$$x = /* @__PURE__ */ template(`<div class=relative>`), _tmpl$2$l$1 = /* @__PURE__ */ template(`<ul role=listbox tabindex=-1>`), _tmpl$3$e$1 = /* @__PURE__ */ template(`<div>`), _tmpl$4$d
|
|
41993
|
+
var _tmpl$$x = /* @__PURE__ */ template(`<div class=relative>`), _tmpl$2$l$1 = /* @__PURE__ */ template(`<ul role=listbox tabindex=-1>`), _tmpl$3$e$1 = /* @__PURE__ */ template(`<div>`), _tmpl$4$d = /* @__PURE__ */ template(`<li class="relative cursor-default select-none py-2 px-3 text-gray-400"role=option aria-disabled=true tabindex=-1><span class="block truncate">`), _tmpl$5$8$1 = /* @__PURE__ */ template(`<li role=option tabindex=-1><span class="w-full truncate">`), _tmpl$6$4$1 = /* @__PURE__ */ template(`<button class="absolute inset-y-0 right-8 flex items-center px-1"aria-label="Clear selection"type=button><span class="text-sm text-gray-400">Clear`), _tmpl$7$2$1 = /* @__PURE__ */ template(`<button class="absolute inset-y-0 right-0 flex items-center rounded-r-md px-2"aria-label="Show options">`);
|
|
41994
41994
|
const ComboBoxContext = createContext([{
|
|
41995
41995
|
open: false,
|
|
41996
41996
|
selected: {},
|
|
@@ -42087,7 +42087,7 @@ function ComboOption(props) {
|
|
|
42087
42087
|
const active = () => state.active === props.key;
|
|
42088
42088
|
if (props.disabled) {
|
|
42089
42089
|
return (() => {
|
|
42090
|
-
var _el$4 = _tmpl$4$d
|
|
42090
|
+
var _el$4 = _tmpl$4$d(), _el$5 = _el$4.firstChild;
|
|
42091
42091
|
insert(_el$5, (() => {
|
|
42092
42092
|
var _c$ = memo$1(() => !!props.render);
|
|
42093
42093
|
return () => _c$() ? createComponent(Dynamic, {
|
|
@@ -42106,7 +42106,7 @@ function ComboOption(props) {
|
|
|
42106
42106
|
})();
|
|
42107
42107
|
}
|
|
42108
42108
|
return (() => {
|
|
42109
|
-
var _el$6 = _tmpl$5$8(), _el$7 = _el$6.firstChild;
|
|
42109
|
+
var _el$6 = _tmpl$5$8$1(), _el$7 = _el$6.firstChild;
|
|
42110
42110
|
_el$6.addEventListener("mouseleave", () => setActive(""));
|
|
42111
42111
|
_el$6.addEventListener("mouseenter", () => setActive(props.key));
|
|
42112
42112
|
_el$6.$$click = () => setSelected(props.value);
|
|
@@ -53264,6 +53264,8 @@ const ListPharmaciesQuery = gql`
|
|
|
53264
53264
|
}
|
|
53265
53265
|
`;
|
|
53266
53266
|
|
|
53267
|
+
const formatPatientWeight = (weight, weightUnit = "lb") => `Patient weight: ${weight} ${weightUnit}`;
|
|
53268
|
+
|
|
53267
53269
|
const DraftPrescriptionsContext = createContext();
|
|
53268
53270
|
const transformPrescriptionFormData = (prescription, patientId) => ({
|
|
53269
53271
|
externalId: prescription.externalId,
|
|
@@ -53284,16 +53286,24 @@ function isTreatmentInDraftPrescriptions(treatmentId, draftedPrescriptions) {
|
|
|
53284
53286
|
}
|
|
53285
53287
|
const createPrefillPrescriptionsOnApi = async ({
|
|
53286
53288
|
client,
|
|
53287
|
-
props
|
|
53289
|
+
props,
|
|
53290
|
+
rxNotesPrefill
|
|
53288
53291
|
}) => {
|
|
53289
53292
|
let rxToCreate = [];
|
|
53290
53293
|
if (props.templateIdsPrefill.length > 0) {
|
|
53291
53294
|
const dedupedTemplateIds = Array.from(new Set(props.templateIdsPrefill));
|
|
53292
|
-
const templatedCreateRxList = dedupedTemplateIds.map((templateId) =>
|
|
53293
|
-
|
|
53294
|
-
|
|
53295
|
-
|
|
53296
|
-
|
|
53295
|
+
const templatedCreateRxList = dedupedTemplateIds.map((templateId) => {
|
|
53296
|
+
const templateOverrideNotes = props.templateOverrides?.[templateId]?.notes;
|
|
53297
|
+
const notes = templateOverrideNotes ? `${templateOverrideNotes}
|
|
53298
|
+
|
|
53299
|
+
${rxNotesPrefill}` : rxNotesPrefill;
|
|
53300
|
+
return {
|
|
53301
|
+
...props.templateOverrides?.[templateId],
|
|
53302
|
+
patientId: props.patientId,
|
|
53303
|
+
templateId,
|
|
53304
|
+
notes
|
|
53305
|
+
};
|
|
53306
|
+
});
|
|
53297
53307
|
rxToCreate = rxToCreate.concat(templatedCreateRxList);
|
|
53298
53308
|
}
|
|
53299
53309
|
if (props.prescriptionIdsPrefill.length > 0) {
|
|
@@ -53333,6 +53343,14 @@ const DraftPrescriptionsProvider = (props) => {
|
|
|
53333
53343
|
const [isLoadingPrefills, setIsLoadingPrefills] = createSignal(false);
|
|
53334
53344
|
const [draftPrescriptions, setDraftPrescriptions] = createSignal([]);
|
|
53335
53345
|
const prescriptionIds = createMemo(() => draftPrescriptions().map((prescription) => prescription.id));
|
|
53346
|
+
const rxNotesPrefill = createMemo(() => {
|
|
53347
|
+
let notesPrefill = "";
|
|
53348
|
+
if (props.additionalNotes) notesPrefill = `${props.additionalNotes}
|
|
53349
|
+
|
|
53350
|
+
`;
|
|
53351
|
+
if (props.weight) notesPrefill = `${notesPrefill}${formatPatientWeight(props.weight, props.weightUnit)}`;
|
|
53352
|
+
return notesPrefill || void 0;
|
|
53353
|
+
});
|
|
53336
53354
|
createEffect(async () => {
|
|
53337
53355
|
if (
|
|
53338
53356
|
// must have templateIds or prescriptionIds to create prescriptions
|
|
@@ -53345,7 +53363,8 @@ const DraftPrescriptionsProvider = (props) => {
|
|
|
53345
53363
|
try {
|
|
53346
53364
|
const newRxs = await createPrefillPrescriptionsOnApi({
|
|
53347
53365
|
client,
|
|
53348
|
-
props
|
|
53366
|
+
props,
|
|
53367
|
+
rxNotesPrefill: rxNotesPrefill()
|
|
53349
53368
|
});
|
|
53350
53369
|
if (newRxs) {
|
|
53351
53370
|
setDraftPrescriptions((prev) => [...prev, ...newRxs]);
|
|
@@ -53484,6 +53503,7 @@ const DraftPrescriptionsProvider = (props) => {
|
|
|
53484
53503
|
draftPrescriptions,
|
|
53485
53504
|
prescriptionIds,
|
|
53486
53505
|
isLoadingPrefills,
|
|
53506
|
+
rxNotesPrefill,
|
|
53487
53507
|
// actions
|
|
53488
53508
|
setDraftPrescriptions,
|
|
53489
53509
|
tryCreatePrescription,
|
|
@@ -58382,7 +58402,7 @@ function checkHasPermission(subset, superset) {
|
|
|
58382
58402
|
return subset.every((permission) => superset.includes(permission));
|
|
58383
58403
|
}
|
|
58384
58404
|
|
|
58385
|
-
const version$1 = "0.23.
|
|
58405
|
+
const version$1 = "0.23.2";
|
|
58386
58406
|
const pkg = {
|
|
58387
58407
|
version: version$1};
|
|
58388
58408
|
|
|
@@ -58600,7 +58620,7 @@ customElement("photon-client", {
|
|
|
58600
58620
|
}
|
|
58601
58621
|
}, Component$a);
|
|
58602
58622
|
|
|
58603
|
-
const tailwind = " :host {} /*\n! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com\n*/ /*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n7. Disable tap highlights on iOS\n*/\nhtml,\n:host {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n -o-tab-size: 4;\n tab-size: 4; /* 3 */\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 4 */\n font-feature-settings: normal; /* 5 */\n font-variation-settings: normal; /* 6 */\n -webkit-tap-highlight-color: transparent; /* 7 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font-family by default.\n2. Use the user's configured `mono` font-feature-settings by default.\n3. Use the user's configured `mono` font-variation-settings by default.\n4. Correct the odd `em` font sizing in all browsers.\n*/\ncode,\nkbd,\nsamp,\npre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; /* 1 */\n font-feature-settings: normal; /* 2 */\n font-variation-settings: normal; /* 3 */\n font-size: 1em; /* 4 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n letter-spacing: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\nbutton,\ninput:where([type=button]),\ninput:where([type=reset]),\ninput:where([type=submit]) {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n[type=search] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\ninput::-moz-placeholder, textarea::-moz-placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\nbutton,\n[role=button] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n\ninput:where([type=text]), input:where(:not([type])), input:where([type=email]), input:where([type=url]), input:where([type=password]), input:where([type=number]), input:where([type=date]), input:where([type=datetime-local]), input:where([type=month]), input:where([type=search]), input:where([type=tel]), input:where([type=time]), input:where([type=week]), select:where([multiple]), textarea, select {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background-color: #fff;\n border-color: #6b7280;\n border-width: 1px;\n border-radius: 0px;\n padding-top: 0.5rem;\n padding-right: 0.75rem;\n padding-bottom: 0.5rem;\n padding-left: 0.75rem;\n font-size: 1rem;\n line-height: 1.5rem;\n --tw-shadow: 0 0 #0000;\n}\n\ninput:where([type=text]):focus, input:where(:not([type])):focus, input:where([type=email]):focus, input:where([type=url]):focus, input:where([type=password]):focus, input:where([type=number]):focus, input:where([type=date]):focus, input:where([type=datetime-local]):focus, input:where([type=month]):focus, input:where([type=search]):focus, input:where([type=tel]):focus, input:where([type=time]):focus, input:where([type=week]):focus, select:where([multiple]):focus, textarea:focus, select:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: #175CD3;\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n border-color: #175CD3;\n}\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n color: #6b7280;\n opacity: 1;\n}\n\ninput::placeholder, textarea::placeholder {\n color: #6b7280;\n opacity: 1;\n}\n\n::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n}\n\n::-webkit-date-and-time-value {\n min-height: 1.5em;\n text-align: inherit;\n}\n\n::-webkit-datetime-edit {\n display: inline-flex;\n}\n\n::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-top: 0;\n padding-bottom: 0;\n}\n\nselect {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e\");\n background-position: right 0.5rem center;\n background-repeat: no-repeat;\n background-size: 1.5em 1.5em;\n padding-right: 2.5rem;\n -webkit-print-color-adjust: exact;\n print-color-adjust: exact;\n}\n\nselect:where([multiple]), select:where([size]:not([size=\"1\"])) {\n background-image: initial;\n background-position: initial;\n background-repeat: unset;\n background-size: initial;\n padding-right: 0.75rem;\n -webkit-print-color-adjust: unset;\n print-color-adjust: unset;\n}\n\ninput:where([type=checkbox]), input:where([type=radio]) {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n padding: 0;\n -webkit-print-color-adjust: exact;\n print-color-adjust: exact;\n display: inline-block;\n vertical-align: middle;\n background-origin: border-box;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n flex-shrink: 0;\n height: 1rem;\n width: 1rem;\n color: #175CD3;\n background-color: #fff;\n border-color: #6b7280;\n border-width: 1px;\n --tw-shadow: 0 0 #0000;\n}\n\ninput:where([type=checkbox]) {\n border-radius: 0px;\n}\n\ninput:where([type=radio]) {\n border-radius: 100%;\n}\n\ninput:where([type=checkbox]):focus, input:where([type=radio]):focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: #175CD3;\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n\ninput:where([type=checkbox]):checked, input:where([type=radio]):checked {\n border-color: transparent;\n background-color: currentColor;\n background-size: 100% 100%;\n background-position: center;\n background-repeat: no-repeat;\n}\n\ninput:where([type=checkbox]):checked {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e\");\n}\n\n@media (forced-colors: active) {\n input:where([type=checkbox]):checked {\n -webkit-appearance: auto;\n -moz-appearance: auto;\n appearance: auto;\n }\n}\ninput:where([type=radio]):checked {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e\");\n}\n\n@media (forced-colors: active) {\n input:where([type=radio]):checked {\n -webkit-appearance: auto;\n -moz-appearance: auto;\n appearance: auto;\n }\n}\ninput:where([type=checkbox]):checked:hover, input:where([type=checkbox]):checked:focus, input:where([type=radio]):checked:hover, input:where([type=radio]):checked:focus {\n border-color: transparent;\n background-color: currentColor;\n}\n\ninput:where([type=checkbox]):indeterminate {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e\");\n border-color: transparent;\n background-color: currentColor;\n background-size: 100% 100%;\n background-position: center;\n background-repeat: no-repeat;\n}\n\n@media (forced-colors: active) {\n input:where([type=checkbox]):indeterminate {\n -webkit-appearance: auto;\n -moz-appearance: auto;\n appearance: auto;\n }\n}\ninput:where([type=checkbox]):indeterminate:hover, input:where([type=checkbox]):indeterminate:focus {\n border-color: transparent;\n background-color: currentColor;\n}\n\ninput:where([type=file]) {\n background: unset;\n border-color: inherit;\n border-width: 0;\n border-radius: 0;\n padding: 0;\n font-size: unset;\n line-height: inherit;\n}\n\ninput:where([type=file]):focus {\n outline: 1px solid ButtonText;\n outline: 1px auto -webkit-focus-ring-color;\n}\n\n*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(21 112 239 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(21 112 239 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n\n.container {\n width: 100%;\n}\n\n@media (min-width: 475px) {\n .container {\n max-width: 475px;\n }\n}\n@media (min-width: 640px) {\n .container {\n max-width: 640px;\n }\n}\n@media (min-width: 768px) {\n .container {\n max-width: 768px;\n }\n}\n@media (min-width: 1024px) {\n .container {\n max-width: 1024px;\n }\n}\n@media (min-width: 1280px) {\n .container {\n max-width: 1280px;\n }\n}\n@media (min-width: 1536px) {\n .container {\n max-width: 1536px;\n }\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.pointer-events-none {\n pointer-events: none;\n}\n\n.visible {\n visibility: visible;\n}\n\n.invisible {\n visibility: hidden;\n}\n\n.fixed {\n position: fixed;\n}\n\n.absolute {\n position: absolute;\n}\n\n.relative {\n position: relative;\n}\n\n.sticky {\n position: sticky;\n}\n\n.inset-0 {\n inset: 0px;\n}\n\n.inset-y-0 {\n top: 0px;\n bottom: 0px;\n}\n\n.-bottom-8 {\n bottom: -2rem;\n}\n\n.bottom-full {\n bottom: 100%;\n}\n\n.left-0 {\n left: 0px;\n}\n\n.right-0 {\n right: 0px;\n}\n\n.right-8 {\n right: 2rem;\n}\n\n.top-0 {\n top: 0px;\n}\n\n.top-full {\n top: 100%;\n}\n\n.isolate {\n isolation: isolate;\n}\n\n.z-10 {\n z-index: 10;\n}\n\n.z-100 {\n z-index: 100;\n}\n\n.z-20 {\n z-index: 20;\n}\n\n.z-2000 {\n z-index: 2000;\n}\n\n.z-50 {\n z-index: 50;\n}\n\n.col-span-2 {\n grid-column: span 2/span 2;\n}\n\n.col-span-3 {\n grid-column: span 3/span 3;\n}\n\n.m-0 {\n margin: 0px;\n}\n\n.m-3 {\n margin: 0.75rem;\n}\n\n.m-auto {\n margin: auto;\n}\n\n.-mx-4 {\n margin-left: -1rem;\n margin-right: -1rem;\n}\n\n.-my-2 {\n margin-top: -0.5rem;\n margin-bottom: -0.5rem;\n}\n\n.mx-2 {\n margin-left: 0.5rem;\n margin-right: 0.5rem;\n}\n\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n.my-1 {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n}\n\n.my-8 {\n margin-top: 2rem;\n margin-bottom: 2rem;\n}\n\n.my-px {\n margin-top: 1px;\n margin-bottom: 1px;\n}\n\n.-mb-px {\n margin-bottom: -1px;\n}\n\n.mb-0 {\n margin-bottom: 0px;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem;\n}\n\n.mb-10 {\n margin-bottom: 2.5rem;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem;\n}\n\n.mb-3 {\n margin-bottom: 0.75rem;\n}\n\n.mb-4 {\n margin-bottom: 1rem;\n}\n\n.mb-8 {\n margin-bottom: 2rem;\n}\n\n.ml-0 {\n margin-left: 0px;\n}\n\n.ml-0\\.5 {\n margin-left: 0.125rem;\n}\n\n.ml-1 {\n margin-left: 0.25rem;\n}\n\n.ml-2 {\n margin-left: 0.5rem;\n}\n\n.ml-3 {\n margin-left: 0.75rem;\n}\n\n.ml-auto {\n margin-left: auto;\n}\n\n.mr-1 {\n margin-right: 0.25rem;\n}\n\n.mr-2 {\n margin-right: 0.5rem;\n}\n\n.mr-4 {\n margin-right: 1rem;\n}\n\n.mt-0 {\n margin-top: 0px;\n}\n\n.mt-1 {\n margin-top: 0.25rem;\n}\n\n.mt-2 {\n margin-top: 0.5rem;\n}\n\n.mt-3 {\n margin-top: 0.75rem;\n}\n\n.mt-4 {\n margin-top: 1rem;\n}\n\n.mt-5 {\n margin-top: 1.25rem;\n}\n\n.mt-6 {\n margin-top: 1.5rem;\n}\n\n.mt-8 {\n margin-top: 2rem;\n}\n\n.box-border {\n box-sizing: border-box;\n}\n\n.block {\n display: block;\n}\n\n.inline-block {\n display: inline-block;\n}\n\n.inline {\n display: inline;\n}\n\n.flex {\n display: flex;\n}\n\n.inline-flex {\n display: inline-flex;\n}\n\n.table {\n display: table;\n}\n\n.flow-root {\n display: flow-root;\n}\n\n.grid {\n display: grid;\n}\n\n.contents {\n display: contents;\n}\n\n.hidden {\n display: none;\n}\n\n.h-10 {\n height: 2.5rem;\n}\n\n.h-11 {\n height: 2.75rem;\n}\n\n.h-12 {\n height: 3rem;\n}\n\n.h-4 {\n height: 1rem;\n}\n\n.h-5 {\n height: 1.25rem;\n}\n\n.h-6 {\n height: 1.5rem;\n}\n\n.h-8 {\n height: 2rem;\n}\n\n.h-\\[21px\\] {\n height: 21px;\n}\n\n.h-\\[28px\\] {\n height: 28px;\n}\n\n.h-full {\n height: 100%;\n}\n\n.h-px {\n height: 1px;\n}\n\n.max-h-60 {\n max-height: 15rem;\n}\n\n.max-h-80 {\n max-height: 20rem;\n}\n\n.min-h-full {\n min-height: 100%;\n}\n\n.w-10 {\n width: 2.5rem;\n}\n\n.w-11 {\n width: 2.75rem;\n}\n\n.w-12 {\n width: 3rem;\n}\n\n.w-20 {\n width: 5rem;\n}\n\n.w-4 {\n width: 1rem;\n}\n\n.w-5 {\n width: 1.25rem;\n}\n\n.w-6 {\n width: 1.5rem;\n}\n\n.w-8 {\n width: 2rem;\n}\n\n.w-96 {\n width: 24rem;\n}\n\n.w-\\[44px\\] {\n width: 44px;\n}\n\n.w-full {\n width: 100%;\n}\n\n.w-max {\n width: -moz-max-content;\n width: max-content;\n}\n\n.w-screen {\n width: 100vw;\n}\n\n.min-w-0 {\n min-width: 0px;\n}\n\n.min-w-\\[40\\%\\] {\n min-width: 40%;\n}\n\n.min-w-full {\n min-width: 100%;\n}\n\n.max-w-lg {\n max-width: 32rem;\n}\n\n.max-w-md {\n max-width: 28rem;\n}\n\n.max-w-sm {\n max-width: 24rem;\n}\n\n.flex-1 {\n flex: 1 1 0%;\n}\n\n.flex-auto {\n flex: 1 1 auto;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0;\n}\n\n.shrink-0 {\n flex-shrink: 0;\n}\n\n.flex-grow {\n flex-grow: 1;\n}\n\n.grow {\n flex-grow: 1;\n}\n\n.table-auto {\n table-layout: auto;\n}\n\n.table-fixed {\n table-layout: fixed;\n}\n\n.transform {\n 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));\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n.animate-spin {\n animation: spin 1s linear infinite;\n}\n\n.cursor-default {\n cursor: default;\n}\n\n.cursor-help {\n cursor: help;\n}\n\n.cursor-not-allowed {\n cursor: not-allowed;\n}\n\n.cursor-pointer {\n cursor: pointer;\n}\n\n.touch-pan-y {\n --tw-pan-y: pan-y;\n touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);\n}\n\n.select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n\n.resize-none {\n resize: none;\n}\n\n.resize-y {\n resize: vertical;\n}\n\n.resize {\n resize: both;\n}\n\n.grid-flow-col {\n grid-auto-flow: column;\n}\n\n.grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n}\n\n.grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n\n.grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n.grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n\n.grid-cols-subgrid {\n grid-template-columns: subgrid;\n}\n\n.flex-row {\n flex-direction: row;\n}\n\n.flex-col {\n flex-direction: column;\n}\n\n.place-items-start {\n place-items: start;\n}\n\n.items-start {\n align-items: flex-start;\n}\n\n.items-end {\n align-items: flex-end;\n}\n\n.items-center {\n align-items: center;\n}\n\n.items-stretch {\n align-items: stretch;\n}\n\n.justify-start {\n justify-content: flex-start;\n}\n\n.justify-end {\n justify-content: flex-end;\n}\n\n.justify-center {\n justify-content: center;\n}\n\n.justify-between {\n justify-content: space-between;\n}\n\n.gap-1 {\n gap: 0.25rem;\n}\n\n.gap-2 {\n gap: 0.5rem;\n}\n\n.gap-3 {\n gap: 0.75rem;\n}\n\n.gap-4 {\n gap: 1rem;\n}\n\n.gap-6 {\n gap: 1.5rem;\n}\n\n.gap-8 {\n gap: 2rem;\n}\n\n.gap-x-1 {\n -moz-column-gap: 0.25rem;\n column-gap: 0.25rem;\n}\n\n.gap-x-2 {\n -moz-column-gap: 0.5rem;\n column-gap: 0.5rem;\n}\n\n.gap-x-3 {\n -moz-column-gap: 0.75rem;\n column-gap: 0.75rem;\n}\n\n.gap-x-4 {\n -moz-column-gap: 1rem;\n column-gap: 1rem;\n}\n\n.gap-y-10 {\n row-gap: 2.5rem;\n}\n\n.gap-y-2 {\n row-gap: 0.5rem;\n}\n\n.gap-y-4 {\n row-gap: 1rem;\n}\n\n.space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * (1 - var(--tw-space-x-reverse)));\n}\n\n.space-x-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1rem * var(--tw-space-x-reverse));\n margin-left: calc(1rem * (1 - var(--tw-space-x-reverse)));\n}\n\n.space-y-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.5rem * (1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));\n}\n\n.space-y-3 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.75rem * (1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));\n}\n\n.space-y-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1rem * (1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1rem * var(--tw-space-y-reverse));\n}\n\n.space-y-5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1.25rem * (1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));\n}\n\n.divide-y > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-y-reverse: 0;\n border-top-width: calc(1px * (1 - var(--tw-divide-y-reverse)));\n border-bottom-width: calc(1px * var(--tw-divide-y-reverse));\n}\n\n.divide-gray-200 > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-opacity: 1;\n border-color: rgb(229, 231, 235, var(--tw-divide-opacity));\n}\n\n.divide-gray-300 > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-opacity: 1;\n border-color: rgb(209, 213, 219, var(--tw-divide-opacity));\n}\n\n.self-start {\n align-self: flex-start;\n}\n\n.self-center {\n align-self: center;\n}\n\n.overflow-auto {\n overflow: auto;\n}\n\n.overflow-hidden {\n overflow: hidden;\n}\n\n.overflow-x-auto {\n overflow-x: auto;\n}\n\n.overflow-y-auto {\n overflow-y: auto;\n}\n\n.overflow-x-hidden {\n overflow-x: hidden;\n}\n\n.overscroll-contain {\n overscroll-behavior: contain;\n}\n\n.truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.overflow-ellipsis {\n text-overflow: ellipsis;\n}\n\n.text-ellipsis {\n text-overflow: ellipsis;\n}\n\n.whitespace-normal {\n white-space: normal;\n}\n\n.whitespace-nowrap {\n white-space: nowrap;\n}\n\n.text-pretty {\n text-wrap: pretty;\n}\n\n.break-words {\n overflow-wrap: break-word;\n}\n\n.rounded {\n border-radius: 0.25rem;\n}\n\n.rounded-full {\n border-radius: 9999px;\n}\n\n.rounded-lg {\n border-radius: 0.5rem;\n}\n\n.rounded-md {\n border-radius: 0.375rem;\n}\n\n.rounded-xl {\n border-radius: 0.75rem;\n}\n\n.rounded-r-md {\n border-top-right-radius: 0.375rem;\n border-bottom-right-radius: 0.375rem;\n}\n\n.border {\n border-width: 1px;\n}\n\n.border-0 {\n border-width: 0px;\n}\n\n.border-2 {\n border-width: 2px;\n}\n\n.border-b {\n border-bottom-width: 1px;\n}\n\n.border-b-2 {\n border-bottom-width: 2px;\n}\n\n.border-t {\n border-top-width: 1px;\n}\n\n.border-solid {\n border-style: solid;\n}\n\n.border-none {\n border-style: none;\n}\n\n.border-blue-200 {\n --tw-border-opacity: 1;\n border-color: rgb(132, 202, 255, var(--tw-border-opacity));\n}\n\n.border-blue-300 {\n --tw-border-opacity: 1;\n border-color: rgb(83, 177, 253, var(--tw-border-opacity));\n}\n\n.border-blue-400 {\n --tw-border-opacity: 1;\n border-color: rgb(46, 144, 250, var(--tw-border-opacity));\n}\n\n.border-blue-500 {\n --tw-border-opacity: 1;\n border-color: rgb(21, 112, 239, var(--tw-border-opacity));\n}\n\n.border-blue-600 {\n --tw-border-opacity: 1;\n border-color: rgb(23, 92, 211, var(--tw-border-opacity));\n}\n\n.border-gray-200 {\n --tw-border-opacity: 1;\n border-color: rgb(229, 231, 235, var(--tw-border-opacity));\n}\n\n.border-gray-300 {\n --tw-border-opacity: 1;\n border-color: rgb(209, 213, 219, var(--tw-border-opacity));\n}\n\n.border-green-200 {\n --tw-border-opacity: 1;\n border-color: rgb(187, 247, 208, var(--tw-border-opacity));\n}\n\n.border-green-300 {\n --tw-border-opacity: 1;\n border-color: rgb(134, 239, 172, var(--tw-border-opacity));\n}\n\n.border-green-400 {\n --tw-border-opacity: 1;\n border-color: rgb(74, 222, 128, var(--tw-border-opacity));\n}\n\n.border-green-600 {\n --tw-border-opacity: 1;\n border-color: rgb(22, 163, 74, var(--tw-border-opacity));\n}\n\n.border-indigo-300 {\n --tw-border-opacity: 1;\n border-color: rgb(165, 180, 252, var(--tw-border-opacity));\n}\n\n.border-pink-300 {\n --tw-border-opacity: 1;\n border-color: rgb(249, 168, 212, var(--tw-border-opacity));\n}\n\n.border-purple-300 {\n --tw-border-opacity: 1;\n border-color: rgb(216, 180, 254, var(--tw-border-opacity));\n}\n\n.border-red-200 {\n --tw-border-opacity: 1;\n border-color: rgb(254, 202, 202, var(--tw-border-opacity));\n}\n\n.border-red-300 {\n --tw-border-opacity: 1;\n border-color: rgb(252, 165, 165, var(--tw-border-opacity));\n}\n\n.border-red-400 {\n --tw-border-opacity: 1;\n border-color: rgb(248, 113, 113, var(--tw-border-opacity));\n}\n\n.border-red-600 {\n --tw-border-opacity: 1;\n border-color: rgb(220, 38, 38, var(--tw-border-opacity));\n}\n\n.border-slate-600 {\n --tw-border-opacity: 1;\n border-color: rgb(71, 85, 105, var(--tw-border-opacity));\n}\n\n.border-transparent {\n border-color: transparent;\n}\n\n.border-yellow-200 {\n --tw-border-opacity: 1;\n border-color: rgb(254, 240, 138, var(--tw-border-opacity));\n}\n\n.border-yellow-300 {\n --tw-border-opacity: 1;\n border-color: rgb(253, 224, 71, var(--tw-border-opacity));\n}\n\n.border-yellow-600 {\n --tw-border-opacity: 1;\n border-color: rgb(202, 138, 4, var(--tw-border-opacity));\n}\n\n.bg-\\[\\#F9FAFB\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(249, 250, 251, var(--tw-bg-opacity));\n}\n\n.bg-\\[\\#FFFAEB\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(255, 250, 235, var(--tw-bg-opacity));\n}\n\n.bg-blue-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(178, 221, 255, var(--tw-bg-opacity));\n}\n\n.bg-blue-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(209, 233, 255, var(--tw-bg-opacity));\n}\n\n.bg-blue-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(21, 112, 239, var(--tw-bg-opacity));\n}\n\n.bg-blue-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(23, 92, 211, var(--tw-bg-opacity));\n}\n\n.bg-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(243, 244, 246, var(--tw-bg-opacity));\n}\n\n.bg-gray-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(229, 231, 235, var(--tw-bg-opacity));\n}\n\n.bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(249, 250, 251, var(--tw-bg-opacity));\n}\n\n.bg-gray-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(107, 114, 128, var(--tw-bg-opacity));\n}\n\n.bg-gray-900 {\n --tw-bg-opacity: 1;\n background-color: rgb(17, 24, 39, var(--tw-bg-opacity));\n}\n\n.bg-green-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(220, 252, 231, var(--tw-bg-opacity));\n}\n\n.bg-green-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(240, 253, 244, var(--tw-bg-opacity));\n}\n\n.bg-indigo-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(224, 231, 255, var(--tw-bg-opacity));\n}\n\n.bg-photon-blue {\n --tw-bg-opacity: 1;\n background-color: rgb(49, 130, 206, var(--tw-bg-opacity));\n}\n\n.bg-pink-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(252, 231, 243, var(--tw-bg-opacity));\n}\n\n.bg-purple-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(243, 232, 255, var(--tw-bg-opacity));\n}\n\n.bg-red-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(254, 226, 226, var(--tw-bg-opacity));\n}\n\n.bg-red-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(254, 242, 242, var(--tw-bg-opacity));\n}\n\n.bg-red-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(239, 68, 68, var(--tw-bg-opacity));\n}\n\n.bg-slate-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(241, 245, 249, var(--tw-bg-opacity));\n}\n\n.bg-slate-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(248, 250, 252, var(--tw-bg-opacity));\n}\n\n.bg-transparent {\n background-color: transparent;\n}\n\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255, 255, 255, var(--tw-bg-opacity));\n}\n\n.bg-yellow-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(254, 249, 195, var(--tw-bg-opacity));\n}\n\n.bg-yellow-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(254, 252, 232, var(--tw-bg-opacity));\n}\n\n.bg-opacity-75 {\n --tw-bg-opacity: 0.75;\n}\n\n.fill-blue-500 {\n fill: #1570EF;\n}\n\n.fill-green-500 {\n fill: #22c55e;\n}\n\n.p-0 {\n padding: 0px;\n}\n\n.p-2 {\n padding: 0.5rem;\n}\n\n.p-4 {\n padding: 1rem;\n}\n\n.px-1 {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n}\n\n.px-1\\.5 {\n padding-left: 0.375rem;\n padding-right: 0.375rem;\n}\n\n.px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n\n.px-2\\.5 {\n padding-left: 0.625rem;\n padding-right: 0.625rem;\n}\n\n.px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n\n.px-3\\.5 {\n padding-left: 0.875rem;\n padding-right: 0.875rem;\n}\n\n.px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n}\n\n.py-0\\.5 {\n padding-top: 0.125rem;\n padding-bottom: 0.125rem;\n}\n\n.py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n\n.py-1\\.5 {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n}\n\n.py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.py-2\\.5 {\n padding-top: 0.625rem;\n padding-bottom: 0.625rem;\n}\n\n.py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n\n.py-3\\.5 {\n padding-top: 0.875rem;\n padding-bottom: 0.875rem;\n}\n\n.py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem;\n}\n\n.pb-4 {\n padding-bottom: 1rem;\n}\n\n.pl-1 {\n padding-left: 0.25rem;\n}\n\n.pl-10 {\n padding-left: 2.5rem;\n}\n\n.pl-2 {\n padding-left: 0.5rem;\n}\n\n.pl-3 {\n padding-left: 0.75rem;\n}\n\n.pl-5 {\n padding-left: 1.25rem;\n}\n\n.pl-\\[19\\.75px\\] {\n padding-left: 19.75px;\n}\n\n.pr-2 {\n padding-right: 0.5rem;\n}\n\n.pr-3 {\n padding-right: 0.75rem;\n}\n\n.pr-4 {\n padding-right: 1rem;\n}\n\n.pr-5 {\n padding-right: 1.25rem;\n}\n\n.pt-1 {\n padding-top: 0.25rem;\n}\n\n.pt-2 {\n padding-top: 0.5rem;\n}\n\n.pt-3 {\n padding-top: 0.75rem;\n}\n\n.pt-4 {\n padding-top: 1rem;\n}\n\n.text-left {\n text-align: left;\n}\n\n.text-center {\n text-align: center;\n}\n\n.text-end {\n text-align: end;\n}\n\n.align-top {\n vertical-align: top;\n}\n\n.align-middle {\n vertical-align: middle;\n}\n\n.font-mono {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n.font-sans {\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n}\n\n.text-3xl {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n.text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n.text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n\n.text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n\n.text-sm\\/6 {\n font-size: 0.875rem;\n line-height: 1.5rem;\n}\n\n.text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n\n.text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n\n.font-bold {\n font-weight: 700;\n}\n\n.font-extrabold {\n font-weight: 800;\n}\n\n.font-light {\n font-weight: 300;\n}\n\n.font-medium {\n font-weight: 500;\n}\n\n.font-normal {\n font-weight: 400;\n}\n\n.font-semibold {\n font-weight: 600;\n}\n\n.uppercase {\n text-transform: uppercase;\n}\n\n.capitalize {\n text-transform: capitalize;\n}\n\n.italic {\n font-style: italic;\n}\n\n.leading-6 {\n line-height: 1.5rem;\n}\n\n.leading-none {\n line-height: 1;\n}\n\n.leading-snug {\n line-height: 1.375;\n}\n\n.text-\\[\\#DC6803\\] {\n --tw-text-opacity: 1;\n color: rgb(220, 104, 3, var(--tw-text-opacity));\n}\n\n.text-black {\n --tw-text-opacity: 1;\n color: rgb(0, 0, 0, var(--tw-text-opacity));\n}\n\n.text-blue-500 {\n --tw-text-opacity: 1;\n color: rgb(21, 112, 239, var(--tw-text-opacity));\n}\n\n.text-blue-600 {\n --tw-text-opacity: 1;\n color: rgb(23, 92, 211, var(--tw-text-opacity));\n}\n\n.text-blue-700 {\n --tw-text-opacity: 1;\n color: rgb(24, 73, 169, var(--tw-text-opacity));\n}\n\n.text-blue-800 {\n --tw-text-opacity: 1;\n color: rgb(25, 65, 133, var(--tw-text-opacity));\n}\n\n.text-blue-900 {\n --tw-text-opacity: 1;\n color: rgb(16, 42, 86, var(--tw-text-opacity));\n}\n\n.text-current {\n color: currentColor;\n}\n\n.text-gray-200 {\n --tw-text-opacity: 1;\n color: rgb(229, 231, 235, var(--tw-text-opacity));\n}\n\n.text-gray-400 {\n --tw-text-opacity: 1;\n color: rgb(156, 163, 175, var(--tw-text-opacity));\n}\n\n.text-gray-50 {\n --tw-text-opacity: 1;\n color: rgb(249, 250, 251, var(--tw-text-opacity));\n}\n\n.text-gray-500 {\n --tw-text-opacity: 1;\n color: rgb(107, 114, 128, var(--tw-text-opacity));\n}\n\n.text-gray-600 {\n --tw-text-opacity: 1;\n color: rgb(75, 85, 99, var(--tw-text-opacity));\n}\n\n.text-gray-700 {\n --tw-text-opacity: 1;\n color: rgb(55, 65, 81, var(--tw-text-opacity));\n}\n\n.text-gray-900 {\n --tw-text-opacity: 1;\n color: rgb(17, 24, 39, var(--tw-text-opacity));\n}\n\n.text-green-500 {\n --tw-text-opacity: 1;\n color: rgb(34, 197, 94, var(--tw-text-opacity));\n}\n\n.text-green-600 {\n --tw-text-opacity: 1;\n color: rgb(22, 163, 74, var(--tw-text-opacity));\n}\n\n.text-green-700 {\n --tw-text-opacity: 1;\n color: rgb(21, 128, 61, var(--tw-text-opacity));\n}\n\n.text-green-800 {\n --tw-text-opacity: 1;\n color: rgb(22, 101, 52, var(--tw-text-opacity));\n}\n\n.text-indigo-700 {\n --tw-text-opacity: 1;\n color: rgb(67, 56, 202, var(--tw-text-opacity));\n}\n\n.text-pink-700 {\n --tw-text-opacity: 1;\n color: rgb(190, 24, 93, var(--tw-text-opacity));\n}\n\n.text-purple-700 {\n --tw-text-opacity: 1;\n color: rgb(126, 34, 206, var(--tw-text-opacity));\n}\n\n.text-red-400 {\n --tw-text-opacity: 1;\n color: rgb(248, 113, 113, var(--tw-text-opacity));\n}\n\n.text-red-500 {\n --tw-text-opacity: 1;\n color: rgb(239, 68, 68, var(--tw-text-opacity));\n}\n\n.text-red-600 {\n --tw-text-opacity: 1;\n color: rgb(220, 38, 38, var(--tw-text-opacity));\n}\n\n.text-red-700 {\n --tw-text-opacity: 1;\n color: rgb(185, 28, 28, var(--tw-text-opacity));\n}\n\n.text-red-800 {\n --tw-text-opacity: 1;\n color: rgb(153, 27, 27, var(--tw-text-opacity));\n}\n\n.text-slate-500 {\n --tw-text-opacity: 1;\n color: rgb(100, 116, 139, var(--tw-text-opacity));\n}\n\n.text-slate-600 {\n --tw-text-opacity: 1;\n color: rgb(71, 85, 105, var(--tw-text-opacity));\n}\n\n.text-teal-600 {\n --tw-text-opacity: 1;\n color: rgb(13, 148, 136, var(--tw-text-opacity));\n}\n\n.text-transparent {\n color: transparent;\n}\n\n.text-white {\n --tw-text-opacity: 1;\n color: rgb(255, 255, 255, var(--tw-text-opacity));\n}\n\n.text-yellow-600 {\n --tw-text-opacity: 1;\n color: rgb(202, 138, 4, var(--tw-text-opacity));\n}\n\n.text-yellow-800 {\n --tw-text-opacity: 1;\n color: rgb(133, 77, 14, var(--tw-text-opacity));\n}\n\n.underline {\n text-decoration-line: underline;\n}\n\n.opacity-0 {\n opacity: 0;\n}\n\n.opacity-100 {\n opacity: 1;\n}\n\n.opacity-35 {\n opacity: 0.35;\n}\n\n.opacity-50 {\n opacity: 0.5;\n}\n\n.shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);\n}\n\n.shadow-card {\n --tw-shadow: 0px 0px 1px rgba(48, 49, 51, 0.05),0px 2px 4px rgba(48, 49, 51, 0.1);\n --tw-shadow-colored: 0px 0px 1px var(--tw-shadow-color), 0px 2px 4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);\n}\n\n.shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);\n}\n\n.shadow-sm {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);\n}\n\n.shadow-xl {\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);\n}\n\n.ring-1 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));\n}\n\n.ring-2 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));\n}\n\n.ring-inset {\n --tw-ring-inset: inset;\n}\n\n.ring-black {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity));\n}\n\n.ring-blue-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(83 177 253 / var(--tw-ring-opacity));\n}\n\n.ring-gray-200 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity));\n}\n\n.ring-gray-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity));\n}\n\n.ring-gray-900\\/5 {\n --tw-ring-color: rgb(17 24 39 / 0.05);\n}\n\n.ring-red-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(252 165 165 / var(--tw-ring-opacity));\n}\n\n.ring-sky-500\\/40 {\n --tw-ring-color: rgb(14 165 233 / 0.4);\n}\n\n.ring-opacity-5 {\n --tw-ring-opacity: 0.05;\n}\n\n.blur {\n --tw-blur: blur(8px);\n 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);\n}\n\n.filter {\n 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);\n}\n\n.transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.duration-100 {\n transition-duration: 100ms;\n}\n\n.ease-in {\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1);\n}\n\n.ease-in-out {\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.ease-out {\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n\n.theme-photon, [data-theme=photon] {\n --twc-primaryText: 210 20% 98%;\n --twc-primary500: 238.70000000000005 83.5% 66.7%;\n --twc-primary600: 243.39999999999998 75.4% 58.6%;\n --twc-secondaryText: 220.89999999999998 39.3% 11%;\n --twc-secondary50: 225.89999999999998 100% 96.7%;\n --twc-secondary100: 226.5 100% 93.9%;\n}\n\n.theme-weekend, [data-theme=weekend] {\n --twc-primaryText: 210 20% 98%;\n --twc-primary500: 198.60000000000002 88.7% 48.4%;\n --twc-primary600: 200.39999999999998 98% 39.4%;\n --twc-secondaryText: 220.89999999999998 39.3% 11%;\n --twc-secondary50: 204 100% 97.1%;\n --twc-secondary100: 204 93.8% 93.7%;\n}\n\n.\\[overflow-wrap\\:anywhere\\] {\n overflow-wrap: anywhere;\n}\n\n.placeholder\\:text-gray-400::-moz-placeholder {\n --tw-text-opacity: 1;\n color: rgb(156, 163, 175, var(--tw-text-opacity));\n}\n\n.placeholder\\:text-gray-400::placeholder {\n --tw-text-opacity: 1;\n color: rgb(156, 163, 175, var(--tw-text-opacity));\n}\n\n.placeholder\\:text-red-300::-moz-placeholder {\n --tw-text-opacity: 1;\n color: rgb(252, 165, 165, var(--tw-text-opacity));\n}\n\n.placeholder\\:text-red-300::placeholder {\n --tw-text-opacity: 1;\n color: rgb(252, 165, 165, var(--tw-text-opacity));\n}\n\n.even\\:bg-gray-50:nth-child(even) {\n --tw-bg-opacity: 1;\n background-color: rgb(249, 250, 251, var(--tw-bg-opacity));\n}\n\n.hover\\:cursor-pointer:hover {\n cursor: pointer;\n}\n\n.hover\\:border-gray-300:hover {\n --tw-border-opacity: 1;\n border-color: rgb(209, 213, 219, var(--tw-border-opacity));\n}\n\n.hover\\:bg-blue-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(178, 221, 255, var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(209, 233, 255, var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-600:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(23, 92, 211, var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-700:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(24, 73, 169, var(--tw-bg-opacity));\n}\n\n.hover\\:bg-gray-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(249, 250, 251, var(--tw-bg-opacity));\n}\n\n.hover\\:bg-photon-blue-dark:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(43, 108, 176, var(--tw-bg-opacity));\n}\n\n.hover\\:bg-red-600:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(220, 38, 38, var(--tw-bg-opacity));\n}\n\n.hover\\:text-amber-500:hover {\n --tw-text-opacity: 1;\n color: rgb(245, 158, 11, var(--tw-text-opacity));\n}\n\n.hover\\:text-blue-500:hover {\n --tw-text-opacity: 1;\n color: rgb(21, 112, 239, var(--tw-text-opacity));\n}\n\n.hover\\:text-gray-500:hover {\n --tw-text-opacity: 1;\n color: rgb(107, 114, 128, var(--tw-text-opacity));\n}\n\n.hover\\:text-gray-600:hover {\n --tw-text-opacity: 1;\n color: rgb(75, 85, 99, var(--tw-text-opacity));\n}\n\n.hover\\:text-gray-700:hover {\n --tw-text-opacity: 1;\n color: rgb(55, 65, 81, var(--tw-text-opacity));\n}\n\n.hover\\:text-gray-900:hover {\n --tw-text-opacity: 1;\n color: rgb(17, 24, 39, var(--tw-text-opacity));\n}\n\n.hover\\:text-red-500:hover {\n --tw-text-opacity: 1;\n color: rgb(239, 68, 68, var(--tw-text-opacity));\n}\n\n.hover\\:underline:hover {\n text-decoration-line: underline;\n}\n\n.hover\\:ring-gray-400:hover {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(156 163 175 / var(--tw-ring-opacity));\n}\n\n.focus\\:outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n.focus\\:outline-0:focus {\n outline-width: 0px;\n}\n\n.focus\\:ring-1:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));\n}\n\n.focus\\:ring-2:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));\n}\n\n.focus\\:ring-inset:focus {\n --tw-ring-inset: inset;\n}\n\n.focus\\:ring-blue-300:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(83 177 253 / var(--tw-ring-opacity));\n}\n\n.focus\\:ring-blue-500:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(21 112 239 / var(--tw-ring-opacity));\n}\n\n.focus\\:ring-blue-600:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(23 92 211 / var(--tw-ring-opacity));\n}\n\n.focus\\:ring-gray-300:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity));\n}\n\n.focus\\:ring-red-500:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity));\n}\n\n.focus\\:ring-sky-500\\/40:focus {\n --tw-ring-color: rgb(14 165 233 / 0.4);\n}\n\n.focus\\:ring-offset-2:focus {\n --tw-ring-offset-width: 2px;\n}\n\n.focus-visible\\:outline:focus-visible {\n outline-style: solid;\n}\n\n.focus-visible\\:outline-2:focus-visible {\n outline-width: 2px;\n}\n\n.focus-visible\\:outline-offset-2:focus-visible {\n outline-offset: 2px;\n}\n\n.active\\:bg-gray-100:active {\n --tw-bg-opacity: 1;\n background-color: rgb(243, 244, 246, var(--tw-bg-opacity));\n}\n\n.disabled\\:cursor-not-allowed:disabled {\n cursor: not-allowed;\n}\n\n.disabled\\:bg-gray-500:disabled {\n --tw-bg-opacity: 1;\n background-color: rgb(107, 114, 128, var(--tw-bg-opacity));\n}\n\n.disabled\\:opacity-50:disabled {\n opacity: 0.5;\n}\n\n.disabled\\:hover\\:bg-transparent:hover:disabled {\n background-color: transparent;\n}\n\n.disabled\\:hover\\:text-gray-700:hover:disabled {\n --tw-text-opacity: 1;\n color: rgb(55, 65, 81, var(--tw-text-opacity));\n}\n\n.group:hover .group-hover\\:bg-blue-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(178, 221, 255, var(--tw-bg-opacity));\n}\n\n.group:hover .group-hover\\:text-blue-600 {\n --tw-text-opacity: 1;\n color: rgb(23, 92, 211, var(--tw-text-opacity));\n}\n\n.group:hover .group-hover\\:text-blue-900 {\n --tw-text-opacity: 1;\n color: rgb(16, 42, 86, var(--tw-text-opacity));\n}\n\n.group:hover .group-hover\\:opacity-100 {\n opacity: 1;\n}\n\n@media (min-width: 475px) {\n .xs\\:mx-auto {\n margin-left: auto;\n margin-right: auto;\n }\n .xs\\:w-auto {\n width: auto;\n }\n .xs\\:w-fit {\n width: -moz-fit-content;\n width: fit-content;\n }\n .xs\\:flex-row {\n flex-direction: row;\n }\n .xs\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .xs\\:justify-start {\n justify-content: flex-start;\n }\n .xs\\:text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media (min-width: 640px) {\n .sm\\:-mx-6 {\n margin-left: -1.5rem;\n margin-right: -1.5rem;\n }\n .sm\\:my-8 {\n margin-top: 2rem;\n margin-bottom: 2rem;\n }\n .sm\\:mt-5 {\n margin-top: 1.25rem;\n }\n .sm\\:mt-6 {\n margin-top: 1.5rem;\n }\n .sm\\:block {\n display: block;\n }\n .sm\\:inline {\n display: inline;\n }\n .sm\\:grid {\n display: grid;\n }\n .sm\\:hidden {\n display: none;\n }\n .sm\\:h-12 {\n height: 3rem;\n }\n .sm\\:w-\\[600px\\] {\n width: 600px;\n }\n .sm\\:w-auto {\n width: auto;\n }\n .sm\\:max-w-lg {\n max-width: 32rem;\n }\n .sm\\:max-w-md {\n max-width: 28rem;\n }\n .sm\\:max-w-sm {\n max-width: 24rem;\n }\n .sm\\:grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .sm\\:grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n }\n .sm\\:flex-row {\n flex-direction: row;\n }\n .sm\\:items-center {\n align-items: center;\n }\n .sm\\:gap-2 {\n gap: 0.5rem;\n }\n .sm\\:gap-4 {\n gap: 1rem;\n }\n .sm\\:space-x-6 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1.5rem * var(--tw-space-x-reverse));\n margin-left: calc(1.5rem * (1 - var(--tw-space-x-reverse)));\n }\n .sm\\:p-0 {\n padding: 0px;\n }\n .sm\\:p-6 {\n padding: 1.5rem;\n }\n .sm\\:px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n .sm\\:px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n }\n .sm\\:py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n .sm\\:pr-6 {\n padding-right: 1.5rem;\n }\n .sm\\:pt-6 {\n padding-top: 1.5rem;\n }\n .sm\\:text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .sm\\:text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n }\n .sm\\:leading-6 {\n line-height: 1.5rem;\n }\n}\n@media (min-width: 768px) {\n .md\\:mt-8 {\n margin-top: 2rem;\n }\n .md\\:\\!block {\n display: block !important;\n }\n .md\\:flex {\n display: flex;\n }\n .md\\:\\!hidden {\n display: none !important;\n }\n .md\\:grid-cols-8 {\n grid-template-columns: repeat(8, minmax(0, 1fr));\n }\n .md\\:flex-row {\n flex-direction: row;\n }\n .md\\:items-center {\n align-items: center;\n }\n .md\\:gap-1 {\n gap: 0.25rem;\n }\n .md\\:space-x-8 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(2rem * var(--tw-space-x-reverse));\n margin-left: calc(2rem * (1 - var(--tw-space-x-reverse)));\n }\n .md\\:px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n .md\\:px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n }\n .md\\:py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n }\n .md\\:text-right {\n text-align: right;\n }\n .md\\:text-3xl {\n font-size: 1.875rem;\n line-height: 2.25rem;\n }\n .md\\:text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n }\n}\n@media (min-width: 1024px) {\n .lg\\:-mx-8 {\n margin-left: -2rem;\n margin-right: -2rem;\n }\n .lg\\:px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n }\n}\n@media (prefers-color-scheme: dark) {\n .dark\\:bg-gray-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(55, 65, 81, var(--tw-bg-opacity));\n }\n .dark\\:text-gray-600 {\n --tw-text-opacity: 1;\n color: rgb(75, 85, 99, var(--tw-text-opacity));\n }\n}";
|
|
58623
|
+
const tailwind = " :host {} /*\n! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com\n*/ /*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n7. Disable tap highlights on iOS\n*/\nhtml,\n:host {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n -o-tab-size: 4;\n tab-size: 4; /* 3 */\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 4 */\n font-feature-settings: normal; /* 5 */\n font-variation-settings: normal; /* 6 */\n -webkit-tap-highlight-color: transparent; /* 7 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font-family by default.\n2. Use the user's configured `mono` font-feature-settings by default.\n3. Use the user's configured `mono` font-variation-settings by default.\n4. Correct the odd `em` font sizing in all browsers.\n*/\ncode,\nkbd,\nsamp,\npre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; /* 1 */\n font-feature-settings: normal; /* 2 */\n font-variation-settings: normal; /* 3 */\n font-size: 1em; /* 4 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n letter-spacing: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\nbutton,\ninput:where([type=button]),\ninput:where([type=reset]),\ninput:where([type=submit]) {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n[type=search] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\ninput::-moz-placeholder, textarea::-moz-placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\nbutton,\n[role=button] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n\ninput:where([type=text]), input:where(:not([type])), input:where([type=email]), input:where([type=url]), input:where([type=password]), input:where([type=number]), input:where([type=date]), input:where([type=datetime-local]), input:where([type=month]), input:where([type=search]), input:where([type=tel]), input:where([type=time]), input:where([type=week]), select:where([multiple]), textarea, select {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background-color: #fff;\n border-color: #6b7280;\n border-width: 1px;\n border-radius: 0px;\n padding-top: 0.5rem;\n padding-right: 0.75rem;\n padding-bottom: 0.5rem;\n padding-left: 0.75rem;\n font-size: 1rem;\n line-height: 1.5rem;\n --tw-shadow: 0 0 #0000;\n}\n\ninput:where([type=text]):focus, input:where(:not([type])):focus, input:where([type=email]):focus, input:where([type=url]):focus, input:where([type=password]):focus, input:where([type=number]):focus, input:where([type=date]):focus, input:where([type=datetime-local]):focus, input:where([type=month]):focus, input:where([type=search]):focus, input:where([type=tel]):focus, input:where([type=time]):focus, input:where([type=week]):focus, select:where([multiple]):focus, textarea:focus, select:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: #175CD3;\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n border-color: #175CD3;\n}\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n color: #6b7280;\n opacity: 1;\n}\n\ninput::placeholder, textarea::placeholder {\n color: #6b7280;\n opacity: 1;\n}\n\n::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n}\n\n::-webkit-date-and-time-value {\n min-height: 1.5em;\n text-align: inherit;\n}\n\n::-webkit-datetime-edit {\n display: inline-flex;\n}\n\n::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-top: 0;\n padding-bottom: 0;\n}\n\nselect {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e\");\n background-position: right 0.5rem center;\n background-repeat: no-repeat;\n background-size: 1.5em 1.5em;\n padding-right: 2.5rem;\n -webkit-print-color-adjust: exact;\n print-color-adjust: exact;\n}\n\nselect:where([multiple]), select:where([size]:not([size=\"1\"])) {\n background-image: initial;\n background-position: initial;\n background-repeat: unset;\n background-size: initial;\n padding-right: 0.75rem;\n -webkit-print-color-adjust: unset;\n print-color-adjust: unset;\n}\n\ninput:where([type=checkbox]), input:where([type=radio]) {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n padding: 0;\n -webkit-print-color-adjust: exact;\n print-color-adjust: exact;\n display: inline-block;\n vertical-align: middle;\n background-origin: border-box;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n flex-shrink: 0;\n height: 1rem;\n width: 1rem;\n color: #175CD3;\n background-color: #fff;\n border-color: #6b7280;\n border-width: 1px;\n --tw-shadow: 0 0 #0000;\n}\n\ninput:where([type=checkbox]) {\n border-radius: 0px;\n}\n\ninput:where([type=radio]) {\n border-radius: 100%;\n}\n\ninput:where([type=checkbox]):focus, input:where([type=radio]):focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: #175CD3;\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n\ninput:where([type=checkbox]):checked, input:where([type=radio]):checked {\n border-color: transparent;\n background-color: currentColor;\n background-size: 100% 100%;\n background-position: center;\n background-repeat: no-repeat;\n}\n\ninput:where([type=checkbox]):checked {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e\");\n}\n\n@media (forced-colors: active) {\n input:where([type=checkbox]):checked {\n -webkit-appearance: auto;\n -moz-appearance: auto;\n appearance: auto;\n }\n}\ninput:where([type=radio]):checked {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e\");\n}\n\n@media (forced-colors: active) {\n input:where([type=radio]):checked {\n -webkit-appearance: auto;\n -moz-appearance: auto;\n appearance: auto;\n }\n}\ninput:where([type=checkbox]):checked:hover, input:where([type=checkbox]):checked:focus, input:where([type=radio]):checked:hover, input:where([type=radio]):checked:focus {\n border-color: transparent;\n background-color: currentColor;\n}\n\ninput:where([type=checkbox]):indeterminate {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e\");\n border-color: transparent;\n background-color: currentColor;\n background-size: 100% 100%;\n background-position: center;\n background-repeat: no-repeat;\n}\n\n@media (forced-colors: active) {\n input:where([type=checkbox]):indeterminate {\n -webkit-appearance: auto;\n -moz-appearance: auto;\n appearance: auto;\n }\n}\ninput:where([type=checkbox]):indeterminate:hover, input:where([type=checkbox]):indeterminate:focus {\n border-color: transparent;\n background-color: currentColor;\n}\n\ninput:where([type=file]) {\n background: unset;\n border-color: inherit;\n border-width: 0;\n border-radius: 0;\n padding: 0;\n font-size: unset;\n line-height: inherit;\n}\n\ninput:where([type=file]):focus {\n outline: 1px solid ButtonText;\n outline: 1px auto -webkit-focus-ring-color;\n}\n\n*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(21 112 239 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(21 112 239 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n\n.container {\n width: 100%;\n}\n\n@media (min-width: 475px) {\n .container {\n max-width: 475px;\n }\n}\n@media (min-width: 640px) {\n .container {\n max-width: 640px;\n }\n}\n@media (min-width: 768px) {\n .container {\n max-width: 768px;\n }\n}\n@media (min-width: 1024px) {\n .container {\n max-width: 1024px;\n }\n}\n@media (min-width: 1280px) {\n .container {\n max-width: 1280px;\n }\n}\n@media (min-width: 1536px) {\n .container {\n max-width: 1536px;\n }\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.pointer-events-none {\n pointer-events: none;\n}\n\n.visible {\n visibility: visible;\n}\n\n.invisible {\n visibility: hidden;\n}\n\n.fixed {\n position: fixed;\n}\n\n.absolute {\n position: absolute;\n}\n\n.relative {\n position: relative;\n}\n\n.sticky {\n position: sticky;\n}\n\n.inset-0 {\n inset: 0px;\n}\n\n.inset-y-0 {\n top: 0px;\n bottom: 0px;\n}\n\n.-bottom-8 {\n bottom: -2rem;\n}\n\n.bottom-full {\n bottom: 100%;\n}\n\n.left-0 {\n left: 0px;\n}\n\n.right-0 {\n right: 0px;\n}\n\n.right-8 {\n right: 2rem;\n}\n\n.top-0 {\n top: 0px;\n}\n\n.top-full {\n top: 100%;\n}\n\n.isolate {\n isolation: isolate;\n}\n\n.z-10 {\n z-index: 10;\n}\n\n.z-100 {\n z-index: 100;\n}\n\n.z-20 {\n z-index: 20;\n}\n\n.z-2000 {\n z-index: 2000;\n}\n\n.z-50 {\n z-index: 50;\n}\n\n.col-span-2 {\n grid-column: span 2/span 2;\n}\n\n.col-span-3 {\n grid-column: span 3/span 3;\n}\n\n.m-0 {\n margin: 0px;\n}\n\n.m-3 {\n margin: 0.75rem;\n}\n\n.m-auto {\n margin: auto;\n}\n\n.-mx-4 {\n margin-left: -1rem;\n margin-right: -1rem;\n}\n\n.-my-2 {\n margin-top: -0.5rem;\n margin-bottom: -0.5rem;\n}\n\n.mx-2 {\n margin-left: 0.5rem;\n margin-right: 0.5rem;\n}\n\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n.my-1 {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n}\n\n.my-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}\n\n.my-8 {\n margin-top: 2rem;\n margin-bottom: 2rem;\n}\n\n.my-px {\n margin-top: 1px;\n margin-bottom: 1px;\n}\n\n.\\!mt-8 {\n margin-top: 2rem !important;\n}\n\n.-mb-px {\n margin-bottom: -1px;\n}\n\n.mb-0 {\n margin-bottom: 0px;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem;\n}\n\n.mb-10 {\n margin-bottom: 2.5rem;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem;\n}\n\n.mb-3 {\n margin-bottom: 0.75rem;\n}\n\n.mb-4 {\n margin-bottom: 1rem;\n}\n\n.mb-8 {\n margin-bottom: 2rem;\n}\n\n.ml-0 {\n margin-left: 0px;\n}\n\n.ml-0\\.5 {\n margin-left: 0.125rem;\n}\n\n.ml-1 {\n margin-left: 0.25rem;\n}\n\n.ml-2 {\n margin-left: 0.5rem;\n}\n\n.ml-3 {\n margin-left: 0.75rem;\n}\n\n.ml-auto {\n margin-left: auto;\n}\n\n.mr-1 {\n margin-right: 0.25rem;\n}\n\n.mr-2 {\n margin-right: 0.5rem;\n}\n\n.mr-4 {\n margin-right: 1rem;\n}\n\n.mt-0 {\n margin-top: 0px;\n}\n\n.mt-1 {\n margin-top: 0.25rem;\n}\n\n.mt-2 {\n margin-top: 0.5rem;\n}\n\n.mt-3 {\n margin-top: 0.75rem;\n}\n\n.mt-4 {\n margin-top: 1rem;\n}\n\n.mt-5 {\n margin-top: 1.25rem;\n}\n\n.mt-6 {\n margin-top: 1.5rem;\n}\n\n.mt-8 {\n margin-top: 2rem;\n}\n\n.box-border {\n box-sizing: border-box;\n}\n\n.block {\n display: block;\n}\n\n.inline-block {\n display: inline-block;\n}\n\n.inline {\n display: inline;\n}\n\n.flex {\n display: flex;\n}\n\n.inline-flex {\n display: inline-flex;\n}\n\n.table {\n display: table;\n}\n\n.flow-root {\n display: flow-root;\n}\n\n.grid {\n display: grid;\n}\n\n.contents {\n display: contents;\n}\n\n.hidden {\n display: none;\n}\n\n.h-10 {\n height: 2.5rem;\n}\n\n.h-11 {\n height: 2.75rem;\n}\n\n.h-12 {\n height: 3rem;\n}\n\n.h-4 {\n height: 1rem;\n}\n\n.h-5 {\n height: 1.25rem;\n}\n\n.h-6 {\n height: 1.5rem;\n}\n\n.h-8 {\n height: 2rem;\n}\n\n.h-\\[21px\\] {\n height: 21px;\n}\n\n.h-\\[28px\\] {\n height: 28px;\n}\n\n.h-full {\n height: 100%;\n}\n\n.h-px {\n height: 1px;\n}\n\n.max-h-60 {\n max-height: 15rem;\n}\n\n.max-h-80 {\n max-height: 20rem;\n}\n\n.min-h-full {\n min-height: 100%;\n}\n\n.w-10 {\n width: 2.5rem;\n}\n\n.w-11 {\n width: 2.75rem;\n}\n\n.w-12 {\n width: 3rem;\n}\n\n.w-20 {\n width: 5rem;\n}\n\n.w-4 {\n width: 1rem;\n}\n\n.w-5 {\n width: 1.25rem;\n}\n\n.w-6 {\n width: 1.5rem;\n}\n\n.w-8 {\n width: 2rem;\n}\n\n.w-96 {\n width: 24rem;\n}\n\n.w-\\[44px\\] {\n width: 44px;\n}\n\n.w-full {\n width: 100%;\n}\n\n.w-max {\n width: -moz-max-content;\n width: max-content;\n}\n\n.w-screen {\n width: 100vw;\n}\n\n.min-w-0 {\n min-width: 0px;\n}\n\n.min-w-\\[40\\%\\] {\n min-width: 40%;\n}\n\n.min-w-full {\n min-width: 100%;\n}\n\n.max-w-lg {\n max-width: 32rem;\n}\n\n.max-w-md {\n max-width: 28rem;\n}\n\n.max-w-sm {\n max-width: 24rem;\n}\n\n.flex-1 {\n flex: 1 1 0%;\n}\n\n.flex-auto {\n flex: 1 1 auto;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0;\n}\n\n.shrink-0 {\n flex-shrink: 0;\n}\n\n.flex-grow {\n flex-grow: 1;\n}\n\n.grow {\n flex-grow: 1;\n}\n\n.table-auto {\n table-layout: auto;\n}\n\n.table-fixed {\n table-layout: fixed;\n}\n\n.transform {\n 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));\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n.animate-spin {\n animation: spin 1s linear infinite;\n}\n\n.cursor-default {\n cursor: default;\n}\n\n.cursor-help {\n cursor: help;\n}\n\n.cursor-not-allowed {\n cursor: not-allowed;\n}\n\n.cursor-pointer {\n cursor: pointer;\n}\n\n.touch-pan-y {\n --tw-pan-y: pan-y;\n touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);\n}\n\n.select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n\n.resize-none {\n resize: none;\n}\n\n.resize-y {\n resize: vertical;\n}\n\n.resize {\n resize: both;\n}\n\n.grid-flow-col {\n grid-auto-flow: column;\n}\n\n.grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n}\n\n.grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n\n.grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n.grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n\n.grid-cols-subgrid {\n grid-template-columns: subgrid;\n}\n\n.flex-row {\n flex-direction: row;\n}\n\n.flex-col {\n flex-direction: column;\n}\n\n.place-items-start {\n place-items: start;\n}\n\n.items-start {\n align-items: flex-start;\n}\n\n.items-end {\n align-items: flex-end;\n}\n\n.items-center {\n align-items: center;\n}\n\n.items-stretch {\n align-items: stretch;\n}\n\n.justify-start {\n justify-content: flex-start;\n}\n\n.justify-end {\n justify-content: flex-end;\n}\n\n.justify-center {\n justify-content: center;\n}\n\n.justify-between {\n justify-content: space-between;\n}\n\n.gap-1 {\n gap: 0.25rem;\n}\n\n.gap-2 {\n gap: 0.5rem;\n}\n\n.gap-3 {\n gap: 0.75rem;\n}\n\n.gap-4 {\n gap: 1rem;\n}\n\n.gap-6 {\n gap: 1.5rem;\n}\n\n.gap-8 {\n gap: 2rem;\n}\n\n.gap-x-1 {\n -moz-column-gap: 0.25rem;\n column-gap: 0.25rem;\n}\n\n.gap-x-2 {\n -moz-column-gap: 0.5rem;\n column-gap: 0.5rem;\n}\n\n.gap-x-3 {\n -moz-column-gap: 0.75rem;\n column-gap: 0.75rem;\n}\n\n.gap-x-4 {\n -moz-column-gap: 1rem;\n column-gap: 1rem;\n}\n\n.gap-y-10 {\n row-gap: 2.5rem;\n}\n\n.gap-y-2 {\n row-gap: 0.5rem;\n}\n\n.gap-y-4 {\n row-gap: 1rem;\n}\n\n.space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * (1 - var(--tw-space-x-reverse)));\n}\n\n.space-x-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1rem * var(--tw-space-x-reverse));\n margin-left: calc(1rem * (1 - var(--tw-space-x-reverse)));\n}\n\n.space-y-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.5rem * (1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));\n}\n\n.space-y-3 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.75rem * (1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));\n}\n\n.space-y-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1rem * (1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1rem * var(--tw-space-y-reverse));\n}\n\n.space-y-5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1.25rem * (1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));\n}\n\n.divide-y > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-y-reverse: 0;\n border-top-width: calc(1px * (1 - var(--tw-divide-y-reverse)));\n border-bottom-width: calc(1px * var(--tw-divide-y-reverse));\n}\n\n.divide-gray-200 > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-opacity: 1;\n border-color: rgb(229, 231, 235, var(--tw-divide-opacity));\n}\n\n.divide-gray-300 > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-opacity: 1;\n border-color: rgb(209, 213, 219, var(--tw-divide-opacity));\n}\n\n.self-start {\n align-self: flex-start;\n}\n\n.self-center {\n align-self: center;\n}\n\n.overflow-auto {\n overflow: auto;\n}\n\n.overflow-hidden {\n overflow: hidden;\n}\n\n.overflow-x-auto {\n overflow-x: auto;\n}\n\n.overflow-y-auto {\n overflow-y: auto;\n}\n\n.overflow-x-hidden {\n overflow-x: hidden;\n}\n\n.overscroll-contain {\n overscroll-behavior: contain;\n}\n\n.truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.overflow-ellipsis {\n text-overflow: ellipsis;\n}\n\n.text-ellipsis {\n text-overflow: ellipsis;\n}\n\n.whitespace-normal {\n white-space: normal;\n}\n\n.whitespace-nowrap {\n white-space: nowrap;\n}\n\n.text-pretty {\n text-wrap: pretty;\n}\n\n.break-words {\n overflow-wrap: break-word;\n}\n\n.rounded {\n border-radius: 0.25rem;\n}\n\n.rounded-full {\n border-radius: 9999px;\n}\n\n.rounded-lg {\n border-radius: 0.5rem;\n}\n\n.rounded-md {\n border-radius: 0.375rem;\n}\n\n.rounded-xl {\n border-radius: 0.75rem;\n}\n\n.rounded-r-md {\n border-top-right-radius: 0.375rem;\n border-bottom-right-radius: 0.375rem;\n}\n\n.border {\n border-width: 1px;\n}\n\n.border-0 {\n border-width: 0px;\n}\n\n.border-2 {\n border-width: 2px;\n}\n\n.border-b {\n border-bottom-width: 1px;\n}\n\n.border-b-2 {\n border-bottom-width: 2px;\n}\n\n.border-t {\n border-top-width: 1px;\n}\n\n.border-solid {\n border-style: solid;\n}\n\n.border-none {\n border-style: none;\n}\n\n.border-blue-200 {\n --tw-border-opacity: 1;\n border-color: rgb(132, 202, 255, var(--tw-border-opacity));\n}\n\n.border-blue-300 {\n --tw-border-opacity: 1;\n border-color: rgb(83, 177, 253, var(--tw-border-opacity));\n}\n\n.border-blue-400 {\n --tw-border-opacity: 1;\n border-color: rgb(46, 144, 250, var(--tw-border-opacity));\n}\n\n.border-blue-500 {\n --tw-border-opacity: 1;\n border-color: rgb(21, 112, 239, var(--tw-border-opacity));\n}\n\n.border-blue-600 {\n --tw-border-opacity: 1;\n border-color: rgb(23, 92, 211, var(--tw-border-opacity));\n}\n\n.border-gray-200 {\n --tw-border-opacity: 1;\n border-color: rgb(229, 231, 235, var(--tw-border-opacity));\n}\n\n.border-gray-300 {\n --tw-border-opacity: 1;\n border-color: rgb(209, 213, 219, var(--tw-border-opacity));\n}\n\n.border-green-200 {\n --tw-border-opacity: 1;\n border-color: rgb(187, 247, 208, var(--tw-border-opacity));\n}\n\n.border-green-300 {\n --tw-border-opacity: 1;\n border-color: rgb(134, 239, 172, var(--tw-border-opacity));\n}\n\n.border-green-400 {\n --tw-border-opacity: 1;\n border-color: rgb(74, 222, 128, var(--tw-border-opacity));\n}\n\n.border-green-600 {\n --tw-border-opacity: 1;\n border-color: rgb(22, 163, 74, var(--tw-border-opacity));\n}\n\n.border-indigo-300 {\n --tw-border-opacity: 1;\n border-color: rgb(165, 180, 252, var(--tw-border-opacity));\n}\n\n.border-pink-300 {\n --tw-border-opacity: 1;\n border-color: rgb(249, 168, 212, var(--tw-border-opacity));\n}\n\n.border-purple-300 {\n --tw-border-opacity: 1;\n border-color: rgb(216, 180, 254, var(--tw-border-opacity));\n}\n\n.border-red-200 {\n --tw-border-opacity: 1;\n border-color: rgb(254, 202, 202, var(--tw-border-opacity));\n}\n\n.border-red-300 {\n --tw-border-opacity: 1;\n border-color: rgb(252, 165, 165, var(--tw-border-opacity));\n}\n\n.border-red-400 {\n --tw-border-opacity: 1;\n border-color: rgb(248, 113, 113, var(--tw-border-opacity));\n}\n\n.border-red-600 {\n --tw-border-opacity: 1;\n border-color: rgb(220, 38, 38, var(--tw-border-opacity));\n}\n\n.border-slate-600 {\n --tw-border-opacity: 1;\n border-color: rgb(71, 85, 105, var(--tw-border-opacity));\n}\n\n.border-transparent {\n border-color: transparent;\n}\n\n.border-yellow-200 {\n --tw-border-opacity: 1;\n border-color: rgb(254, 240, 138, var(--tw-border-opacity));\n}\n\n.border-yellow-300 {\n --tw-border-opacity: 1;\n border-color: rgb(253, 224, 71, var(--tw-border-opacity));\n}\n\n.border-yellow-600 {\n --tw-border-opacity: 1;\n border-color: rgb(202, 138, 4, var(--tw-border-opacity));\n}\n\n.bg-\\[\\#F9FAFB\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(249, 250, 251, var(--tw-bg-opacity));\n}\n\n.bg-\\[\\#FFFAEB\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(255, 250, 235, var(--tw-bg-opacity));\n}\n\n.bg-blue-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(178, 221, 255, var(--tw-bg-opacity));\n}\n\n.bg-blue-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(209, 233, 255, var(--tw-bg-opacity));\n}\n\n.bg-blue-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(21, 112, 239, var(--tw-bg-opacity));\n}\n\n.bg-blue-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(23, 92, 211, var(--tw-bg-opacity));\n}\n\n.bg-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(243, 244, 246, var(--tw-bg-opacity));\n}\n\n.bg-gray-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(229, 231, 235, var(--tw-bg-opacity));\n}\n\n.bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(249, 250, 251, var(--tw-bg-opacity));\n}\n\n.bg-gray-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(107, 114, 128, var(--tw-bg-opacity));\n}\n\n.bg-gray-900 {\n --tw-bg-opacity: 1;\n background-color: rgb(17, 24, 39, var(--tw-bg-opacity));\n}\n\n.bg-green-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(220, 252, 231, var(--tw-bg-opacity));\n}\n\n.bg-green-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(240, 253, 244, var(--tw-bg-opacity));\n}\n\n.bg-indigo-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(224, 231, 255, var(--tw-bg-opacity));\n}\n\n.bg-photon-blue {\n --tw-bg-opacity: 1;\n background-color: rgb(49, 130, 206, var(--tw-bg-opacity));\n}\n\n.bg-pink-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(252, 231, 243, var(--tw-bg-opacity));\n}\n\n.bg-purple-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(243, 232, 255, var(--tw-bg-opacity));\n}\n\n.bg-red-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(254, 226, 226, var(--tw-bg-opacity));\n}\n\n.bg-red-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(254, 242, 242, var(--tw-bg-opacity));\n}\n\n.bg-red-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(239, 68, 68, var(--tw-bg-opacity));\n}\n\n.bg-slate-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(241, 245, 249, var(--tw-bg-opacity));\n}\n\n.bg-slate-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(248, 250, 252, var(--tw-bg-opacity));\n}\n\n.bg-transparent {\n background-color: transparent;\n}\n\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255, 255, 255, var(--tw-bg-opacity));\n}\n\n.bg-yellow-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(254, 249, 195, var(--tw-bg-opacity));\n}\n\n.bg-yellow-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(254, 252, 232, var(--tw-bg-opacity));\n}\n\n.bg-opacity-75 {\n --tw-bg-opacity: 0.75;\n}\n\n.fill-blue-500 {\n fill: #1570EF;\n}\n\n.fill-green-500 {\n fill: #22c55e;\n}\n\n.p-0 {\n padding: 0px;\n}\n\n.p-2 {\n padding: 0.5rem;\n}\n\n.p-4 {\n padding: 1rem;\n}\n\n.px-1 {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n}\n\n.px-1\\.5 {\n padding-left: 0.375rem;\n padding-right: 0.375rem;\n}\n\n.px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n\n.px-2\\.5 {\n padding-left: 0.625rem;\n padding-right: 0.625rem;\n}\n\n.px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n\n.px-3\\.5 {\n padding-left: 0.875rem;\n padding-right: 0.875rem;\n}\n\n.px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n}\n\n.py-0\\.5 {\n padding-top: 0.125rem;\n padding-bottom: 0.125rem;\n}\n\n.py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n\n.py-1\\.5 {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n}\n\n.py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.py-2\\.5 {\n padding-top: 0.625rem;\n padding-bottom: 0.625rem;\n}\n\n.py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n\n.py-3\\.5 {\n padding-top: 0.875rem;\n padding-bottom: 0.875rem;\n}\n\n.py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem;\n}\n\n.pb-4 {\n padding-bottom: 1rem;\n}\n\n.pl-1 {\n padding-left: 0.25rem;\n}\n\n.pl-10 {\n padding-left: 2.5rem;\n}\n\n.pl-2 {\n padding-left: 0.5rem;\n}\n\n.pl-3 {\n padding-left: 0.75rem;\n}\n\n.pl-5 {\n padding-left: 1.25rem;\n}\n\n.pl-\\[19\\.75px\\] {\n padding-left: 19.75px;\n}\n\n.pr-2 {\n padding-right: 0.5rem;\n}\n\n.pr-3 {\n padding-right: 0.75rem;\n}\n\n.pr-4 {\n padding-right: 1rem;\n}\n\n.pr-5 {\n padding-right: 1.25rem;\n}\n\n.pt-1 {\n padding-top: 0.25rem;\n}\n\n.pt-2 {\n padding-top: 0.5rem;\n}\n\n.pt-3 {\n padding-top: 0.75rem;\n}\n\n.pt-4 {\n padding-top: 1rem;\n}\n\n.text-left {\n text-align: left;\n}\n\n.text-center {\n text-align: center;\n}\n\n.text-end {\n text-align: end;\n}\n\n.align-top {\n vertical-align: top;\n}\n\n.align-middle {\n vertical-align: middle;\n}\n\n.font-mono {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n.font-sans {\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n}\n\n.text-3xl {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n.text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n.text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n\n.text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n\n.text-sm\\/6 {\n font-size: 0.875rem;\n line-height: 1.5rem;\n}\n\n.text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n\n.text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n\n.font-bold {\n font-weight: 700;\n}\n\n.font-extrabold {\n font-weight: 800;\n}\n\n.font-light {\n font-weight: 300;\n}\n\n.font-medium {\n font-weight: 500;\n}\n\n.font-normal {\n font-weight: 400;\n}\n\n.font-semibold {\n font-weight: 600;\n}\n\n.uppercase {\n text-transform: uppercase;\n}\n\n.capitalize {\n text-transform: capitalize;\n}\n\n.italic {\n font-style: italic;\n}\n\n.leading-6 {\n line-height: 1.5rem;\n}\n\n.leading-none {\n line-height: 1;\n}\n\n.leading-snug {\n line-height: 1.375;\n}\n\n.text-\\[\\#DC6803\\] {\n --tw-text-opacity: 1;\n color: rgb(220, 104, 3, var(--tw-text-opacity));\n}\n\n.text-black {\n --tw-text-opacity: 1;\n color: rgb(0, 0, 0, var(--tw-text-opacity));\n}\n\n.text-blue-500 {\n --tw-text-opacity: 1;\n color: rgb(21, 112, 239, var(--tw-text-opacity));\n}\n\n.text-blue-600 {\n --tw-text-opacity: 1;\n color: rgb(23, 92, 211, var(--tw-text-opacity));\n}\n\n.text-blue-700 {\n --tw-text-opacity: 1;\n color: rgb(24, 73, 169, var(--tw-text-opacity));\n}\n\n.text-blue-800 {\n --tw-text-opacity: 1;\n color: rgb(25, 65, 133, var(--tw-text-opacity));\n}\n\n.text-blue-900 {\n --tw-text-opacity: 1;\n color: rgb(16, 42, 86, var(--tw-text-opacity));\n}\n\n.text-current {\n color: currentColor;\n}\n\n.text-gray-200 {\n --tw-text-opacity: 1;\n color: rgb(229, 231, 235, var(--tw-text-opacity));\n}\n\n.text-gray-400 {\n --tw-text-opacity: 1;\n color: rgb(156, 163, 175, var(--tw-text-opacity));\n}\n\n.text-gray-50 {\n --tw-text-opacity: 1;\n color: rgb(249, 250, 251, var(--tw-text-opacity));\n}\n\n.text-gray-500 {\n --tw-text-opacity: 1;\n color: rgb(107, 114, 128, var(--tw-text-opacity));\n}\n\n.text-gray-600 {\n --tw-text-opacity: 1;\n color: rgb(75, 85, 99, var(--tw-text-opacity));\n}\n\n.text-gray-700 {\n --tw-text-opacity: 1;\n color: rgb(55, 65, 81, var(--tw-text-opacity));\n}\n\n.text-gray-900 {\n --tw-text-opacity: 1;\n color: rgb(17, 24, 39, var(--tw-text-opacity));\n}\n\n.text-green-500 {\n --tw-text-opacity: 1;\n color: rgb(34, 197, 94, var(--tw-text-opacity));\n}\n\n.text-green-600 {\n --tw-text-opacity: 1;\n color: rgb(22, 163, 74, var(--tw-text-opacity));\n}\n\n.text-green-700 {\n --tw-text-opacity: 1;\n color: rgb(21, 128, 61, var(--tw-text-opacity));\n}\n\n.text-green-800 {\n --tw-text-opacity: 1;\n color: rgb(22, 101, 52, var(--tw-text-opacity));\n}\n\n.text-indigo-700 {\n --tw-text-opacity: 1;\n color: rgb(67, 56, 202, var(--tw-text-opacity));\n}\n\n.text-pink-700 {\n --tw-text-opacity: 1;\n color: rgb(190, 24, 93, var(--tw-text-opacity));\n}\n\n.text-purple-700 {\n --tw-text-opacity: 1;\n color: rgb(126, 34, 206, var(--tw-text-opacity));\n}\n\n.text-red-400 {\n --tw-text-opacity: 1;\n color: rgb(248, 113, 113, var(--tw-text-opacity));\n}\n\n.text-red-500 {\n --tw-text-opacity: 1;\n color: rgb(239, 68, 68, var(--tw-text-opacity));\n}\n\n.text-red-600 {\n --tw-text-opacity: 1;\n color: rgb(220, 38, 38, var(--tw-text-opacity));\n}\n\n.text-red-700 {\n --tw-text-opacity: 1;\n color: rgb(185, 28, 28, var(--tw-text-opacity));\n}\n\n.text-red-800 {\n --tw-text-opacity: 1;\n color: rgb(153, 27, 27, var(--tw-text-opacity));\n}\n\n.text-slate-500 {\n --tw-text-opacity: 1;\n color: rgb(100, 116, 139, var(--tw-text-opacity));\n}\n\n.text-slate-600 {\n --tw-text-opacity: 1;\n color: rgb(71, 85, 105, var(--tw-text-opacity));\n}\n\n.text-teal-600 {\n --tw-text-opacity: 1;\n color: rgb(13, 148, 136, var(--tw-text-opacity));\n}\n\n.text-transparent {\n color: transparent;\n}\n\n.text-white {\n --tw-text-opacity: 1;\n color: rgb(255, 255, 255, var(--tw-text-opacity));\n}\n\n.text-yellow-600 {\n --tw-text-opacity: 1;\n color: rgb(202, 138, 4, var(--tw-text-opacity));\n}\n\n.text-yellow-800 {\n --tw-text-opacity: 1;\n color: rgb(133, 77, 14, var(--tw-text-opacity));\n}\n\n.underline {\n text-decoration-line: underline;\n}\n\n.opacity-0 {\n opacity: 0;\n}\n\n.opacity-100 {\n opacity: 1;\n}\n\n.opacity-35 {\n opacity: 0.35;\n}\n\n.opacity-50 {\n opacity: 0.5;\n}\n\n.shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);\n}\n\n.shadow-card {\n --tw-shadow: 0px 0px 1px rgba(48, 49, 51, 0.05),0px 2px 4px rgba(48, 49, 51, 0.1);\n --tw-shadow-colored: 0px 0px 1px var(--tw-shadow-color), 0px 2px 4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);\n}\n\n.shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);\n}\n\n.shadow-sm {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);\n}\n\n.shadow-xl {\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);\n}\n\n.ring-1 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));\n}\n\n.ring-2 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));\n}\n\n.ring-inset {\n --tw-ring-inset: inset;\n}\n\n.ring-black {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity));\n}\n\n.ring-blue-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(83 177 253 / var(--tw-ring-opacity));\n}\n\n.ring-gray-200 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity));\n}\n\n.ring-gray-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity));\n}\n\n.ring-gray-900\\/5 {\n --tw-ring-color: rgb(17 24 39 / 0.05);\n}\n\n.ring-red-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(252 165 165 / var(--tw-ring-opacity));\n}\n\n.ring-sky-500\\/40 {\n --tw-ring-color: rgb(14 165 233 / 0.4);\n}\n\n.ring-opacity-5 {\n --tw-ring-opacity: 0.05;\n}\n\n.blur {\n --tw-blur: blur(8px);\n 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);\n}\n\n.filter {\n 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);\n}\n\n.transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.duration-100 {\n transition-duration: 100ms;\n}\n\n.ease-in {\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1);\n}\n\n.ease-in-out {\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.ease-out {\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n\n.theme-photon, [data-theme=photon] {\n --twc-primaryText: 210 20% 98%;\n --twc-primary500: 238.70000000000005 83.5% 66.7%;\n --twc-primary600: 243.39999999999998 75.4% 58.6%;\n --twc-secondaryText: 220.89999999999998 39.3% 11%;\n --twc-secondary50: 225.89999999999998 100% 96.7%;\n --twc-secondary100: 226.5 100% 93.9%;\n}\n\n.theme-weekend, [data-theme=weekend] {\n --twc-primaryText: 210 20% 98%;\n --twc-primary500: 198.60000000000002 88.7% 48.4%;\n --twc-primary600: 200.39999999999998 98% 39.4%;\n --twc-secondaryText: 220.89999999999998 39.3% 11%;\n --twc-secondary50: 204 100% 97.1%;\n --twc-secondary100: 204 93.8% 93.7%;\n}\n\n.\\[overflow-wrap\\:anywhere\\] {\n overflow-wrap: anywhere;\n}\n\n.placeholder\\:text-gray-400::-moz-placeholder {\n --tw-text-opacity: 1;\n color: rgb(156, 163, 175, var(--tw-text-opacity));\n}\n\n.placeholder\\:text-gray-400::placeholder {\n --tw-text-opacity: 1;\n color: rgb(156, 163, 175, var(--tw-text-opacity));\n}\n\n.placeholder\\:text-red-300::-moz-placeholder {\n --tw-text-opacity: 1;\n color: rgb(252, 165, 165, var(--tw-text-opacity));\n}\n\n.placeholder\\:text-red-300::placeholder {\n --tw-text-opacity: 1;\n color: rgb(252, 165, 165, var(--tw-text-opacity));\n}\n\n.even\\:bg-gray-50:nth-child(even) {\n --tw-bg-opacity: 1;\n background-color: rgb(249, 250, 251, var(--tw-bg-opacity));\n}\n\n.hover\\:cursor-pointer:hover {\n cursor: pointer;\n}\n\n.hover\\:border-gray-300:hover {\n --tw-border-opacity: 1;\n border-color: rgb(209, 213, 219, var(--tw-border-opacity));\n}\n\n.hover\\:bg-blue-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(178, 221, 255, var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(209, 233, 255, var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-600:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(23, 92, 211, var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-700:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(24, 73, 169, var(--tw-bg-opacity));\n}\n\n.hover\\:bg-gray-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(249, 250, 251, var(--tw-bg-opacity));\n}\n\n.hover\\:bg-photon-blue-dark:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(43, 108, 176, var(--tw-bg-opacity));\n}\n\n.hover\\:bg-red-600:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(220, 38, 38, var(--tw-bg-opacity));\n}\n\n.hover\\:text-amber-500:hover {\n --tw-text-opacity: 1;\n color: rgb(245, 158, 11, var(--tw-text-opacity));\n}\n\n.hover\\:text-blue-500:hover {\n --tw-text-opacity: 1;\n color: rgb(21, 112, 239, var(--tw-text-opacity));\n}\n\n.hover\\:text-gray-500:hover {\n --tw-text-opacity: 1;\n color: rgb(107, 114, 128, var(--tw-text-opacity));\n}\n\n.hover\\:text-gray-600:hover {\n --tw-text-opacity: 1;\n color: rgb(75, 85, 99, var(--tw-text-opacity));\n}\n\n.hover\\:text-gray-700:hover {\n --tw-text-opacity: 1;\n color: rgb(55, 65, 81, var(--tw-text-opacity));\n}\n\n.hover\\:text-gray-900:hover {\n --tw-text-opacity: 1;\n color: rgb(17, 24, 39, var(--tw-text-opacity));\n}\n\n.hover\\:text-red-500:hover {\n --tw-text-opacity: 1;\n color: rgb(239, 68, 68, var(--tw-text-opacity));\n}\n\n.hover\\:underline:hover {\n text-decoration-line: underline;\n}\n\n.hover\\:ring-gray-400:hover {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(156 163 175 / var(--tw-ring-opacity));\n}\n\n.focus\\:outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n.focus\\:outline-0:focus {\n outline-width: 0px;\n}\n\n.focus\\:ring-1:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));\n}\n\n.focus\\:ring-2:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));\n}\n\n.focus\\:ring-inset:focus {\n --tw-ring-inset: inset;\n}\n\n.focus\\:ring-blue-300:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(83 177 253 / var(--tw-ring-opacity));\n}\n\n.focus\\:ring-blue-500:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(21 112 239 / var(--tw-ring-opacity));\n}\n\n.focus\\:ring-blue-600:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(23 92 211 / var(--tw-ring-opacity));\n}\n\n.focus\\:ring-gray-300:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity));\n}\n\n.focus\\:ring-red-500:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity));\n}\n\n.focus\\:ring-sky-500\\/40:focus {\n --tw-ring-color: rgb(14 165 233 / 0.4);\n}\n\n.focus\\:ring-offset-2:focus {\n --tw-ring-offset-width: 2px;\n}\n\n.focus-visible\\:outline:focus-visible {\n outline-style: solid;\n}\n\n.focus-visible\\:outline-2:focus-visible {\n outline-width: 2px;\n}\n\n.focus-visible\\:outline-offset-2:focus-visible {\n outline-offset: 2px;\n}\n\n.active\\:bg-gray-100:active {\n --tw-bg-opacity: 1;\n background-color: rgb(243, 244, 246, var(--tw-bg-opacity));\n}\n\n.disabled\\:cursor-not-allowed:disabled {\n cursor: not-allowed;\n}\n\n.disabled\\:bg-gray-500:disabled {\n --tw-bg-opacity: 1;\n background-color: rgb(107, 114, 128, var(--tw-bg-opacity));\n}\n\n.disabled\\:opacity-50:disabled {\n opacity: 0.5;\n}\n\n.disabled\\:hover\\:bg-transparent:hover:disabled {\n background-color: transparent;\n}\n\n.disabled\\:hover\\:text-gray-700:hover:disabled {\n --tw-text-opacity: 1;\n color: rgb(55, 65, 81, var(--tw-text-opacity));\n}\n\n.group:hover .group-hover\\:bg-blue-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(178, 221, 255, var(--tw-bg-opacity));\n}\n\n.group:hover .group-hover\\:text-blue-600 {\n --tw-text-opacity: 1;\n color: rgb(23, 92, 211, var(--tw-text-opacity));\n}\n\n.group:hover .group-hover\\:text-blue-900 {\n --tw-text-opacity: 1;\n color: rgb(16, 42, 86, var(--tw-text-opacity));\n}\n\n.group:hover .group-hover\\:opacity-100 {\n opacity: 1;\n}\n\n@media (min-width: 475px) {\n .xs\\:mx-auto {\n margin-left: auto;\n margin-right: auto;\n }\n .xs\\:w-auto {\n width: auto;\n }\n .xs\\:w-fit {\n width: -moz-fit-content;\n width: fit-content;\n }\n .xs\\:flex-row {\n flex-direction: row;\n }\n .xs\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .xs\\:justify-start {\n justify-content: flex-start;\n }\n .xs\\:text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n}\n@media (min-width: 640px) {\n .sm\\:-mx-6 {\n margin-left: -1.5rem;\n margin-right: -1.5rem;\n }\n .sm\\:my-8 {\n margin-top: 2rem;\n margin-bottom: 2rem;\n }\n .sm\\:mt-5 {\n margin-top: 1.25rem;\n }\n .sm\\:mt-6 {\n margin-top: 1.5rem;\n }\n .sm\\:block {\n display: block;\n }\n .sm\\:inline {\n display: inline;\n }\n .sm\\:grid {\n display: grid;\n }\n .sm\\:hidden {\n display: none;\n }\n .sm\\:h-12 {\n height: 3rem;\n }\n .sm\\:w-\\[600px\\] {\n width: 600px;\n }\n .sm\\:w-auto {\n width: auto;\n }\n .sm\\:max-w-lg {\n max-width: 32rem;\n }\n .sm\\:max-w-md {\n max-width: 28rem;\n }\n .sm\\:max-w-sm {\n max-width: 24rem;\n }\n .sm\\:grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .sm\\:grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n }\n .sm\\:flex-row {\n flex-direction: row;\n }\n .sm\\:items-center {\n align-items: center;\n }\n .sm\\:gap-2 {\n gap: 0.5rem;\n }\n .sm\\:gap-4 {\n gap: 1rem;\n }\n .sm\\:space-x-6 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1.5rem * var(--tw-space-x-reverse));\n margin-left: calc(1.5rem * (1 - var(--tw-space-x-reverse)));\n }\n .sm\\:p-0 {\n padding: 0px;\n }\n .sm\\:p-6 {\n padding: 1.5rem;\n }\n .sm\\:px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n .sm\\:px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n }\n .sm\\:py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n .sm\\:pr-6 {\n padding-right: 1.5rem;\n }\n .sm\\:pt-6 {\n padding-top: 1.5rem;\n }\n .sm\\:text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .sm\\:text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n }\n .sm\\:leading-6 {\n line-height: 1.5rem;\n }\n}\n@media (min-width: 768px) {\n .md\\:\\!mt-8 {\n margin-top: 2rem !important;\n }\n .md\\:\\!block {\n display: block !important;\n }\n .md\\:flex {\n display: flex;\n }\n .md\\:\\!hidden {\n display: none !important;\n }\n .md\\:grid-cols-8 {\n grid-template-columns: repeat(8, minmax(0, 1fr));\n }\n .md\\:flex-row {\n flex-direction: row;\n }\n .md\\:items-center {\n align-items: center;\n }\n .md\\:gap-1 {\n gap: 0.25rem;\n }\n .md\\:space-x-8 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(2rem * var(--tw-space-x-reverse));\n margin-left: calc(2rem * (1 - var(--tw-space-x-reverse)));\n }\n .md\\:px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n .md\\:px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n }\n .md\\:py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n }\n .md\\:text-right {\n text-align: right;\n }\n .md\\:text-3xl {\n font-size: 1.875rem;\n line-height: 2.25rem;\n }\n .md\\:text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n }\n}\n@media (min-width: 1024px) {\n .lg\\:-mx-8 {\n margin-left: -2rem;\n margin-right: -2rem;\n }\n .lg\\:px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n }\n}\n@media (prefers-color-scheme: dark) {\n .dark\\:bg-gray-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(55, 65, 81, var(--tw-bg-opacity));\n }\n .dark\\:text-gray-600 {\n --tw-text-opacity: 1;\n color: rgb(75, 85, 99, var(--tw-text-opacity));\n }\n}";
|
|
58604
58624
|
|
|
58605
58625
|
var _tmpl$$q = /* @__PURE__ */ template$1(`<style>`), _tmpl$2$m = /* @__PURE__ */ template$1(`<button class="w-full disabled:bg-gray-500 bg-photon-blue hover:bg-blue-700 text-white h-10 px-4 rounded-lg font-sans hover:bg-photon-blue-dark transition ease-in-out delay-50">`);
|
|
58606
58626
|
const Component$9 = (props) => {
|
|
@@ -59151,7 +59171,7 @@ const shoelaceLightStyles = "\n\n:host {}\n\n:root,\n:host,\n.sl-theme-light {\n
|
|
|
59151
59171
|
|
|
59152
59172
|
const shoelaceDarkStyles = "\n\n:host {}\n\n:host,\n.sl-theme-dark {\n color-scheme: dark;\n --sl-color-gray-50: hsl(240 5.1% 15%);\n --sl-color-gray-100: hsl(240 5.7% 18.2%);\n --sl-color-gray-200: hsl(240 4.6% 22%);\n --sl-color-gray-300: hsl(240 5% 27.6%);\n --sl-color-gray-400: hsl(240 5% 35.5%);\n --sl-color-gray-500: hsl(240 3.7% 44%);\n --sl-color-gray-600: hsl(240 5.3% 58%);\n --sl-color-gray-700: hsl(240 5.6% 73%);\n --sl-color-gray-800: hsl(240 7.3% 84%);\n --sl-color-gray-900: hsl(240 9.1% 91.8%);\n --sl-color-gray-950: hsl(0 0% 95%);\n --sl-color-red-50: hsl(0 56% 23.9%);\n --sl-color-red-100: hsl(0.6 60% 33.9%);\n --sl-color-red-200: hsl(0.9 67.2% 37.1%);\n --sl-color-red-300: hsl(1.1 71.3% 43.7%);\n --sl-color-red-400: hsl(1 76% 52.5%);\n --sl-color-red-500: hsl(0.7 89.6% 57.2%);\n --sl-color-red-600: hsl(0 98.6% 67.9%);\n --sl-color-red-700: hsl(0 100% 72.3%);\n --sl-color-red-800: hsl(0 100% 85.6%);\n --sl-color-red-900: hsl(0 100% 90.3%);\n --sl-color-red-950: hsl(0 100% 95.9%);\n --sl-color-orange-50: hsl(15 64.2% 23.3%);\n --sl-color-orange-100: hsl(15.1 70.9% 31.1%);\n --sl-color-orange-200: hsl(15.3 75.7% 35.5%);\n --sl-color-orange-300: hsl(17.1 83.5% 42.7%);\n --sl-color-orange-400: hsl(20.1 88% 50.8%);\n --sl-color-orange-500: hsl(24.3 100% 50.5%);\n --sl-color-orange-600: hsl(27.2 100% 57.7%);\n --sl-color-orange-700: hsl(31.3 100% 68.7%);\n --sl-color-orange-800: hsl(33.8 100% 79.3%);\n --sl-color-orange-900: hsl(38.9 100% 87.7%);\n --sl-color-orange-950: hsl(46.2 100% 95%);\n --sl-color-amber-50: hsl(21.9 66.3% 21.1%);\n --sl-color-amber-100: hsl(21.5 73.6% 29.7%);\n --sl-color-amber-200: hsl(22.3 77.6% 33.3%);\n --sl-color-amber-300: hsl(25.4 84.2% 39.6%);\n --sl-color-amber-400: hsl(31.4 87.4% 46.7%);\n --sl-color-amber-500: hsl(37 96.6% 48.3%);\n --sl-color-amber-600: hsl(43.3 100% 53.4%);\n --sl-color-amber-700: hsl(46.5 100% 61.1%);\n --sl-color-amber-800: hsl(49.3 100% 73%);\n --sl-color-amber-900: hsl(51.8 100% 85%);\n --sl-color-amber-950: hsl(60 100% 94.6%);\n --sl-color-yellow-50: hsl(32.5 60% 18.2%);\n --sl-color-yellow-100: hsl(28.1 68.6% 29%);\n --sl-color-yellow-200: hsl(31.3 75.8% 30.8%);\n --sl-color-yellow-300: hsl(34.7 84.4% 35.3%);\n --sl-color-yellow-400: hsl(40.1 87.3% 43.3%);\n --sl-color-yellow-500: hsl(44.7 88% 46%);\n --sl-color-yellow-600: hsl(47.7 100% 50.9%);\n --sl-color-yellow-700: hsl(51.3 100% 59.9%);\n --sl-color-yellow-800: hsl(54.6 100% 73%);\n --sl-color-yellow-900: hsl(58.9 100% 84.2%);\n --sl-color-yellow-950: hsl(60 100% 94%);\n --sl-color-lime-50: hsl(86.5 54.4% 18%);\n --sl-color-lime-100: hsl(87.6 56.8% 23.3%);\n --sl-color-lime-200: hsl(85.8 63.2% 24.5%);\n --sl-color-lime-300: hsl(86.1 72% 29.4%);\n --sl-color-lime-400: hsl(85.5 76.8% 37.3%);\n --sl-color-lime-500: hsl(84.3 74.2% 42.1%);\n --sl-color-lime-600: hsl(82.8 81.5% 52.6%);\n --sl-color-lime-700: hsl(82 89.9% 64%);\n --sl-color-lime-800: hsl(80.9 97.9% 76.6%);\n --sl-color-lime-900: hsl(77.9 100% 85.8%);\n --sl-color-lime-950: hsl(69.5 100% 93.8%);\n --sl-color-green-50: hsl(144.3 53.6% 16%);\n --sl-color-green-100: hsl(143.2 55.4% 23.5%);\n --sl-color-green-200: hsl(141.5 58.2% 26.3%);\n --sl-color-green-300: hsl(140.8 64.2% 31.8%);\n --sl-color-green-400: hsl(140.3 68% 39.2%);\n --sl-color-green-500: hsl(141.1 64.9% 43%);\n --sl-color-green-600: hsl(141.6 72.4% 55.2%);\n --sl-color-green-700: hsl(141.7 82.7% 70.1%);\n --sl-color-green-800: hsl(141 90.9% 82.1%);\n --sl-color-green-900: hsl(142 100% 89.1%);\n --sl-color-green-950: hsl(144 100% 95.5%);\n --sl-color-emerald-50: hsl(164.3 75% 13.5%);\n --sl-color-emerald-100: hsl(163.5 72.6% 20.1%);\n --sl-color-emerald-200: hsl(162.1 73.7% 22.4%);\n --sl-color-emerald-300: hsl(161.3 77.3% 27.6%);\n --sl-color-emerald-400: hsl(159.6 77.1% 34.3%);\n --sl-color-emerald-500: hsl(159.1 73.5% 37.9%);\n --sl-color-emerald-600: hsl(157.8 66.8% 48.9%);\n --sl-color-emerald-700: hsl(156.2 76.1% 63.8%);\n --sl-color-emerald-800: hsl(152.4 84.4% 77.4%);\n --sl-color-emerald-900: hsl(149.3 100% 87%);\n --sl-color-emerald-950: hsl(158.6 100% 94.8%);\n --sl-color-teal-50: hsl(176.5 51.5% 15.4%);\n --sl-color-teal-100: hsl(175.9 54.7% 22.3%);\n --sl-color-teal-200: hsl(175.9 60.7% 23.9%);\n --sl-color-teal-300: hsl(174.5 67.3% 28.8%);\n --sl-color-teal-400: hsl(174.4 71.9% 34.9%);\n --sl-color-teal-500: hsl(173.1 71% 38.3%);\n --sl-color-teal-600: hsl(172.3 68.2% 48.1%);\n --sl-color-teal-700: hsl(170.5 81.3% 61.5%);\n --sl-color-teal-800: hsl(168.4 92.1% 75.2%);\n --sl-color-teal-900: hsl(168.3 100% 86%);\n --sl-color-teal-950: hsl(180 100% 95.5%);\n --sl-color-cyan-50: hsl(197.1 53.8% 20.3%);\n --sl-color-cyan-100: hsl(196.8 57.3% 27.2%);\n --sl-color-cyan-200: hsl(195.3 62.7% 29.4%);\n --sl-color-cyan-300: hsl(193.5 71.3% 34.1%);\n --sl-color-cyan-400: hsl(192.5 76.8% 40.6%);\n --sl-color-cyan-500: hsl(189.4 78.6% 42.6%);\n --sl-color-cyan-600: hsl(188.2 89.1% 51.7%);\n --sl-color-cyan-700: hsl(187 98.6% 66.2%);\n --sl-color-cyan-800: hsl(184.9 100% 78.3%);\n --sl-color-cyan-900: hsl(180 100% 86.6%);\n --sl-color-cyan-950: hsl(180 100% 94.8%);\n --sl-color-sky-50: hsl(203 63.8% 20.9%);\n --sl-color-sky-100: hsl(203.4 70.4% 28%);\n --sl-color-sky-200: hsl(202.7 75.8% 30.8%);\n --sl-color-sky-300: hsl(203.1 80.4% 36.1%);\n --sl-color-sky-400: hsl(202.1 80.5% 44.3%);\n --sl-color-sky-500: hsl(199.7 85.9% 47.7%);\n --sl-color-sky-600: hsl(198.7 97.9% 57.2%);\n --sl-color-sky-700: hsl(198.7 100% 70.5%);\n --sl-color-sky-800: hsl(198.8 100% 82.5%);\n --sl-color-sky-900: hsl(198.5 100% 89.9%);\n --sl-color-sky-950: hsl(186 100% 95.5%);\n --sl-color-blue-50: hsl(227.1 49.5% 22.7%);\n --sl-color-blue-100: hsl(225.8 58.9% 36.8%);\n --sl-color-blue-200: hsl(227.7 64.4% 42.9%);\n --sl-color-blue-300: hsl(226.1 72.7% 51.2%);\n --sl-color-blue-400: hsl(222.6 86.5% 56.3%);\n --sl-color-blue-500: hsl(217.8 95.8% 57.4%);\n --sl-color-blue-600: hsl(213.3 100% 65%);\n --sl-color-blue-700: hsl(210.9 100% 74.8%);\n --sl-color-blue-800: hsl(211.5 100% 83.4%);\n --sl-color-blue-900: hsl(211 100% 88.9%);\n --sl-color-blue-950: hsl(201.8 100% 95.3%);\n --sl-color-indigo-50: hsl(243.5 40.8% 27%);\n --sl-color-indigo-100: hsl(242.9 45.7% 37.6%);\n --sl-color-indigo-200: hsl(244.7 52.7% 43.1%);\n --sl-color-indigo-300: hsl(245.3 60.5% 52.4%);\n --sl-color-indigo-400: hsl(244.1 79.2% 60.4%);\n --sl-color-indigo-500: hsl(239.6 88.7% 63.8%);\n --sl-color-indigo-600: hsl(234.5 96.7% 70.9%);\n --sl-color-indigo-700: hsl(229.4 100% 78.3%);\n --sl-color-indigo-800: hsl(227.1 100% 85%);\n --sl-color-indigo-900: hsl(223.8 100% 89.9%);\n --sl-color-indigo-950: hsl(220 100% 95.1%);\n --sl-color-violet-50: hsl(265.1 57.3% 25.4%);\n --sl-color-violet-100: hsl(263.5 63.8% 39.4%);\n --sl-color-violet-200: hsl(263.4 66.2% 44.1%);\n --sl-color-violet-300: hsl(263.7 72.8% 52.4%);\n --sl-color-violet-400: hsl(262.5 87.3% 59.8%);\n --sl-color-violet-500: hsl(258.3 95.1% 63.2%);\n --sl-color-violet-600: hsl(255.1 100% 67.2%);\n --sl-color-violet-700: hsl(253 100% 81.5%);\n --sl-color-violet-800: hsl(251.7 100% 87.9%);\n --sl-color-violet-900: hsl(254.1 100% 91.7%);\n --sl-color-violet-950: hsl(257.1 100% 96.1%);\n --sl-color-purple-50: hsl(276 54.3% 20.5%);\n --sl-color-purple-100: hsl(273.6 61.8% 35.4%);\n --sl-color-purple-200: hsl(272.9 64% 41.4%);\n --sl-color-purple-300: hsl(271.9 68.1% 49.2%);\n --sl-color-purple-400: hsl(271.5 85.1% 57.8%);\n --sl-color-purple-500: hsl(270.7 96.4% 62.1%);\n --sl-color-purple-600: hsl(270.5 100% 71.9%);\n --sl-color-purple-700: hsl(270.9 100% 81.3%);\n --sl-color-purple-800: hsl(272.4 100% 87.7%);\n --sl-color-purple-900: hsl(276.7 100% 91.5%);\n --sl-color-purple-950: hsl(300 100% 96.5%);\n --sl-color-fuchsia-50: hsl(297.1 51.2% 18.6%);\n --sl-color-fuchsia-100: hsl(296.7 59.5% 31.5%);\n --sl-color-fuchsia-200: hsl(295.4 65.4% 35.1%);\n --sl-color-fuchsia-300: hsl(294.6 67.4% 42.2%);\n --sl-color-fuchsia-400: hsl(293.3 68.7% 51.2%);\n --sl-color-fuchsia-500: hsl(292.1 88.4% 57.7%);\n --sl-color-fuchsia-600: hsl(292 98.5% 59.5%);\n --sl-color-fuchsia-700: hsl(292.4 100% 79.5%);\n --sl-color-fuchsia-800: hsl(292.9 100% 86.8%);\n --sl-color-fuchsia-900: hsl(300 100% 91.5%);\n --sl-color-fuchsia-950: hsl(300 100% 96.3%);\n --sl-color-pink-50: hsl(336.2 59.6% 20%);\n --sl-color-pink-100: hsl(336.8 63.9% 34%);\n --sl-color-pink-200: hsl(336.8 68.7% 37.6%);\n --sl-color-pink-300: hsl(336.1 71.8% 44.5%);\n --sl-color-pink-400: hsl(333.9 74.9% 53.1%);\n --sl-color-pink-500: hsl(330.7 86.3% 57.7%);\n --sl-color-pink-600: hsl(328.6 91.5% 67.2%);\n --sl-color-pink-700: hsl(327.4 97.6% 78.7%);\n --sl-color-pink-800: hsl(325.1 100% 86.6%);\n --sl-color-pink-900: hsl(322.1 100% 91.3%);\n --sl-color-pink-950: hsl(315 100% 95.9%);\n --sl-color-rose-50: hsl(342.3 62.9% 21.5%);\n --sl-color-rose-100: hsl(342.8 68.9% 34.2%);\n --sl-color-rose-200: hsl(344.8 72.6% 37.3%);\n --sl-color-rose-300: hsl(346.9 75.8% 43.7%);\n --sl-color-rose-400: hsl(348.2 80.1% 52.7%);\n --sl-color-rose-500: hsl(350.4 94.8% 57.5%);\n --sl-color-rose-600: hsl(351.2 100% 58.1%);\n --sl-color-rose-700: hsl(352.3 100% 78.1%);\n --sl-color-rose-800: hsl(352 100% 86.2%);\n --sl-color-rose-900: hsl(354.5 100% 90.7%);\n --sl-color-rose-950: hsl(353.3 100% 95.7%);\n --sl-color-primary-50: var(--sl-color-sky-50);\n --sl-color-primary-100: var(--sl-color-sky-100);\n --sl-color-primary-200: var(--sl-color-sky-200);\n --sl-color-primary-300: var(--sl-color-sky-300);\n --sl-color-primary-400: var(--sl-color-sky-400);\n --sl-color-primary-500: var(--sl-color-sky-500);\n --sl-color-primary-600: var(--sl-color-sky-600);\n --sl-color-primary-700: var(--sl-color-sky-700);\n --sl-color-primary-800: var(--sl-color-sky-800);\n --sl-color-primary-900: var(--sl-color-sky-900);\n --sl-color-primary-950: var(--sl-color-sky-950);\n --sl-color-success-50: var(--sl-color-green-50);\n --sl-color-success-100: var(--sl-color-green-100);\n --sl-color-success-200: var(--sl-color-green-200);\n --sl-color-success-300: var(--sl-color-green-300);\n --sl-color-success-400: var(--sl-color-green-400);\n --sl-color-success-500: var(--sl-color-green-500);\n --sl-color-success-600: var(--sl-color-green-600);\n --sl-color-success-700: var(--sl-color-green-700);\n --sl-color-success-800: var(--sl-color-green-800);\n --sl-color-success-900: var(--sl-color-green-900);\n --sl-color-success-950: var(--sl-color-green-950);\n --sl-color-warning-50: var(--sl-color-amber-50);\n --sl-color-warning-100: var(--sl-color-amber-100);\n --sl-color-warning-200: var(--sl-color-amber-200);\n --sl-color-warning-300: var(--sl-color-amber-300);\n --sl-color-warning-400: var(--sl-color-amber-400);\n --sl-color-warning-500: var(--sl-color-amber-500);\n --sl-color-warning-600: var(--sl-color-amber-600);\n --sl-color-warning-700: var(--sl-color-amber-700);\n --sl-color-warning-800: var(--sl-color-amber-800);\n --sl-color-warning-900: var(--sl-color-amber-900);\n --sl-color-warning-950: var(--sl-color-amber-950);\n --sl-color-danger-50: var(--sl-color-red-50);\n --sl-color-danger-100: var(--sl-color-red-100);\n --sl-color-danger-200: var(--sl-color-red-200);\n --sl-color-danger-300: var(--sl-color-red-300);\n --sl-color-danger-400: var(--sl-color-red-400);\n --sl-color-danger-500: var(--sl-color-red-500);\n --sl-color-danger-600: var(--sl-color-red-600);\n --sl-color-danger-700: var(--sl-color-red-700);\n --sl-color-danger-800: var(--sl-color-red-800);\n --sl-color-danger-900: var(--sl-color-red-900);\n --sl-color-danger-950: var(--sl-color-red-950);\n --sl-color-neutral-50: var(--sl-color-gray-50);\n --sl-color-neutral-100: var(--sl-color-gray-100);\n --sl-color-neutral-200: var(--sl-color-gray-200);\n --sl-color-neutral-300: var(--sl-color-gray-300);\n --sl-color-neutral-400: var(--sl-color-gray-400);\n --sl-color-neutral-500: var(--sl-color-gray-500);\n --sl-color-neutral-600: var(--sl-color-gray-600);\n --sl-color-neutral-700: var(--sl-color-gray-700);\n --sl-color-neutral-800: var(--sl-color-gray-800);\n --sl-color-neutral-900: var(--sl-color-gray-900);\n --sl-color-neutral-950: var(--sl-color-gray-950);\n --sl-color-neutral-0: hsl(240, 5.9%, 11%);\n --sl-color-neutral-1000: hsl(0, 0%, 100%);\n --sl-border-radius-small: 0.1875rem;\n --sl-border-radius-medium: 0.25rem;\n --sl-border-radius-large: 0.5rem;\n --sl-border-radius-x-large: 1rem;\n --sl-border-radius-circle: 50%;\n --sl-border-radius-pill: 9999px;\n --sl-shadow-x-small: 0 1px 2px rgb(0 0 0 / 18%);\n --sl-shadow-small: 0 1px 2px rgb(0 0 0 / 24%);\n --sl-shadow-medium: 0 2px 4px rgb(0 0 0 / 24%);\n --sl-shadow-large: 0 2px 8px rgb(0 0 0 / 24%);\n --sl-shadow-x-large: 0 4px 16px rgb(0 0 0 / 24%);\n --sl-spacing-3x-small: 0.125rem;\n --sl-spacing-2x-small: 0.25rem;\n --sl-spacing-x-small: 0.5rem;\n --sl-spacing-small: 0.75rem;\n --sl-spacing-medium: 1rem;\n --sl-spacing-large: 1.25rem;\n --sl-spacing-x-large: 1.75rem;\n --sl-spacing-2x-large: 2.25rem;\n --sl-spacing-3x-large: 3rem;\n --sl-spacing-4x-large: 4.5rem;\n --sl-transition-x-slow: 1000ms;\n --sl-transition-slow: 500ms;\n --sl-transition-medium: 250ms;\n --sl-transition-fast: 150ms;\n --sl-transition-x-fast: 50ms;\n --sl-font-mono: SFMono-Regular, Consolas, \"Liberation Mono\", Menlo, monospace;\n --sl-font-sans: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto,\n Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\",\n \"Segoe UI Symbol\";\n --sl-font-serif: Georgia, \"Times New Roman\", serif;\n --sl-font-size-2x-small: 0.625rem;\n --sl-font-size-x-small: 0.75rem;\n --sl-font-size-small: 0.875rem;\n --sl-font-size-medium: 1rem;\n --sl-font-size-large: 1.25rem;\n --sl-font-size-x-large: 1.5rem;\n --sl-font-size-2x-large: 2.25rem;\n --sl-font-size-3x-large: 3rem;\n --sl-font-size-4x-large: 4.5rem;\n --sl-font-weight-light: 300;\n --sl-font-weight-normal: 400;\n --sl-font-weight-semibold: 500;\n --sl-font-weight-bold: 700;\n --sl-letter-spacing-denser: -0.03em;\n --sl-letter-spacing-dense: -0.015em;\n --sl-letter-spacing-normal: normal;\n --sl-letter-spacing-loose: 0.075em;\n --sl-letter-spacing-looser: 0.15em;\n --sl-line-height-denser: 1;\n --sl-line-height-dense: 1.4;\n --sl-line-height-normal: 1.8;\n --sl-line-height-loose: 2.2;\n --sl-line-height-looser: 2.6;\n --sl-focus-ring-color: var(--sl-color-primary-700);\n --sl-focus-ring-style: solid;\n --sl-focus-ring-width: 3px;\n --sl-focus-ring: var(--sl-focus-ring-style) var(--sl-focus-ring-width)\n var(--sl-focus-ring-color);\n --sl-focus-ring-offset: 1px;\n --sl-button-font-size-small: var(--sl-font-size-x-small);\n --sl-button-font-size-medium: var(--sl-font-size-small);\n --sl-button-font-size-large: var(--sl-font-size-medium);\n --sl-input-height-small: 1.875rem;\n --sl-input-height-medium: 2.5rem;\n --sl-input-height-large: 3.125rem;\n --sl-input-background-color: var(--sl-color-neutral-0);\n --sl-input-background-color-hover: var(--sl-input-background-color);\n --sl-input-background-color-focus: var(--sl-input-background-color);\n --sl-input-background-color-disabled: var(--sl-color-neutral-100);\n --sl-input-border-color: var(--sl-color-neutral-400);\n --sl-input-border-color-hover: var(--sl-color-neutral-500);\n --sl-input-border-color-focus: var(--sl-color-primary-600);\n --sl-input-border-color-disabled: var(--sl-color-neutral-400);\n --sl-input-border-width: 1px;\n --sl-input-required-content: \"*\";\n --sl-input-required-content-offset: -2px;\n --sl-input-required-content-color: var(--sl-input-label-color);\n --sl-input-border-radius-small: var(--sl-border-radius-medium);\n --sl-input-border-radius-medium: var(--sl-border-radius-medium);\n --sl-input-border-radius-large: var(--sl-border-radius-medium);\n --sl-input-font-family: var(--sl-font-sans);\n --sl-input-font-weight: var(--sl-font-weight-normal);\n --sl-input-font-size-small: var(--sl-font-size-small);\n --sl-input-font-size-medium: var(--sl-font-size-medium);\n --sl-input-font-size-large: var(--sl-font-size-large);\n --sl-input-letter-spacing: var(--sl-letter-spacing-normal);\n --sl-input-color: var(--sl-color-neutral-700);\n --sl-input-color-hover: var(--sl-color-neutral-700);\n --sl-input-color-focus: var(--sl-color-neutral-700);\n --sl-input-color-disabled: var(--sl-color-neutral-900);\n --sl-input-icon-color: var(--sl-color-neutral-500);\n --sl-input-icon-color-hover: var(--sl-color-neutral-600);\n --sl-input-icon-color-focus: var(--sl-color-neutral-600);\n --sl-input-placeholder-color: var(--sl-color-neutral-500);\n --sl-input-placeholder-color-disabled: var(--sl-color-neutral-600);\n --sl-input-spacing-small: var(--sl-spacing-small);\n --sl-input-spacing-medium: var(--sl-spacing-medium);\n --sl-input-spacing-large: var(--sl-spacing-large);\n --sl-input-focus-ring-color: hsl(198.6 88.7% 48.4% / 40%);\n --sl-input-focus-ring-offset: 0;\n --sl-input-filled-background-color: var(--sl-color-neutral-100);\n --sl-input-filled-background-color-hover: var(--sl-color-neutral-100);\n --sl-input-filled-background-color-focus: var(--sl-color-neutral-100);\n --sl-input-filled-background-color-disabled: var(--sl-color-neutral-100);\n --sl-input-filled-color: var(--sl-color-neutral-800);\n --sl-input-filled-color-hover: var(--sl-color-neutral-800);\n --sl-input-filled-color-focus: var(--sl-color-neutral-700);\n --sl-input-filled-color-disabled: var(--sl-color-neutral-800);\n --sl-input-label-font-size-small: var(--sl-font-size-small);\n --sl-input-label-font-size-medium: var(--sl-font-size-medium);\n --sl-input-label-font-size-large: var(--sl-font-size-large);\n --sl-input-label-color: inherit;\n --sl-input-help-text-font-size-small: var(--sl-font-size-x-small);\n --sl-input-help-text-font-size-medium: var(--sl-font-size-small);\n --sl-input-help-text-font-size-large: var(--sl-font-size-medium);\n --sl-input-help-text-color: var(--sl-color-neutral-600);\n --sl-toggle-size-small: 0.875rem;\n --sl-toggle-size-medium: 1.125rem;\n --sl-toggle-size-large: 1.375rem;\n --sl-overlay-background-color: hsl(0 0% 0% / 43%);\n --sl-panel-background-color: var(--sl-color-neutral-50);\n --sl-panel-border-color: var(--sl-color-neutral-200);\n --sl-panel-border-width: 1px;\n --sl-tooltip-border-radius: var(--sl-border-radius-medium);\n --sl-tooltip-background-color: var(--sl-color-neutral-800);\n --sl-tooltip-color: var(--sl-color-neutral-0);\n --sl-tooltip-font-family: var(--sl-font-sans);\n --sl-tooltip-font-weight: var(--sl-font-weight-normal);\n --sl-tooltip-font-size: var(--sl-font-size-small);\n --sl-tooltip-line-height: var(--sl-line-height-dense);\n --sl-tooltip-padding: var(--sl-spacing-2x-small) var(--sl-spacing-x-small);\n --sl-tooltip-arrow-size: 6px;\n --sl-z-index-drawer: 700;\n --sl-z-index-dialog: 800;\n --sl-z-index-dropdown: 900;\n --sl-z-index-toast: 950;\n --sl-z-index-tooltip: 1000;\n}\n\n@supports (scrollbar-gutter: stable) {\n .sl-scroll-lock {\n scrollbar-gutter: var(--sl-scroll-lock-gutter) !important;\n }\n .sl-scroll-lock body {\n overflow: hidden !important;\n }\n}\n@supports not (scrollbar-gutter: stable) {\n .sl-scroll-lock body {\n padding-right: var(--sl-scroll-lock-size) !important;\n overflow: hidden !important;\n }\n}\n.sl-toast-stack {\n position: fixed;\n top: 0;\n inset-inline-end: 0;\n z-index: var(--sl-z-index-toast);\n width: 28rem;\n max-width: 100%;\n max-height: 100%;\n overflow: auto;\n}\n\n.sl-toast-stack sl-alert {\n margin: var(--sl-spacing-medium);\n}\n\n.sl-toast-stack sl-alert::part(base) {\n box-shadow: var(--sl-shadow-large);\n}";
|
|
59153
59173
|
|
|
59154
|
-
var _tmpl$$o = /* @__PURE__ */ template$1(`<style>`), _tmpl$2$k = /* @__PURE__ */ template$1(`<slot>`), _tmpl$3$f = /* @__PURE__ */ template$1(`<photon-login>`, true, false, false), _tmpl$4$
|
|
59174
|
+
var _tmpl$$o = /* @__PURE__ */ template$1(`<style>`), _tmpl$2$k = /* @__PURE__ */ template$1(`<slot>`), _tmpl$3$f = /* @__PURE__ */ template$1(`<photon-login>`, true, false, false), _tmpl$4$c = /* @__PURE__ */ template$1(`<div class="w-full flex justify-center"><sl-spinner>`, true, false, false);
|
|
59155
59175
|
setBasePath("https://cdn.jsdelivr.net/npm/@shoelace-style/shoelace@2.4.0/dist/");
|
|
59156
59176
|
const Component$7 = (props) => {
|
|
59157
59177
|
const client = usePhoton();
|
|
@@ -59215,7 +59235,7 @@ const Component$7 = (props) => {
|
|
|
59215
59235
|
return client && isLoading() && !props.hideLoader;
|
|
59216
59236
|
},
|
|
59217
59237
|
get children() {
|
|
59218
|
-
var _el$6 = _tmpl$4$
|
|
59238
|
+
var _el$6 = _tmpl$4$c(), _el$7 = _el$6.firstChild;
|
|
59219
59239
|
_el$7.style.setProperty("font-size", "3rem");
|
|
59220
59240
|
_el$7._$owner = getOwner();
|
|
59221
59241
|
return _el$6;
|
|
@@ -66692,7 +66712,7 @@ const createPatientStore = () => {
|
|
|
66692
66712
|
};
|
|
66693
66713
|
const PatientStore = createPatientStore();
|
|
66694
66714
|
|
|
66695
|
-
var _tmpl$$l = /* @__PURE__ */ template$1(`<div class="flex items-center justify-between">`), _tmpl$2$i = /* @__PURE__ */ template$1(`<div><photon-patient-dialog>`, true, false, false), _tmpl$3$e = /* @__PURE__ */ template$1(`<div><photon-add-medication-history-dialog>`, true, false, false), _tmpl$4$
|
|
66715
|
+
var _tmpl$$l = /* @__PURE__ */ template$1(`<div class="flex items-center justify-between">`), _tmpl$2$i = /* @__PURE__ */ template$1(`<div><photon-patient-dialog>`, true, false, false), _tmpl$3$e = /* @__PURE__ */ template$1(`<div><photon-add-medication-history-dialog>`, true, false, false), _tmpl$4$b = /* @__PURE__ */ template$1(`<div class="flex flex-col gap-8">`);
|
|
66696
66716
|
const hasUsableAddress$2 = (address) => {
|
|
66697
66717
|
if (!address) {
|
|
66698
66718
|
return false;
|
|
@@ -66792,7 +66812,7 @@ const PatientCard = (props) => {
|
|
|
66792
66812
|
return hasPreferredPharmacy() && !hasAddress();
|
|
66793
66813
|
});
|
|
66794
66814
|
return (() => {
|
|
66795
|
-
var _el$ = _tmpl$4$
|
|
66815
|
+
var _el$ = _tmpl$4$b();
|
|
66796
66816
|
insert$1(_el$, createComponent(Show, {
|
|
66797
66817
|
get when() {
|
|
66798
66818
|
return !props?.patientId;
|
|
@@ -67099,8 +67119,6 @@ const clearForm = (actions, overrides) => {
|
|
|
67099
67119
|
});
|
|
67100
67120
|
};
|
|
67101
67121
|
|
|
67102
|
-
const formatPatientWeight = (weight, weightUnit = "lb") => `Patient weight: ${weight} ${weightUnit}`;
|
|
67103
|
-
|
|
67104
67122
|
var PrescriptionState = /* @__PURE__ */ ((PrescriptionState2) => {
|
|
67105
67123
|
PrescriptionState2["Draft"] = "DRAFT";
|
|
67106
67124
|
PrescriptionState2["Active"] = "ACTIVE";
|
|
@@ -73123,7 +73141,7 @@ const repopulateForm = (actions, draft) => {
|
|
|
73123
73141
|
}
|
|
73124
73142
|
};
|
|
73125
73143
|
|
|
73126
|
-
var _tmpl$$i = /* @__PURE__ */ template$1(`<div class="flex flex-col gap-4">`), _tmpl$2$f = /* @__PURE__ */ template$1(`<div class=space-y-3>`), _tmpl$3$c = /* @__PURE__ */ template$1(`<photon-dialog label="Discard in-progress prescription?"confirm-text="Yes, discard"cancel-text="Go back"><p class="font-sans text-lg xs:text-base">You are editing a prescription that has not been added to your drafts. Your in-progress prescription will be discarded if you edit another prescription.`, true, false, false), _tmpl$4$
|
|
73144
|
+
var _tmpl$$i = /* @__PURE__ */ template$1(`<div class="flex flex-col gap-4">`), _tmpl$2$f = /* @__PURE__ */ template$1(`<div class=space-y-3>`), _tmpl$3$c = /* @__PURE__ */ template$1(`<photon-dialog label="Discard in-progress prescription?"confirm-text="Yes, discard"cancel-text="Go back"><p class="font-sans text-lg xs:text-base">You are editing a prescription that has not been added to your drafts. Your in-progress prescription will be discarded if you edit another prescription.`, true, false, false), _tmpl$4$a = /* @__PURE__ */ template$1(`<photon-dialog label="Delete pending prescription?"confirm-text="Yes, Delete"cancel-text="No, Cancel"><p class="font-sans text-lg xs:text-base">Deleting this prescription will remove it from your draft prescriptions. This action cannot be undone.`, true, false, false);
|
|
73127
73145
|
function getPrescriptionRoutingConstraints(routingConstraints) {
|
|
73128
73146
|
const map = /* @__PURE__ */ new Map();
|
|
73129
73147
|
for (const constraint of routingConstraints) {
|
|
@@ -73314,7 +73332,7 @@ const DraftPrescriptions = (props) => {
|
|
|
73314
73332
|
createRenderEffect(() => _el$3.open = editDialogOpen());
|
|
73315
73333
|
return _el$3;
|
|
73316
73334
|
})(), (() => {
|
|
73317
|
-
var _el$4 = _tmpl$4$
|
|
73335
|
+
var _el$4 = _tmpl$4$a();
|
|
73318
73336
|
addEventListener$1(_el$4, "photon-dialog-alt", handleDeleteCancel);
|
|
73319
73337
|
addEventListener$1(_el$4, "photon-dialog-canceled", handleDeleteCancel);
|
|
73320
73338
|
addEventListener$1(_el$4, "photon-dialog-confirmed", handleDeleteConfirm);
|
|
@@ -73347,7 +73365,7 @@ function toFormData(coverageOption) {
|
|
|
73347
73365
|
}
|
|
73348
73366
|
|
|
73349
73367
|
var _tmpl$$h = /* @__PURE__ */ template$1(`<div class="flex flex-col mt-4 gap-y-2">`), _tmpl$2$e = /* @__PURE__ */ template$1(`<div class="flex flex-col gap-1"><photon-medication-search label="Search for Treatment"></photon-medication-search><div class=mt-2></div><div class="sm:grid sm:grid-cols-2 sm:gap-4 mt-2"><div class="flex items-start gap-1"><div class=flex-1></div></div></div><div class="sm:grid sm:grid-cols-2 sm:gap-4"></div><div class="w-full flex flex-col justify-end mt-6 gap-2 xs:flex-row-reverse xs:justify-start">`, true, false, false);
|
|
73350
|
-
const validators = {
|
|
73368
|
+
const validators$1 = {
|
|
73351
73369
|
treatment: message(record(string(), any()), "Please select a treatment"),
|
|
73352
73370
|
dispenseQuantity: message(min$1(number(), 0, {
|
|
73353
73371
|
exclusive: true
|
|
@@ -73372,7 +73390,7 @@ const DraftPrescriptionForm = (props) => {
|
|
|
73372
73390
|
const [searchText, setSearchText] = createSignal("");
|
|
73373
73391
|
const [isLoading, setIsLoading] = createSignal(false);
|
|
73374
73392
|
onMount(() => {
|
|
73375
|
-
for (const [k, v] of Object.entries(validators)) {
|
|
73393
|
+
for (const [k, v] of Object.entries(validators$1)) {
|
|
73376
73394
|
props.actions.registerValidator({
|
|
73377
73395
|
key: k,
|
|
73378
73396
|
validator: v
|
|
@@ -73411,7 +73429,7 @@ const DraftPrescriptionForm = (props) => {
|
|
|
73411
73429
|
};
|
|
73412
73430
|
const handleAddPrescription = async () => {
|
|
73413
73431
|
setIsLoading(true);
|
|
73414
|
-
const keys = Object.keys(validators);
|
|
73432
|
+
const keys = Object.keys(validators$1);
|
|
73415
73433
|
props.actions.validate(keys);
|
|
73416
73434
|
const errorsPresent = props.actions.hasErrors(keys);
|
|
73417
73435
|
if (errorsPresent) {
|
|
@@ -73856,7 +73874,7 @@ const DraftPrescriptionForm = (props) => {
|
|
|
73856
73874
|
},
|
|
73857
73875
|
variant: "primary",
|
|
73858
73876
|
color: "blue",
|
|
73859
|
-
children: "Add
|
|
73877
|
+
children: "Add prescription"
|
|
73860
73878
|
}), null);
|
|
73861
73879
|
insert$1(_el$9, createComponent(Show, {
|
|
73862
73880
|
get when() {
|
|
@@ -76435,7 +76453,7 @@ const PhotonTooltip = (p) => {
|
|
|
76435
76453
|
})()];
|
|
76436
76454
|
};
|
|
76437
76455
|
|
|
76438
|
-
var _tmpl$$f = /* @__PURE__ */ template$1(`<div class="flex items-center space-x-2 text-slate-500">`), _tmpl$2$c = /* @__PURE__ */ template$1(`<div class="w-full flex justify-center">`), _tmpl$3$b = /* @__PURE__ */ template$1(`<div class=mt-8>`), _tmpl$4$
|
|
76456
|
+
var _tmpl$$f = /* @__PURE__ */ template$1(`<div class="flex items-center space-x-2 text-slate-500">`), _tmpl$2$c = /* @__PURE__ */ template$1(`<div class="w-full flex justify-center">`), _tmpl$3$b = /* @__PURE__ */ template$1(`<div class=mt-8>`), _tmpl$4$9 = /* @__PURE__ */ template$1(`<div>`);
|
|
76439
76457
|
const PrescriptionCard = (props) => {
|
|
76440
76458
|
let prescriptionFormRef;
|
|
76441
76459
|
let prescriptionsCardRef;
|
|
@@ -76479,7 +76497,7 @@ const PrescriptionCard = (props) => {
|
|
|
76479
76497
|
}), null);
|
|
76480
76498
|
return _el$;
|
|
76481
76499
|
})(), (() => {
|
|
76482
|
-
var _el$2 = _tmpl$4$
|
|
76500
|
+
var _el$2 = _tmpl$4$9();
|
|
76483
76501
|
insert$1(_el$2, createComponent(Show, {
|
|
76484
76502
|
get when() {
|
|
76485
76503
|
return isLoadingPrefills();
|
|
@@ -76594,7 +76612,7 @@ const PrescriptionCard = (props) => {
|
|
|
76594
76612
|
});
|
|
76595
76613
|
};
|
|
76596
76614
|
|
|
76597
|
-
var _tmpl$$e = /* @__PURE__ */ template$1(`<div class="w-full flex justify-center">`), _tmpl$2$b = /* @__PURE__ */ template$1(`<div class="m-3 gap-4">`), _tmpl$3$a = /* @__PURE__ */ template$1(`<div class="flex flex-row justify-end">`), _tmpl$4$
|
|
76615
|
+
var _tmpl$$e = /* @__PURE__ */ template$1(`<div class="w-full flex justify-center">`), _tmpl$2$b = /* @__PURE__ */ template$1(`<div class="m-3 gap-4">`), _tmpl$3$a = /* @__PURE__ */ template$1(`<div class="flex flex-row justify-end">`), _tmpl$4$8 = /* @__PURE__ */ template$1(`<div><div><div class="flex flex-col gap-8">`), _tmpl$5$8 = /* @__PURE__ */ template$1(`<div>No errors...`);
|
|
76598
76616
|
const hasUsableAddress$1 = (address) => {
|
|
76599
76617
|
if (!address) {
|
|
76600
76618
|
return false;
|
|
@@ -76636,7 +76654,8 @@ function PrescribeWorkflow(props) {
|
|
|
76636
76654
|
draftPrescriptions,
|
|
76637
76655
|
prescriptionIds,
|
|
76638
76656
|
tryUpdatePrescriptionStates,
|
|
76639
|
-
isLoadingPrefills
|
|
76657
|
+
isLoadingPrefills,
|
|
76658
|
+
rxNotesPrefill
|
|
76640
76659
|
} = useDraftPrescriptions();
|
|
76641
76660
|
const pharmacySelectionContext = usePharmacySelectionContext();
|
|
76642
76661
|
const {
|
|
@@ -76671,15 +76690,6 @@ function PrescribeWorkflow(props) {
|
|
|
76671
76690
|
return fulfillmentNeedsAddress$1(pharmacySelectionContext.fulfillmentType()) && !hasPatientAddress();
|
|
76672
76691
|
});
|
|
76673
76692
|
const [isScreeningAlertWarningOpen, setIsScreeningAlertWarningOpen] = createSignal(false);
|
|
76674
|
-
let prefillNotes = "";
|
|
76675
|
-
if (props.additionalNotes) {
|
|
76676
|
-
prefillNotes = `${props.additionalNotes}
|
|
76677
|
-
|
|
76678
|
-
`;
|
|
76679
|
-
}
|
|
76680
|
-
if (props.weight) {
|
|
76681
|
-
prefillNotes = `${prefillNotes}${formatPatientWeight(props.weight, props.weightUnit)}`;
|
|
76682
|
-
}
|
|
76683
76693
|
onMount(async () => {
|
|
76684
76694
|
if (props.address) {
|
|
76685
76695
|
props.formActions.updateFormValue({
|
|
@@ -76689,7 +76699,7 @@ function PrescribeWorkflow(props) {
|
|
|
76689
76699
|
}
|
|
76690
76700
|
ref.addEventListener("photon-ticket-created-duplicate", () => {
|
|
76691
76701
|
clearForm(props.formActions, {
|
|
76692
|
-
notes:
|
|
76702
|
+
notes: rxNotesPrefill()
|
|
76693
76703
|
});
|
|
76694
76704
|
pharmacySelectionContext.setFulfillmentType(void 0);
|
|
76695
76705
|
pharmacySelectionContext.setPharmacyId(void 0);
|
|
@@ -76966,7 +76976,7 @@ function PrescribeWorkflow(props) {
|
|
|
76966
76976
|
return !props.patientId || props.patientId === props.formStore.patient?.value?.id || props.patientId === props.formStore.patient?.value?.externalId;
|
|
76967
76977
|
});
|
|
76968
76978
|
return (() => {
|
|
76969
|
-
var _el$ = _tmpl$4$
|
|
76979
|
+
var _el$ = _tmpl$4$8(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild;
|
|
76970
76980
|
var _ref$ = ref;
|
|
76971
76981
|
typeof _ref$ === "function" ? use$1(_ref$, _el$) : ref = _el$;
|
|
76972
76982
|
insert$1(_el$, createComponent(Show, {
|
|
@@ -77121,7 +77131,9 @@ function PrescribeWorkflow(props) {
|
|
|
77121
77131
|
get weightUnit() {
|
|
77122
77132
|
return props.weightUnit;
|
|
77123
77133
|
},
|
|
77124
|
-
prefillNotes
|
|
77134
|
+
get prefillNotes() {
|
|
77135
|
+
return rxNotesPrefill();
|
|
77136
|
+
},
|
|
77125
77137
|
screenDraftedPrescriptions,
|
|
77126
77138
|
get screeningAlerts() {
|
|
77127
77139
|
return screeningAlerts();
|
|
@@ -77202,7 +77214,7 @@ function PrescribeWorkflow(props) {
|
|
|
77202
77214
|
}
|
|
77203
77215
|
}), createComponent(Show, {
|
|
77204
77216
|
get when() {
|
|
77205
|
-
return
|
|
77217
|
+
return memo$2(() => !!!props.hideSubmit)() && draftPrescriptions().length > 0;
|
|
77206
77218
|
},
|
|
77207
77219
|
get children() {
|
|
77208
77220
|
return [createComponent(Show, {
|
|
@@ -77216,7 +77228,7 @@ function PrescribeWorkflow(props) {
|
|
|
77216
77228
|
return errors();
|
|
77217
77229
|
},
|
|
77218
77230
|
get fallback() {
|
|
77219
|
-
return _tmpl$5$
|
|
77231
|
+
return _tmpl$5$8();
|
|
77220
77232
|
},
|
|
77221
77233
|
children: ({
|
|
77222
77234
|
key,
|
|
@@ -78072,6 +78084,15 @@ const PhotonPrescribeWorkflowComponent = (props) => {
|
|
|
78072
78084
|
get enableCombineAndDuplicate() {
|
|
78073
78085
|
return props.enableCombineAndDuplicate;
|
|
78074
78086
|
},
|
|
78087
|
+
get additionalNotes() {
|
|
78088
|
+
return props.additionalNotes;
|
|
78089
|
+
},
|
|
78090
|
+
get weight() {
|
|
78091
|
+
return props.weight;
|
|
78092
|
+
},
|
|
78093
|
+
get weightUnit() {
|
|
78094
|
+
return props.weightUnit;
|
|
78095
|
+
},
|
|
78075
78096
|
get children() {
|
|
78076
78097
|
return createComponent(PharmacySelectionProvider, {
|
|
78077
78098
|
get pharmacyIdProp() {
|
|
@@ -78237,7 +78258,7 @@ customElement("photon-prescribe-workflow", {
|
|
|
78237
78258
|
groupId: void 0
|
|
78238
78259
|
}, PhotonPrescribeWorkflowComponent);
|
|
78239
78260
|
|
|
78240
|
-
var _tmpl$$c = /* @__PURE__ */ template$1(`<p class="font-sans text-l font-medium mb-2">`), _tmpl$2$a = /* @__PURE__ */ template$1(`<sl-icon-button class=self-start>`, true, false, false), _tmpl$3$9 = /* @__PURE__ */ template$1(`<style>`), _tmpl$4$
|
|
78261
|
+
var _tmpl$$c = /* @__PURE__ */ template$1(`<p class="font-sans text-l font-medium mb-2">`), _tmpl$2$a = /* @__PURE__ */ template$1(`<sl-icon-button class=self-start>`, true, false, false), _tmpl$3$9 = /* @__PURE__ */ template$1(`<style>`), _tmpl$4$7 = /* @__PURE__ */ template$1(`<div class="rounded-lg bg-white p-4 shadow-card border border-gray-200">`), _tmpl$5$7 = /* @__PURE__ */ template$1(`<div class="flex flex-row justify-between">`), _tmpl$6$6 = /* @__PURE__ */ template$1(`<slot>`);
|
|
78241
78262
|
const Component$6 = (props) => {
|
|
78242
78263
|
const [isCollapsed, setIsCollapsed] = createSignal(true);
|
|
78243
78264
|
let titleElement = null;
|
|
@@ -78265,9 +78286,9 @@ const Component$6 = (props) => {
|
|
|
78265
78286
|
insert$1(_el$3, tailwind);
|
|
78266
78287
|
return _el$3;
|
|
78267
78288
|
})(), (() => {
|
|
78268
|
-
var _el$4 = _tmpl$4$
|
|
78289
|
+
var _el$4 = _tmpl$4$7();
|
|
78269
78290
|
insert$1(_el$4, titleElement || collapsableElement ? (() => {
|
|
78270
|
-
var _el$5 = _tmpl$5$
|
|
78291
|
+
var _el$5 = _tmpl$5$7();
|
|
78271
78292
|
insert$1(_el$5, titleElement, null);
|
|
78272
78293
|
insert$1(_el$5, collapsableElement, null);
|
|
78273
78294
|
return _el$5;
|
|
@@ -79072,187 +79093,120 @@ customElement("photon-dialog", {
|
|
|
79072
79093
|
overlayClose: false
|
|
79073
79094
|
}, Component$5);
|
|
79074
79095
|
|
|
79075
|
-
var _tmpl$$a = /* @__PURE__ */ template$1(`<
|
|
79076
|
-
const
|
|
79077
|
-
const
|
|
79078
|
-
|
|
79079
|
-
|
|
79080
|
-
|
|
79081
|
-
|
|
79082
|
-
|
|
79083
|
-
|
|
79084
|
-
|
|
79096
|
+
var _tmpl$$a = /* @__PURE__ */ template$1(`<div class="text-black text-xl md:text-3xl">`), _tmpl$2$8 = /* @__PURE__ */ template$1(`<sl-icon class=flex-shrink-0>`, true, false, false), _tmpl$3$7 = /* @__PURE__ */ template$1(`<header class="flex-shrink-0 flex items-center px-4 py-2 md:px-8 md:py-3 bg-white shadow-card"><div class="flex items-center"></div><div class="flex-1 flex justify-center items-center min-w-0 px-2"><p class="ml-1 font-sans text-lg md:text-xl font-medium truncate"></p></div><div class="flex items-center w-[44px]">`), _tmpl$4$6 = /* @__PURE__ */ template$1(`<footer class="flex-shrink-0 bg-white shadow-card px-4 py-4 md:px-8"><div class="flex flex-col xs:flex-row-reverse xs:justify-start gap-2 items-center w-full sm:w-[600px] xs:mx-auto sm:px-4">`), _tmpl$5$6 = /* @__PURE__ */ template$1(`<div class="z-50 fixed inset-0 flex flex-col bg-[#F9FAFB]"><photon-dialog confirm-text="Yes, Close"cancel-text="Keep Editing"><p class="font-sans text-lg xs:text-base"></p></photon-dialog><main class="flex-1 overflow-y-auto overscroll-contain"><div class="px-4 pt-4 pb-4 md:px-4 w-full sm:w-[600px] xs:mx-auto">`, true, false, false);
|
|
79097
|
+
const PhotonFormWrapper = (p) => {
|
|
79098
|
+
const props = mergeProps({
|
|
79099
|
+
closeTitle: "Lose unsaved changes?",
|
|
79100
|
+
closeBody: "You will not be able to recover unsaved changes.",
|
|
79101
|
+
checkShouldWarn: () => false
|
|
79102
|
+
}, p);
|
|
79103
|
+
let ref;
|
|
79104
|
+
const [closeDialogOpen, onCloseDialogOpen] = createSignal(false);
|
|
79105
|
+
const handleConfirm = () => {
|
|
79106
|
+
onCloseDialogOpen(false);
|
|
79107
|
+
props.onClosed();
|
|
79108
|
+
};
|
|
79109
|
+
const handleCancel = () => onCloseDialogOpen(false);
|
|
79110
|
+
return (() => {
|
|
79111
|
+
var _el$ = _tmpl$5$6(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$0 = _el$2.nextSibling, _el$1 = _el$0.firstChild;
|
|
79112
|
+
var _ref$ = ref;
|
|
79113
|
+
typeof _ref$ === "function" ? use$1(_ref$, _el$) : ref = _el$;
|
|
79114
|
+
addEventListener$1(_el$2, "photon-dialog-alt", handleCancel);
|
|
79115
|
+
addEventListener$1(_el$2, "photon-dialog-canceled", handleCancel);
|
|
79116
|
+
addEventListener$1(_el$2, "photon-dialog-confirmed", handleConfirm);
|
|
79117
|
+
_el$2._$owner = getOwner();
|
|
79118
|
+
insert$1(_el$3, () => props.closeBody);
|
|
79119
|
+
insert$1(_el$, createComponent(Show, {
|
|
79120
|
+
get when() {
|
|
79121
|
+
return !(props.hideHeaderOnIOSWebView && IS_KNOWN_NATIVE_WEBVIEW);
|
|
79122
|
+
},
|
|
79123
|
+
get children() {
|
|
79124
|
+
var _el$4 = _tmpl$3$7(), _el$5 = _el$4.firstChild, _el$7 = _el$5.nextSibling, _el$9 = _el$7.firstChild;
|
|
79125
|
+
insert$1(_el$5, createComponent(Button, {
|
|
79126
|
+
variant: "naked",
|
|
79127
|
+
size: "sm",
|
|
79128
|
+
onClick: () => {
|
|
79129
|
+
if (props.checkShouldWarn()) {
|
|
79130
|
+
onCloseDialogOpen(true);
|
|
79131
|
+
} else {
|
|
79132
|
+
props.onClosed();
|
|
79133
|
+
}
|
|
79134
|
+
},
|
|
79135
|
+
get children() {
|
|
79136
|
+
var _el$6 = _tmpl$$a();
|
|
79137
|
+
insert$1(_el$6, createComponent(Icon, {
|
|
79138
|
+
name: "xMark"
|
|
79139
|
+
}));
|
|
79140
|
+
return _el$6;
|
|
79141
|
+
}
|
|
79142
|
+
}));
|
|
79143
|
+
insert$1(_el$7, createComponent(Show, {
|
|
79144
|
+
get when() {
|
|
79145
|
+
return props.titleIconName;
|
|
79146
|
+
},
|
|
79147
|
+
get children() {
|
|
79148
|
+
var _el$8 = _tmpl$2$8();
|
|
79149
|
+
_el$8._$owner = getOwner();
|
|
79150
|
+
createRenderEffect(() => _el$8.name = props.titleIconName);
|
|
79151
|
+
return _el$8;
|
|
79152
|
+
}
|
|
79153
|
+
}), _el$9);
|
|
79154
|
+
insert$1(_el$9, () => props.title);
|
|
79155
|
+
return _el$4;
|
|
79156
|
+
}
|
|
79157
|
+
}), _el$0);
|
|
79158
|
+
_el$0.style.setProperty("-webkit-overflow-scrolling", "touch");
|
|
79159
|
+
insert$1(_el$1, () => props.form);
|
|
79160
|
+
insert$1(_el$, createComponent(Show, {
|
|
79161
|
+
get when() {
|
|
79162
|
+
return props.footer;
|
|
79163
|
+
},
|
|
79164
|
+
get children() {
|
|
79165
|
+
var _el$10 = _tmpl$4$6(), _el$11 = _el$10.firstChild;
|
|
79166
|
+
insert$1(_el$11, () => props.footer);
|
|
79167
|
+
return _el$10;
|
|
79168
|
+
}
|
|
79169
|
+
}), null);
|
|
79170
|
+
createRenderEffect((_p$) => {
|
|
79171
|
+
var _v$ = props.closeTitle, _v$2 = closeDialogOpen();
|
|
79172
|
+
_v$ !== _p$.e && (_el$2.label = _p$.e = _v$);
|
|
79173
|
+
_v$2 !== _p$.t && (_el$2.open = _p$.t = _v$2);
|
|
79174
|
+
return _p$;
|
|
79175
|
+
}, {
|
|
79176
|
+
e: void 0,
|
|
79177
|
+
t: void 0
|
|
79178
|
+
});
|
|
79179
|
+
return _el$;
|
|
79180
|
+
})();
|
|
79181
|
+
};
|
|
79182
|
+
const IS_KNOWN_NATIVE_WEBVIEW = typeof window !== "undefined" && window.__photonHideHeader === true;
|
|
79183
|
+
|
|
79184
|
+
var _tmpl$$9 = /* @__PURE__ */ template$1(`<span class="text-gray-500 text-sm font-normal"> (optional)`), _tmpl$2$7 = /* @__PURE__ */ template$1(`<p class="font-sans text-lg mt-4 md:!mt-8"role=heading aria-level=3>Address`), _tmpl$3$6 = /* @__PURE__ */ template$1(`<div class="flex gap-4"><div class="flex-grow min-w-[40%]"></div><div class="flex-grow min-w-[40%]">`), _tmpl$4$5 = /* @__PURE__ */ template$1(`<div class="w-full flex justify-center">`), _tmpl$5$5 = /* @__PURE__ */ template$1(`<div><p class="font-sans text-lg flex-grow my-2"role=heading aria-level=2>Patient info</p><div class="flex flex-col"></div><button class="mb-4 mt-8 flex items-center md:!hidden"aria-controls=optional-fields-section><span class="font-sans text-lg"></span></button><div id=optional-fields-section><p class="font-sans text-sm m-0 mt-6">Preferred pharmacy`), _tmpl$6$5 = /* @__PURE__ */ template$1(`<div class="flex flex-col gap-8">`), _tmpl$7$4 = /* @__PURE__ */ template$1(`<div class="photon-patient-form w-full h-full relative">`);
|
|
79185
|
+
const validators = {
|
|
79186
|
+
firstName: message(size$2(string(), 1, Infinity), "Please enter a first name."),
|
|
79187
|
+
lastName: message(size$2(string(), 1, Infinity), "Please enter a last name."),
|
|
79188
|
+
dateOfBirth: message(notFutureDate, "Please enter a valid date of birth."),
|
|
79189
|
+
sex: message(enums(SEX_OPTIONS.map((o) => o.value)), "Please enter Sex at Birth."),
|
|
79190
|
+
phone: message(size$2(string(), 12), "Please enter a valid mobile number."),
|
|
79191
|
+
email: message(union([email(), empty()]), "Please enter a valid email."),
|
|
79192
|
+
address_street1: message(size$2(string(), 1, Infinity), "Please enter a valid Street 1."),
|
|
79193
|
+
address_city: message(size$2(string(), 1, Infinity), "Please enter a valid City."),
|
|
79194
|
+
address_state: message(size$2(string(), 2, 2), "Please enter a valid State."),
|
|
79195
|
+
address_zip: message(zipString(), "Please enter a valid zip code.")
|
|
79085
79196
|
};
|
|
79086
79197
|
const PatientForm = (props) => {
|
|
79087
79198
|
let ref;
|
|
79088
|
-
const client = usePhoton();
|
|
79089
79199
|
const [showOptionalFields, setShowOptionalFields] = createSignal(false);
|
|
79090
|
-
const {
|
|
79091
|
-
store: pStore,
|
|
79092
|
-
actions: pActions
|
|
79093
|
-
} = PatientStore;
|
|
79094
|
-
const {
|
|
79095
|
-
store,
|
|
79096
|
-
actions
|
|
79097
|
-
} = createFormStore({
|
|
79098
|
-
firstName: void 0,
|
|
79099
|
-
lastName: void 0,
|
|
79100
|
-
dateOfBirth: void 0,
|
|
79101
|
-
phone: void 0,
|
|
79102
|
-
gender: void 0,
|
|
79103
|
-
sex: void 0,
|
|
79104
|
-
email: void 0,
|
|
79105
|
-
address_street1: void 0,
|
|
79106
|
-
address_street2: void 0,
|
|
79107
|
-
address_city: void 0,
|
|
79108
|
-
address_state: void 0,
|
|
79109
|
-
address_zip: void 0,
|
|
79110
|
-
preferredPharmacy: void 0
|
|
79111
|
-
});
|
|
79112
|
-
actions.registerValidator({
|
|
79113
|
-
key: "firstName",
|
|
79114
|
-
validator: message(size$2(string(), 1, Infinity), "Please enter a first name.")
|
|
79115
|
-
});
|
|
79116
|
-
actions.registerValidator({
|
|
79117
|
-
key: "lastName",
|
|
79118
|
-
validator: message(size$2(string(), 1, Infinity), "Please enter a last name.")
|
|
79119
|
-
});
|
|
79120
|
-
actions.registerValidator({
|
|
79121
|
-
key: "dateOfBirth",
|
|
79122
|
-
validator: message(notFutureDate, "Please enter a valid date of birth.")
|
|
79123
|
-
});
|
|
79124
|
-
actions.registerValidator({
|
|
79125
|
-
key: "sex",
|
|
79126
|
-
validator: message(enums(SEX_OPTIONS.map((o) => o.value)), "Please enter Sex at Birth.")
|
|
79127
|
-
});
|
|
79128
|
-
actions.registerValidator({
|
|
79129
|
-
key: "phone",
|
|
79130
|
-
validator: message(size$2(string(), 12), "Please enter a valid mobile number.")
|
|
79131
|
-
});
|
|
79132
|
-
actions.registerValidator({
|
|
79133
|
-
key: "email",
|
|
79134
|
-
validator: message(union([email(), empty()]), "Please enter a valid email.")
|
|
79135
|
-
});
|
|
79136
|
-
actions.registerValidator({
|
|
79137
|
-
key: "address_street1",
|
|
79138
|
-
validator: message(size$2(string(), 1, Infinity), "Please enter a valid Street 1.")
|
|
79139
|
-
});
|
|
79140
|
-
actions.registerValidator({
|
|
79141
|
-
key: "address_city",
|
|
79142
|
-
validator: message(size$2(string(), 1, Infinity), "Please enter a valid City.")
|
|
79143
|
-
});
|
|
79144
|
-
actions.registerValidator({
|
|
79145
|
-
key: "address_state",
|
|
79146
|
-
validator: message(size$2(string(), 2, 2), "Please enter a valid State.")
|
|
79147
|
-
});
|
|
79148
|
-
actions.registerValidator({
|
|
79149
|
-
key: "address_zip",
|
|
79150
|
-
validator: message(zipString(), "Please enter a valid zip code.")
|
|
79151
|
-
});
|
|
79152
79200
|
onMount(() => {
|
|
79153
|
-
|
|
79154
|
-
|
|
79155
|
-
|
|
79156
|
-
|
|
79157
|
-
}
|
|
79158
|
-
});
|
|
79159
|
-
const dispatchFormUpdated = (form) => {
|
|
79160
|
-
const event = new CustomEvent("photon-form-updated", {
|
|
79161
|
-
composed: true,
|
|
79162
|
-
bubbles: true,
|
|
79163
|
-
detail: {
|
|
79164
|
-
form,
|
|
79165
|
-
actions,
|
|
79166
|
-
selected: pStore,
|
|
79167
|
-
optionalPatientAddress: props.optionalPatientAddress,
|
|
79168
|
-
reset: () => {
|
|
79169
|
-
actions.reset();
|
|
79170
|
-
pActions.reset();
|
|
79171
|
-
}
|
|
79172
|
-
}
|
|
79173
|
-
});
|
|
79174
|
-
ref?.dispatchEvent(event);
|
|
79175
|
-
};
|
|
79176
|
-
createEffect(() => {
|
|
79177
|
-
if (pStore.selectedPatient.data) {
|
|
79178
|
-
actions.updateFormValue({
|
|
79179
|
-
key: "firstName",
|
|
79180
|
-
value: pStore.selectedPatient.data.name.first
|
|
79181
|
-
});
|
|
79182
|
-
actions.updateFormValue({
|
|
79183
|
-
key: "lastName",
|
|
79184
|
-
value: pStore.selectedPatient.data.name.last
|
|
79185
|
-
});
|
|
79186
|
-
actions.updateFormValue({
|
|
79187
|
-
key: "dateOfBirth",
|
|
79188
|
-
value: pStore.selectedPatient.data.dateOfBirth
|
|
79189
|
-
});
|
|
79190
|
-
actions.updateFormValue({
|
|
79191
|
-
key: "phone",
|
|
79192
|
-
value: pStore.selectedPatient.data.phone
|
|
79193
|
-
});
|
|
79194
|
-
actions.updateFormValue({
|
|
79195
|
-
key: "gender",
|
|
79196
|
-
value: pStore.selectedPatient.data.gender
|
|
79197
|
-
});
|
|
79198
|
-
actions.updateFormValue({
|
|
79199
|
-
key: "sex",
|
|
79200
|
-
value: pStore.selectedPatient.data.sex
|
|
79201
|
-
});
|
|
79202
|
-
actions.updateFormValue({
|
|
79203
|
-
key: "email",
|
|
79204
|
-
value: pStore.selectedPatient.data.email
|
|
79205
|
-
});
|
|
79206
|
-
actions.updateFormValue({
|
|
79207
|
-
key: "address_street1",
|
|
79208
|
-
value: pStore.selectedPatient.data.address?.street1
|
|
79209
|
-
});
|
|
79210
|
-
actions.updateFormValue({
|
|
79211
|
-
key: "address_street2",
|
|
79212
|
-
value: pStore.selectedPatient.data.address?.street2
|
|
79213
|
-
});
|
|
79214
|
-
actions.updateFormValue({
|
|
79215
|
-
key: "address_city",
|
|
79216
|
-
value: pStore.selectedPatient.data.address?.city
|
|
79217
|
-
});
|
|
79218
|
-
actions.updateFormValue({
|
|
79219
|
-
key: "address_state",
|
|
79220
|
-
value: pStore.selectedPatient.data.address?.state
|
|
79221
|
-
});
|
|
79222
|
-
actions.updateFormValue({
|
|
79223
|
-
key: "address_zip",
|
|
79224
|
-
value: pStore.selectedPatient.data.address?.postalCode
|
|
79225
|
-
});
|
|
79226
|
-
actions.updateFormValue({
|
|
79227
|
-
key: "preferredPharmacy",
|
|
79228
|
-
value: pStore.selectedPatient.data.preferredPharmacies?.[0]?.id
|
|
79201
|
+
for (const [k, v] of Object.entries(validators)) {
|
|
79202
|
+
props.actions.registerValidator({
|
|
79203
|
+
key: k,
|
|
79204
|
+
validator: v
|
|
79229
79205
|
});
|
|
79230
79206
|
}
|
|
79231
79207
|
});
|
|
79232
|
-
const hasAnyAddressField = createMemo(() => {
|
|
79233
|
-
return !!(store["address_street1"]?.value || store["address_street2"]?.value || store["address_city"]?.value || store["address_state"]?.value || store["address_zip"]?.value);
|
|
79234
|
-
});
|
|
79235
|
-
createEffect(() => {
|
|
79236
|
-
dispatchFormUpdated(store);
|
|
79237
|
-
});
|
|
79238
|
-
onCleanup(() => {
|
|
79239
|
-
pActions.clearSelectedPatient();
|
|
79240
|
-
actions.reset();
|
|
79241
|
-
});
|
|
79242
|
-
const preferredPharmacy = createMemo(() => {
|
|
79243
|
-
const pref = pStore.selectedPatient.data?.preferredPharmacies?.[0];
|
|
79244
|
-
if (!pref) return;
|
|
79245
|
-
const address = pref.address;
|
|
79246
|
-
const prefOption = {
|
|
79247
|
-
...pref,
|
|
79248
|
-
address,
|
|
79249
|
-
isPrevious: true,
|
|
79250
|
-
isPreferred: true
|
|
79251
|
-
};
|
|
79252
|
-
return prefOption;
|
|
79253
|
-
});
|
|
79254
|
-
const formName = props.patientId ? "update_patient_form" : "new_patient_form";
|
|
79255
79208
|
const trackFieldInteraction = (fieldName, hasValue, isOptional = false) => {
|
|
79209
|
+
const formName = props.patientId ? "update_patient_form" : "new_patient_form";
|
|
79256
79210
|
dispatchAnalyticsTrackEvent("fieldInteraction", {
|
|
79257
79211
|
name: "Field Interaction",
|
|
79258
79212
|
formName,
|
|
@@ -79261,23 +79215,26 @@ const PatientForm = (props) => {
|
|
|
79261
79215
|
isOptional
|
|
79262
79216
|
}, ref);
|
|
79263
79217
|
};
|
|
79218
|
+
const hasAnyAddressField = createMemo(() => {
|
|
79219
|
+
return !!(props.store["address_street1"]?.value || props.store["address_street2"]?.value || props.store["address_city"]?.value || props.store["address_state"]?.value || props.store["address_zip"]?.value);
|
|
79220
|
+
});
|
|
79221
|
+
const isAddressRequired = createMemo(() => !props.optionalPatientAddress || hasAnyAddressField());
|
|
79264
79222
|
const AddressFields = () => {
|
|
79265
|
-
const isAddressRequired = createMemo(() => !props.optionalPatientAddress || hasAnyAddressField());
|
|
79266
79223
|
return [(() => {
|
|
79267
|
-
var _el$ = _tmpl$2$
|
|
79224
|
+
var _el$ = _tmpl$2$7(); _el$.firstChild;
|
|
79268
79225
|
insert$1(_el$, createComponent(Show, {
|
|
79269
79226
|
get when() {
|
|
79270
|
-
return
|
|
79227
|
+
return !isAddressRequired();
|
|
79271
79228
|
},
|
|
79272
79229
|
get children() {
|
|
79273
|
-
return _tmpl$$
|
|
79230
|
+
return _tmpl$$9();
|
|
79274
79231
|
}
|
|
79275
79232
|
}), null);
|
|
79276
79233
|
return _el$;
|
|
79277
79234
|
})(), createComponent(InputGroup, {
|
|
79278
79235
|
label: "Street 1",
|
|
79279
79236
|
get error() {
|
|
79280
|
-
return store["address_street1"]?.error;
|
|
79237
|
+
return props.store["address_street1"]?.error;
|
|
79281
79238
|
},
|
|
79282
79239
|
get required() {
|
|
79283
79240
|
return isAddressRequired();
|
|
@@ -79285,33 +79242,33 @@ const PatientForm = (props) => {
|
|
|
79285
79242
|
get children() {
|
|
79286
79243
|
return createComponent(AddressAutocompleteInput, {
|
|
79287
79244
|
get value() {
|
|
79288
|
-
return store["address_street1"]?.value
|
|
79245
|
+
return props.store["address_street1"]?.value;
|
|
79289
79246
|
},
|
|
79290
79247
|
onInput: (e) => {
|
|
79291
|
-
actions.updateFormValue({
|
|
79248
|
+
props.actions.updateFormValue({
|
|
79292
79249
|
key: "address_street1",
|
|
79293
79250
|
value: e.currentTarget.value
|
|
79294
79251
|
});
|
|
79295
79252
|
},
|
|
79296
79253
|
onBlur: (e) => trackFieldInteraction("address_street1", Boolean(e.currentTarget.value), true),
|
|
79297
79254
|
onAddressSelect: (address) => {
|
|
79298
|
-
actions.updateFormValue({
|
|
79255
|
+
props.actions.updateFormValue({
|
|
79299
79256
|
key: "address_street1",
|
|
79300
79257
|
value: address.street1
|
|
79301
79258
|
});
|
|
79302
|
-
actions.updateFormValue({
|
|
79259
|
+
props.actions.updateFormValue({
|
|
79303
79260
|
key: "address_street2",
|
|
79304
79261
|
value: address.street2
|
|
79305
79262
|
});
|
|
79306
|
-
actions.updateFormValue({
|
|
79263
|
+
props.actions.updateFormValue({
|
|
79307
79264
|
key: "address_city",
|
|
79308
79265
|
value: address.city
|
|
79309
79266
|
});
|
|
79310
|
-
actions.updateFormValue({
|
|
79267
|
+
props.actions.updateFormValue({
|
|
79311
79268
|
key: "address_state",
|
|
79312
79269
|
value: address.state
|
|
79313
79270
|
});
|
|
79314
|
-
actions.updateFormValue({
|
|
79271
|
+
props.actions.updateFormValue({
|
|
79315
79272
|
key: "address_zip",
|
|
79316
79273
|
value: address.postalCode
|
|
79317
79274
|
});
|
|
@@ -79321,15 +79278,15 @@ const PatientForm = (props) => {
|
|
|
79321
79278
|
}), createComponent(InputGroup, {
|
|
79322
79279
|
label: "Street 2",
|
|
79323
79280
|
get error() {
|
|
79324
|
-
return store["address_street2"]?.error;
|
|
79281
|
+
return props.store["address_street2"]?.error;
|
|
79325
79282
|
},
|
|
79326
79283
|
get children() {
|
|
79327
79284
|
return createComponent(Input, {
|
|
79328
79285
|
get value() {
|
|
79329
|
-
return store["address_street2"]?.value
|
|
79286
|
+
return props.store["address_street2"]?.value;
|
|
79330
79287
|
},
|
|
79331
79288
|
onInput: (e) => {
|
|
79332
|
-
actions.updateFormValue({
|
|
79289
|
+
props.actions.updateFormValue({
|
|
79333
79290
|
key: "address_street2",
|
|
79334
79291
|
value: e.currentTarget.value
|
|
79335
79292
|
});
|
|
@@ -79340,7 +79297,7 @@ const PatientForm = (props) => {
|
|
|
79340
79297
|
}), createComponent(InputGroup, {
|
|
79341
79298
|
label: "City",
|
|
79342
79299
|
get error() {
|
|
79343
|
-
return store["address_city"]?.error;
|
|
79300
|
+
return props.store["address_city"]?.error;
|
|
79344
79301
|
},
|
|
79345
79302
|
get required() {
|
|
79346
79303
|
return isAddressRequired();
|
|
@@ -79348,10 +79305,10 @@ const PatientForm = (props) => {
|
|
|
79348
79305
|
get children() {
|
|
79349
79306
|
return createComponent(Input, {
|
|
79350
79307
|
get value() {
|
|
79351
|
-
return store["address_city"]?.value
|
|
79308
|
+
return props.store["address_city"]?.value;
|
|
79352
79309
|
},
|
|
79353
79310
|
onInput: (e) => {
|
|
79354
|
-
actions.updateFormValue({
|
|
79311
|
+
props.actions.updateFormValue({
|
|
79355
79312
|
key: "address_city",
|
|
79356
79313
|
value: e.currentTarget.value
|
|
79357
79314
|
});
|
|
@@ -79360,11 +79317,11 @@ const PatientForm = (props) => {
|
|
|
79360
79317
|
});
|
|
79361
79318
|
}
|
|
79362
79319
|
}), (() => {
|
|
79363
|
-
var _el$4 = _tmpl$3$
|
|
79320
|
+
var _el$4 = _tmpl$3$6(), _el$5 = _el$4.firstChild, _el$6 = _el$5.nextSibling;
|
|
79364
79321
|
insert$1(_el$5, createComponent(InputGroup, {
|
|
79365
79322
|
label: "State",
|
|
79366
79323
|
get error() {
|
|
79367
|
-
return store["address_state"]?.error;
|
|
79324
|
+
return props.store["address_state"]?.error;
|
|
79368
79325
|
},
|
|
79369
79326
|
get required() {
|
|
79370
79327
|
return isAddressRequired();
|
|
@@ -79372,10 +79329,10 @@ const PatientForm = (props) => {
|
|
|
79372
79329
|
get children() {
|
|
79373
79330
|
return createComponent(StateSelect, {
|
|
79374
79331
|
get value() {
|
|
79375
|
-
return store["address_state"]?.value
|
|
79332
|
+
return props.store["address_state"]?.value;
|
|
79376
79333
|
},
|
|
79377
79334
|
onChange: (e) => {
|
|
79378
|
-
actions.updateFormValue({
|
|
79335
|
+
props.actions.updateFormValue({
|
|
79379
79336
|
key: "address_state",
|
|
79380
79337
|
value: e.currentTarget.value
|
|
79381
79338
|
});
|
|
@@ -79387,7 +79344,7 @@ const PatientForm = (props) => {
|
|
|
79387
79344
|
insert$1(_el$6, createComponent(InputGroup, {
|
|
79388
79345
|
label: "Zip code",
|
|
79389
79346
|
get error() {
|
|
79390
|
-
return store["address_zip"]?.error;
|
|
79347
|
+
return props.store["address_zip"]?.error;
|
|
79391
79348
|
},
|
|
79392
79349
|
get required() {
|
|
79393
79350
|
return isAddressRequired();
|
|
@@ -79395,10 +79352,10 @@ const PatientForm = (props) => {
|
|
|
79395
79352
|
get children() {
|
|
79396
79353
|
return createComponent(Input, {
|
|
79397
79354
|
get value() {
|
|
79398
|
-
return store["address_zip"]?.value
|
|
79355
|
+
return props.store["address_zip"]?.value;
|
|
79399
79356
|
},
|
|
79400
79357
|
onInput: (e) => {
|
|
79401
|
-
actions.updateFormValue({
|
|
79358
|
+
props.actions.updateFormValue({
|
|
79402
79359
|
key: "address_zip",
|
|
79403
79360
|
value: e.currentTarget.value
|
|
79404
79361
|
});
|
|
@@ -79411,47 +79368,46 @@ const PatientForm = (props) => {
|
|
|
79411
79368
|
})()];
|
|
79412
79369
|
};
|
|
79413
79370
|
return (() => {
|
|
79414
|
-
var _el$7 = _tmpl$7$4()
|
|
79371
|
+
var _el$7 = _tmpl$7$4();
|
|
79415
79372
|
var _ref$ = ref;
|
|
79416
79373
|
typeof _ref$ === "function" ? use$1(_ref$, _el$7) : ref = _el$7;
|
|
79417
|
-
insert$1(_el$8, tailwind);
|
|
79418
79374
|
insert$1(_el$7, createComponent(Show, {
|
|
79419
79375
|
get when() {
|
|
79420
|
-
return
|
|
79376
|
+
return props.initialPatientLoading;
|
|
79421
79377
|
},
|
|
79422
79378
|
get children() {
|
|
79423
|
-
var _el$
|
|
79424
|
-
insert$1(_el$
|
|
79379
|
+
var _el$8 = _tmpl$4$5();
|
|
79380
|
+
insert$1(_el$8, createComponent(Spinner, {
|
|
79425
79381
|
color: "green"
|
|
79426
79382
|
}));
|
|
79427
|
-
return _el$
|
|
79383
|
+
return _el$8;
|
|
79428
79384
|
}
|
|
79429
79385
|
}), null);
|
|
79430
79386
|
insert$1(_el$7, createComponent(Show, {
|
|
79431
79387
|
get when() {
|
|
79432
|
-
return !
|
|
79388
|
+
return !props.initialPatientLoading;
|
|
79433
79389
|
},
|
|
79434
79390
|
get children() {
|
|
79435
79391
|
return createComponent(PhotonAuthorized, {
|
|
79436
79392
|
permissions: ["write:patient"],
|
|
79437
79393
|
get children() {
|
|
79438
|
-
var _el$
|
|
79439
|
-
insert$1(_el$
|
|
79394
|
+
var _el$9 = _tmpl$6$5();
|
|
79395
|
+
insert$1(_el$9, createComponent(Card, {
|
|
79440
79396
|
get children() {
|
|
79441
|
-
var _el$
|
|
79442
|
-
insert$1(_el$
|
|
79397
|
+
var _el$0 = _tmpl$5$5(), _el$1 = _el$0.firstChild, _el$10 = _el$1.nextSibling, _el$11 = _el$10.nextSibling, _el$12 = _el$11.firstChild, _el$13 = _el$11.nextSibling, _el$14 = _el$13.firstChild;
|
|
79398
|
+
insert$1(_el$10, createComponent(InputGroup, {
|
|
79443
79399
|
label: "First name",
|
|
79444
79400
|
get error() {
|
|
79445
|
-
return store["firstName"]?.error;
|
|
79401
|
+
return props.store["firstName"]?.error;
|
|
79446
79402
|
},
|
|
79447
79403
|
required: true,
|
|
79448
79404
|
get children() {
|
|
79449
79405
|
return createComponent(Input, {
|
|
79450
79406
|
get value() {
|
|
79451
|
-
return store["firstName"]?.value
|
|
79407
|
+
return props.store["firstName"]?.value;
|
|
79452
79408
|
},
|
|
79453
79409
|
onInput: (e) => {
|
|
79454
|
-
actions.updateFormValue({
|
|
79410
|
+
props.actions.updateFormValue({
|
|
79455
79411
|
key: "firstName",
|
|
79456
79412
|
value: e.currentTarget.value
|
|
79457
79413
|
});
|
|
@@ -79460,19 +79416,19 @@ const PatientForm = (props) => {
|
|
|
79460
79416
|
});
|
|
79461
79417
|
}
|
|
79462
79418
|
}), null);
|
|
79463
|
-
insert$1(_el$
|
|
79419
|
+
insert$1(_el$10, createComponent(InputGroup, {
|
|
79464
79420
|
label: "Last name",
|
|
79465
79421
|
get error() {
|
|
79466
|
-
return store["lastName"]?.error;
|
|
79422
|
+
return props.store["lastName"]?.error;
|
|
79467
79423
|
},
|
|
79468
79424
|
required: true,
|
|
79469
79425
|
get children() {
|
|
79470
79426
|
return createComponent(Input, {
|
|
79471
79427
|
get value() {
|
|
79472
|
-
return store["lastName"]?.value
|
|
79428
|
+
return props.store["lastName"]?.value;
|
|
79473
79429
|
},
|
|
79474
79430
|
onInput: (e) => {
|
|
79475
|
-
actions.updateFormValue({
|
|
79431
|
+
props.actions.updateFormValue({
|
|
79476
79432
|
key: "lastName",
|
|
79477
79433
|
value: e.currentTarget.value
|
|
79478
79434
|
});
|
|
@@ -79481,19 +79437,19 @@ const PatientForm = (props) => {
|
|
|
79481
79437
|
});
|
|
79482
79438
|
}
|
|
79483
79439
|
}), null);
|
|
79484
|
-
insert$1(_el$
|
|
79440
|
+
insert$1(_el$10, createComponent(InputGroup, {
|
|
79485
79441
|
label: "Date of birth",
|
|
79486
79442
|
get error() {
|
|
79487
|
-
return store["dateOfBirth"]?.error;
|
|
79443
|
+
return props.store["dateOfBirth"]?.error;
|
|
79488
79444
|
},
|
|
79489
79445
|
required: true,
|
|
79490
79446
|
get children() {
|
|
79491
79447
|
return createComponent(DateInput, {
|
|
79492
79448
|
get value() {
|
|
79493
|
-
return store["dateOfBirth"]?.value
|
|
79449
|
+
return props.store["dateOfBirth"]?.value;
|
|
79494
79450
|
},
|
|
79495
79451
|
onDateChange: (value) => {
|
|
79496
|
-
actions.updateFormValue({
|
|
79452
|
+
props.actions.updateFormValue({
|
|
79497
79453
|
key: "dateOfBirth",
|
|
79498
79454
|
value
|
|
79499
79455
|
});
|
|
@@ -79502,19 +79458,19 @@ const PatientForm = (props) => {
|
|
|
79502
79458
|
});
|
|
79503
79459
|
}
|
|
79504
79460
|
}), null);
|
|
79505
|
-
insert$1(_el$
|
|
79461
|
+
insert$1(_el$10, createComponent(InputGroup, {
|
|
79506
79462
|
label: "Mobile number",
|
|
79507
79463
|
get error() {
|
|
79508
|
-
return store["phone"]?.error;
|
|
79464
|
+
return props.store["phone"]?.error;
|
|
79509
79465
|
},
|
|
79510
79466
|
required: true,
|
|
79511
79467
|
get children() {
|
|
79512
79468
|
return createComponent(PhoneInput, {
|
|
79513
79469
|
get value() {
|
|
79514
|
-
return store["phone"]?.value
|
|
79470
|
+
return props.store["phone"]?.value;
|
|
79515
79471
|
},
|
|
79516
79472
|
onPhoneChange: (value) => {
|
|
79517
|
-
actions.updateFormValue({
|
|
79473
|
+
props.actions.updateFormValue({
|
|
79518
79474
|
key: "phone",
|
|
79519
79475
|
value
|
|
79520
79476
|
});
|
|
@@ -79523,81 +79479,81 @@ const PatientForm = (props) => {
|
|
|
79523
79479
|
});
|
|
79524
79480
|
}
|
|
79525
79481
|
}), null);
|
|
79526
|
-
insert$1(_el$
|
|
79482
|
+
insert$1(_el$10, createComponent(InputGroup, {
|
|
79527
79483
|
label: "Sex at birth",
|
|
79528
79484
|
get error() {
|
|
79529
|
-
return store["sex"]?.error;
|
|
79485
|
+
return props.store["sex"]?.error;
|
|
79530
79486
|
},
|
|
79531
79487
|
required: true,
|
|
79532
79488
|
get children() {
|
|
79533
79489
|
return createComponent(SexSelect, {
|
|
79534
79490
|
get value() {
|
|
79535
|
-
return store["sex"]?.value
|
|
79491
|
+
return props.store["sex"]?.value;
|
|
79536
79492
|
},
|
|
79537
|
-
onChange: (e) => actions.updateFormValue({
|
|
79493
|
+
onChange: (e) => props.actions.updateFormValue({
|
|
79538
79494
|
key: "sex",
|
|
79539
79495
|
value: e.currentTarget.value
|
|
79540
79496
|
}),
|
|
79541
|
-
onBlur: () => trackFieldInteraction("sex", Boolean(store["sex"]?.value))
|
|
79497
|
+
onBlur: () => trackFieldInteraction("sex", Boolean(props.store["sex"]?.value))
|
|
79542
79498
|
});
|
|
79543
79499
|
}
|
|
79544
79500
|
}), null);
|
|
79545
|
-
insert$1(_el$
|
|
79501
|
+
insert$1(_el$0, createComponent(Show, {
|
|
79546
79502
|
get when() {
|
|
79547
79503
|
return !props.optionalPatientAddress;
|
|
79548
79504
|
},
|
|
79549
79505
|
get children() {
|
|
79550
79506
|
return createComponent(AddressFields, {});
|
|
79551
79507
|
}
|
|
79552
|
-
}), _el$
|
|
79553
|
-
_el$
|
|
79554
|
-
insert$1(_el$
|
|
79555
|
-
insert$1(_el$
|
|
79508
|
+
}), _el$11);
|
|
79509
|
+
_el$11.$$click = () => setShowOptionalFields((value) => !value);
|
|
79510
|
+
insert$1(_el$12, () => showOptionalFields() ? "Hide optional fields" : "Show optional fields");
|
|
79511
|
+
insert$1(_el$11, createComponent(Icon, {
|
|
79556
79512
|
get name() {
|
|
79557
79513
|
return showOptionalFields() ? "chevronUp" : "chevronDown";
|
|
79558
79514
|
},
|
|
79559
79515
|
size: "md",
|
|
79560
79516
|
"class": "inline-block ml-1 mt-1"
|
|
79561
79517
|
}), null);
|
|
79562
|
-
insert$1(_el$
|
|
79518
|
+
insert$1(_el$13, createComponent(Show, {
|
|
79563
79519
|
get when() {
|
|
79564
79520
|
return props.optionalPatientAddress;
|
|
79565
79521
|
},
|
|
79566
79522
|
get children() {
|
|
79567
79523
|
return createComponent(AddressFields, {});
|
|
79568
79524
|
}
|
|
79569
|
-
}), _el$
|
|
79570
|
-
insert$1(_el$
|
|
79525
|
+
}), _el$14);
|
|
79526
|
+
insert$1(_el$13, createComponent(InputGroup, {
|
|
79571
79527
|
label: "Gender",
|
|
79572
79528
|
get error() {
|
|
79573
|
-
return store["gender"]?.error;
|
|
79529
|
+
return props.store["gender"]?.error;
|
|
79574
79530
|
},
|
|
79575
79531
|
get children() {
|
|
79576
79532
|
return createComponent(GenderSelect, {
|
|
79577
79533
|
get value() {
|
|
79578
|
-
return store["gender"]?.value
|
|
79534
|
+
return props.store["gender"]?.value;
|
|
79579
79535
|
},
|
|
79580
|
-
onChange: (e) => actions.updateFormValue({
|
|
79536
|
+
onChange: (e) => props.actions.updateFormValue({
|
|
79581
79537
|
key: "gender",
|
|
79582
79538
|
value: e.currentTarget.value
|
|
79583
79539
|
}),
|
|
79584
|
-
onBlur: () => trackFieldInteraction("gender", Boolean(store["gender"]?.value), true)
|
|
79540
|
+
onBlur: () => trackFieldInteraction("gender", Boolean(props.store["gender"]?.value), true)
|
|
79585
79541
|
});
|
|
79586
79542
|
}
|
|
79587
|
-
}), _el$
|
|
79588
|
-
insert$1(_el$
|
|
79543
|
+
}), _el$14);
|
|
79544
|
+
insert$1(_el$13, createComponent(InputGroup, {
|
|
79589
79545
|
label: "Email",
|
|
79590
79546
|
get error() {
|
|
79591
|
-
return store["email"]?.error;
|
|
79547
|
+
return props.store["email"]?.error;
|
|
79592
79548
|
},
|
|
79593
79549
|
get children() {
|
|
79594
79550
|
return createComponent(Input, {
|
|
79595
79551
|
type: "email",
|
|
79596
79552
|
get value() {
|
|
79597
|
-
return store["email"]?.value
|
|
79553
|
+
return props.store["email"]?.value;
|
|
79598
79554
|
},
|
|
79599
79555
|
onInput: (e) => {
|
|
79600
|
-
actions.updateFormValue({
|
|
79556
|
+
props.actions.updateFormValue({
|
|
79601
79557
|
key: "email",
|
|
79602
79558
|
value: e.currentTarget.value
|
|
79603
79559
|
});
|
|
@@ -79605,13 +79561,13 @@ const PatientForm = (props) => {
|
|
|
79605
79561
|
onBlur: (e) => trackFieldInteraction("email", Boolean(e.currentTarget.value), true)
|
|
79606
79562
|
});
|
|
79607
79563
|
}
|
|
79608
|
-
}), _el$
|
|
79609
|
-
insert$1(_el$
|
|
79564
|
+
}), _el$14);
|
|
79565
|
+
insert$1(_el$13, createComponent(PickupPharmacySearch, {
|
|
79610
79566
|
get address() {
|
|
79611
|
-
return
|
|
79567
|
+
return isZip(props.store["address_zip"]?.value) ? props.store["address_zip"]?.value : void 0;
|
|
79612
79568
|
},
|
|
79613
79569
|
setPharmacy: (pharmacy) => {
|
|
79614
|
-
actions.updateFormValue({
|
|
79570
|
+
props.actions.updateFormValue({
|
|
79615
79571
|
key: "preferredPharmacy",
|
|
79616
79572
|
value: pharmacy.id
|
|
79617
79573
|
});
|
|
@@ -79620,23 +79576,23 @@ const PatientForm = (props) => {
|
|
|
79620
79576
|
return props.patientId;
|
|
79621
79577
|
},
|
|
79622
79578
|
get initialValue() {
|
|
79623
|
-
return
|
|
79579
|
+
return props.initialPreferredPharmacy;
|
|
79624
79580
|
},
|
|
79625
79581
|
hidePreferred: true
|
|
79626
79582
|
}), null);
|
|
79627
79583
|
createRenderEffect((_p$) => {
|
|
79628
79584
|
var _v$ = showOptionalFields(), _v$2 = `mb-4 ${showOptionalFields() ? "block" : "hidden md:!block"}`;
|
|
79629
|
-
_v$ !== _p$.e && setAttribute$1(_el$
|
|
79630
|
-
_v$2 !== _p$.t && className$1(_el$
|
|
79585
|
+
_v$ !== _p$.e && setAttribute$1(_el$11, "aria-expanded", _p$.e = _v$);
|
|
79586
|
+
_v$2 !== _p$.t && className$1(_el$13, _p$.t = _v$2);
|
|
79631
79587
|
return _p$;
|
|
79632
79588
|
}, {
|
|
79633
79589
|
e: void 0,
|
|
79634
79590
|
t: void 0
|
|
79635
79591
|
});
|
|
79636
|
-
return _el$
|
|
79592
|
+
return _el$0;
|
|
79637
79593
|
}
|
|
79638
79594
|
}));
|
|
79639
|
-
return _el$
|
|
79595
|
+
return _el$9;
|
|
79640
79596
|
}
|
|
79641
79597
|
});
|
|
79642
79598
|
}
|
|
@@ -79644,107 +79600,44 @@ const PatientForm = (props) => {
|
|
|
79644
79600
|
return _el$7;
|
|
79645
79601
|
})();
|
|
79646
79602
|
};
|
|
79647
|
-
customElement("photon-patient-form", {
|
|
79648
|
-
patientId: "",
|
|
79649
|
-
optionalPatientAddress: false
|
|
79650
|
-
}, PatientForm);
|
|
79651
79603
|
delegateEvents$1(["click"]);
|
|
79652
79604
|
|
|
79653
|
-
var _tmpl$$
|
|
79654
|
-
const PhotonFormWrapper = (p) => {
|
|
79655
|
-
const props = mergeProps({
|
|
79656
|
-
closeTitle: "Lose unsaved changes?",
|
|
79657
|
-
closeBody: "You will not be able to recover unsaved changes.",
|
|
79658
|
-
checkShouldWarn: () => false
|
|
79659
|
-
}, p);
|
|
79660
|
-
let ref;
|
|
79661
|
-
const [closeDialogOpen, onCloseDialogOpen] = createSignal(false);
|
|
79662
|
-
const handleConfirm = () => {
|
|
79663
|
-
onCloseDialogOpen(false);
|
|
79664
|
-
props.onClosed();
|
|
79665
|
-
};
|
|
79666
|
-
const handleCancel = () => onCloseDialogOpen(false);
|
|
79667
|
-
return (() => {
|
|
79668
|
-
var _el$ = _tmpl$4$6(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$2.nextSibling, _el$5 = _el$4.firstChild, _el$7 = _el$5.nextSibling, _el$9 = _el$7.firstChild, _el$0 = _el$4.nextSibling, _el$1 = _el$0.firstChild;
|
|
79669
|
-
var _ref$ = ref;
|
|
79670
|
-
typeof _ref$ === "function" ? use$1(_ref$, _el$) : ref = _el$;
|
|
79671
|
-
addEventListener$1(_el$2, "photon-dialog-alt", handleCancel);
|
|
79672
|
-
addEventListener$1(_el$2, "photon-dialog-canceled", handleCancel);
|
|
79673
|
-
addEventListener$1(_el$2, "photon-dialog-confirmed", handleConfirm);
|
|
79674
|
-
_el$2._$owner = getOwner();
|
|
79675
|
-
insert$1(_el$3, () => props.closeBody);
|
|
79676
|
-
insert$1(_el$5, createComponent(Button, {
|
|
79677
|
-
variant: "naked",
|
|
79678
|
-
size: "sm",
|
|
79679
|
-
onClick: () => {
|
|
79680
|
-
if (props.checkShouldWarn()) {
|
|
79681
|
-
onCloseDialogOpen(true);
|
|
79682
|
-
} else {
|
|
79683
|
-
props.onClosed();
|
|
79684
|
-
}
|
|
79685
|
-
},
|
|
79686
|
-
get children() {
|
|
79687
|
-
var _el$6 = _tmpl$$9();
|
|
79688
|
-
insert$1(_el$6, createComponent(Icon, {
|
|
79689
|
-
name: "xMark"
|
|
79690
|
-
}));
|
|
79691
|
-
return _el$6;
|
|
79692
|
-
}
|
|
79693
|
-
}));
|
|
79694
|
-
insert$1(_el$7, createComponent(Show, {
|
|
79695
|
-
get when() {
|
|
79696
|
-
return props.titleIconName;
|
|
79697
|
-
},
|
|
79698
|
-
get children() {
|
|
79699
|
-
var _el$8 = _tmpl$2$7();
|
|
79700
|
-
_el$8._$owner = getOwner();
|
|
79701
|
-
createRenderEffect(() => _el$8.name = props.titleIconName);
|
|
79702
|
-
return _el$8;
|
|
79703
|
-
}
|
|
79704
|
-
}), _el$9);
|
|
79705
|
-
insert$1(_el$9, () => props.title);
|
|
79706
|
-
_el$0.style.setProperty("-webkit-overflow-scrolling", "touch");
|
|
79707
|
-
insert$1(_el$1, () => props.form);
|
|
79708
|
-
insert$1(_el$, createComponent(Show, {
|
|
79709
|
-
get when() {
|
|
79710
|
-
return props.footer;
|
|
79711
|
-
},
|
|
79712
|
-
get children() {
|
|
79713
|
-
var _el$10 = _tmpl$3$6(), _el$11 = _el$10.firstChild;
|
|
79714
|
-
insert$1(_el$11, () => props.footer);
|
|
79715
|
-
return _el$10;
|
|
79716
|
-
}
|
|
79717
|
-
}), null);
|
|
79718
|
-
createRenderEffect((_p$) => {
|
|
79719
|
-
var _v$ = props.closeTitle, _v$2 = closeDialogOpen();
|
|
79720
|
-
_v$ !== _p$.e && (_el$2.label = _p$.e = _v$);
|
|
79721
|
-
_v$2 !== _p$.t && (_el$2.open = _p$.t = _v$2);
|
|
79722
|
-
return _p$;
|
|
79723
|
-
}, {
|
|
79724
|
-
e: void 0,
|
|
79725
|
-
t: void 0
|
|
79726
|
-
});
|
|
79727
|
-
return _el$;
|
|
79728
|
-
})();
|
|
79729
|
-
};
|
|
79730
|
-
|
|
79731
|
-
var _tmpl$$8 = /* @__PURE__ */ template$1(`<style>`), _tmpl$2$6 = /* @__PURE__ */ template$1(`<div>`), _tmpl$3$5 = /* @__PURE__ */ template$1(`<div class="bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded relative mb-4"role=alert><span class="block sm:inline">`), _tmpl$4$5 = /* @__PURE__ */ template$1(`<photon-patient-form slot=form>`, true, false, false);
|
|
79605
|
+
var _tmpl$$8 = /* @__PURE__ */ template$1(`<style>`), _tmpl$2$6 = /* @__PURE__ */ template$1(`<div>`), _tmpl$3$5 = /* @__PURE__ */ template$1(`<div class="bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded relative mb-4"role=alert><span class="block sm:inline">`);
|
|
79732
79606
|
const PATIENT_FIELDS = gql$1`
|
|
79733
79607
|
fragment PatientFields on Patient {
|
|
79734
79608
|
id
|
|
79735
79609
|
}
|
|
79736
79610
|
`;
|
|
79611
|
+
const patientToFormValues = (patient) => ({
|
|
79612
|
+
firstName: patient?.name.first,
|
|
79613
|
+
lastName: patient?.name.last,
|
|
79614
|
+
dateOfBirth: patient?.dateOfBirth,
|
|
79615
|
+
sex: patient?.sex,
|
|
79616
|
+
gender: patient?.gender,
|
|
79617
|
+
phone: patient?.phone,
|
|
79618
|
+
email: patient?.email,
|
|
79619
|
+
address_street1: patient?.address?.street1,
|
|
79620
|
+
address_street2: patient?.address?.street2,
|
|
79621
|
+
address_city: patient?.address?.city,
|
|
79622
|
+
address_state: patient?.address?.state,
|
|
79623
|
+
address_zip: patient?.address?.postalCode,
|
|
79624
|
+
preferredPharmacy: patient?.preferredPharmacies?.[0]?.id
|
|
79625
|
+
});
|
|
79737
79626
|
const Component$4 = (props) => {
|
|
79738
79627
|
let ref;
|
|
79739
79628
|
const client = usePhoton();
|
|
79740
79629
|
const [loading, setLoading] = createSignal(false);
|
|
79741
79630
|
const [isCreatePrescription, setIsCreatePrescription] = createSignal(false);
|
|
79742
|
-
const [formStore, setFormStore] = createSignal(void 0);
|
|
79743
|
-
const [selectedStore, setSelectedStore] = createSignal(void 0);
|
|
79744
|
-
const [actions, setActions] = createSignal(void 0);
|
|
79745
79631
|
const [globalError, setGlobalError] = createSignal(void 0);
|
|
79746
|
-
const [hasAnyAddressField, setHasAnyAddressField] = createSignal(false);
|
|
79747
79632
|
const [hasPatients, setHasPatients] = createSignal(false);
|
|
79633
|
+
const {
|
|
79634
|
+
store: pStore,
|
|
79635
|
+
actions: pActions
|
|
79636
|
+
} = PatientStore;
|
|
79637
|
+
const {
|
|
79638
|
+
store,
|
|
79639
|
+
actions
|
|
79640
|
+
} = createFormStore();
|
|
79748
79641
|
onMount(async () => {
|
|
79749
79642
|
try {
|
|
79750
79643
|
const {
|
|
@@ -79759,6 +79652,39 @@ const Component$4 = (props) => {
|
|
|
79759
79652
|
console.log(err);
|
|
79760
79653
|
}
|
|
79761
79654
|
});
|
|
79655
|
+
onCleanup(() => {
|
|
79656
|
+
pActions.clearSelectedPatient();
|
|
79657
|
+
});
|
|
79658
|
+
createEffect(() => {
|
|
79659
|
+
const patientId = props.patientId;
|
|
79660
|
+
untrack(() => {
|
|
79661
|
+
if (patientId) {
|
|
79662
|
+
pActions.getSelectedPatient(client.getSDK(), patientId);
|
|
79663
|
+
} else {
|
|
79664
|
+
pActions.clearSelectedPatient();
|
|
79665
|
+
}
|
|
79666
|
+
});
|
|
79667
|
+
});
|
|
79668
|
+
createEffect(() => {
|
|
79669
|
+
const values = patientToFormValues(props.patientId ? pStore.selectedPatient.data : void 0);
|
|
79670
|
+
for (const [key, value] of Object.entries(values)) {
|
|
79671
|
+
actions.updateFormValue({
|
|
79672
|
+
key,
|
|
79673
|
+
value
|
|
79674
|
+
});
|
|
79675
|
+
}
|
|
79676
|
+
});
|
|
79677
|
+
const hasAnyAddressField = createMemo(() => !!(store["address_street1"]?.value || store["address_street2"]?.value || store["address_city"]?.value || store["address_state"]?.value || store["address_zip"]?.value));
|
|
79678
|
+
const initialPreferredPharmacy = createMemo(() => {
|
|
79679
|
+
const pref = pStore.selectedPatient.data?.preferredPharmacies?.[0];
|
|
79680
|
+
if (!pref) return;
|
|
79681
|
+
return {
|
|
79682
|
+
...pref,
|
|
79683
|
+
address: pref.address,
|
|
79684
|
+
isPrevious: true,
|
|
79685
|
+
isPreferred: true
|
|
79686
|
+
};
|
|
79687
|
+
});
|
|
79762
79688
|
const dispatchUpdate = (patientId, didClickCreatePatientAndPrescription = false) => {
|
|
79763
79689
|
const event = new CustomEvent("photon-patient-updated", {
|
|
79764
79690
|
composed: true,
|
|
@@ -79796,7 +79722,7 @@ const Component$4 = (props) => {
|
|
|
79796
79722
|
}, ref);
|
|
79797
79723
|
}
|
|
79798
79724
|
});
|
|
79799
|
-
const submitForm = async (
|
|
79725
|
+
const submitForm = async (didClickCreatePatientAndPrescription = false) => {
|
|
79800
79726
|
setGlobalError(void 0);
|
|
79801
79727
|
setIsCreatePrescription(didClickCreatePatientAndPrescription);
|
|
79802
79728
|
setLoading(true);
|
|
@@ -79804,8 +79730,8 @@ const Component$4 = (props) => {
|
|
|
79804
79730
|
const addressKeys = ["address_street1", "address_city", "address_state", "address_zip"];
|
|
79805
79731
|
const shouldValidateAddress = !props.optionalPatientAddress || hasAnyAddressField();
|
|
79806
79732
|
const keys = shouldValidateAddress ? [...baseKeys, ...addressKeys] : baseKeys;
|
|
79807
|
-
|
|
79808
|
-
if (
|
|
79733
|
+
actions.validate(keys);
|
|
79734
|
+
if (actions.hasErrors(keys)) {
|
|
79809
79735
|
setLoading(false);
|
|
79810
79736
|
return true;
|
|
79811
79737
|
}
|
|
@@ -79875,7 +79801,7 @@ const Component$4 = (props) => {
|
|
|
79875
79801
|
}, ref);
|
|
79876
79802
|
}
|
|
79877
79803
|
setLoading(false);
|
|
79878
|
-
|
|
79804
|
+
actions.reset();
|
|
79879
79805
|
props.open = false;
|
|
79880
79806
|
} catch (e) {
|
|
79881
79807
|
setLoading(false);
|
|
@@ -79904,7 +79830,6 @@ const Component$4 = (props) => {
|
|
|
79904
79830
|
})(), createComponent(PhotonFormWrapper, {
|
|
79905
79831
|
onClosed: () => {
|
|
79906
79832
|
dispatchClosed();
|
|
79907
|
-
actions().resetStores();
|
|
79908
79833
|
props.open = false;
|
|
79909
79834
|
},
|
|
79910
79835
|
get title() {
|
|
@@ -79913,6 +79838,9 @@ const Component$4 = (props) => {
|
|
|
79913
79838
|
get titleIconName() {
|
|
79914
79839
|
return props?.patientId ? "pencil-square" : "person-plus";
|
|
79915
79840
|
},
|
|
79841
|
+
get hideHeaderOnIOSWebView() {
|
|
79842
|
+
return props.hideHeaderOnIosWebview;
|
|
79843
|
+
},
|
|
79916
79844
|
get footer() {
|
|
79917
79845
|
return [createComponent(Show, {
|
|
79918
79846
|
get when() {
|
|
@@ -79928,7 +79856,7 @@ const Component$4 = (props) => {
|
|
|
79928
79856
|
get loading() {
|
|
79929
79857
|
return memo$2(() => !!loading())() && isCreatePrescription();
|
|
79930
79858
|
},
|
|
79931
|
-
onClick: () => submitForm(
|
|
79859
|
+
onClick: () => submitForm(true),
|
|
79932
79860
|
get children() {
|
|
79933
79861
|
return [memo$2(() => props?.patientId ? "Save" : "Create"), " and start prescription"];
|
|
79934
79862
|
}
|
|
@@ -79951,7 +79879,7 @@ const Component$4 = (props) => {
|
|
|
79951
79879
|
get loading() {
|
|
79952
79880
|
return memo$2(() => !!loading())() && !isCreatePrescription();
|
|
79953
79881
|
},
|
|
79954
|
-
onClick: () => submitForm(
|
|
79882
|
+
onClick: () => submitForm(false),
|
|
79955
79883
|
get children() {
|
|
79956
79884
|
return props?.patientId ? "Save" : "Create";
|
|
79957
79885
|
}
|
|
@@ -79969,29 +79897,22 @@ const Component$4 = (props) => {
|
|
|
79969
79897
|
insert$1(_el$4, globalError);
|
|
79970
79898
|
return _el$3;
|
|
79971
79899
|
}
|
|
79972
|
-
}), (
|
|
79973
|
-
|
|
79974
|
-
|
|
79975
|
-
|
|
79976
|
-
|
|
79977
|
-
|
|
79978
|
-
|
|
79979
|
-
|
|
79980
|
-
|
|
79981
|
-
|
|
79982
|
-
|
|
79983
|
-
|
|
79984
|
-
|
|
79985
|
-
|
|
79986
|
-
|
|
79987
|
-
|
|
79988
|
-
return _p$;
|
|
79989
|
-
}, {
|
|
79990
|
-
e: void 0,
|
|
79991
|
-
t: void 0
|
|
79992
|
-
});
|
|
79993
|
-
return _el$5;
|
|
79994
|
-
})()];
|
|
79900
|
+
}), createComponent(PatientForm, {
|
|
79901
|
+
store,
|
|
79902
|
+
actions,
|
|
79903
|
+
get patientId() {
|
|
79904
|
+
return props.patientId;
|
|
79905
|
+
},
|
|
79906
|
+
get optionalPatientAddress() {
|
|
79907
|
+
return props.optionalPatientAddress;
|
|
79908
|
+
},
|
|
79909
|
+
get initialPatientLoading() {
|
|
79910
|
+
return props.patientId ? !pStore.selectedPatient.data : false;
|
|
79911
|
+
},
|
|
79912
|
+
get initialPreferredPharmacy() {
|
|
79913
|
+
return initialPreferredPharmacy();
|
|
79914
|
+
}
|
|
79915
|
+
})];
|
|
79995
79916
|
}
|
|
79996
79917
|
})];
|
|
79997
79918
|
}
|
|
@@ -80005,7 +79926,8 @@ customElement("photon-patient-dialog", {
|
|
|
80005
79926
|
patientId: "",
|
|
80006
79927
|
hideCreatePrescription: false,
|
|
80007
79928
|
open: false,
|
|
80008
|
-
optionalPatientAddress: false
|
|
79929
|
+
optionalPatientAddress: false,
|
|
79930
|
+
hideHeaderOnIosWebview: false
|
|
80009
79931
|
}, Component$4);
|
|
80010
79932
|
|
|
80011
79933
|
var _tmpl$$7 = /* @__PURE__ */ template$1(`<photon-patient-dialog>`, true, false, false);
|
|
@@ -84733,6 +84655,9 @@ const Component = (props) => {
|
|
|
84733
84655
|
checkShouldWarn: () => shouldWarn(form),
|
|
84734
84656
|
title: "New prescriptions",
|
|
84735
84657
|
titleIconName: "prescription",
|
|
84658
|
+
get hideHeaderOnIOSWebView() {
|
|
84659
|
+
return props.hideHeaderOnIosWebview;
|
|
84660
|
+
},
|
|
84736
84661
|
get footer() {
|
|
84737
84662
|
return memo$2(() => !!hideOrderButton())() ? null : memo$2(() => !!props.enableOrder)() ? createComponent(Button, {
|
|
84738
84663
|
"class": "w-full xs:w-fit",
|
|
@@ -84889,6 +84814,7 @@ customElement("photon-multirx-form-wrapper", {
|
|
|
84889
84814
|
enableOrder: false,
|
|
84890
84815
|
toastBuffer: 0,
|
|
84891
84816
|
externalOrderId: void 0,
|
|
84892
|
-
optionalPatientAddress: false
|
|
84817
|
+
optionalPatientAddress: false,
|
|
84818
|
+
hideHeaderOnIosWebview: false
|
|
84893
84819
|
}, Component);
|
|
84894
84820
|
//# sourceMappingURL=index.mjs.map
|