eat-js-sdk 2.0.55 → 2.0.57
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/interaction-builder.mjs +655 -445
- package/package.json +2 -2
|
@@ -13898,32 +13898,52 @@ var root_7$2 = /* @__PURE__ */ from_html(`<span class="preview-vertical hidden">
|
|
|
13898
13898
|
var root$6 = /* @__PURE__ */ from_html(`<button data-item-button=""><span><!></span> <div><span></span> <span class="absolute"><!> <!></span></div></button>`);
|
|
13899
13899
|
function CategoriseItem($$anchor, $$props) {
|
|
13900
13900
|
push($$props, true);
|
|
13901
|
-
let itemId = prop($$props, "itemId", 7), itemText = prop($$props, "itemText", 7), containerId = prop($$props, "containerId", 7), mode = prop($$props, "mode", 7),
|
|
13901
|
+
let itemId = prop($$props, "itemId", 7), itemText = prop($$props, "itemText", 7), containerId = prop($$props, "containerId", 7), mode = prop($$props, "mode", 7), selectedItemId = prop($$props, "selectedItemId", 7, void 0), isLocked = prop($$props, "isLocked", 7, false), isCollapsed = prop($$props, "isCollapsed", 7, false), resultType = prop($$props, "resultType", 7, ""), isCurrentMobileItem = prop($$props, "isCurrentMobileItem", 7, true), isClonedItem = prop($$props, "isClonedItem", 7, false), isConsideredItem = prop($$props, "isConsideredItem", 7, false), activeContainerForKeyboard = prop($$props, "activeContainerForKeyboard", 7, void 0), onclick = prop($$props, "onclick", 7), onfocus = prop($$props, "onfocus", 7), onblur = prop($$props, "onblur", 7), onkeydown = prop($$props, "onkeydown", 7);
|
|
13902
13902
|
const ariaWord = useRemoveRichTextHtmlTags(itemText());
|
|
13903
13903
|
const isWordBin = containerId() === CATEGORISE.CONTAINER_WORD_BIN_ID;
|
|
13904
13904
|
let touchStartX = /* @__PURE__ */ state(0);
|
|
13905
13905
|
let touchStartY = /* @__PURE__ */ state(0);
|
|
13906
13906
|
let isDragging2 = /* @__PURE__ */ state(false);
|
|
13907
|
+
let lastFocusTime = /* @__PURE__ */ state(0);
|
|
13908
|
+
const cleanItemId = /* @__PURE__ */ user_derived(() => itemId().split("@eat-dash@")[0]);
|
|
13909
|
+
const isSelected = /* @__PURE__ */ user_derived(() => selectedItemId() === get$1(cleanItemId));
|
|
13910
|
+
const hasAnyItemSelected = /* @__PURE__ */ user_derived(() => !!selectedItemId());
|
|
13911
|
+
const canInteract = /* @__PURE__ */ user_derived(() => !isLocked() && (!resultType() || mode() === MODES.INTERACTIVE));
|
|
13907
13912
|
const ariaLabel = /* @__PURE__ */ user_derived(() => () => {
|
|
13908
|
-
if (resultType() === ANSWER_RESULTS.INCORRECT && isWordBin && !isSelected
|
|
13913
|
+
if (resultType() === ANSWER_RESULTS.INCORRECT && isWordBin && !get$1(isSelected)) {
|
|
13909
13914
|
return `Skipped answer: ${ariaWord}`;
|
|
13910
13915
|
}
|
|
13911
|
-
if ((resultType() === ANSWER_RESULTS.CORRECT || resultType() === ANSWER_RESULTS.INCORRECT) && !isSelected
|
|
13916
|
+
if ((resultType() === ANSWER_RESULTS.CORRECT || resultType() === ANSWER_RESULTS.INCORRECT) && !get$1(isSelected)) {
|
|
13912
13917
|
return `Student's answer: ${ariaWord} (${resultType()})`;
|
|
13913
13918
|
}
|
|
13914
13919
|
if (resultType() === ANSWER_RESULTS.MISSED) {
|
|
13915
13920
|
return `Missing answer: ${ariaWord}`;
|
|
13916
13921
|
}
|
|
13917
|
-
return `${isSelected
|
|
13922
|
+
return `${get$1(isSelected) ? "Selected option" : "Option"}: ${ariaWord}`;
|
|
13918
13923
|
});
|
|
13924
|
+
const handleFocus = (event2) => {
|
|
13925
|
+
set(lastFocusTime, Date.now(), true);
|
|
13926
|
+
if (onfocus()) {
|
|
13927
|
+
onfocus()(event2);
|
|
13928
|
+
}
|
|
13929
|
+
};
|
|
13930
|
+
const handleBlur = (event2) => {
|
|
13931
|
+
if (onblur()) {
|
|
13932
|
+
onblur()(event2);
|
|
13933
|
+
}
|
|
13934
|
+
};
|
|
13919
13935
|
const selectItem = (event2) => {
|
|
13920
13936
|
event2.stopPropagation();
|
|
13937
|
+
const now2 = Date.now();
|
|
13938
|
+
const timeSinceFocus = now2 - get$1(lastFocusTime);
|
|
13939
|
+
if (timeSinceFocus < 100) {
|
|
13940
|
+
console.log("Ignoring NVDA auto-activation?");
|
|
13941
|
+
return;
|
|
13942
|
+
}
|
|
13921
13943
|
if (isLocked()) return;
|
|
13922
13944
|
if (resultType() && mode() !== MODES.INTERACTIVE) return;
|
|
13923
|
-
if (hasAnyItemSelected
|
|
13924
|
-
if (onclick())
|
|
13925
|
-
onclick()();
|
|
13926
|
-
}
|
|
13945
|
+
if (get$1(hasAnyItemSelected) && !get$1(isSelected)) return;
|
|
13946
|
+
if (onclick()) onclick()();
|
|
13927
13947
|
};
|
|
13928
13948
|
const handleTouchStart = (event2) => {
|
|
13929
13949
|
set(isDragging2, false);
|
|
@@ -13931,9 +13951,11 @@ function CategoriseItem($$anchor, $$props) {
|
|
|
13931
13951
|
set(touchStartX, event2.touches[0].clientX, true);
|
|
13932
13952
|
set(touchStartY, event2.touches[0].clientY, true);
|
|
13933
13953
|
}
|
|
13954
|
+
if (get$1(hasAnyItemSelected)) {
|
|
13955
|
+
event2.stopPropagation();
|
|
13956
|
+
}
|
|
13934
13957
|
};
|
|
13935
13958
|
const handleTouchMove = (event2) => {
|
|
13936
|
-
event2.preventDefault();
|
|
13937
13959
|
if (event2.touches.length > 0) {
|
|
13938
13960
|
const deltaX = Math.abs(event2.touches[0].clientX - get$1(touchStartX));
|
|
13939
13961
|
const deltaY = Math.abs(event2.touches[0].clientY - get$1(touchStartY));
|
|
@@ -13941,9 +13963,13 @@ function CategoriseItem($$anchor, $$props) {
|
|
|
13941
13963
|
set(isDragging2, true);
|
|
13942
13964
|
}
|
|
13943
13965
|
}
|
|
13966
|
+
if (get$1(hasAnyItemSelected)) {
|
|
13967
|
+
event2.stopPropagation();
|
|
13968
|
+
}
|
|
13944
13969
|
};
|
|
13945
13970
|
const handleTouchEnd = (event2) => {
|
|
13946
13971
|
if (!get$1(isDragging2)) {
|
|
13972
|
+
event2.preventDefault();
|
|
13947
13973
|
selectItem(event2);
|
|
13948
13974
|
}
|
|
13949
13975
|
set(isDragging2, false);
|
|
@@ -13955,18 +13981,18 @@ function CategoriseItem($$anchor, $$props) {
|
|
|
13955
13981
|
if (onkeydown()) {
|
|
13956
13982
|
onkeydown()(event2);
|
|
13957
13983
|
}
|
|
13984
|
+
} else if (event2.key === "Tab") {
|
|
13985
|
+
if (onkeydown()) {
|
|
13986
|
+
onkeydown()(event2);
|
|
13987
|
+
}
|
|
13958
13988
|
}
|
|
13959
13989
|
};
|
|
13960
13990
|
const itemTabIndex = /* @__PURE__ */ user_derived(() => () => {
|
|
13961
|
-
if (
|
|
13962
|
-
|
|
13963
|
-
|
|
13964
|
-
if (
|
|
13965
|
-
|
|
13966
|
-
}
|
|
13967
|
-
if (currentTabContainer() === containerId()) {
|
|
13968
|
-
return 0;
|
|
13969
|
-
}
|
|
13991
|
+
if (get$1(isSelected)) return 0;
|
|
13992
|
+
if (isCollapsed()) return -1;
|
|
13993
|
+
if (get$1(hasAnyItemSelected)) return -1;
|
|
13994
|
+
if (activeContainerForKeyboard() === containerId()) return 0;
|
|
13995
|
+
if (isWordBin && isCurrentMobileItem()) return 0;
|
|
13970
13996
|
return -1;
|
|
13971
13997
|
});
|
|
13972
13998
|
const buttonClasses = /* @__PURE__ */ user_derived(() => () => {
|
|
@@ -13979,7 +14005,10 @@ function CategoriseItem($$anchor, $$props) {
|
|
|
13979
14005
|
"p-1",
|
|
13980
14006
|
"border",
|
|
13981
14007
|
"border-gray-800",
|
|
13982
|
-
"rounded-lg"
|
|
14008
|
+
"rounded-lg",
|
|
14009
|
+
"mr-2",
|
|
14010
|
+
"mb-2",
|
|
14011
|
+
"last:mr-0"
|
|
13983
14012
|
];
|
|
13984
14013
|
if (isClonedItem()) {
|
|
13985
14014
|
classes.push("opacity-50", "raw-focus-ring", "bg-violet-100");
|
|
@@ -13987,65 +14016,46 @@ function CategoriseItem($$anchor, $$props) {
|
|
|
13987
14016
|
if (isConsideredItem()) {
|
|
13988
14017
|
classes.push("hidden");
|
|
13989
14018
|
}
|
|
13990
|
-
classes.push("mr-2", "mb-2", "last:mr-0");
|
|
13991
14019
|
if (isWordBin && !isCurrentMobileItem()) {
|
|
13992
14020
|
classes.push("hidden", "md:flex");
|
|
13993
14021
|
}
|
|
13994
|
-
if (isSelected
|
|
14022
|
+
if (get$1(isSelected)) {
|
|
13995
14023
|
classes.push("bg-blue-1000", "!border-blue-1000", "raw-focus-ring", "!cursor-pointer");
|
|
13996
14024
|
} else {
|
|
13997
14025
|
classes.push("bg-gray-100");
|
|
13998
14026
|
}
|
|
13999
|
-
if (resultType() === ANSWER_RESULTS.CORRECT && !isSelected
|
|
14027
|
+
if (resultType() === ANSWER_RESULTS.CORRECT && !get$1(isSelected)) {
|
|
14000
14028
|
classes.push("border-green-800", "bg-green-300");
|
|
14001
|
-
}
|
|
14029
|
+
}
|
|
14030
|
+
if (resultType() === ANSWER_RESULTS.INCORRECT && !get$1(isSelected)) {
|
|
14002
14031
|
classes.push("border-red-800", "bg-red-300");
|
|
14003
|
-
}
|
|
14032
|
+
}
|
|
14033
|
+
if (resultType() === ANSWER_RESULTS.MISSED) {
|
|
14004
14034
|
classes.push("border-green-800");
|
|
14005
14035
|
}
|
|
14006
|
-
|
|
14007
|
-
if (isInteractive) {
|
|
14036
|
+
if (!get$1(isSelected) && get$1(canInteract) && !get$1(hasAnyItemSelected)) {
|
|
14008
14037
|
classes.push("td:hover-focus-ring", "td:hover:bg-violet-100", "!cursor-pointer");
|
|
14009
|
-
} else {
|
|
14038
|
+
} else if (!get$1(isSelected)) {
|
|
14010
14039
|
classes.push("!cursor-default");
|
|
14011
14040
|
}
|
|
14012
|
-
if (additionalClasses()) {
|
|
14013
|
-
classes.push(additionalClasses());
|
|
14014
|
-
}
|
|
14015
14041
|
return classes.join(" ");
|
|
14016
14042
|
});
|
|
14017
14043
|
const textClasses = /* @__PURE__ */ user_derived(() => () => {
|
|
14018
|
-
|
|
14019
|
-
if (isSelected()) {
|
|
14020
|
-
classes.push("text-white");
|
|
14021
|
-
}
|
|
14022
|
-
return classes.join(" ");
|
|
14044
|
+
return `text-charcoal text-base pl-3 mr-4 ${get$1(isSelected) ? "text-white" : ""}`;
|
|
14023
14045
|
});
|
|
14024
14046
|
const iconContainerClasses = /* @__PURE__ */ user_derived(() => () => {
|
|
14025
|
-
const
|
|
14026
|
-
|
|
14027
|
-
|
|
14028
|
-
"h-11",
|
|
14029
|
-
"w-11",
|
|
14030
|
-
"min-w-[44px]",
|
|
14031
|
-
"flex",
|
|
14032
|
-
"items-center",
|
|
14033
|
-
"justify-center",
|
|
14034
|
-
"btn-vertical-icon"
|
|
14035
|
-
];
|
|
14036
|
-
const shouldShowGrabCursor = !hasAnyItemSelected() && !isLocked() && !isSelected() && (!resultType() || mode() === MODES.INTERACTIVE);
|
|
14037
|
-
if (shouldShowGrabCursor) {
|
|
14038
|
-
classes.push("td:hover:cursor-grab", "td:hover:text-soft-blue");
|
|
14047
|
+
const base = "group text-blue-1000 h-11 w-11 min-w-[44px] flex items-center justify-center btn-vertical-icon";
|
|
14048
|
+
if (!get$1(hasAnyItemSelected) && get$1(canInteract) && !get$1(isSelected)) {
|
|
14049
|
+
return `${base} td:hover:cursor-grab td:hover:text-soft-blue`;
|
|
14039
14050
|
}
|
|
14040
|
-
return
|
|
14051
|
+
return base;
|
|
14041
14052
|
});
|
|
14042
14053
|
const iconBgClasses = /* @__PURE__ */ user_derived(() => () => {
|
|
14043
|
-
const
|
|
14044
|
-
|
|
14045
|
-
|
|
14046
|
-
classes.push("td:group-hover:bg-black", "td:group-hover:opacity-5");
|
|
14054
|
+
const base = "w-full h-full relative rounded-lg";
|
|
14055
|
+
if (!get$1(hasAnyItemSelected) && get$1(canInteract) && !get$1(isSelected)) {
|
|
14056
|
+
return `${base} td:group-hover:bg-black td:group-hover:opacity-5`;
|
|
14047
14057
|
}
|
|
14048
|
-
return
|
|
14058
|
+
return base;
|
|
14049
14059
|
});
|
|
14050
14060
|
var $$exports = {
|
|
14051
14061
|
get itemId() {
|
|
@@ -14076,11 +14086,11 @@ function CategoriseItem($$anchor, $$props) {
|
|
|
14076
14086
|
mode($$value);
|
|
14077
14087
|
flushSync();
|
|
14078
14088
|
},
|
|
14079
|
-
get
|
|
14080
|
-
return
|
|
14089
|
+
get selectedItemId() {
|
|
14090
|
+
return selectedItemId();
|
|
14081
14091
|
},
|
|
14082
|
-
set
|
|
14083
|
-
|
|
14092
|
+
set selectedItemId($$value = void 0) {
|
|
14093
|
+
selectedItemId($$value);
|
|
14084
14094
|
flushSync();
|
|
14085
14095
|
},
|
|
14086
14096
|
get isLocked() {
|
|
@@ -14090,6 +14100,13 @@ function CategoriseItem($$anchor, $$props) {
|
|
|
14090
14100
|
isLocked($$value);
|
|
14091
14101
|
flushSync();
|
|
14092
14102
|
},
|
|
14103
|
+
get isCollapsed() {
|
|
14104
|
+
return isCollapsed();
|
|
14105
|
+
},
|
|
14106
|
+
set isCollapsed($$value = false) {
|
|
14107
|
+
isCollapsed($$value);
|
|
14108
|
+
flushSync();
|
|
14109
|
+
},
|
|
14093
14110
|
get resultType() {
|
|
14094
14111
|
return resultType();
|
|
14095
14112
|
},
|
|
@@ -14097,13 +14114,6 @@ function CategoriseItem($$anchor, $$props) {
|
|
|
14097
14114
|
resultType($$value);
|
|
14098
14115
|
flushSync();
|
|
14099
14116
|
},
|
|
14100
|
-
get hasAnyItemSelected() {
|
|
14101
|
-
return hasAnyItemSelected();
|
|
14102
|
-
},
|
|
14103
|
-
set hasAnyItemSelected($$value = false) {
|
|
14104
|
-
hasAnyItemSelected($$value);
|
|
14105
|
-
flushSync();
|
|
14106
|
-
},
|
|
14107
14117
|
get isCurrentMobileItem() {
|
|
14108
14118
|
return isCurrentMobileItem();
|
|
14109
14119
|
},
|
|
@@ -14125,18 +14135,11 @@ function CategoriseItem($$anchor, $$props) {
|
|
|
14125
14135
|
isConsideredItem($$value);
|
|
14126
14136
|
flushSync();
|
|
14127
14137
|
},
|
|
14128
|
-
get
|
|
14129
|
-
return
|
|
14138
|
+
get activeContainerForKeyboard() {
|
|
14139
|
+
return activeContainerForKeyboard();
|
|
14130
14140
|
},
|
|
14131
|
-
set
|
|
14132
|
-
|
|
14133
|
-
flushSync();
|
|
14134
|
-
},
|
|
14135
|
-
get additionalClasses() {
|
|
14136
|
-
return additionalClasses();
|
|
14137
|
-
},
|
|
14138
|
-
set additionalClasses($$value = "") {
|
|
14139
|
-
additionalClasses($$value);
|
|
14141
|
+
set activeContainerForKeyboard($$value = void 0) {
|
|
14142
|
+
activeContainerForKeyboard($$value);
|
|
14140
14143
|
flushSync();
|
|
14141
14144
|
},
|
|
14142
14145
|
get onclick() {
|
|
@@ -14146,6 +14149,20 @@ function CategoriseItem($$anchor, $$props) {
|
|
|
14146
14149
|
onclick($$value);
|
|
14147
14150
|
flushSync();
|
|
14148
14151
|
},
|
|
14152
|
+
get onfocus() {
|
|
14153
|
+
return onfocus();
|
|
14154
|
+
},
|
|
14155
|
+
set onfocus($$value) {
|
|
14156
|
+
onfocus($$value);
|
|
14157
|
+
flushSync();
|
|
14158
|
+
},
|
|
14159
|
+
get onblur() {
|
|
14160
|
+
return onblur();
|
|
14161
|
+
},
|
|
14162
|
+
set onblur($$value) {
|
|
14163
|
+
onblur($$value);
|
|
14164
|
+
flushSync();
|
|
14165
|
+
},
|
|
14149
14166
|
get onkeydown() {
|
|
14150
14167
|
return onkeydown();
|
|
14151
14168
|
},
|
|
@@ -14220,7 +14237,7 @@ function CategoriseItem($$anchor, $$props) {
|
|
|
14220
14237
|
if_block(
|
|
14221
14238
|
node_3,
|
|
14222
14239
|
($$render) => {
|
|
14223
|
-
if (resultType() === ANSWER_RESULTS.INCORRECT && !isSelected
|
|
14240
|
+
if (resultType() === ANSWER_RESULTS.INCORRECT && !get$1(isSelected)) $$render(consequent_1);
|
|
14224
14241
|
else $$render(alternate_1, false);
|
|
14225
14242
|
},
|
|
14226
14243
|
true
|
|
@@ -14229,7 +14246,7 @@ function CategoriseItem($$anchor, $$props) {
|
|
|
14229
14246
|
append($$anchor2, fragment);
|
|
14230
14247
|
};
|
|
14231
14248
|
if_block(node_1, ($$render) => {
|
|
14232
|
-
if (resultType() === ANSWER_RESULTS.CORRECT && !isSelected
|
|
14249
|
+
if (resultType() === ANSWER_RESULTS.CORRECT && !get$1(isSelected)) $$render(consequent);
|
|
14233
14250
|
else $$render(alternate_2, false);
|
|
14234
14251
|
});
|
|
14235
14252
|
}
|
|
@@ -14269,6 +14286,8 @@ function CategoriseItem($$anchor, $$props) {
|
|
|
14269
14286
|
() => clsx(get$1(iconBgClasses)())
|
|
14270
14287
|
]
|
|
14271
14288
|
);
|
|
14289
|
+
event("focus", button, handleFocus);
|
|
14290
|
+
event("blur", button, handleBlur);
|
|
14272
14291
|
append($$anchor, button);
|
|
14273
14292
|
return pop($$exports);
|
|
14274
14293
|
}
|
|
@@ -14280,42 +14299,51 @@ create_custom_element(
|
|
|
14280
14299
|
itemText: {},
|
|
14281
14300
|
containerId: {},
|
|
14282
14301
|
mode: {},
|
|
14283
|
-
|
|
14302
|
+
selectedItemId: {},
|
|
14284
14303
|
isLocked: {},
|
|
14304
|
+
isCollapsed: {},
|
|
14285
14305
|
resultType: {},
|
|
14286
|
-
hasAnyItemSelected: {},
|
|
14287
14306
|
isCurrentMobileItem: {},
|
|
14288
14307
|
isClonedItem: {},
|
|
14289
14308
|
isConsideredItem: {},
|
|
14290
|
-
|
|
14291
|
-
additionalClasses: {},
|
|
14309
|
+
activeContainerForKeyboard: {},
|
|
14292
14310
|
onclick: {},
|
|
14311
|
+
onfocus: {},
|
|
14312
|
+
onblur: {},
|
|
14293
14313
|
onkeydown: {}
|
|
14294
14314
|
},
|
|
14295
14315
|
[],
|
|
14296
14316
|
[],
|
|
14297
14317
|
true
|
|
14298
14318
|
);
|
|
14299
|
-
var root_1$8 = /* @__PURE__ */ from_html(`<button
|
|
14319
|
+
var root_1$8 = /* @__PURE__ */ from_html(`<button tabindex="0"></button>`);
|
|
14300
14320
|
var root_7$1 = /* @__PURE__ */ from_html(`<div class="w-full text-base text-charcoal font-semibold mt-1 mb-2">Missing answers:</div>`);
|
|
14301
14321
|
var root_6$1 = /* @__PURE__ */ from_html(`<!> <!>`, 1);
|
|
14302
|
-
var root$5 = /* @__PURE__ */ from_html(`<!>
|
|
14322
|
+
var root$5 = /* @__PURE__ */ from_html(`<!> <section><!></section>`, 1);
|
|
14303
14323
|
function CategoriseDndContainer($$anchor, $$props) {
|
|
14304
14324
|
push($$props, true);
|
|
14305
|
-
let containerId = prop($$props, "containerId", 7), containerClass = prop($$props, "containerClass", 7, ""), showButton = prop($$props, "showButton", 7, true), items = prop($$props, "items", 23, () => []), selectedItemId = prop($$props, "selectedItemId", 7, void 0), isLocked = prop($$props, "isLocked", 7, false),
|
|
14325
|
+
let containerId = prop($$props, "containerId", 7), containerLabel = prop($$props, "containerLabel", 7, ""), containerClass = prop($$props, "containerClass", 7, ""), showButton = prop($$props, "showButton", 7, true), items = prop($$props, "items", 23, () => []), selectedItemId = prop($$props, "selectedItemId", 7, void 0), isLocked = prop($$props, "isLocked", 7, false), isMobile = prop($$props, "isMobile", 7, false), mode = prop($$props, "mode", 7), paddingTop = prop($$props, "paddingTop", 7, 0), dndType = prop($$props, "dndType", 7, "categorise"), activeContainerForKeyboard = prop($$props, "activeContainerForKeyboard", 7, void 0), isCollapsed = prop($$props, "isCollapsed", 7, false), onitemdrop = prop($$props, "onitemdrop", 7), onitemselect = prop($$props, "onitemselect", 7), oncontainerclick = prop($$props, "oncontainerclick", 7), onitemfocus = prop($$props, "onitemfocus", 7), onitemblur = prop($$props, "onitemblur", 7), onitemkeydown = prop($$props, "onitemkeydown", 7), ondraghover = prop($$props, "ondraghover", 7), ondragstart = prop($$props, "ondragstart", 7), children = prop($$props, "children", 7);
|
|
14306
14326
|
let considerItemId = /* @__PURE__ */ state(void 0);
|
|
14307
14327
|
let isHoveringDrag = /* @__PURE__ */ state(false);
|
|
14308
|
-
|
|
14309
|
-
|
|
14310
|
-
|
|
14311
|
-
|
|
14312
|
-
|
|
14313
|
-
|
|
14314
|
-
|
|
14315
|
-
|
|
14316
|
-
|
|
14317
|
-
|
|
14318
|
-
|
|
14328
|
+
let dragCounter = /* @__PURE__ */ state(0);
|
|
14329
|
+
let localItems = /* @__PURE__ */ state(proxy([]));
|
|
14330
|
+
user_effect(() => {
|
|
14331
|
+
set(
|
|
14332
|
+
localItems,
|
|
14333
|
+
items().map((item) => {
|
|
14334
|
+
if (item.id === get$1(considerItemId)) {
|
|
14335
|
+
return {
|
|
14336
|
+
id: "clonedId",
|
|
14337
|
+
itemText: item.itemText,
|
|
14338
|
+
isClonedItem: true,
|
|
14339
|
+
cloneId: item.id
|
|
14340
|
+
};
|
|
14341
|
+
}
|
|
14342
|
+
return { ...item };
|
|
14343
|
+
}),
|
|
14344
|
+
true
|
|
14345
|
+
);
|
|
14346
|
+
});
|
|
14319
14347
|
const handleConsider = (e2) => {
|
|
14320
14348
|
const { info } = e2.detail;
|
|
14321
14349
|
if (info.trigger === "draggedEntered") {
|
|
@@ -14332,6 +14360,9 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14332
14360
|
return;
|
|
14333
14361
|
}
|
|
14334
14362
|
if (info.trigger === "dragStarted") {
|
|
14363
|
+
if (selectedItemId()) {
|
|
14364
|
+
return;
|
|
14365
|
+
}
|
|
14335
14366
|
const draggedItemId = info.id;
|
|
14336
14367
|
set(considerItemId, draggedItemId, true);
|
|
14337
14368
|
set(isHoveringDrag, false);
|
|
@@ -14349,6 +14380,7 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14349
14380
|
const handleFinalize = (e2) => {
|
|
14350
14381
|
set(considerItemId, void 0);
|
|
14351
14382
|
set(isHoveringDrag, false);
|
|
14383
|
+
set(dragCounter, get$1(dragCounter) + 1);
|
|
14352
14384
|
if (onitemdrop()) {
|
|
14353
14385
|
onitemdrop()(e2);
|
|
14354
14386
|
}
|
|
@@ -14381,17 +14413,15 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14381
14413
|
if (containerId() === "container-word-bin" && isMobile()) {
|
|
14382
14414
|
return 0;
|
|
14383
14415
|
}
|
|
14384
|
-
if (currentTabContainer() === containerId()) {
|
|
14385
|
-
return 0;
|
|
14386
|
-
}
|
|
14387
14416
|
return -1;
|
|
14388
14417
|
});
|
|
14418
|
+
const dragDisabled = /* @__PURE__ */ user_derived(() => isLocked() || !!selectedItemId());
|
|
14389
14419
|
const dndConfig = /* @__PURE__ */ user_derived(() => ({
|
|
14390
|
-
items: get$1(
|
|
14420
|
+
items: get$1(localItems),
|
|
14391
14421
|
flipDurationMs: 5,
|
|
14392
14422
|
type: dndType(),
|
|
14393
14423
|
morphDisabled: true,
|
|
14394
|
-
dragDisabled:
|
|
14424
|
+
dragDisabled: get$1(dragDisabled),
|
|
14395
14425
|
dropFromOthersDisabled: isLocked(),
|
|
14396
14426
|
dropTargetClasses: ["!outline-none"],
|
|
14397
14427
|
zoneItemTabIndex: get$1(getZoneItemTabIndex)(),
|
|
@@ -14399,12 +14429,13 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14399
14429
|
autoAriaDisabled: true,
|
|
14400
14430
|
keyboardDisabled: true
|
|
14401
14431
|
}));
|
|
14402
|
-
const isEmpty = /* @__PURE__ */ user_derived(() => get$1(
|
|
14432
|
+
const isEmpty = /* @__PURE__ */ user_derived(() => get$1(localItems).length === 0);
|
|
14403
14433
|
const isSourceContainer = /* @__PURE__ */ user_derived(() => () => {
|
|
14404
14434
|
if (!selectedItemId()) return false;
|
|
14405
|
-
|
|
14435
|
+
const selected = selectedItemId();
|
|
14436
|
+
return get$1(localItems).some((item) => {
|
|
14406
14437
|
const cleanItemId = item.id.split("@eat-dash@")[0];
|
|
14407
|
-
const cleanSelectedId =
|
|
14438
|
+
const cleanSelectedId = selected.split("@eat-dash@")[0];
|
|
14408
14439
|
return cleanItemId === cleanSelectedId;
|
|
14409
14440
|
});
|
|
14410
14441
|
});
|
|
@@ -14413,6 +14444,16 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14413
14444
|
oncontainerclick()(containerId());
|
|
14414
14445
|
}
|
|
14415
14446
|
};
|
|
14447
|
+
const handleSectionTouchStart = (e2) => {
|
|
14448
|
+
if (selectedItemId()) {
|
|
14449
|
+
e2.stopPropagation();
|
|
14450
|
+
}
|
|
14451
|
+
};
|
|
14452
|
+
const handleSectionTouchMove = (e2) => {
|
|
14453
|
+
if (selectedItemId()) {
|
|
14454
|
+
e2.stopPropagation();
|
|
14455
|
+
}
|
|
14456
|
+
};
|
|
14416
14457
|
var $$exports = {
|
|
14417
14458
|
get containerId() {
|
|
14418
14459
|
return containerId();
|
|
@@ -14421,6 +14462,13 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14421
14462
|
containerId($$value);
|
|
14422
14463
|
flushSync();
|
|
14423
14464
|
},
|
|
14465
|
+
get containerLabel() {
|
|
14466
|
+
return containerLabel();
|
|
14467
|
+
},
|
|
14468
|
+
set containerLabel($$value = "") {
|
|
14469
|
+
containerLabel($$value);
|
|
14470
|
+
flushSync();
|
|
14471
|
+
},
|
|
14424
14472
|
get containerClass() {
|
|
14425
14473
|
return containerClass();
|
|
14426
14474
|
},
|
|
@@ -14456,13 +14504,6 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14456
14504
|
isLocked($$value);
|
|
14457
14505
|
flushSync();
|
|
14458
14506
|
},
|
|
14459
|
-
get currentTabContainer() {
|
|
14460
|
-
return currentTabContainer();
|
|
14461
|
-
},
|
|
14462
|
-
set currentTabContainer($$value = null) {
|
|
14463
|
-
currentTabContainer($$value);
|
|
14464
|
-
flushSync();
|
|
14465
|
-
},
|
|
14466
14507
|
get isMobile() {
|
|
14467
14508
|
return isMobile();
|
|
14468
14509
|
},
|
|
@@ -14491,6 +14532,20 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14491
14532
|
dndType($$value);
|
|
14492
14533
|
flushSync();
|
|
14493
14534
|
},
|
|
14535
|
+
get activeContainerForKeyboard() {
|
|
14536
|
+
return activeContainerForKeyboard();
|
|
14537
|
+
},
|
|
14538
|
+
set activeContainerForKeyboard($$value = void 0) {
|
|
14539
|
+
activeContainerForKeyboard($$value);
|
|
14540
|
+
flushSync();
|
|
14541
|
+
},
|
|
14542
|
+
get isCollapsed() {
|
|
14543
|
+
return isCollapsed();
|
|
14544
|
+
},
|
|
14545
|
+
set isCollapsed($$value = false) {
|
|
14546
|
+
isCollapsed($$value);
|
|
14547
|
+
flushSync();
|
|
14548
|
+
},
|
|
14494
14549
|
get onitemdrop() {
|
|
14495
14550
|
return onitemdrop();
|
|
14496
14551
|
},
|
|
@@ -14512,6 +14567,20 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14512
14567
|
oncontainerclick($$value);
|
|
14513
14568
|
flushSync();
|
|
14514
14569
|
},
|
|
14570
|
+
get onitemfocus() {
|
|
14571
|
+
return onitemfocus();
|
|
14572
|
+
},
|
|
14573
|
+
set onitemfocus($$value) {
|
|
14574
|
+
onitemfocus($$value);
|
|
14575
|
+
flushSync();
|
|
14576
|
+
},
|
|
14577
|
+
get onitemblur() {
|
|
14578
|
+
return onitemblur();
|
|
14579
|
+
},
|
|
14580
|
+
set onitemblur($$value) {
|
|
14581
|
+
onitemblur($$value);
|
|
14582
|
+
flushSync();
|
|
14583
|
+
},
|
|
14515
14584
|
get onitemkeydown() {
|
|
14516
14585
|
return onitemkeydown();
|
|
14517
14586
|
},
|
|
@@ -14547,15 +14616,20 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14547
14616
|
var consequent = ($$anchor2) => {
|
|
14548
14617
|
var button = root_1$8();
|
|
14549
14618
|
button.__click = handleContainerClick;
|
|
14550
|
-
template_effect(() =>
|
|
14619
|
+
template_effect(() => {
|
|
14620
|
+
set_class(button, 1, `focus-ring absolute inset-0 bg-transparent rounded-lg z-10 pointer-events-auto focus-visible:border ${containerId() === "container-word-bin" ? "focus-visible:border-gray-400" : "focus-visible:border-gray-800"}`);
|
|
14621
|
+
set_attribute(button, "aria-label", containerLabel());
|
|
14622
|
+
});
|
|
14551
14623
|
append($$anchor2, button);
|
|
14552
14624
|
};
|
|
14553
14625
|
if_block(node, ($$render) => {
|
|
14554
|
-
if (!isLocked() && selectedItemId() && !get$1(isSourceContainer)()
|
|
14626
|
+
if (!isLocked() && selectedItemId() && !get$1(isSourceContainer)()) $$render(consequent);
|
|
14555
14627
|
});
|
|
14556
14628
|
}
|
|
14557
14629
|
var section = sibling(node, 2);
|
|
14558
14630
|
section.__click = handleSectionClick;
|
|
14631
|
+
section.__touchstart = handleSectionTouchStart;
|
|
14632
|
+
section.__touchmove = handleSectionTouchMove;
|
|
14559
14633
|
set_attribute(section, "tabindex", -1);
|
|
14560
14634
|
var node_1 = child(section);
|
|
14561
14635
|
{
|
|
@@ -14583,8 +14657,7 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14583
14657
|
var consequent_4 = ($$anchor3) => {
|
|
14584
14658
|
var fragment_4 = comment();
|
|
14585
14659
|
var node_5 = first_child(fragment_4);
|
|
14586
|
-
each(node_5, 19, () => get$1(
|
|
14587
|
-
const cleanItemId = /* @__PURE__ */ user_derived(() => get$1(item).id.split("@eat-dash@")[0]);
|
|
14660
|
+
each(node_5, 19, () => get$1(localItems), (item) => `${item.id}-${get$1(dragCounter)}`, ($$anchor4, item, index2) => {
|
|
14588
14661
|
const itemResultType = /* @__PURE__ */ user_derived(() => getItemResultType(get$1(item).isClonedItem && get$1(item).cloneId ? get$1(item).cloneId : get$1(item).id));
|
|
14589
14662
|
var fragment_5 = root_6$1();
|
|
14590
14663
|
var node_6 = first_child(fragment_5);
|
|
@@ -14594,15 +14667,13 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14594
14667
|
append($$anchor5, div);
|
|
14595
14668
|
};
|
|
14596
14669
|
if_block(node_6, ($$render) => {
|
|
14597
|
-
if (get$1(itemResultType) === ANSWER_RESULTS.MISSED && get$1(index2) === get$1(
|
|
14670
|
+
if (get$1(itemResultType) === ANSWER_RESULTS.MISSED && get$1(index2) === get$1(localItems).findIndex((i) => getItemResultType(i.id) === ANSWER_RESULTS.MISSED)) $$render(consequent_3);
|
|
14598
14671
|
});
|
|
14599
14672
|
}
|
|
14600
14673
|
var node_7 = sibling(node_6, 2);
|
|
14601
14674
|
{
|
|
14602
14675
|
let $0 = /* @__PURE__ */ user_derived(() => get$1(item).itemText || "");
|
|
14603
|
-
let $1 = /* @__PURE__ */ user_derived(() =>
|
|
14604
|
-
let $2 = /* @__PURE__ */ user_derived(() => get$1(considerItemId) === get$1(item).id);
|
|
14605
|
-
let $3 = /* @__PURE__ */ user_derived(() => !!selectedItemId());
|
|
14676
|
+
let $1 = /* @__PURE__ */ user_derived(() => get$1(considerItemId) === get$1(item).id);
|
|
14606
14677
|
CategoriseItem(node_7, {
|
|
14607
14678
|
get itemId() {
|
|
14608
14679
|
return get$1(item).id;
|
|
@@ -14613,17 +14684,14 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14613
14684
|
get containerId() {
|
|
14614
14685
|
return containerId();
|
|
14615
14686
|
},
|
|
14616
|
-
get
|
|
14617
|
-
return
|
|
14687
|
+
get selectedItemId() {
|
|
14688
|
+
return selectedItemId();
|
|
14618
14689
|
},
|
|
14619
14690
|
get isClonedItem() {
|
|
14620
14691
|
return get$1(item).isClonedItem;
|
|
14621
14692
|
},
|
|
14622
14693
|
get isConsideredItem() {
|
|
14623
|
-
return get$1($
|
|
14624
|
-
},
|
|
14625
|
-
get currentTabContainer() {
|
|
14626
|
-
return currentTabContainer();
|
|
14694
|
+
return get$1($1);
|
|
14627
14695
|
},
|
|
14628
14696
|
get isLocked() {
|
|
14629
14697
|
return isLocked();
|
|
@@ -14637,10 +14705,15 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14637
14705
|
get resultType() {
|
|
14638
14706
|
return get$1(itemResultType);
|
|
14639
14707
|
},
|
|
14640
|
-
get
|
|
14641
|
-
return
|
|
14708
|
+
get activeContainerForKeyboard() {
|
|
14709
|
+
return activeContainerForKeyboard();
|
|
14710
|
+
},
|
|
14711
|
+
get isCollapsed() {
|
|
14712
|
+
return isCollapsed();
|
|
14642
14713
|
},
|
|
14643
14714
|
onclick: () => handleItemClick(get$1(item).id),
|
|
14715
|
+
onfocus: (e2) => onitemfocus()?.(get$1(item).id, e2),
|
|
14716
|
+
onblur: (e2) => onitemblur()?.(get$1(item).id, e2),
|
|
14644
14717
|
onkeydown: (e2) => onitemkeydown()?.(e2, get$1(item).id, get$1(index2))
|
|
14645
14718
|
});
|
|
14646
14719
|
}
|
|
@@ -14666,6 +14739,7 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14666
14739
|
reset(section);
|
|
14667
14740
|
action$1(section, ($$node, $$action_arg) => dndzone?.($$node, $$action_arg), () => get$1(dndConfig));
|
|
14668
14741
|
template_effect(() => {
|
|
14742
|
+
set_attribute(section, "aria-hidden", activeContainerForKeyboard() !== containerId() ? "true" : void 0);
|
|
14669
14743
|
set_attribute(section, "id", containerId());
|
|
14670
14744
|
set_class(section, 1, `flex flex-wrap ${containerClass() ?? ""}`);
|
|
14671
14745
|
set_style(section, paddingTop() > 0 ? `padding-top: ${paddingTop()}px;` : "");
|
|
@@ -14675,24 +14749,28 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14675
14749
|
append($$anchor, fragment);
|
|
14676
14750
|
return pop($$exports);
|
|
14677
14751
|
}
|
|
14678
|
-
delegate(["click"]);
|
|
14752
|
+
delegate(["click", "touchstart", "touchmove"]);
|
|
14679
14753
|
create_custom_element(
|
|
14680
14754
|
CategoriseDndContainer,
|
|
14681
14755
|
{
|
|
14682
14756
|
containerId: {},
|
|
14757
|
+
containerLabel: {},
|
|
14683
14758
|
containerClass: {},
|
|
14684
14759
|
showButton: {},
|
|
14685
14760
|
items: {},
|
|
14686
14761
|
selectedItemId: {},
|
|
14687
14762
|
isLocked: {},
|
|
14688
|
-
currentTabContainer: {},
|
|
14689
14763
|
isMobile: {},
|
|
14690
14764
|
mode: {},
|
|
14691
14765
|
paddingTop: {},
|
|
14692
14766
|
dndType: {},
|
|
14767
|
+
activeContainerForKeyboard: {},
|
|
14768
|
+
isCollapsed: {},
|
|
14693
14769
|
onitemdrop: {},
|
|
14694
14770
|
onitemselect: {},
|
|
14695
14771
|
oncontainerclick: {},
|
|
14772
|
+
onitemfocus: {},
|
|
14773
|
+
onitemblur: {},
|
|
14696
14774
|
onitemkeydown: {},
|
|
14697
14775
|
ondraghover: {},
|
|
14698
14776
|
ondragstart: {},
|
|
@@ -14708,26 +14786,14 @@ var root_1$7 = /* @__PURE__ */ from_html(`<button type="button" class="focus-rin
|
|
|
14708
14786
|
var root$4 = /* @__PURE__ */ from_html(`<div role="group"><div><!> <!></div> <!></div>`);
|
|
14709
14787
|
function CategoriseCategory($$anchor, $$props) {
|
|
14710
14788
|
push($$props, true);
|
|
14711
|
-
let categoryId = prop($$props, "categoryId", 7), categoryTitle = prop($$props, "categoryTitle", 7),
|
|
14712
|
-
const effectiveIsCollapsed = /* @__PURE__ */ user_derived(isCollapsed);
|
|
14713
|
-
const handleToggle = () => {
|
|
14714
|
-
if (isMobile() && ontogglecollapse()) {
|
|
14715
|
-
ontogglecollapse()(categoryId());
|
|
14716
|
-
}
|
|
14717
|
-
};
|
|
14718
|
-
const handleContainerClick = (e2) => {
|
|
14719
|
-
if (get$1(effectiveIsCollapsed) && isMobile() && selectedItemId() && get$1(isNotSourceContainer) && oncontainerclick()) {
|
|
14720
|
-
const target = e2.target;
|
|
14721
|
-
if (!target.closest('button[aria-label*="word"]')) {
|
|
14722
|
-
oncontainerclick()(categoryId());
|
|
14723
|
-
}
|
|
14724
|
-
}
|
|
14725
|
-
};
|
|
14726
|
-
const itemCount = /* @__PURE__ */ user_derived(() => items().length);
|
|
14727
|
-
const getTotalWords = /* @__PURE__ */ user_derived(() => `${get$1(itemCount)} ${get$1(itemCount) === 1 ? "word" : "words"}`);
|
|
14789
|
+
let categoryId = prop($$props, "categoryId", 7), categoryTitle = prop($$props, "categoryTitle", 7), categoryIndex = prop($$props, "categoryIndex", 7, 1), items = prop($$props, "items", 23, () => []), selectedItemId = prop($$props, "selectedItemId", 7, void 0), isLocked = prop($$props, "isLocked", 7, false), isCollapsed = prop($$props, "isCollapsed", 7, false), isDraggingOver = prop($$props, "isDraggingOver", 7, false), dropContainerId = prop($$props, "dropContainerId", 7, void 0), hasAddItemAnimation = prop($$props, "hasAddItemAnimation", 7, false), dragSourceContainerId = prop($$props, "dragSourceContainerId", 7, void 0), mode = prop($$props, "mode", 7), isMobile = prop($$props, "isMobile", 7, false), hasStimulus = prop($$props, "hasStimulus", 7, false), dndType = prop($$props, "dndType", 7, "categorise"), tabindex = prop($$props, "tabindex", 7, 0), activeContainerForKeyboard = prop($$props, "activeContainerForKeyboard", 7, void 0), onitemdrop = prop($$props, "onitemdrop", 7), onitemselect = prop($$props, "onitemselect", 7), oncontainerclick = prop($$props, "oncontainerclick", 7), ontogglecollapse = prop($$props, "ontogglecollapse", 7), onitemfocus = prop($$props, "onitemfocus", 7), onitemblur = prop($$props, "onitemblur", 7), onitemkeydown = prop($$props, "onitemkeydown", 7), onkeydown = prop($$props, "onkeydown", 7), ondraghover = prop($$props, "ondraghover", 7), ondragstart = prop($$props, "ondragstart", 7);
|
|
14728
14790
|
let categoryTitleHeight = /* @__PURE__ */ state(0);
|
|
14729
14791
|
let titleElement = /* @__PURE__ */ state(void 0);
|
|
14730
14792
|
let categoryElement = /* @__PURE__ */ state(void 0);
|
|
14793
|
+
const effectiveIsCollapsed = /* @__PURE__ */ user_derived(isCollapsed);
|
|
14794
|
+
const itemCount = /* @__PURE__ */ user_derived(() => items().length);
|
|
14795
|
+
const getTotalWords = /* @__PURE__ */ user_derived(() => `${get$1(itemCount)} ${get$1(itemCount) === 1 ? "word" : "words"}`);
|
|
14796
|
+
const cleanCategoryTitle = /* @__PURE__ */ user_derived(() => useRemoveRichTextHtmlTags(categoryTitle()));
|
|
14731
14797
|
const isDropTarget = /* @__PURE__ */ user_derived(() => dropContainerId() === categoryId());
|
|
14732
14798
|
const isNotSourceContainer = /* @__PURE__ */ user_derived(() => dragSourceContainerId() !== categoryId());
|
|
14733
14799
|
const hasSelectedItem = /* @__PURE__ */ user_derived(() => !!selectedItemId());
|
|
@@ -14747,12 +14813,21 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
14747
14813
|
${get$1(isDropTarget) && get$1(isNotSourceContainer) ? "bg-transparent" : "bg-white"}
|
|
14748
14814
|
${get$1(effectiveIsCollapsed) && isDraggingOver() && get$1(isNotSourceContainer) ? "!bg-violet-100 md:!bg-white" : ""}
|
|
14749
14815
|
${get$1(effectiveIsCollapsed) && isMobile() ? "rounded-b-lg md:rounded-b-none" : ""}`);
|
|
14750
|
-
const adjustedTabindex = /* @__PURE__ */ user_derived(
|
|
14751
|
-
|
|
14752
|
-
|
|
14816
|
+
const adjustedTabindex = /* @__PURE__ */ user_derived(tabindex);
|
|
14817
|
+
const shouldShowAriaLabel = /* @__PURE__ */ user_derived(() => !get$1(hasSelectedItem) || !get$1(isNotSourceContainer));
|
|
14818
|
+
const handleToggle = () => {
|
|
14819
|
+
if (isMobile() && ontogglecollapse()) {
|
|
14820
|
+
ontogglecollapse()(categoryId());
|
|
14753
14821
|
}
|
|
14754
|
-
|
|
14755
|
-
|
|
14822
|
+
};
|
|
14823
|
+
const handleContainerClick = (e2) => {
|
|
14824
|
+
if (get$1(effectiveIsCollapsed) && isMobile() && selectedItemId() && get$1(isNotSourceContainer) && oncontainerclick()) {
|
|
14825
|
+
const target = e2.target;
|
|
14826
|
+
if (!target.closest('button[aria-label*="word"]')) {
|
|
14827
|
+
oncontainerclick()(categoryId());
|
|
14828
|
+
}
|
|
14829
|
+
}
|
|
14830
|
+
};
|
|
14756
14831
|
var $$exports = {
|
|
14757
14832
|
get categoryElement() {
|
|
14758
14833
|
return get$1(categoryElement);
|
|
@@ -14774,6 +14849,13 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
14774
14849
|
categoryTitle($$value);
|
|
14775
14850
|
flushSync();
|
|
14776
14851
|
},
|
|
14852
|
+
get categoryIndex() {
|
|
14853
|
+
return categoryIndex();
|
|
14854
|
+
},
|
|
14855
|
+
set categoryIndex($$value = 1) {
|
|
14856
|
+
categoryIndex($$value);
|
|
14857
|
+
flushSync();
|
|
14858
|
+
},
|
|
14777
14859
|
get items() {
|
|
14778
14860
|
return items();
|
|
14779
14861
|
},
|
|
@@ -14795,13 +14877,6 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
14795
14877
|
isLocked($$value);
|
|
14796
14878
|
flushSync();
|
|
14797
14879
|
},
|
|
14798
|
-
get currentTabContainer() {
|
|
14799
|
-
return currentTabContainer();
|
|
14800
|
-
},
|
|
14801
|
-
set currentTabContainer($$value = null) {
|
|
14802
|
-
currentTabContainer($$value);
|
|
14803
|
-
flushSync();
|
|
14804
|
-
},
|
|
14805
14880
|
get isCollapsed() {
|
|
14806
14881
|
return isCollapsed();
|
|
14807
14882
|
},
|
|
@@ -14872,6 +14947,13 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
14872
14947
|
tabindex($$value);
|
|
14873
14948
|
flushSync();
|
|
14874
14949
|
},
|
|
14950
|
+
get activeContainerForKeyboard() {
|
|
14951
|
+
return activeContainerForKeyboard();
|
|
14952
|
+
},
|
|
14953
|
+
set activeContainerForKeyboard($$value = void 0) {
|
|
14954
|
+
activeContainerForKeyboard($$value);
|
|
14955
|
+
flushSync();
|
|
14956
|
+
},
|
|
14875
14957
|
get onitemdrop() {
|
|
14876
14958
|
return onitemdrop();
|
|
14877
14959
|
},
|
|
@@ -14900,6 +14982,20 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
14900
14982
|
ontogglecollapse($$value);
|
|
14901
14983
|
flushSync();
|
|
14902
14984
|
},
|
|
14985
|
+
get onitemfocus() {
|
|
14986
|
+
return onitemfocus();
|
|
14987
|
+
},
|
|
14988
|
+
set onitemfocus($$value) {
|
|
14989
|
+
onitemfocus($$value);
|
|
14990
|
+
flushSync();
|
|
14991
|
+
},
|
|
14992
|
+
get onitemblur() {
|
|
14993
|
+
return onitemblur();
|
|
14994
|
+
},
|
|
14995
|
+
set onitemblur($$value) {
|
|
14996
|
+
onitemblur($$value);
|
|
14997
|
+
flushSync();
|
|
14998
|
+
},
|
|
14903
14999
|
get onitemkeydown() {
|
|
14904
15000
|
return onitemkeydown();
|
|
14905
15001
|
},
|
|
@@ -14914,13 +15010,6 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
14914
15010
|
onkeydown($$value);
|
|
14915
15011
|
flushSync();
|
|
14916
15012
|
},
|
|
14917
|
-
get onfocus() {
|
|
14918
|
-
return onfocus();
|
|
14919
|
-
},
|
|
14920
|
-
set onfocus($$value) {
|
|
14921
|
-
onfocus($$value);
|
|
14922
|
-
flushSync();
|
|
14923
|
-
},
|
|
14924
15013
|
get ondraghover() {
|
|
14925
15014
|
return ondraghover();
|
|
14926
15015
|
},
|
|
@@ -14938,7 +15027,7 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
14938
15027
|
};
|
|
14939
15028
|
var div = root$4();
|
|
14940
15029
|
div.__keydown = function(...$$args) {
|
|
14941
|
-
onkeydown()?.apply(this, $$args);
|
|
15030
|
+
(onkeydown() || void 0)?.apply(this, $$args);
|
|
14942
15031
|
};
|
|
14943
15032
|
div.__click = handleContainerClick;
|
|
14944
15033
|
var div_1 = child(div);
|
|
@@ -14947,7 +15036,8 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
14947
15036
|
get htmlString() {
|
|
14948
15037
|
return categoryTitle();
|
|
14949
15038
|
},
|
|
14950
|
-
otherClass: "text-base leading-5 !text-gray-900 md:item-heading"
|
|
15039
|
+
otherClass: "text-base leading-5 !text-gray-900 md:item-heading",
|
|
15040
|
+
ariaHidden: true
|
|
14951
15041
|
});
|
|
14952
15042
|
var node_1 = sibling(node, 2);
|
|
14953
15043
|
{
|
|
@@ -14982,6 +15072,7 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
14982
15072
|
reset(button);
|
|
14983
15073
|
template_effect(() => {
|
|
14984
15074
|
set_attribute(button, "aria-label", get$1(getTotalWords));
|
|
15075
|
+
set_attribute(button, "tabindex", selectedItemId() ? -1 : 0);
|
|
14985
15076
|
set_text(text, get$1(getTotalWords));
|
|
14986
15077
|
});
|
|
14987
15078
|
append($$anchor2, button);
|
|
@@ -14997,16 +15088,24 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
14997
15088
|
{
|
|
14998
15089
|
const children = ($$anchor3) => {
|
|
14999
15090
|
};
|
|
15000
|
-
let $0 = /* @__PURE__ */ user_derived(() =>
|
|
15091
|
+
let $0 = /* @__PURE__ */ user_derived(() => `Category ${categoryIndex()}: ${get$1(cleanCategoryTitle)}`);
|
|
15092
|
+
let $1 = /* @__PURE__ */ user_derived(() => !get$1(effectiveIsCollapsed) || !isMobile());
|
|
15093
|
+
let $2 = /* @__PURE__ */ user_derived(() => get$1(effectiveIsCollapsed) && isMobile());
|
|
15001
15094
|
CategoriseDndContainer($$anchor2, {
|
|
15002
15095
|
get containerId() {
|
|
15003
15096
|
return categoryId();
|
|
15004
15097
|
},
|
|
15098
|
+
get containerLabel() {
|
|
15099
|
+
return get$1($0);
|
|
15100
|
+
},
|
|
15005
15101
|
get containerClass() {
|
|
15006
15102
|
return get$1(containerClasses);
|
|
15007
15103
|
},
|
|
15008
15104
|
get showButton() {
|
|
15009
|
-
return get$1($
|
|
15105
|
+
return get$1($1);
|
|
15106
|
+
},
|
|
15107
|
+
get isCollapsed() {
|
|
15108
|
+
return get$1($2);
|
|
15010
15109
|
},
|
|
15011
15110
|
get items() {
|
|
15012
15111
|
return items();
|
|
@@ -15017,9 +15116,6 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
15017
15116
|
get isLocked() {
|
|
15018
15117
|
return isLocked();
|
|
15019
15118
|
},
|
|
15020
|
-
get currentTabContainer() {
|
|
15021
|
-
return currentTabContainer();
|
|
15022
|
-
},
|
|
15023
15119
|
get mode() {
|
|
15024
15120
|
return mode();
|
|
15025
15121
|
},
|
|
@@ -15029,6 +15125,9 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
15029
15125
|
get paddingTop() {
|
|
15030
15126
|
return get$1(paddingTopValue);
|
|
15031
15127
|
},
|
|
15128
|
+
get activeContainerForKeyboard() {
|
|
15129
|
+
return activeContainerForKeyboard();
|
|
15130
|
+
},
|
|
15032
15131
|
get onitemdrop() {
|
|
15033
15132
|
return onitemdrop();
|
|
15034
15133
|
},
|
|
@@ -15038,6 +15137,12 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
15038
15137
|
get oncontainerclick() {
|
|
15039
15138
|
return oncontainerclick();
|
|
15040
15139
|
},
|
|
15140
|
+
get onitemfocus() {
|
|
15141
|
+
return onitemfocus();
|
|
15142
|
+
},
|
|
15143
|
+
get onitemblur() {
|
|
15144
|
+
return onitemblur();
|
|
15145
|
+
},
|
|
15041
15146
|
get onitemkeydown() {
|
|
15042
15147
|
return onitemkeydown();
|
|
15043
15148
|
},
|
|
@@ -15054,16 +15159,11 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
15054
15159
|
});
|
|
15055
15160
|
reset(div);
|
|
15056
15161
|
bind_this(div, ($$value) => set(categoryElement, $$value), () => get$1(categoryElement));
|
|
15057
|
-
template_effect(
|
|
15058
|
-
($
|
|
15059
|
-
|
|
15060
|
-
|
|
15061
|
-
|
|
15062
|
-
},
|
|
15063
|
-
[() => get$1(adjustedTabindex)()]
|
|
15064
|
-
);
|
|
15065
|
-
event("focus", div, function(...$$args) {
|
|
15066
|
-
onfocus()?.apply(this, $$args);
|
|
15162
|
+
template_effect(() => {
|
|
15163
|
+
set_attribute(div, "tabindex", get$1(adjustedTabindex));
|
|
15164
|
+
set_attribute(div, "aria-label", get$1(shouldShowAriaLabel) ? `Category ${categoryIndex()}: ${get$1(cleanCategoryTitle)}. ${get$1(getTotalWords)} added.` : void 0);
|
|
15165
|
+
set_class(div, 1, clsx(get$1(outerClasses)));
|
|
15166
|
+
set_class(div_1, 1, clsx(get$1(titleClasses)));
|
|
15067
15167
|
});
|
|
15068
15168
|
bind_element_size(div_1, "clientHeight", ($$value) => set(categoryTitleHeight, $$value));
|
|
15069
15169
|
append($$anchor, div);
|
|
@@ -15075,10 +15175,10 @@ create_custom_element(
|
|
|
15075
15175
|
{
|
|
15076
15176
|
categoryId: {},
|
|
15077
15177
|
categoryTitle: {},
|
|
15178
|
+
categoryIndex: {},
|
|
15078
15179
|
items: {},
|
|
15079
15180
|
selectedItemId: {},
|
|
15080
15181
|
isLocked: {},
|
|
15081
|
-
currentTabContainer: {},
|
|
15082
15182
|
isCollapsed: {},
|
|
15083
15183
|
isDraggingOver: {},
|
|
15084
15184
|
dropContainerId: {},
|
|
@@ -15089,13 +15189,15 @@ create_custom_element(
|
|
|
15089
15189
|
hasStimulus: {},
|
|
15090
15190
|
dndType: {},
|
|
15091
15191
|
tabindex: {},
|
|
15192
|
+
activeContainerForKeyboard: {},
|
|
15092
15193
|
onitemdrop: {},
|
|
15093
15194
|
onitemselect: {},
|
|
15094
15195
|
oncontainerclick: {},
|
|
15095
15196
|
ontogglecollapse: {},
|
|
15197
|
+
onitemfocus: {},
|
|
15198
|
+
onitemblur: {},
|
|
15096
15199
|
onitemkeydown: {},
|
|
15097
15200
|
onkeydown: {},
|
|
15098
|
-
onfocus: {},
|
|
15099
15201
|
ondraghover: {},
|
|
15100
15202
|
ondragstart: {}
|
|
15101
15203
|
},
|
|
@@ -15107,16 +15209,11 @@ var root_1$6 = /* @__PURE__ */ from_html(`<div role="group" tabindex="-1" class=
|
|
|
15107
15209
|
absolute top-12 right-4 left-4 bottom-4 flex items-center justify-center !bg-white md:top-20">Word Bin is empty</div>`);
|
|
15108
15210
|
var root_2$2 = /* @__PURE__ */ from_html(`<button type="button" class="focus-ring p-2 text-blue-1000 rounded-md w-11 h-11 mt-9 td:hover:bg-black-50 active:bg-black-60 disabled:text-gray-40 disabled:hover:bg-white md:hidden" aria-label="Left"><span class="w-6 h-6 text-inherit flex items-center justify-center"><!></span></button>`);
|
|
15109
15211
|
var root_3$2 = /* @__PURE__ */ from_html(`<button type="button" class="focus-ring p-2 text-blue-1000 rounded-md w-11 h-11 mt-9 td:hover:bg-black-50 active:bg-black-60 disabled:text-gray-40 disabled:hover:bg-white md:hidden" aria-label="Right"><span class="w-6 h-6 text-inherit flex items-center justify-center ml-[3px]"><!></span></button>`);
|
|
15110
|
-
var root$3 = /* @__PURE__ */ from_html(`<div role="group"><div><span class="text-base leading-5 !text-gray-900 font-semibold md:mb-2 md:item-heading">Word Bin </span> <span class="text-base leading-5 !text-gray-900 md:item-heading"> </span></div> <div class="flex items-center justify-between px-4 min-h-[133px] md:min-h-0 md:block md:px-0 md:justify-normal"><!> <!> <!> <!></div></div>`);
|
|
15212
|
+
var root$3 = /* @__PURE__ */ from_html(`<div role="group"><div><span class="text-base leading-5 !text-gray-900 font-semibold md:mb-2 md:item-heading" aria-hidden="true">Word Bin </span> <span class="text-base leading-5 !text-gray-900 md:item-heading" aria-hidden="true"> </span></div> <div class="flex items-center justify-between px-4 min-h-[133px] md:min-h-0 md:block md:px-0 md:justify-normal"><!> <!> <!> <!></div></div>`);
|
|
15111
15213
|
function CategoriseWordBin($$anchor, $$props) {
|
|
15112
15214
|
push($$props, true);
|
|
15113
|
-
let containerId = prop($$props, "containerId", 7), items = prop($$props, "items", 23, () => []), selectedItemId = prop($$props, "selectedItemId", 7, void 0), isLocked = prop($$props, "isLocked", 7, false),
|
|
15215
|
+
let containerId = prop($$props, "containerId", 7), items = prop($$props, "items", 23, () => []), selectedItemId = prop($$props, "selectedItemId", 7, void 0), isLocked = prop($$props, "isLocked", 7, false), isDraggingOver = prop($$props, "isDraggingOver", 7, false), dropContainerId = prop($$props, "dropContainerId", 7, void 0), hasAddItemAnimation = prop($$props, "hasAddItemAnimation", 7, false), dragSourceContainerId = prop($$props, "dragSourceContainerId", 7, void 0), mode = prop($$props, "mode", 7), isMobile = prop($$props, "isMobile", 7, false), currentMobileIndex = prop($$props, "currentMobileIndex", 7, 0), totalItems = prop($$props, "totalItems", 7, 0), tabindex = prop($$props, "tabindex", 7, 0), dndType = prop($$props, "dndType", 7, "categorise"), activeContainerForKeyboard = prop($$props, "activeContainerForKeyboard", 7, void 0), onitemdrop = prop($$props, "onitemdrop", 7), onitemselect = prop($$props, "onitemselect", 7), oncontainerclick = prop($$props, "oncontainerclick", 7), onnavigateitem = prop($$props, "onnavigateitem", 7), onitemfocus = prop($$props, "onitemfocus", 7), onitemblur = prop($$props, "onitemblur", 7), onitemkeydown = prop($$props, "onitemkeydown", 7), ondraghover = prop($$props, "ondraghover", 7), ondragstart = prop($$props, "ondragstart", 7), onkeydown = prop($$props, "onkeydown", 7), onfocus = prop($$props, "onfocus", 7, void 0);
|
|
15114
15216
|
let wordBinElement = /* @__PURE__ */ state(void 0);
|
|
15115
|
-
const handleNavigate = (direction) => {
|
|
15116
|
-
if (onnavigateitem()) {
|
|
15117
|
-
onnavigateitem()(direction);
|
|
15118
|
-
}
|
|
15119
|
-
};
|
|
15120
15217
|
const displayItems = /* @__PURE__ */ user_derived(() => isMobile() && items().length > 0 ? [items()[currentMobileIndex()]].filter(Boolean) : items());
|
|
15121
15218
|
const itemsRemaining = /* @__PURE__ */ user_derived(() => items().length);
|
|
15122
15219
|
const showNavigation = /* @__PURE__ */ user_derived(() => isMobile() && items().length > 0);
|
|
@@ -15124,39 +15221,64 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15124
15221
|
const isNotSourceContainer = /* @__PURE__ */ user_derived(() => dragSourceContainerId() !== containerId());
|
|
15125
15222
|
const hasSelectedItem = /* @__PURE__ */ user_derived(() => !!selectedItemId());
|
|
15126
15223
|
const isValidDropTarget = /* @__PURE__ */ user_derived(() => get$1(hasSelectedItem) && get$1(isNotSourceContainer));
|
|
15127
|
-
const containerClasses = /* @__PURE__ */ user_derived(() => `!outline-none bg-transparent p-4 pt-[55px] grow md:grow-0 md:pt-20.5 justify-center md:justify-normal
|
|
15128
|
-
${isDraggingOver() && get$1(isNotSourceContainer) ? "!bg-violet-100" : ""}`);
|
|
15129
15224
|
const isPreviewMode2 = /* @__PURE__ */ user_derived(isLocked);
|
|
15130
|
-
const
|
|
15131
|
-
|
|
15132
|
-
|
|
15133
|
-
|
|
15134
|
-
|
|
15135
|
-
|
|
15136
|
-
|
|
15137
|
-
|
|
15138
|
-
|
|
15139
|
-
|
|
15140
|
-
|
|
15141
|
-
|
|
15142
|
-
|
|
15225
|
+
const handleNavigate = (direction) => {
|
|
15226
|
+
if (onnavigateitem()) {
|
|
15227
|
+
onnavigateitem()(direction);
|
|
15228
|
+
}
|
|
15229
|
+
};
|
|
15230
|
+
const containerClasses = /* @__PURE__ */ user_derived(() => [
|
|
15231
|
+
"!outline-none",
|
|
15232
|
+
"bg-transparent",
|
|
15233
|
+
"p-4",
|
|
15234
|
+
"pt-[55px]",
|
|
15235
|
+
"grow",
|
|
15236
|
+
"md:grow-0",
|
|
15237
|
+
"md:pt-20.5",
|
|
15238
|
+
"justify-center",
|
|
15239
|
+
"md:justify-normal",
|
|
15240
|
+
isDraggingOver() && get$1(isNotSourceContainer) ? "!bg-violet-100" : ""
|
|
15241
|
+
].filter(Boolean).join(" "));
|
|
15242
|
+
const outerClasses = /* @__PURE__ */ user_derived(() => [
|
|
15243
|
+
get$1(isPreviewMode2) ? "select-none" : "",
|
|
15244
|
+
"shadow-[0_-12px_14px_-16px_#00000033]",
|
|
15245
|
+
"rounded-lg",
|
|
15246
|
+
"relative",
|
|
15247
|
+
"min-h-[133px]",
|
|
15248
|
+
"md:min-h-[164px]",
|
|
15249
|
+
"md:border",
|
|
15250
|
+
"md:shadow-[0_0_#0000]",
|
|
15251
|
+
"md:border-gray-400",
|
|
15252
|
+
get$1(isPreviewMode2) ? "focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-soft-blue focus-visible:ring-offset-4 focus-visible:duration-50" : "focus-ring",
|
|
15253
|
+
isDraggingOver() && get$1(isNotSourceContainer) ? "raw-focus-ring bg-violet-100" : "",
|
|
15254
|
+
get$1(isDropTarget) && get$1(isNotSourceContainer) ? "bg-violet-150" : "",
|
|
15255
|
+
get$1(isDropTarget) && hasAddItemAnimation() && get$1(isNotSourceContainer) ? "transition bg-white duration-300" : "",
|
|
15256
|
+
get$1(isValidDropTarget) ? "td:hover:bg-violet-100 td:hover-focus-ring cursor-pointer" : "",
|
|
15257
|
+
get$1(hasSelectedItem) && !get$1(isNotSourceContainer) ? "cursor-default" : ""
|
|
15258
|
+
].filter(Boolean).join(" "));
|
|
15259
|
+
const titleClasses = /* @__PURE__ */ user_derived(() => [
|
|
15260
|
+
"p-4",
|
|
15261
|
+
"pb-3",
|
|
15262
|
+
"text-center",
|
|
15263
|
+
"w-full",
|
|
15264
|
+
"absolute",
|
|
15265
|
+
"flex",
|
|
15266
|
+
"flex-row",
|
|
15267
|
+
"items-center",
|
|
15268
|
+
"justify-between",
|
|
15269
|
+
"md:justify-center",
|
|
15270
|
+
"md:flex-col",
|
|
15271
|
+
"md:pb-0",
|
|
15272
|
+
get$1(isDropTarget) && !hasAddItemAnimation() && get$1(isNotSourceContainer) ? "bg-violet-150" : "",
|
|
15273
|
+
get$1(isDropTarget) && hasAddItemAnimation() && get$1(isNotSourceContainer) ? "transition duration-300 bg-white" : "",
|
|
15274
|
+
isDraggingOver() && get$1(isNotSourceContainer) ? "bg-violet-100" : "",
|
|
15275
|
+
get$1(isValidDropTarget) ? "td:hover:bg-violet-100" : ""
|
|
15276
|
+
].filter(Boolean).join(" "));
|
|
15143
15277
|
const handleEmptyClick = () => {
|
|
15144
15278
|
if (selectedItemId() && oncontainerclick()) {
|
|
15145
15279
|
oncontainerclick()(containerId());
|
|
15146
15280
|
}
|
|
15147
15281
|
};
|
|
15148
|
-
const handleContainerKeyDown = (event2) => {
|
|
15149
|
-
if (isMobile() && event2.key === "Enter" && items().length > 0 && get$1(wordBinElement) && !selectedItemId()) {
|
|
15150
|
-
event2.preventDefault();
|
|
15151
|
-
const itemButton = get$1(wordBinElement).querySelector("[data-item-button]");
|
|
15152
|
-
if (itemButton) {
|
|
15153
|
-
itemButton.focus();
|
|
15154
|
-
}
|
|
15155
|
-
}
|
|
15156
|
-
if (onkeydown()) {
|
|
15157
|
-
onkeydown()(event2);
|
|
15158
|
-
}
|
|
15159
|
-
};
|
|
15160
15282
|
var $$exports = {
|
|
15161
15283
|
get wordBinElement() {
|
|
15162
15284
|
return get$1(wordBinElement);
|
|
@@ -15192,13 +15314,6 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15192
15314
|
isLocked($$value);
|
|
15193
15315
|
flushSync();
|
|
15194
15316
|
},
|
|
15195
|
-
get currentTabContainer() {
|
|
15196
|
-
return currentTabContainer();
|
|
15197
|
-
},
|
|
15198
|
-
set currentTabContainer($$value = null) {
|
|
15199
|
-
currentTabContainer($$value);
|
|
15200
|
-
flushSync();
|
|
15201
|
-
},
|
|
15202
15317
|
get isDraggingOver() {
|
|
15203
15318
|
return isDraggingOver();
|
|
15204
15319
|
},
|
|
@@ -15255,6 +15370,13 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15255
15370
|
totalItems($$value);
|
|
15256
15371
|
flushSync();
|
|
15257
15372
|
},
|
|
15373
|
+
get tabindex() {
|
|
15374
|
+
return tabindex();
|
|
15375
|
+
},
|
|
15376
|
+
set tabindex($$value = 0) {
|
|
15377
|
+
tabindex($$value);
|
|
15378
|
+
flushSync();
|
|
15379
|
+
},
|
|
15258
15380
|
get dndType() {
|
|
15259
15381
|
return dndType();
|
|
15260
15382
|
},
|
|
@@ -15262,6 +15384,13 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15262
15384
|
dndType($$value);
|
|
15263
15385
|
flushSync();
|
|
15264
15386
|
},
|
|
15387
|
+
get activeContainerForKeyboard() {
|
|
15388
|
+
return activeContainerForKeyboard();
|
|
15389
|
+
},
|
|
15390
|
+
set activeContainerForKeyboard($$value = void 0) {
|
|
15391
|
+
activeContainerForKeyboard($$value);
|
|
15392
|
+
flushSync();
|
|
15393
|
+
},
|
|
15265
15394
|
get onitemdrop() {
|
|
15266
15395
|
return onitemdrop();
|
|
15267
15396
|
},
|
|
@@ -15290,6 +15419,20 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15290
15419
|
onnavigateitem($$value);
|
|
15291
15420
|
flushSync();
|
|
15292
15421
|
},
|
|
15422
|
+
get onitemfocus() {
|
|
15423
|
+
return onitemfocus();
|
|
15424
|
+
},
|
|
15425
|
+
set onitemfocus($$value) {
|
|
15426
|
+
onitemfocus($$value);
|
|
15427
|
+
flushSync();
|
|
15428
|
+
},
|
|
15429
|
+
get onitemblur() {
|
|
15430
|
+
return onitemblur();
|
|
15431
|
+
},
|
|
15432
|
+
set onitemblur($$value) {
|
|
15433
|
+
onitemblur($$value);
|
|
15434
|
+
flushSync();
|
|
15435
|
+
},
|
|
15293
15436
|
get onitemkeydown() {
|
|
15294
15437
|
return onitemkeydown();
|
|
15295
15438
|
},
|
|
@@ -15321,13 +15464,15 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15321
15464
|
get onfocus() {
|
|
15322
15465
|
return onfocus();
|
|
15323
15466
|
},
|
|
15324
|
-
set onfocus($$value) {
|
|
15467
|
+
set onfocus($$value = void 0) {
|
|
15325
15468
|
onfocus($$value);
|
|
15326
15469
|
flushSync();
|
|
15327
15470
|
}
|
|
15328
15471
|
};
|
|
15329
15472
|
var div = root$3();
|
|
15330
|
-
div.__keydown =
|
|
15473
|
+
div.__keydown = function(...$$args) {
|
|
15474
|
+
(onkeydown() || void 0)?.apply(this, $$args);
|
|
15475
|
+
};
|
|
15331
15476
|
var div_1 = child(div);
|
|
15332
15477
|
var span = sibling(child(div_1), 2);
|
|
15333
15478
|
var text = child(span);
|
|
@@ -15373,6 +15518,7 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15373
15518
|
get containerId() {
|
|
15374
15519
|
return containerId();
|
|
15375
15520
|
},
|
|
15521
|
+
containerLabel: "Word Bin",
|
|
15376
15522
|
get containerClass() {
|
|
15377
15523
|
return get$1(containerClasses);
|
|
15378
15524
|
},
|
|
@@ -15385,9 +15531,6 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15385
15531
|
get isLocked() {
|
|
15386
15532
|
return isLocked();
|
|
15387
15533
|
},
|
|
15388
|
-
get currentTabContainer() {
|
|
15389
|
-
return currentTabContainer();
|
|
15390
|
-
},
|
|
15391
15534
|
get isMobile() {
|
|
15392
15535
|
return isMobile();
|
|
15393
15536
|
},
|
|
@@ -15397,6 +15540,9 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15397
15540
|
get dndType() {
|
|
15398
15541
|
return dndType();
|
|
15399
15542
|
},
|
|
15543
|
+
get activeContainerForKeyboard() {
|
|
15544
|
+
return activeContainerForKeyboard();
|
|
15545
|
+
},
|
|
15400
15546
|
get onitemdrop() {
|
|
15401
15547
|
return onitemdrop();
|
|
15402
15548
|
},
|
|
@@ -15406,6 +15552,12 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15406
15552
|
get oncontainerclick() {
|
|
15407
15553
|
return oncontainerclick();
|
|
15408
15554
|
},
|
|
15555
|
+
get onitemfocus() {
|
|
15556
|
+
return onitemfocus();
|
|
15557
|
+
},
|
|
15558
|
+
get onitemblur() {
|
|
15559
|
+
return onitemblur();
|
|
15560
|
+
},
|
|
15409
15561
|
get onitemkeydown() {
|
|
15410
15562
|
return onitemkeydown();
|
|
15411
15563
|
},
|
|
@@ -15442,13 +15594,14 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15442
15594
|
reset(div);
|
|
15443
15595
|
bind_this(div, ($$value) => set(wordBinElement, $$value), () => get$1(wordBinElement));
|
|
15444
15596
|
template_effect(() => {
|
|
15445
|
-
set_attribute(div, "tabindex",
|
|
15597
|
+
set_attribute(div, "tabindex", tabindex());
|
|
15598
|
+
set_attribute(div, "aria-label", !get$1(hasSelectedItem) || !get$1(isNotSourceContainer) ? `Word Bin. ${get$1(itemsRemaining)} out of ${totalItems()} left.` : void 0);
|
|
15446
15599
|
set_class(div, 1, clsx(get$1(outerClasses)));
|
|
15447
15600
|
set_class(div_1, 1, clsx(get$1(titleClasses)));
|
|
15448
15601
|
set_text(text, `${get$1(itemsRemaining) ?? ""} out of ${totalItems() ?? ""} left`);
|
|
15449
15602
|
});
|
|
15450
15603
|
event("focus", div, function(...$$args) {
|
|
15451
|
-
onfocus()?.apply(this, $$args);
|
|
15604
|
+
(onfocus() || void 0)?.apply(this, $$args);
|
|
15452
15605
|
});
|
|
15453
15606
|
append($$anchor, div);
|
|
15454
15607
|
return pop($$exports);
|
|
@@ -15461,7 +15614,6 @@ create_custom_element(
|
|
|
15461
15614
|
items: {},
|
|
15462
15615
|
selectedItemId: {},
|
|
15463
15616
|
isLocked: {},
|
|
15464
|
-
currentTabContainer: {},
|
|
15465
15617
|
isDraggingOver: {},
|
|
15466
15618
|
dropContainerId: {},
|
|
15467
15619
|
hasAddItemAnimation: {},
|
|
@@ -15470,11 +15622,15 @@ create_custom_element(
|
|
|
15470
15622
|
isMobile: {},
|
|
15471
15623
|
currentMobileIndex: {},
|
|
15472
15624
|
totalItems: {},
|
|
15625
|
+
tabindex: {},
|
|
15473
15626
|
dndType: {},
|
|
15627
|
+
activeContainerForKeyboard: {},
|
|
15474
15628
|
onitemdrop: {},
|
|
15475
15629
|
onitemselect: {},
|
|
15476
15630
|
oncontainerclick: {},
|
|
15477
15631
|
onnavigateitem: {},
|
|
15632
|
+
onitemfocus: {},
|
|
15633
|
+
onitemblur: {},
|
|
15478
15634
|
onitemkeydown: {},
|
|
15479
15635
|
ondraghover: {},
|
|
15480
15636
|
ondragstart: {},
|
|
@@ -15519,13 +15675,11 @@ function CategoriseModal($$anchor, $$props) {
|
|
|
15519
15675
|
push($$props, true);
|
|
15520
15676
|
let isOpen = prop($$props, "isOpen", 7, false), onclose = prop($$props, "onclose", 7), onreset = prop($$props, "onreset", 7);
|
|
15521
15677
|
let categoryModalRef = /* @__PURE__ */ state(void 0);
|
|
15522
|
-
let ariaHidden = /* @__PURE__ */ state(false);
|
|
15523
15678
|
user_effect(() => {
|
|
15524
15679
|
if (isOpen() && get$1(categoryModalRef)) {
|
|
15525
15680
|
setTimeout(
|
|
15526
15681
|
() => {
|
|
15527
15682
|
get$1(categoryModalRef)?.focus();
|
|
15528
|
-
set(ariaHidden, true);
|
|
15529
15683
|
},
|
|
15530
15684
|
0
|
|
15531
15685
|
);
|
|
@@ -15590,7 +15744,6 @@ function CategoriseModal($$anchor, $$props) {
|
|
|
15590
15744
|
button_2.__click = handleReset;
|
|
15591
15745
|
reset(div_3);
|
|
15592
15746
|
reset(div_1);
|
|
15593
|
-
template_effect(() => set_attribute(div, "aria-hidden", get$1(ariaHidden)));
|
|
15594
15747
|
append($$anchor2, fragment_1);
|
|
15595
15748
|
},
|
|
15596
15749
|
$$slots: { default: true }
|
|
@@ -15603,12 +15756,14 @@ var root_2$1 = /* @__PURE__ */ from_html(`<button aria-label="Reset words" class
|
|
|
15603
15756
|
text-blue-1000 px-3 py-2 absolute right-0 -top-2.5 hover:bg-blue-100"><span class="h-6 w-6 flex items-center justify-center"><!></span> <span class="text-base leading-4 font-bold ml-1 group-hover:underline">Reset <span class="hidden md:inline-block">words</span></span></button>`);
|
|
15604
15757
|
var root_1$4 = /* @__PURE__ */ from_html(
|
|
15605
15758
|
`<button type="button" aria-label="Skip to Word Bin" class="flex items-center text-charcoal border-l-6 border-charcoal bg-yellow-1000 py-1.5 pr-3 pl-4 focus-visible:border-charcoal
|
|
15606
|
-
left-[-9999px] z-0 focus-within:left-0 focus-within:right-0 focus-within:top-0 absolute focus-within:z-30 focus-visible:outline-none"><span class="test-base font-semibold underline mr-1">Skip to Word Bin</span> <span class="text-inherit h-6 w-6 flex items-center justify-center"><!></span></button> <div class="w-full relative"><div class="sr-only" role="status" aria-live="polite" aria-atomic="true" tabindex="-1"> </div> <div class="mt-7.5 mb-6 relative md:text-center md:mb-8 md:mt-14"><p class="text-base leading-5 !text-gray-900 font-semibold md:item-heading">Categories</p> <!></div> <!> <!> <!></div>`,
|
|
15759
|
+
left-[-9999px] z-0 focus-within:left-0 focus-within:right-0 focus-within:top-0 absolute focus-within:z-30 focus-visible:outline-none"><span class="test-base font-semibold underline mr-1">Skip to Word Bin</span> <span class="text-inherit h-6 w-6 flex items-center justify-center"><!></span></button> <div class="w-full relative"><div class="sr-only" role="status" aria-live="polite" aria-atomic="true" tabindex="-1"> </div> <div class="mt-7.5 mb-6 relative md:text-center md:mb-8 md:mt-14"><p class="text-base leading-5 !text-gray-900 font-semibold md:item-heading">Categories</p> <!></div> <span tabindex="-1" class="sr-only"></span> <!> <!> <!></div>`,
|
|
15607
15760
|
1
|
|
15608
15761
|
);
|
|
15609
15762
|
function CategoriseComponent($$anchor, $$props) {
|
|
15610
15763
|
push($$props, true);
|
|
15611
15764
|
const CONTAINER_WORD_BIN_ID2 = CATEGORISE.CONTAINER_WORD_BIN_ID;
|
|
15765
|
+
const ANIMATION_DELAY_MS = 300;
|
|
15766
|
+
const ANNOUNCEMENT_TIMEOUT_MS = 1e3;
|
|
15612
15767
|
let api = prop($$props, "api", 7), config = prop($$props, "config", 7), onstateChange = prop($$props, "onstateChange", 7);
|
|
15613
15768
|
const initialState = api().createInitialState?.();
|
|
15614
15769
|
if (!initialState?.data) throw new Error("Failed to initialize Categorise state");
|
|
@@ -15616,10 +15771,11 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
15616
15771
|
let isMobile = /* @__PURE__ */ state(false);
|
|
15617
15772
|
let currentMobileIndex = /* @__PURE__ */ state(0);
|
|
15618
15773
|
let isModalOpen = /* @__PURE__ */ state(false);
|
|
15619
|
-
let
|
|
15774
|
+
let activeContainerForKeyboard = /* @__PURE__ */ state(null);
|
|
15620
15775
|
let dragHoverContainerId = /* @__PURE__ */ state(null);
|
|
15621
15776
|
let dragSourceContainerId = /* @__PURE__ */ state(null);
|
|
15622
15777
|
let announcement = /* @__PURE__ */ state("");
|
|
15778
|
+
let srOnlyFocusTrapRef = /* @__PURE__ */ state(void 0);
|
|
15623
15779
|
let srDivRef = /* @__PURE__ */ state(void 0);
|
|
15624
15780
|
let skipToWordBinRef = /* @__PURE__ */ state(void 0);
|
|
15625
15781
|
let wordBinRef = /* @__PURE__ */ state(void 0);
|
|
@@ -15628,18 +15784,19 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
15628
15784
|
const categoryTabIndex = /* @__PURE__ */ user_derived(() => get$1(selectedItemId) || get$1(isModalOpen) ? -1 : 0);
|
|
15629
15785
|
const isCompleted = /* @__PURE__ */ user_derived(() => api().isCompleted?.(get$1(interactionState)) ?? false);
|
|
15630
15786
|
const isLocked = /* @__PURE__ */ user_derived(() => api().isLocked?.(get$1(interactionState)) ?? false);
|
|
15787
|
+
const dropContainerId = /* @__PURE__ */ user_derived(() => get$1(interactionState).data.dropContainerId);
|
|
15788
|
+
const hasAddItemAnimation = /* @__PURE__ */ user_derived(() => get$1(interactionState).data.hasAddItemAnimation);
|
|
15631
15789
|
const totalRemainingItems = /* @__PURE__ */ user_derived(() => get$1(interactionState).data.wordBinItems.filter((id) => {
|
|
15632
15790
|
const status = id.split(CATEGORISE.DASH)[1];
|
|
15633
15791
|
return status !== "missed";
|
|
15634
15792
|
}).length);
|
|
15635
15793
|
const totalPlacedItems = /* @__PURE__ */ user_derived(() => config().totalCategoryItems - get$1(totalRemainingItems));
|
|
15636
15794
|
const feedbackState = /* @__PURE__ */ user_derived(() => useCategoriseFeedback(get$1(interactionState), config(), api()));
|
|
15637
|
-
const dropContainerId = /* @__PURE__ */ user_derived(() => get$1(interactionState).data.dropContainerId);
|
|
15638
|
-
const hasAddItemAnimation = /* @__PURE__ */ user_derived(() => get$1(interactionState).data.hasAddItemAnimation);
|
|
15639
15795
|
const wordBinItems = /* @__PURE__ */ user_derived(() => get$1(interactionState).data.wordBinItems.map((id) => ({
|
|
15640
15796
|
id,
|
|
15641
15797
|
itemText: config().category_items.find((item) => item.id.split(CATEGORISE.DASH)[0] === id.split(CATEGORISE.DASH)[0])?.name || id
|
|
15642
15798
|
})));
|
|
15799
|
+
const wordBinLength = /* @__PURE__ */ user_derived(() => get$1(wordBinItems).length);
|
|
15643
15800
|
const getCategoryItemsData = (categoryId) => {
|
|
15644
15801
|
const itemIds = api().getCategoryItems(get$1(interactionState), categoryId);
|
|
15645
15802
|
return itemIds.map((id) => ({
|
|
@@ -15656,6 +15813,28 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
15656
15813
|
}
|
|
15657
15814
|
return void 0;
|
|
15658
15815
|
};
|
|
15816
|
+
const findSourceContainer = (cleanItemId) => {
|
|
15817
|
+
if (get$1(interactionState).data.wordBinItems.some((id) => id.split(CATEGORISE.DASH)[0] === cleanItemId)) {
|
|
15818
|
+
return CONTAINER_WORD_BIN_ID2;
|
|
15819
|
+
}
|
|
15820
|
+
for (const [categoryId, items] of get$1(interactionState).data.placements.entries()) {
|
|
15821
|
+
if (items.some((id) => id.split(CATEGORISE.DASH)[0] === cleanItemId)) {
|
|
15822
|
+
return categoryId;
|
|
15823
|
+
}
|
|
15824
|
+
}
|
|
15825
|
+
return null;
|
|
15826
|
+
};
|
|
15827
|
+
const checkScreenSize = () => {
|
|
15828
|
+
if (typeof window !== "undefined") {
|
|
15829
|
+
set(isMobile, window.innerWidth < BREAKPOINTS.MD);
|
|
15830
|
+
}
|
|
15831
|
+
};
|
|
15832
|
+
const dispatchStateChange = () => {
|
|
15833
|
+
if (onstateChange()) {
|
|
15834
|
+
const serialized = api().serialize(get$1(interactionState));
|
|
15835
|
+
onstateChange()(new CustomEvent("statechange", { detail: { state: get$1(interactionState), serialized } }));
|
|
15836
|
+
}
|
|
15837
|
+
};
|
|
15659
15838
|
const announceToScreenReader = async (message) => {
|
|
15660
15839
|
set(announcement, "");
|
|
15661
15840
|
await tick();
|
|
@@ -15665,25 +15844,54 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
15665
15844
|
() => {
|
|
15666
15845
|
set(announcement, "");
|
|
15667
15846
|
},
|
|
15668
|
-
|
|
15847
|
+
ANNOUNCEMENT_TIMEOUT_MS
|
|
15669
15848
|
);
|
|
15670
15849
|
};
|
|
15671
|
-
const
|
|
15672
|
-
|
|
15673
|
-
|
|
15850
|
+
const createItemPlacementAnnouncement = (itemName, categoryName, categoryIndex, itemCount, containerId) => {
|
|
15851
|
+
const wordLabel = itemCount === 1 ? "word" : "words";
|
|
15852
|
+
if (categoryName) {
|
|
15853
|
+
return `Option ${itemName} added in Category ${categoryIndex + 1}: ${categoryName}. ${itemCount} ${wordLabel} added`;
|
|
15674
15854
|
}
|
|
15855
|
+
if (containerId === CATEGORISE.CONTAINER_WORD_BIN_ID) {
|
|
15856
|
+
return `Option ${itemName} returned to Word Bin. ${itemCount} ${wordLabel} remaining`;
|
|
15857
|
+
}
|
|
15858
|
+
return `Option ${itemName} added. ${itemCount} ${wordLabel} in category`;
|
|
15859
|
+
};
|
|
15860
|
+
const playDropAnimation = async (containerId) => {
|
|
15861
|
+
await tick();
|
|
15862
|
+
await new Promise((resolve) => setTimeout(resolve, ANIMATION_DELAY_MS));
|
|
15863
|
+
set(
|
|
15864
|
+
interactionState,
|
|
15865
|
+
{
|
|
15866
|
+
...get$1(interactionState),
|
|
15867
|
+
data: {
|
|
15868
|
+
...get$1(interactionState).data,
|
|
15869
|
+
dropContainerId: containerId
|
|
15870
|
+
}
|
|
15871
|
+
},
|
|
15872
|
+
true
|
|
15873
|
+
);
|
|
15874
|
+
await new Promise((resolve) => setTimeout(resolve, ANIMATION_DELAY_MS));
|
|
15875
|
+
set(
|
|
15876
|
+
interactionState,
|
|
15877
|
+
{
|
|
15878
|
+
...get$1(interactionState),
|
|
15879
|
+
data: { ...get$1(interactionState).data, hasAddItemAnimation: true }
|
|
15880
|
+
},
|
|
15881
|
+
true
|
|
15882
|
+
);
|
|
15883
|
+
setTimeout(
|
|
15884
|
+
() => {
|
|
15885
|
+
set(interactionState, api().clearDropAnimation(get$1(interactionState)), true);
|
|
15886
|
+
},
|
|
15887
|
+
ANIMATION_DELAY_MS
|
|
15888
|
+
);
|
|
15675
15889
|
};
|
|
15676
15890
|
onMount(() => {
|
|
15677
15891
|
checkScreenSize();
|
|
15678
15892
|
window.addEventListener("resize", checkScreenSize);
|
|
15679
15893
|
return () => window.removeEventListener("resize", checkScreenSize);
|
|
15680
15894
|
});
|
|
15681
|
-
const dispatchStateChange = () => {
|
|
15682
|
-
if (onstateChange()) {
|
|
15683
|
-
const serialized = api().serialize(get$1(interactionState));
|
|
15684
|
-
onstateChange()(new CustomEvent("statechange", { detail: { state: get$1(interactionState), serialized } }));
|
|
15685
|
-
}
|
|
15686
|
-
};
|
|
15687
15895
|
const handleItemDrop = async (e2) => {
|
|
15688
15896
|
const { info } = e2.detail;
|
|
15689
15897
|
set(dragHoverContainerId, null);
|
|
@@ -15699,24 +15907,13 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
15699
15907
|
}
|
|
15700
15908
|
const droppedItemId = info.id;
|
|
15701
15909
|
const cleanItemId = droppedItemId.split(CATEGORISE.DASH)[0];
|
|
15702
|
-
|
|
15703
|
-
if (get$1(interactionState).data.wordBinItems.some((id) => id.split(CATEGORISE.DASH)[0] === cleanItemId)) {
|
|
15704
|
-
sourceContainerId = CATEGORISE.CONTAINER_WORD_BIN_ID;
|
|
15705
|
-
} else {
|
|
15706
|
-
for (const [categoryId, items] of get$1(interactionState).data.placements.entries()) {
|
|
15707
|
-
if (items.some((id) => id.split(CATEGORISE.DASH)[0] === cleanItemId)) {
|
|
15708
|
-
sourceContainerId = categoryId;
|
|
15709
|
-
break;
|
|
15710
|
-
}
|
|
15711
|
-
}
|
|
15712
|
-
}
|
|
15910
|
+
const sourceContainerId = findSourceContainer(cleanItemId);
|
|
15713
15911
|
if (sourceContainerId === targetContainerId) {
|
|
15714
15912
|
set(dragSourceContainerId, null);
|
|
15715
15913
|
return;
|
|
15716
15914
|
}
|
|
15717
15915
|
set(dragSourceContainerId, sourceContainerId, true);
|
|
15718
15916
|
set(interactionState, api().moveItem(get$1(interactionState), cleanItemId, targetContainerId), true);
|
|
15719
|
-
set(currentTabContainer, null);
|
|
15720
15917
|
set(
|
|
15721
15918
|
interactionState,
|
|
15722
15919
|
{
|
|
@@ -15727,43 +15924,16 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
15727
15924
|
);
|
|
15728
15925
|
dispatchStateChange();
|
|
15729
15926
|
const item = config().category_items.find((i) => i.id === cleanItemId);
|
|
15730
|
-
const
|
|
15731
|
-
|
|
15927
|
+
const targetCategoryIndex = config().category_groups.findIndex((c) => c.id === targetContainerId);
|
|
15928
|
+
const targetCategory = targetCategoryIndex >= 0 ? config().category_groups[targetCategoryIndex] : void 0;
|
|
15929
|
+
if (item) {
|
|
15732
15930
|
const cleanItemName = useRemoveRichTextHtmlTags(item.name);
|
|
15733
|
-
const cleanCategoryName = useRemoveRichTextHtmlTags(targetCategory.name);
|
|
15734
|
-
const
|
|
15735
|
-
const
|
|
15736
|
-
|
|
15737
|
-
await announceToScreenReader(`Option ${cleanItemName} added in ${cleanCategoryName}. ${itemCount} ${wordLabel} added`);
|
|
15931
|
+
const cleanCategoryName = targetCategory ? useRemoveRichTextHtmlTags(targetCategory.name) : null;
|
|
15932
|
+
const itemCount = targetContainerId === CATEGORISE.CONTAINER_WORD_BIN_ID ? get$1(interactionState).data.wordBinItems.length : api().getCategoryItems(get$1(interactionState), targetContainerId).length;
|
|
15933
|
+
const message = createItemPlacementAnnouncement(cleanItemName, cleanCategoryName, targetCategoryIndex, itemCount, targetContainerId);
|
|
15934
|
+
await announceToScreenReader(message);
|
|
15738
15935
|
}
|
|
15739
|
-
await
|
|
15740
|
-
await new Promise((resolve) => setTimeout(resolve, 300));
|
|
15741
|
-
set(
|
|
15742
|
-
interactionState,
|
|
15743
|
-
{
|
|
15744
|
-
...get$1(interactionState),
|
|
15745
|
-
data: {
|
|
15746
|
-
...get$1(interactionState).data,
|
|
15747
|
-
dropContainerId: targetContainerId
|
|
15748
|
-
}
|
|
15749
|
-
},
|
|
15750
|
-
true
|
|
15751
|
-
);
|
|
15752
|
-
await new Promise((resolve) => setTimeout(resolve, 300));
|
|
15753
|
-
set(
|
|
15754
|
-
interactionState,
|
|
15755
|
-
{
|
|
15756
|
-
...get$1(interactionState),
|
|
15757
|
-
data: { ...get$1(interactionState).data, hasAddItemAnimation: true }
|
|
15758
|
-
},
|
|
15759
|
-
true
|
|
15760
|
-
);
|
|
15761
|
-
setTimeout(
|
|
15762
|
-
() => {
|
|
15763
|
-
set(interactionState, api().clearDropAnimation(get$1(interactionState)), true);
|
|
15764
|
-
},
|
|
15765
|
-
300
|
|
15766
|
-
);
|
|
15936
|
+
await playDropAnimation(targetContainerId);
|
|
15767
15937
|
};
|
|
15768
15938
|
const handleDragHover = (containerId, isHovering) => {
|
|
15769
15939
|
if (isHovering) {
|
|
@@ -15777,58 +15947,27 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
15777
15947
|
const handleDragStart = (containerId) => {
|
|
15778
15948
|
set(dragSourceContainerId, containerId, true);
|
|
15779
15949
|
};
|
|
15780
|
-
user_effect(() => {
|
|
15781
|
-
if (get$1(selectedItemId)) {
|
|
15782
|
-
const cleanItemId = get$1(selectedItemId).split(CATEGORISE.DASH)[0];
|
|
15783
|
-
if (get$1(interactionState).data.wordBinItems.some((id) => id.split(CATEGORISE.DASH)[0] === cleanItemId)) {
|
|
15784
|
-
set(dragSourceContainerId, CATEGORISE.CONTAINER_WORD_BIN_ID, true);
|
|
15785
|
-
} else {
|
|
15786
|
-
for (const [categoryId, items] of get$1(interactionState).data.placements.entries()) {
|
|
15787
|
-
if (items.some((id) => id.split(CATEGORISE.DASH)[0] === cleanItemId)) {
|
|
15788
|
-
set(dragSourceContainerId, categoryId, true);
|
|
15789
|
-
break;
|
|
15790
|
-
}
|
|
15791
|
-
}
|
|
15792
|
-
}
|
|
15793
|
-
}
|
|
15794
|
-
});
|
|
15795
|
-
user_effect(() => {
|
|
15796
|
-
const wordBinLength = get$1(wordBinItems).length;
|
|
15797
|
-
if (get$1(currentMobileIndex) >= wordBinLength && wordBinLength > 0) {
|
|
15798
|
-
set(currentMobileIndex, wordBinLength - 1);
|
|
15799
|
-
}
|
|
15800
|
-
if (wordBinLength === 0) {
|
|
15801
|
-
set(currentMobileIndex, 0);
|
|
15802
|
-
}
|
|
15803
|
-
});
|
|
15804
15950
|
const handleItemSelect = (itemId) => {
|
|
15805
15951
|
if (get$1(isLocked)) return;
|
|
15806
15952
|
const cleanItemId = itemId.split(CATEGORISE.DASH)[0];
|
|
15807
15953
|
if (!get$1(selectedItemId)) {
|
|
15954
|
+
set(activeContainerForKeyboard, null);
|
|
15808
15955
|
set(interactionState, api().selectItem(get$1(interactionState), cleanItemId, null), true);
|
|
15809
15956
|
} else if (get$1(selectedItemId) === cleanItemId) {
|
|
15810
15957
|
set(interactionState, api().selectItem(get$1(interactionState), null, null), true);
|
|
15811
15958
|
}
|
|
15812
15959
|
};
|
|
15813
15960
|
const handleContainerSelect = async (containerId) => {
|
|
15814
|
-
if (get$1(isLocked) || !get$1(selectedItemId))
|
|
15815
|
-
|
|
15816
|
-
const cleanSelectedId = get$1(selectedItemId).split(CATEGORISE.DASH)[0];
|
|
15817
|
-
if (get$1(interactionState).data.wordBinItems.some((id) => id.split(CATEGORISE.DASH)[0] === cleanSelectedId)) {
|
|
15818
|
-
sourceContainerId = CATEGORISE.CONTAINER_WORD_BIN_ID;
|
|
15819
|
-
} else {
|
|
15820
|
-
for (const [categoryId, items] of get$1(interactionState).data.placements.entries()) {
|
|
15821
|
-
if (items.some((id) => id.split(CATEGORISE.DASH)[0] === cleanSelectedId)) {
|
|
15822
|
-
sourceContainerId = categoryId;
|
|
15823
|
-
break;
|
|
15824
|
-
}
|
|
15825
|
-
}
|
|
15961
|
+
if (get$1(isLocked) || !get$1(selectedItemId)) {
|
|
15962
|
+
return;
|
|
15826
15963
|
}
|
|
15964
|
+
const capturedSelectedItemId = get$1(selectedItemId);
|
|
15965
|
+
const cleanSelectedId = capturedSelectedItemId.split(CATEGORISE.DASH)[0];
|
|
15966
|
+
const sourceContainerId = findSourceContainer(cleanSelectedId);
|
|
15827
15967
|
if (sourceContainerId === containerId) {
|
|
15828
15968
|
return;
|
|
15829
15969
|
}
|
|
15830
|
-
set(interactionState, api().moveItem(get$1(interactionState),
|
|
15831
|
-
set(currentTabContainer, null);
|
|
15970
|
+
set(interactionState, api().moveItem(get$1(interactionState), capturedSelectedItemId, containerId), true);
|
|
15832
15971
|
set(
|
|
15833
15972
|
interactionState,
|
|
15834
15973
|
{
|
|
@@ -15838,44 +15977,22 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
15838
15977
|
true
|
|
15839
15978
|
);
|
|
15840
15979
|
dispatchStateChange();
|
|
15841
|
-
const
|
|
15842
|
-
const
|
|
15843
|
-
|
|
15980
|
+
const cleanSelectedItemId = capturedSelectedItemId.split(CATEGORISE.DASH)[0];
|
|
15981
|
+
const item = config().category_items.find((i) => i.id === cleanSelectedItemId);
|
|
15982
|
+
const targetCategoryIndex = containerId === CATEGORISE.CONTAINER_WORD_BIN_ID ? -1 : config().category_groups.findIndex((c) => c.id === containerId);
|
|
15983
|
+
const targetCategory = targetCategoryIndex >= 0 ? config().category_groups[targetCategoryIndex] : null;
|
|
15984
|
+
if (item) {
|
|
15844
15985
|
const cleanItemName = useRemoveRichTextHtmlTags(item.name);
|
|
15845
|
-
const cleanCategoryName = useRemoveRichTextHtmlTags(targetCategory.name);
|
|
15846
|
-
const
|
|
15847
|
-
const
|
|
15848
|
-
|
|
15849
|
-
await announceToScreenReader(`Option ${cleanItemName} added in ${cleanCategoryName}. ${itemCount} ${wordLabel} added`);
|
|
15986
|
+
const cleanCategoryName = targetCategory ? useRemoveRichTextHtmlTags(targetCategory.name) : null;
|
|
15987
|
+
const itemCount = containerId === CATEGORISE.CONTAINER_WORD_BIN_ID ? get$1(interactionState).data.wordBinItems.length : api().getCategoryItems(get$1(interactionState), containerId).length;
|
|
15988
|
+
const message = createItemPlacementAnnouncement(cleanItemName, cleanCategoryName, targetCategoryIndex, itemCount, containerId);
|
|
15989
|
+
await announceToScreenReader(message);
|
|
15850
15990
|
}
|
|
15991
|
+
await playDropAnimation(containerId);
|
|
15851
15992
|
await tick();
|
|
15852
|
-
|
|
15853
|
-
|
|
15854
|
-
|
|
15855
|
-
{
|
|
15856
|
-
...get$1(interactionState),
|
|
15857
|
-
data: {
|
|
15858
|
-
...get$1(interactionState).data,
|
|
15859
|
-
dropContainerId: containerId
|
|
15860
|
-
}
|
|
15861
|
-
},
|
|
15862
|
-
true
|
|
15863
|
-
);
|
|
15864
|
-
await new Promise((resolve) => setTimeout(resolve, 300));
|
|
15865
|
-
set(
|
|
15866
|
-
interactionState,
|
|
15867
|
-
{
|
|
15868
|
-
...get$1(interactionState),
|
|
15869
|
-
data: { ...get$1(interactionState).data, hasAddItemAnimation: true }
|
|
15870
|
-
},
|
|
15871
|
-
true
|
|
15872
|
-
);
|
|
15873
|
-
setTimeout(
|
|
15874
|
-
() => {
|
|
15875
|
-
set(interactionState, api().clearDropAnimation(get$1(interactionState)), true);
|
|
15876
|
-
},
|
|
15877
|
-
300
|
|
15878
|
-
);
|
|
15993
|
+
if (get$1(srOnlyFocusTrapRef)) {
|
|
15994
|
+
get$1(srOnlyFocusTrapRef).focus();
|
|
15995
|
+
}
|
|
15879
15996
|
};
|
|
15880
15997
|
const handleNavigateItem = (direction) => {
|
|
15881
15998
|
const result = useNavigateItem(
|
|
@@ -15905,16 +16022,21 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
15905
16022
|
}
|
|
15906
16023
|
}
|
|
15907
16024
|
};
|
|
15908
|
-
const
|
|
15909
|
-
const
|
|
15910
|
-
|
|
15911
|
-
set(currentTabContainer, null);
|
|
15912
|
-
}
|
|
16025
|
+
const getItemIndex = (itemId, containerId) => {
|
|
16026
|
+
const items = containerId === CONTAINER_WORD_BIN_ID2 ? get$1(wordBinItems) : getCategoryItemsData(containerId);
|
|
16027
|
+
return items.findIndex((item) => item.id === itemId);
|
|
15913
16028
|
};
|
|
15914
16029
|
const handleCategoryKeydown = async (event2, categoryId) => {
|
|
15915
16030
|
if (event2.key === "Enter") {
|
|
15916
16031
|
event2.preventDefault();
|
|
15917
16032
|
if (get$1(selectedItemId)) {
|
|
16033
|
+
const categoryItems2 = api().getCategoryItems(get$1(interactionState), categoryId);
|
|
16034
|
+
const cleanSelectedId = get$1(selectedItemId).split(CATEGORISE.DASH)[0];
|
|
16035
|
+
const isSelectedInThisCategory = categoryItems2.some((id) => id.split(CATEGORISE.DASH)[0] === cleanSelectedId);
|
|
16036
|
+
if (isSelectedInThisCategory) {
|
|
16037
|
+
set(interactionState, api().selectItem(get$1(interactionState), null, null), true);
|
|
16038
|
+
return;
|
|
16039
|
+
}
|
|
15918
16040
|
await handleContainerSelect(categoryId);
|
|
15919
16041
|
return;
|
|
15920
16042
|
}
|
|
@@ -15926,74 +16048,109 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
15926
16048
|
if (categoryItems.length === 0) {
|
|
15927
16049
|
return;
|
|
15928
16050
|
}
|
|
15929
|
-
set(
|
|
15930
|
-
|
|
15931
|
-
|
|
15932
|
-
|
|
15933
|
-
()
|
|
15934
|
-
|
|
15935
|
-
|
|
15936
|
-
|
|
15937
|
-
|
|
15938
|
-
|
|
15939
|
-
|
|
15940
|
-
|
|
15941
|
-
|
|
15942
|
-
|
|
15943
|
-
|
|
16051
|
+
set(activeContainerForKeyboard, categoryId, true);
|
|
16052
|
+
const categoryRef = get$1(categoryRefs)[categoryId];
|
|
16053
|
+
if (categoryRef?.categoryElement) {
|
|
16054
|
+
const firstItemButton = categoryRef.categoryElement.querySelector("[data-item-button]");
|
|
16055
|
+
if (firstItemButton) {
|
|
16056
|
+
firstItemButton.focus();
|
|
16057
|
+
}
|
|
16058
|
+
}
|
|
16059
|
+
} else if (event2.key === "Escape") {
|
|
16060
|
+
event2.preventDefault();
|
|
16061
|
+
if (get$1(selectedItemId)) {
|
|
16062
|
+
set(interactionState, api().selectItem(get$1(interactionState), null, null), true);
|
|
16063
|
+
}
|
|
16064
|
+
}
|
|
16065
|
+
};
|
|
16066
|
+
const handleItemFocus = (itemId, containerId, event2) => {
|
|
16067
|
+
if (!get$1(selectedItemId) && get$1(activeContainerForKeyboard) !== containerId) {
|
|
16068
|
+
set(activeContainerForKeyboard, containerId, true);
|
|
16069
|
+
}
|
|
16070
|
+
};
|
|
16071
|
+
const handleItemBlur = (itemId, containerId, event2) => {
|
|
16072
|
+
const relatedTarget = event2.relatedTarget;
|
|
16073
|
+
if (relatedTarget) {
|
|
16074
|
+
const relatedContainerId = relatedTarget.closest('[id^="container-"]')?.id;
|
|
16075
|
+
if (relatedContainerId !== containerId && get$1(activeContainerForKeyboard) === containerId) {
|
|
16076
|
+
set(activeContainerForKeyboard, null);
|
|
16077
|
+
}
|
|
15944
16078
|
}
|
|
15945
16079
|
};
|
|
15946
16080
|
const handleWordBinKeydown = async (event2) => {
|
|
15947
16081
|
if (event2.key === "Enter") {
|
|
15948
16082
|
event2.preventDefault();
|
|
15949
16083
|
if (get$1(selectedItemId)) {
|
|
16084
|
+
const cleanSelectedId = get$1(selectedItemId).split(CATEGORISE.DASH)[0];
|
|
16085
|
+
const isSelectedInWordBin = get$1(interactionState).data.wordBinItems.some((id) => id.split(CATEGORISE.DASH)[0] === cleanSelectedId);
|
|
16086
|
+
if (isSelectedInWordBin) {
|
|
16087
|
+
set(interactionState, api().selectItem(get$1(interactionState), null, null), true);
|
|
16088
|
+
return;
|
|
16089
|
+
}
|
|
15950
16090
|
await handleContainerSelect(CATEGORISE.CONTAINER_WORD_BIN_ID);
|
|
15951
16091
|
return;
|
|
15952
16092
|
}
|
|
15953
16093
|
if (get$1(wordBinItems).length === 0) {
|
|
15954
16094
|
return;
|
|
15955
16095
|
}
|
|
15956
|
-
set(
|
|
15957
|
-
|
|
15958
|
-
|
|
15959
|
-
|
|
15960
|
-
|
|
15961
|
-
|
|
15962
|
-
|
|
15963
|
-
|
|
15964
|
-
|
|
15965
|
-
|
|
15966
|
-
|
|
15967
|
-
|
|
15968
|
-
150
|
|
15969
|
-
);
|
|
16096
|
+
set(activeContainerForKeyboard, CATEGORISE.CONTAINER_WORD_BIN_ID, true);
|
|
16097
|
+
if (get$1(wordBinRef)?.wordBinElement) {
|
|
16098
|
+
const firstItemButton = get$1(wordBinRef).wordBinElement.querySelector("[data-item-button]");
|
|
16099
|
+
if (firstItemButton) {
|
|
16100
|
+
firstItemButton.focus();
|
|
16101
|
+
}
|
|
16102
|
+
}
|
|
16103
|
+
} else if (event2.key === "Escape") {
|
|
16104
|
+
event2.preventDefault();
|
|
16105
|
+
if (get$1(selectedItemId)) {
|
|
16106
|
+
set(interactionState, api().selectItem(get$1(interactionState), null, null), true);
|
|
16107
|
+
}
|
|
15970
16108
|
}
|
|
15971
16109
|
};
|
|
15972
|
-
const handleItemKeydown = (event2, itemId,
|
|
16110
|
+
const handleItemKeydown = (event2, itemId, containerId) => {
|
|
15973
16111
|
if (event2.key === "Enter") {
|
|
15974
16112
|
event2.preventDefault();
|
|
15975
16113
|
event2.stopPropagation();
|
|
15976
16114
|
handleItemSelect(itemId);
|
|
16115
|
+
set(activeContainerForKeyboard, containerId, true);
|
|
16116
|
+
const itemElement = document.getElementById(itemId);
|
|
16117
|
+
if (itemElement) {
|
|
16118
|
+
itemElement.focus();
|
|
16119
|
+
}
|
|
15977
16120
|
} else if (event2.key === "Escape") {
|
|
15978
16121
|
if (get$1(selectedItemId)) {
|
|
15979
16122
|
set(interactionState, api().selectItem(get$1(interactionState), null, null), true);
|
|
15980
16123
|
}
|
|
15981
|
-
|
|
15982
|
-
|
|
15983
|
-
()
|
|
15984
|
-
|
|
15985
|
-
|
|
15986
|
-
|
|
15987
|
-
|
|
15988
|
-
|
|
15989
|
-
|
|
15990
|
-
|
|
16124
|
+
const itemElement = document.getElementById(itemId);
|
|
16125
|
+
if (itemElement) {
|
|
16126
|
+
itemElement.focus();
|
|
16127
|
+
}
|
|
16128
|
+
} else if (event2.key === "Tab") {
|
|
16129
|
+
const currentIndex = getItemIndex(itemId, containerId);
|
|
16130
|
+
const containerItems = containerId === CONTAINER_WORD_BIN_ID2 ? get$1(wordBinItems) : getCategoryItemsData(containerId);
|
|
16131
|
+
if (event2.shiftKey && currentIndex === 0) {
|
|
16132
|
+
set(activeContainerForKeyboard, null);
|
|
16133
|
+
} else if (!event2.shiftKey && currentIndex === containerItems.length - 1) {
|
|
16134
|
+
set(activeContainerForKeyboard, null);
|
|
16135
|
+
}
|
|
16136
|
+
}
|
|
16137
|
+
if (event2.key === "Tab" && !event2.shiftKey) {
|
|
16138
|
+
if (containerId === CONTAINER_WORD_BIN_ID2 && get$1(selectedItemId)) {
|
|
16139
|
+
const firstCategory = config().category_groups[0];
|
|
16140
|
+
if (firstCategory) {
|
|
16141
|
+
event2.preventDefault();
|
|
16142
|
+
event2.stopPropagation();
|
|
16143
|
+
const categoryRef = get$1(categoryRefs)[firstCategory.id];
|
|
16144
|
+
if (categoryRef?.categoryElement) {
|
|
16145
|
+
const overlayButton = categoryRef.categoryElement.querySelector("button.absolute.inset-0");
|
|
16146
|
+
if (overlayButton) {
|
|
16147
|
+
overlayButton.focus();
|
|
16148
|
+
} else {
|
|
15991
16149
|
categoryRef.categoryElement.focus();
|
|
15992
16150
|
}
|
|
15993
16151
|
}
|
|
15994
|
-
}
|
|
15995
|
-
|
|
15996
|
-
);
|
|
16152
|
+
}
|
|
16153
|
+
}
|
|
15997
16154
|
}
|
|
15998
16155
|
};
|
|
15999
16156
|
const handleOpenResetModal = () => {
|
|
@@ -16008,6 +16165,40 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
16008
16165
|
set(currentMobileIndex, 0);
|
|
16009
16166
|
set(isModalOpen, false);
|
|
16010
16167
|
};
|
|
16168
|
+
user_effect(() => {
|
|
16169
|
+
if (get$1(selectedItemId)) {
|
|
16170
|
+
const cleanItemId = get$1(selectedItemId).split(CATEGORISE.DASH)[0];
|
|
16171
|
+
if (get$1(interactionState).data.wordBinItems.some((id) => id.split(CATEGORISE.DASH)[0] === cleanItemId)) {
|
|
16172
|
+
set(dragSourceContainerId, CATEGORISE.CONTAINER_WORD_BIN_ID, true);
|
|
16173
|
+
} else {
|
|
16174
|
+
for (const [categoryId, items] of get$1(interactionState).data.placements.entries()) {
|
|
16175
|
+
if (items.some((id) => id.split(CATEGORISE.DASH)[0] === cleanItemId)) {
|
|
16176
|
+
set(dragSourceContainerId, categoryId, true);
|
|
16177
|
+
break;
|
|
16178
|
+
}
|
|
16179
|
+
}
|
|
16180
|
+
}
|
|
16181
|
+
}
|
|
16182
|
+
});
|
|
16183
|
+
user_effect(() => {
|
|
16184
|
+
const length = get$1(wordBinLength);
|
|
16185
|
+
untrack(() => {
|
|
16186
|
+
if (get$1(currentMobileIndex) >= length && length > 0) {
|
|
16187
|
+
set(currentMobileIndex, length - 1);
|
|
16188
|
+
}
|
|
16189
|
+
if (length === 0) {
|
|
16190
|
+
set(currentMobileIndex, 0);
|
|
16191
|
+
}
|
|
16192
|
+
});
|
|
16193
|
+
});
|
|
16194
|
+
user_effect(() => {
|
|
16195
|
+
if (get$1(selectedItemId) && !get$1(activeContainerForKeyboard)) {
|
|
16196
|
+
const selectedButton = document.getElementById(get$1(selectedItemId));
|
|
16197
|
+
if (selectedButton) {
|
|
16198
|
+
selectedButton.focus();
|
|
16199
|
+
}
|
|
16200
|
+
}
|
|
16201
|
+
});
|
|
16011
16202
|
var $$exports = {
|
|
16012
16203
|
get api() {
|
|
16013
16204
|
return api();
|
|
@@ -16036,6 +16227,12 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
16036
16227
|
var fragment_1 = root_1$4();
|
|
16037
16228
|
var button = first_child(fragment_1);
|
|
16038
16229
|
button.__keydown = skipToWordBin;
|
|
16230
|
+
button.__click = async () => {
|
|
16231
|
+
await tick();
|
|
16232
|
+
if (get$1(wordBinRef)?.wordBinElement) {
|
|
16233
|
+
get$1(wordBinRef).wordBinElement.focus();
|
|
16234
|
+
}
|
|
16235
|
+
};
|
|
16039
16236
|
var span = sibling(child(button), 2);
|
|
16040
16237
|
var node = child(span);
|
|
16041
16238
|
SvgLoader(node, {
|
|
@@ -16070,7 +16267,9 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
16070
16267
|
});
|
|
16071
16268
|
}
|
|
16072
16269
|
reset(div_2);
|
|
16073
|
-
var
|
|
16270
|
+
var span_2 = sibling(div_2, 2);
|
|
16271
|
+
bind_this(span_2, ($$value) => set(srOnlyFocusTrapRef, $$value), () => get$1(srOnlyFocusTrapRef));
|
|
16272
|
+
var node_3 = sibling(span_2, 2);
|
|
16074
16273
|
{
|
|
16075
16274
|
let $02 = /* @__PURE__ */ user_derived(() => !!config().stimulus);
|
|
16076
16275
|
CategoriseCategoryList(node_3, {
|
|
@@ -16080,16 +16279,18 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
16080
16279
|
children: ($$anchor3, $$slotProps) => {
|
|
16081
16280
|
var fragment_2 = comment();
|
|
16082
16281
|
var node_4 = first_child(fragment_2);
|
|
16083
|
-
each(node_4,
|
|
16282
|
+
each(node_4, 19, () => config().category_groups, (category) => category.id, ($$anchor4, category, categoryIndex) => {
|
|
16084
16283
|
const categoryItems = /* @__PURE__ */ user_derived(() => getCategoryItemsData(get$1(category).id));
|
|
16085
16284
|
const isCollapsed = /* @__PURE__ */ user_derived(() => !api().isCategoryOpen(get$1(interactionState), get$1(category).id));
|
|
16086
16285
|
{
|
|
16087
|
-
let $03 = /* @__PURE__ */ user_derived(() => get$1(
|
|
16088
|
-
let $12 = /* @__PURE__ */ user_derived(() => get$1(
|
|
16089
|
-
let $22 = /* @__PURE__ */ user_derived(() => get$1(
|
|
16090
|
-
let $3 = /* @__PURE__ */ user_derived(() => get$1(
|
|
16091
|
-
let $4 = /* @__PURE__ */ user_derived(() => get$1(
|
|
16092
|
-
let $5 = /* @__PURE__ */ user_derived(() =>
|
|
16286
|
+
let $03 = /* @__PURE__ */ user_derived(() => get$1(categoryIndex) + 1);
|
|
16287
|
+
let $12 = /* @__PURE__ */ user_derived(() => get$1(selectedItemId) || void 0);
|
|
16288
|
+
let $22 = /* @__PURE__ */ user_derived(() => get$1(dragHoverContainerId) === get$1(category).id);
|
|
16289
|
+
let $3 = /* @__PURE__ */ user_derived(() => get$1(dropContainerId) || void 0);
|
|
16290
|
+
let $4 = /* @__PURE__ */ user_derived(() => get$1(dragSourceContainerId) || void 0);
|
|
16291
|
+
let $5 = /* @__PURE__ */ user_derived(() => get$1(categoryItems)[0] ? getItemResultType(get$1(categoryItems)[0].id) : void 0);
|
|
16292
|
+
let $6 = /* @__PURE__ */ user_derived(() => !!config().stimulus);
|
|
16293
|
+
let $7 = /* @__PURE__ */ user_derived(() => get$1(activeContainerForKeyboard) || void 0);
|
|
16093
16294
|
bind_this(
|
|
16094
16295
|
CategoriseCategory($$anchor4, {
|
|
16095
16296
|
get categoryId() {
|
|
@@ -16098,11 +16299,14 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
16098
16299
|
get categoryTitle() {
|
|
16099
16300
|
return get$1(category).name;
|
|
16100
16301
|
},
|
|
16302
|
+
get categoryIndex() {
|
|
16303
|
+
return get$1($03);
|
|
16304
|
+
},
|
|
16101
16305
|
get items() {
|
|
16102
16306
|
return get$1(categoryItems);
|
|
16103
16307
|
},
|
|
16104
16308
|
get selectedItemId() {
|
|
16105
|
-
return get$1($
|
|
16309
|
+
return get$1($12);
|
|
16106
16310
|
},
|
|
16107
16311
|
get isLocked() {
|
|
16108
16312
|
return get$1(isLocked);
|
|
@@ -16110,32 +16314,29 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
16110
16314
|
get isCollapsed() {
|
|
16111
16315
|
return get$1(isCollapsed);
|
|
16112
16316
|
},
|
|
16113
|
-
get currentTabContainer() {
|
|
16114
|
-
return get$1(currentTabContainer);
|
|
16115
|
-
},
|
|
16116
16317
|
get isDraggingOver() {
|
|
16117
|
-
return get$1($
|
|
16318
|
+
return get$1($22);
|
|
16118
16319
|
},
|
|
16119
16320
|
get dropContainerId() {
|
|
16120
|
-
return get$1($
|
|
16321
|
+
return get$1($3);
|
|
16121
16322
|
},
|
|
16122
16323
|
get hasAddItemAnimation() {
|
|
16123
16324
|
return get$1(hasAddItemAnimation);
|
|
16124
16325
|
},
|
|
16125
16326
|
get dragSourceContainerId() {
|
|
16126
|
-
return get$1($
|
|
16327
|
+
return get$1($4);
|
|
16127
16328
|
},
|
|
16128
16329
|
get mode() {
|
|
16129
16330
|
return config().mode;
|
|
16130
16331
|
},
|
|
16131
16332
|
get resultType() {
|
|
16132
|
-
return get$1($
|
|
16333
|
+
return get$1($5);
|
|
16133
16334
|
},
|
|
16134
16335
|
get isMobile() {
|
|
16135
16336
|
return get$1(isMobile);
|
|
16136
16337
|
},
|
|
16137
16338
|
get hasStimulus() {
|
|
16138
|
-
return get$1($
|
|
16339
|
+
return get$1($6);
|
|
16139
16340
|
},
|
|
16140
16341
|
get dndType() {
|
|
16141
16342
|
return config().categoryDndType;
|
|
@@ -16143,13 +16344,17 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
16143
16344
|
get tabindex() {
|
|
16144
16345
|
return get$1(categoryTabIndex);
|
|
16145
16346
|
},
|
|
16347
|
+
get activeContainerForKeyboard() {
|
|
16348
|
+
return get$1($7);
|
|
16349
|
+
},
|
|
16146
16350
|
onitemdrop: handleItemDrop,
|
|
16147
16351
|
onitemselect: handleItemSelect,
|
|
16148
16352
|
oncontainerclick: () => handleContainerSelect(get$1(category).id),
|
|
16149
16353
|
ontogglecollapse: handleToggleCollapse,
|
|
16150
16354
|
onkeydown: (e2) => handleCategoryKeydown(e2, get$1(category).id),
|
|
16151
|
-
|
|
16152
|
-
|
|
16355
|
+
onitemfocus: (itemId, event2) => handleItemFocus(itemId, get$1(category).id),
|
|
16356
|
+
onitemblur: (itemId, event2) => handleItemBlur(itemId, get$1(category).id, event2),
|
|
16357
|
+
onitemkeydown: (e2, itemId) => handleItemKeydown(e2, itemId, get$1(category).id),
|
|
16153
16358
|
ondraghover: handleDragHover,
|
|
16154
16359
|
ondragstart: handleDragStart
|
|
16155
16360
|
}),
|
|
@@ -16170,6 +16375,7 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
16170
16375
|
let $12 = /* @__PURE__ */ user_derived(() => get$1(dragHoverContainerId) === CONTAINER_WORD_BIN_ID2);
|
|
16171
16376
|
let $22 = /* @__PURE__ */ user_derived(() => get$1(dropContainerId) || void 0);
|
|
16172
16377
|
let $3 = /* @__PURE__ */ user_derived(() => get$1(dragSourceContainerId) || void 0);
|
|
16378
|
+
let $4 = /* @__PURE__ */ user_derived(() => get$1(activeContainerForKeyboard) || void 0);
|
|
16173
16379
|
bind_this(
|
|
16174
16380
|
CategoriseWordBin(node_5, {
|
|
16175
16381
|
get containerId() {
|
|
@@ -16184,9 +16390,6 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
16184
16390
|
get isLocked() {
|
|
16185
16391
|
return get$1(isLocked);
|
|
16186
16392
|
},
|
|
16187
|
-
get currentTabContainer() {
|
|
16188
|
-
return get$1(currentTabContainer);
|
|
16189
|
-
},
|
|
16190
16393
|
get isDraggingOver() {
|
|
16191
16394
|
return get$1($12);
|
|
16192
16395
|
},
|
|
@@ -16211,18 +16414,25 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
16211
16414
|
get totalItems() {
|
|
16212
16415
|
return config().category_items.length;
|
|
16213
16416
|
},
|
|
16417
|
+
get tabindex() {
|
|
16418
|
+
return get$1(categoryTabIndex);
|
|
16419
|
+
},
|
|
16214
16420
|
get dndType() {
|
|
16215
16421
|
return config().categoryDndType;
|
|
16216
16422
|
},
|
|
16423
|
+
get activeContainerForKeyboard() {
|
|
16424
|
+
return get$1($4);
|
|
16425
|
+
},
|
|
16217
16426
|
onitemdrop: handleItemDrop,
|
|
16218
16427
|
onitemselect: handleItemSelect,
|
|
16219
16428
|
oncontainerclick: () => handleContainerSelect(CONTAINER_WORD_BIN_ID2),
|
|
16220
16429
|
onnavigateitem: handleNavigateItem,
|
|
16221
|
-
|
|
16430
|
+
onitemfocus: (itemId, event2) => handleItemFocus(itemId, CONTAINER_WORD_BIN_ID2),
|
|
16431
|
+
onitemblur: (itemId, event2) => handleItemBlur(itemId, CONTAINER_WORD_BIN_ID2, event2),
|
|
16432
|
+
onitemkeydown: (e2, itemId) => handleItemKeydown(e2, itemId, CONTAINER_WORD_BIN_ID2),
|
|
16222
16433
|
ondraghover: handleDragHover,
|
|
16223
16434
|
ondragstart: handleDragStart,
|
|
16224
|
-
onkeydown: handleWordBinKeydown
|
|
16225
|
-
onfocus: (e2) => handleContainerFocus(e2)
|
|
16435
|
+
onkeydown: handleWordBinKeydown
|
|
16226
16436
|
}),
|
|
16227
16437
|
($$value) => set(wordBinRef, $$value, true),
|
|
16228
16438
|
() => get$1(wordBinRef)
|
|
@@ -18629,7 +18839,7 @@ registerInteraction("dropdown", createDropdownInteraction, DropdownComponent);
|
|
|
18629
18839
|
var root_1 = /* @__PURE__ */ from_html(`<link rel="preconnect" href="https://fonts.googleapis.com" class="svelte-1dpid58"/> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous" class="svelte-1dpid58"/> <link href="https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,200..1000;1,200..1000&display=swap" rel="stylesheet" class="svelte-1dpid58"/>`, 1);
|
|
18630
18840
|
const $$css = {
|
|
18631
18841
|
hash: "svelte-1dpid58",
|
|
18632
|
-
code: ' *, :after, :before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style:} ::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style:} *, :after, :before{border:0 solid #e5e7eb;box-sizing:border-box} :after, :before{--tw-content:""} :host, html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:Mulish,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent} body{line-height:inherit;margin:0} hr{border-top-width:1px;color:inherit;height:0} abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted} h1, h2, h3, h4, h5, h6{font-size:inherit;font-weight:inherit} a{color:inherit;text-decoration:inherit} b, strong{font-weight:bolder} code, kbd, pre, samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal} small{font-size:80%} sub, sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} sub{bottom:-.25em} sup{top:-.5em} table{border-collapse:collapse;border-color:inherit;text-indent:0} button, input, optgroup, select, textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0} button, select{text-transform:none} button, input:where([type=button]), input:where([type=reset]), input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none} :-moz-focusring{outline:auto} :-moz-ui-invalid{box-shadow:none} progress{vertical-align:baseline} ::-webkit-inner-spin-button, ::-webkit-outer-spin-button{height:auto} [type=search]{-webkit-appearance:textfield;outline-offset:-2px} ::-webkit-search-decoration{-webkit-appearance:none} ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit} summary{display:list-item} blockquote, dd, dl, figure, h1, h2, h3, h4, h5, h6, hr, p, pre{margin:0} fieldset{margin:0} fieldset, legend{padding:0} menu, ol, ul{list-style:none;margin:0;padding:0} dialog{padding:0} textarea{resize:vertical} input::-moz-placeholder, textarea::-moz-placeholder{color:#9ca3af;opacity:1} input::placeholder, textarea::placeholder{color:#9ca3af;opacity:1} [role=button], button{cursor:pointer} :disabled{cursor:default} audio, canvas, embed, iframe, img, object, svg, video{display:block;vertical-align:middle} img, video{height:auto;max-width:100%} [hidden]:where(:not([hidden=until-found])){display:none} *{font-family:Mulish,sans-serif} input::-moz-selection, textarea::-moz-selection{background-color:hsla(0,0%,85%,.4)} input::selection, textarea::selection{background-color:hsla(0,0%,85%,.4)} .container{width:100%}@media (min-width:732px){ .container{max-width:732px}}@media (min-width:1196px){ .container{max-width:1196px}} .p2{font-size:.875rem;font-weight:600;line-height:1.25rem;line-height:1.5} .blanket-overlay{inset:0;position:absolute} .item-heading{font-size:1.25rem;letter-spacing:-.025em;line-height:1.5rem;--tw-text-opacity:1;color:rgb(40,44,135,var(--tw-text-opacity,1))} .focus-ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity,1));--tw-ring-offset-width:4px} .focus-ring:focus, .raw-focus-ring{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);outline:2px solid transparent;outline-offset:2px;transition-duration:50ms} .raw-focus-ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px} .focus-ring-by-dropdown{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:rgb(59,64,240,var(--tw-border-opacity,1));border-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);box-shadow:0 0 0 2px #fff,0 0 0 4px #212529,0 0 0 6px #fde047} .divider, .focus-ring-by-dropdown{--tw-border-opacity:1} .divider{border-bottom-width:1px;border-color:rgb(218,224,224,var(--tw-border-opacity,1))}@keyframes svelte-1dpid58-pulse{50%{opacity:.5}} .animate-skeleton{animation:svelte-1dpid58-pulse 2s cubic-bezier(.4,0,.6,1) infinite;--tw-bg-opacity:1;background-color:rgb(226,232,240,var(--tw-bg-opacity,1))} .btn-mcq-option:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);--tw-ring-opacity:1;--tw-ring-color:rgb(253 224 71/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px;--tw-ring-offset-color:#212529;outline:2px solid transparent;outline-offset:2px;transition-duration:50ms} .btn-mcq-option{font-size:1rem;line-height:1.5rem;line-height:19.2px;margin-bottom:1rem;min-height:52px;width:100%;--tw-text-opacity:1;border-radius:.5rem;border-width:1px;box-sizing:border-box;color:rgb(33,37,41,var(--tw-text-opacity,1));--tw-border-opacity:1;border-color:rgb(75,85,99,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(248,248,248,var(--tw-bg-opacity,1))} .btn-mcq-option:active{border-width:2px;--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1))}@media (hover:hover) and (pointer:fine){ .btn-mcq-option:hover{border-width:2px;--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(238,240,255,var(--tw-bg-opacity,1))}} .btn-mcq-text{align-items:center;display:flex;padding:.375rem .75rem;width:100%}@supports (overflow-wrap:anywhere){ .btn-mcq-text{overflow-wrap:anywhere}}@supports not (overflow-wrap:anywhere){ .btn-mcq-text{word-break:break-word}} .btn-mcq-option>span>span>span>.choice{align-items:center;border-radius:1rem;border-width:1px;display:flex;font-size:1rem;font-weight:700;height:2rem;justify-content:center;letter-spacing:.05em;line-height:1rem;width:2rem;--tw-border-opacity:1;border-color:rgb(156,163,175,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255,255,255,var(--tw-bg-opacity,1));padding:.5rem;--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .btn-mcq-option.selected{border-width:2px;--tw-border-opacity:1;background-color:rgb(40,44,135,var(--tw-bg-opacity,1));border-color:rgb(40,44,135,var(--tw-border-opacity,1))} .btn-mcq-option.selected, .btn-mcq-option.selected:active{--tw-bg-opacity:1;--tw-text-opacity:1;color:rgb(255,255,255,var(--tw-text-opacity,1))} .btn-mcq-option.selected:active{background-color:rgb(84,101,251,var(--tw-bg-opacity,1))}@media (hover:hover) and (pointer:fine){ .btn-mcq-option.selected:hover{--tw-bg-opacity:1;background-color:rgb(84,101,251,var(--tw-bg-opacity,1))}} .btn-mcq-option.finished{cursor:default} .btn-mcq-option.finished:active, .btn-mcq-option.finished:hover{border-width:1px;--tw-border-opacity:1;border-color:rgb(75,85,99,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(248,248,248,var(--tw-bg-opacity,1))} .btn-mcq-option.selected>span>span>.choice{--tw-bg-opacity:1;background-color:rgb(238,240,255,var(--tw-bg-opacity,1))} .btn-mcq-option>span>span>span>.custom-checkbox{align-items:center;border-radius:.25rem;border-width:1px;display:flex;height:1.75rem;justify-content:center;pointer-events:none;width:1.75rem;--tw-border-opacity:1;border-color:rgb(75,85,99,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255,255,255,var(--tw-bg-opacity,1))}@media (hover:hover) and (pointer:fine){ .btn-mcq-option:hover>span>span>span>.custom-checkbox{border-width:2px;--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1))} .btn-mcq-option:active>span>span>span>.custom-checkbox.preview-only, .btn-mcq-option:hover>span>span>span>.custom-checkbox.preview-only{border-width:1px;--tw-border-opacity:1;border-color:rgb(75,85,99,var(--tw-border-opacity,1))}} .btn-mcq-option:active>span>span>span>.custom-checkbox{border-width:2px;--tw-border-opacity:1;border-color:rgb(40,44,135,var(--tw-border-opacity,1))} .btn-mcq-option.selected>span>span>span>.custom-checkbox{border-width:0;pointer-events:none;--tw-bg-opacity:1;background-color:rgb(84,101,251,var(--tw-bg-opacity,1))}@media (hover:hover) and (pointer:fine){ .btn-mcq-option.selected:hover>span>span>span>.custom-checkbox{border-width:0;--tw-bg-opacity:1;background-color:rgb(76,91,226,var(--tw-bg-opacity,1))}} .btn-mcq-option.selected:active>span>span>span>.custom-checkbox{border-width:0;--tw-bg-opacity:1;background-color:rgb(40,44,135,var(--tw-bg-opacity,1))} .btn-mcq-option.finished:active>span>span>span>.custom-checkbox, .btn-mcq-option.finished:hover>span>span>span>.custom-checkbox{border-width:1px;--tw-border-opacity:1;border-color:rgb(75,85,99,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255,255,255,var(--tw-bg-opacity,1))} .btn-mcq-option.missing.\\!correct, .btn-mcq-option.missing.correct{border-width:1px;--tw-border-opacity:1;border-color:rgb(21,128,61,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(248,248,248,var(--tw-bg-opacity,1))}@media (hover:hover) and (pointer:fine){ .btn-mcq-option.\\!correct.interactive:active, .btn-mcq-option.\\!correct.interactive:hover, .btn-mcq-option.correct.interactive:active, .btn-mcq-option.correct.interactive:hover, .btn-mcq-option.incorrect.interactive:active, .btn-mcq-option.incorrect.interactive:hover, .btn-mcq-option.missing.interactive:active, .btn-mcq-option.missing.interactive:hover{border-width:2px;--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(238,240,255,var(--tw-bg-opacity,1))}} .btn-mcq-option.selected.\\!correct, .btn-mcq-option.selected.correct{background-color:rgb(240,253,244,var(--tw-bg-opacity,1));border-color:rgb(21,128,61,var(--tw-border-opacity,1));border-width:1px} .btn-mcq-option.selected.\\!correct, .btn-mcq-option.selected.correct, .btn-mcq-option.selected.incorrect{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .btn-mcq-option.selected.incorrect{background-color:rgb(253,242,248,var(--tw-bg-opacity,1));border-color:rgb(190,24,93,var(--tw-border-opacity,1));border-width:1px} .btn-mcq-option.selected.\\!correct>span>span>span>.choice, .btn-mcq-option.selected.correct>span>span>span>.choice, .btn-mcq-option.selected.incorrect>span>span>span>.choice{border-width:1px;--tw-border-opacity:1;border-color:rgb(113,115,119,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255,255,255,var(--tw-bg-opacity,1))} .btn-pressed{border-width:2px;--tw-border-opacity:1;border-color:rgb(51,69,223,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(249,250,251,var(--tw-bg-opacity,1));--tw-shadow:inset 0 0 0 100vmax rgba(0,0,0,.05);--tw-shadow-colored:inset 0 0 0 100vmax var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)} .btn-base:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);--tw-ring-opacity:1;--tw-ring-color:rgb(253 224 71/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px;--tw-ring-offset-color:#212529;outline:2px solid transparent;outline-offset:2px;transition-duration:50ms} .btn-base{align-items:center;display:inline-flex;justify-content:center}@media (hover:hover) and (pointer:fine){ .btn-base:hover{border-width:2px;--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(249,250,251,var(--tw-bg-opacity,1))}} .btn-base:active{border-width:2px;--tw-border-opacity:1;border-color:rgb(51,69,223,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(249,250,251,var(--tw-bg-opacity,1));--tw-shadow:inset 0 0 0 100vmax rgba(0,0,0,.05);--tw-shadow-colored:inset 0 0 0 100vmax var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)} .btn-touch-container{align-items:center;display:flex;height:2.75rem;justify-content:center;width:2.75rem} .btn-touch-container:focus{outline:2px solid transparent;outline-offset:2px} .btn-icon-sm{align-items:center;background-color:hsla(0,0%,100%,.8);border-radius:.25rem;display:flex;height:1.5rem;justify-content:center;width:1.5rem}@media (hover:hover) and (pointer:fine){ .btn-touch-container:hover>.btn-icon-sm{border-width:2px;--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(249,250,251,var(--tw-bg-opacity,1))}} .btn-touch-container:active>.btn-icon-sm{border-width:2px;--tw-border-opacity:1;border-color:rgb(51,69,223,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(249,250,251,var(--tw-bg-opacity,1));--tw-shadow:inset 0 0 0 100vmax rgba(0,0,0,.05);--tw-shadow-colored:inset 0 0 0 100vmax var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)} .btn-touch-container:focus-visible>.btn-icon-sm{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);--tw-ring-opacity:1;--tw-ring-color:rgb(253 224 71/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px;--tw-ring-offset-color:#212529;outline:2px solid transparent;outline-offset:2px;transition-duration:50ms} .typein-textbox:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity,1));--tw-ring-offset-width:4px;transition-duration:50ms} .typein-textbox{border-radius:.5rem;border-width:1px;width:100%;--tw-border-opacity:1;border-color:rgb(75,85,99,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255,255,255,var(--tw-bg-opacity,1));font-size:1rem;line-height:1.5rem;padding:.75rem 1rem;--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .typein-textbox::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(55,65,81,var(--tw-placeholder-opacity,1))} .typein-textbox::placeholder{--tw-placeholder-opacity:1;color:rgb(55,65,81,var(--tw-placeholder-opacity,1))} .typein-textbox:focus{border-width:2px;--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1))}@media (hover:hover) and (pointer:fine){ .typein-textbox:hover{border-width:2px;--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1))}} .typein-textbox:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)!important}@media (hover:hover) and (pointer:fine){ .typein-textbox:hover{transition-duration:50ms}} .typein-textbox:focus{outline-color:#212529;outline-width:2px}@media (hover:hover) and (pointer:fine){ .typein-textbox:hover{outline-color:#212529;outline-width:2px}} .typein-textbox:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(253 224 71/var(--tw-ring-opacity,1))} .inline-typein-container>p{font-size:1.25rem;font-weight:600;line-height:3rem;--tw-text-opacity:1;color:rgb(40,44,135,var(--tw-text-opacity,1))} #dnd-action-dragged-el{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px;cursor:grabbing!important;transition-duration:50ms;--tw-border-opacity:1!important;border-color:rgb(93,99,107,var(--tw-border-opacity,1))!important;--tw-bg-opacity:1!important;background-color:rgb(205,208,254,var(--tw-bg-opacity,1))!important} #dnd-action-dragged-el .btn-vertical-icon{cursor:grabbing!important;--tw-text-opacity:1;color:rgb(40,44,135,var(--tw-text-opacity,1))} #dnd-action-dragged-el .preview-icon{display:none!important} #dnd-action-dragged-el .preview-vertical{display:block!important} .image-description, .text-stimulus{padding-bottom:1rem;padding-top:1rem} .text-stimulus p{font-size:1.25rem;line-height:1.75rem;padding-bottom:.5rem;--tw-text-opacity:1;color:rgb(40,44,135,var(--tw-text-opacity,1))} .image-description p{font-size:.875rem;line-height:1.25rem;padding-bottom:.5rem;--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .text-stimulus ol, .text-stimulus ul{font-size:1rem;line-height:1.5rem;list-style-position:inside;padding-bottom:.5rem;padding-left:.5rem} .text-stimulus ol ::marker, .text-stimulus ul ::marker{color:#282c87} .text-stimulus ol::marker, .text-stimulus ul::marker{color:#282c87} .image-description ol, .image-description ul{font-size:.875rem;line-height:1.25rem;list-style-position:inside;padding-bottom:.5rem;padding-left:.5rem} .image-description ol ::marker, .image-description ul ::marker{color:#212529} .image-description ol::marker, .image-description ul::marker{color:#212529} .image-description ul, .text-stimulus ul{list-style-type:disc} .image-description ol, .text-stimulus ol{list-style-type:decimal} .image-description ul li>p, .text-stimulus ul li>p{margin-left:-.5rem} .text-stimulus ol>li>p, .text-stimulus ul>li>p{display:inline;font-size:1rem;line-height:1.5rem;padding-bottom:0;padding-top:0} .image-description ol>li>p, .image-description ul>li>p{display:inline;font-size:.875rem;line-height:1.25rem;padding-bottom:0;padding-top:0} .image-description div.table-container:focus, .text-stimulus div.table-container:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity,1));--tw-ring-offset-width:4px;transition-duration:50ms} .image-description div.table-container, .text-stimulus div.table-container{border-radius:.5rem;overflow:auto;padding-left:.125rem;padding-right:.125rem} .image-description table, .text-stimulus table{margin-bottom:1rem;margin-top:.5rem;width:100%;--tw-border-spacing-x:0.75rem;--tw-border-spacing-y:0.75rem;border-radius:.5rem;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);overflow-x:auto;--tw-shadow:0 0 0 1px #9ca3af;--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)} .image-description table tr, .text-stimulus table tr{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(156,163,175,var(--tw-border-opacity,1))} .image-description table tr:last-child, .text-stimulus table tr:last-child{border-color:transparent} .image-description table td, .image-description table th, .text-stimulus table td, .text-stimulus table th{border-left-width:1px;min-width:140px;--tw-border-opacity:1;border-color:rgb(156,163,175,var(--tw-border-opacity,1))} .image-description table td:first-child, .image-description table th:first-child, .text-stimulus table td:first-child, .text-stimulus table th:first-child{border-style:none} .text-stimulus table td>p, .text-stimulus table th>p{font-size:1rem;line-height:1.5rem;padding:.75rem;text-align:left;--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .image-description table td>p, .image-description table th>p{font-size:.875rem;line-height:1.25rem;padding:.75rem;text-align:left;--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .text-stimulus table th>p{font-weight:400} .image-description table th p, .prompt p, .text-stimulus table th p{font-weight:600} .prompt p b, .prompt p b i, .prompt p b i u, .prompt p b u, .prompt p b u i, .prompt p i b, .prompt p i b u, .prompt p i u b, .prompt p u b, .prompt p u b i, .prompt p u i b, .text-stimulus table th p b, .text-stimulus table th p b i, .text-stimulus table th p b i u, .text-stimulus table th p b u, .text-stimulus table th p b u i, .text-stimulus table th p i b, .text-stimulus table th p i b u, .text-stimulus table th p i u b, .text-stimulus table th p u b, .text-stimulus table th p u b i, .text-stimulus table th p u i b{font-weight:900} .dropdown-text:not(:last-child), .dropdown:not(:last-child){margin-right:1rem} .dropdown-container{align-items:center;border-radius:.5rem;border-width:1px;display:flex;height:2.75rem;overflow:hidden;white-space:nowrap;width:15rem;--tw-border-opacity:1;border-color:rgb(75,85,99,var(--tw-border-opacity,1))} .dropdown-container:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)} .dropdown-container:active, .dropdown-container:focus{border-width:2px;box-shadow:0 0 0 2px #fff,0 0 0 4px #212529,0 0 0 6px #fde047;--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1))}@media (hover:hover) and (pointer:fine){ .dropdown-container:hover{border-width:2px;--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1));outline-color:#212529;outline-width:2px}} .dropdown-menu{border-radius:.5rem;border-width:1px;margin-top:.5rem;max-height:400px;overflow-y:auto;position:absolute;z-index:10;--tw-border-opacity:1;border-color:rgb(75,85,99,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255,255,255,var(--tw-bg-opacity,1))}@supports (overflow-wrap:anywhere){ .dropdown-menu{overflow-wrap:anywhere}}@supports not (overflow-wrap:anywhere){ .dropdown-menu{word-break:break-word}} .dropdown-menu{max-width:min(500px,100vw - 2rem);min-width:240px;width:-moz-max-content;width:max-content} .dropdown-item{cursor:pointer;font-size:1rem;line-height:1.5rem;outline:2px solid transparent;outline-offset:2px;padding:.5rem 1rem} .dropdown-itemtext{border-bottom-width:1px;border-color:transparent} .dropdown-itemtext.hover-option{--tw-border-opacity:1;border-color:rgb(0,0,0,var(--tw-border-opacity,1));--tw-text-opacity:1;color:rgb(46,47,212,var(--tw-text-opacity,1))} .dropdown-itemtext.current-option{--tw-bg-opacity:1;background-color:rgb(251,217,27,var(--tw-bg-opacity,1));--tw-text-opacity:1;border-bottom-width:1px;color:rgb(0,0,0,var(--tw-text-opacity,1));outline:2px solid transparent;outline-offset:2px;--tw-border-opacity:1;border-color:rgb(0,0,0,var(--tw-border-opacity,1))} .dropdown-itemtext:active{border-bottom-width:2px} .image-description-accordion{border-bottom-width:1px;border-color:transparent;font-weight:600;--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .group:focus .image-description-accordion{--tw-bg-opacity:1;background-color:rgb(251,217,27,var(--tw-bg-opacity,1));--tw-text-opacity:1;border-bottom-width:1px;color:rgb(0,0,0,var(--tw-text-opacity,1));outline:2px solid transparent;outline-offset:2px} .group:focus .image-description-accordion, .group:hover .image-description-accordion{--tw-border-opacity:1;border-color:rgb(0,0,0,var(--tw-border-opacity,1))} .group:active .image-description-accordion{border-bottom-width:2px} .sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap} .pointer-events-none{pointer-events:none} .pointer-events-auto{pointer-events:auto} .visible{visibility:visible} .invisible{visibility:hidden} .collapse{visibility:collapse} .static{position:static} .fixed{position:fixed} .absolute{position:absolute} .relative{position:relative} .inset-0{inset:0} .inset-y-0{bottom:0;top:0} .-top-2\\.5{top:-.625rem} .bottom-0{bottom:0} .bottom-1\\.5{bottom:.375rem} .bottom-4{bottom:1rem} .bottom-5{bottom:1.25rem} .bottom-\\[7px\\]{bottom:7px} .bottom-full{bottom:100%} .left-0{left:0} .left-1\\/2{left:50%} .left-4{left:1rem} .left-6{left:1.5rem} .left-\\[-9999px\\]{left:-9999px} .left-full{left:100%} .right-0{right:0} .right-1{right:.25rem} .right-1\\.5{right:.375rem} .right-4{right:1rem} .right-6{right:1.5rem} .right-full{right:100%} .top-0{top:0} .top-1{top:.25rem} .top-1\\.5{top:.375rem} .top-1\\/2{top:50%} .top-12{top:3rem} .top-3\\.5{top:.875rem} .top-\\[13px\\]{top:13px} .top-\\[calc\\(50\\%\\+0\\.375rem\\)\\]{top:calc(50% + .375rem)} .top-full{top:100%} .z-0{z-index:0} .z-10{z-index:10} .z-50{z-index:50} .m-0{margin:0} .m-auto{margin:auto} .mx-0\\.5{margin-left:.125rem;margin-right:.125rem} .mx-auto{margin-left:auto;margin-right:auto} .my-1\\.5{margin-bottom:.375rem;margin-top:.375rem} .my-2{margin-bottom:.5rem;margin-top:.5rem} .my-6{margin-bottom:1.5rem;margin-top:1.5rem} .-mb-1{margin-bottom:-.25rem} .-ml-1{margin-left:-.25rem} .-mr-1{margin-right:-.25rem} .-mr-2\\.5{margin-right:-.625rem} .-mt-0\\.5{margin-top:-.125rem} .-mt-1{margin-top:-.25rem} .mb-0\\.5{margin-bottom:.125rem} .mb-10{margin-bottom:2.5rem} .mb-12{margin-bottom:3rem} .mb-2{margin-bottom:.5rem} .mb-3{margin-bottom:.75rem} .mb-4{margin-bottom:1rem} .mb-5{margin-bottom:1.25rem} .mb-6{margin-bottom:1.5rem} .mb-\\[9\\.5px\\]{margin-bottom:9.5px} .ml-1{margin-left:.25rem} .ml-2{margin-left:.5rem} .ml-2\\.5{margin-left:.625rem} .ml-3{margin-left:.75rem} .ml-8\\.5{margin-left:2.125rem} .ml-\\[3px\\]{margin-left:3px} .ml-\\[9\\.5px\\]{margin-left:9.5px} .mr-1{margin-right:.25rem} .mr-2{margin-right:.5rem} .mr-4{margin-right:1rem} .mr-\\[9\\.5px\\]{margin-right:9.5px} .mt-0\\.5{margin-top:.125rem} .mt-1{margin-top:.25rem} .mt-2{margin-top:.5rem} .mt-4{margin-top:1rem} .mt-6{margin-top:1.5rem} .mt-7\\.5{margin-top:1.875} .mt-9{margin-top:2.25rem} .mt-\\[9\\.5px\\]{margin-top:9.5px} .line-clamp-1{-webkit-line-clamp:1} .line-clamp-1, .line-clamp-3{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical} .line-clamp-3{-webkit-line-clamp:3} .block{display:block} .inline-block{display:inline-block} .inline{display:inline} .flex{display:flex} .table{display:table} .grid{display:grid} .contents{display:contents} .hidden{display:none} .h-10\\.5{height:2.625rem} .h-11{height:2.75rem} .h-2{height:.5rem} .h-4{height:1rem} .h-52{height:13rem} .h-6{height:1.5rem} .h-8\\.5{height:2.125rem} .h-\\[13\\.33px\\]{height:13.33px} .h-\\[8\\.77px\\]{height:8.77px} .h-auto{height:auto} .h-fit{height:-moz-fit-content;height:fit-content} .h-full{height:100%} .h-screen{height:100vh} .max-h-\\[184px\\]{max-height:184px} .max-h-\\[470px\\]{max-height:470px} .max-h-\\[660px\\]{max-height:660px} .max-h-\\[calc\\(100vh-168px\\)\\]{max-height:calc(100vh - 168px)} .max-h-\\[calc\\(100vh-168px-34px\\)\\]{max-height:calc(100vh - 202px)} .max-h-none{max-height:none} .min-h-\\[133px\\]{min-height:133px} .min-h-\\[140px\\]{min-height:140px} .min-h-\\[154px\\]{min-height:154px} .min-h-\\[210px\\]{min-height:210px} .min-h-\\[44px\\]{min-height:44px} .min-h-\\[54px\\]{min-height:54px} .min-h-\\[86px\\]{min-height:86px} .w-11{width:2.75rem} .w-2{width:.5rem} .w-2\\/4{width:50%} .w-3{width:.75rem} .w-4{width:1rem} .w-6{width:1.5rem} .w-60{width:15rem} .w-8\\.5{width:2.125rem} .w-\\[13\\.33px\\]{width:13.33px} .w-\\[8\\.77px\\]{width:8.77px} .w-auto{width:auto} .w-fit{width:-moz-fit-content;width:fit-content} .w-full{width:100%} .w-screen{width:100vw} .min-w-0{min-width:0} .min-w-\\[288px\\]{min-width:288px} .min-w-\\[44px\\]{min-width:44px} .min-w-\\[85px\\]{min-width:85px} .max-w-\\[1008px\\]{max-width:1008px} .max-w-\\[300px\\]{max-width:300px} .max-w-\\[304px\\]{max-width:304px} .max-w-\\[400px\\]{max-width:400px} .max-w-full{max-width:100%} .max-w-none{max-width:none} .flex-1{flex:1 1 0%} .flex-none{flex:none} .flex-shrink-0{flex-shrink:0} .grow{flex-grow:1} .basis-0{flex-basis:0px} .-translate-x-1\\/2{--tw-translate-x:-50%} .-translate-x-1\\/2, .-translate-y-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))} .-translate-y-1\\/2{--tw-translate-y:-50%} .rotate-45{--tw-rotate:45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))} .\\!cursor-default{cursor:default!important} .\\!cursor-pointer{cursor:pointer!important} .cursor-default{cursor:default} .cursor-pointer{cursor:pointer} .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none} .resize-none{resize:none} .resize{resize:both} .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))} .flex-row{flex-direction:row} .flex-col{flex-direction:column} .flex-col-reverse{flex-direction:column-reverse} .flex-wrap{flex-wrap:wrap} .content-start{align-content:flex-start} .items-center{align-items:center} .justify-start{justify-content:flex-start} .justify-center{justify-content:center} .justify-between{justify-content:space-between} .gap-1{gap:.25rem} .gap-2{gap:.5rem} .space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))} .space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1} .overflow-hidden{overflow:hidden} .overflow-y-auto{overflow-y:auto} .overflow-x-hidden{overflow-x:hidden} .overflow-y-visible{overflow-y:visible} .truncate{overflow:hidden;white-space:nowrap} .text-ellipsis, .truncate{text-overflow:ellipsis} .whitespace-normal{white-space:normal} .whitespace-nowrap{white-space:nowrap} .break-words{overflow-wrap:break-word} .break-all{word-break:break-all} .rounded{border-radius:.25rem} .rounded-\\[32px\\]{border-radius:32px} .rounded-lg{border-radius:.5rem} .rounded-md{border-radius:.375rem} .rounded-b-lg{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem} .rounded-b-md{border-bottom-left-radius:.375rem;border-bottom-right-radius:.375rem} .rounded-l-lg{border-bottom-left-radius:.5rem;border-top-left-radius:.5rem} .rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem} .rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem} .border{border-width:1px} .border-2{border-width:2px} .border-b{border-bottom-width:1px} .border-l-4{border-left-width:4px} .border-l-6{border-left-width:6px} .border-dashed{border-style:dashed} .\\!border-blue-1000{--tw-border-opacity:1!important;border-color:rgb(40,44,135,var(--tw-border-opacity,1))!important} .border-blue-1000{--tw-border-opacity:1;border-color:rgb(40,44,135,var(--tw-border-opacity,1))} .border-blue-950{--tw-border-opacity:1;border-color:rgb(29,78,216,var(--tw-border-opacity,1))} .border-border-minimal{--tw-border-opacity:1;border-color:rgb(229,231,235,var(--tw-border-opacity,1))} .border-charcoal{--tw-border-opacity:1;border-color:rgb(33,37,41,var(--tw-border-opacity,1))} .border-gray-400{--tw-border-opacity:1;border-color:rgb(196,201,204,var(--tw-border-opacity,1))} .border-gray-800{--tw-border-opacity:1;border-color:rgb(93,99,107,var(--tw-border-opacity,1))} .border-gray-850{--tw-border-opacity:1;border-color:rgb(75,85,99,var(--tw-border-opacity,1))} .border-green-800{--tw-border-opacity:1;border-color:rgb(0,102,5,var(--tw-border-opacity,1))} .border-green-900{--tw-border-opacity:1;border-color:rgb(21,128,61,var(--tw-border-opacity,1))} .border-red-600{--tw-border-opacity:1;border-color:rgb(220,38,38,var(--tw-border-opacity,1))} .border-red-800{--tw-border-opacity:1;border-color:rgb(217,12,85,var(--tw-border-opacity,1))} .border-red-900{--tw-border-opacity:1;border-color:rgb(190,24,93,var(--tw-border-opacity,1))} .border-soft-blue{--tw-border-opacity:1;border-color:rgb(84,101,251,var(--tw-border-opacity,1))} .border-white{--tw-border-opacity:1;border-color:rgb(255,255,255,var(--tw-border-opacity,1))} .\\!bg-violet-100{--tw-bg-opacity:1!important;background-color:rgb(235,235,255,var(--tw-bg-opacity,1))!important} .\\!bg-white{--tw-bg-opacity:1!important;background-color:rgb(255,255,255,var(--tw-bg-opacity,1))!important} .bg-black{--tw-bg-opacity:1;background-color:rgb(0,0,0,var(--tw-bg-opacity,1))} .bg-blue-1000{--tw-bg-opacity:1;background-color:rgb(40,44,135,var(--tw-bg-opacity,1))} .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239,246,255,var(--tw-bg-opacity,1))} .bg-charcoal\\/30{background-color:rgba(33,37,41,.3)} .bg-charcoal\\/80{background-color:rgba(33,37,41,.8)} .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(247,250,250,var(--tw-bg-opacity,1))} .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(244,244,244,var(--tw-bg-opacity,1))} .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(57,62,69,var(--tw-bg-opacity,1))} .bg-green-300{--tw-bg-opacity:1;background-color:rgb(241,254,241,var(--tw-bg-opacity,1))} .bg-red-200{--tw-bg-opacity:1;background-color:rgb(254,202,202,var(--tw-bg-opacity,1))} .bg-red-300{--tw-bg-opacity:1;background-color:rgb(253,243,247,var(--tw-bg-opacity,1))} .bg-red-50{--tw-bg-opacity:1;background-color:rgb(253,242,248,var(--tw-bg-opacity,1))} .bg-soft-blue{--tw-bg-opacity:1;background-color:rgb(84,101,251,var(--tw-bg-opacity,1))} .bg-transparent{background-color:transparent} .bg-violet-100{--tw-bg-opacity:1;background-color:rgb(235,235,255,var(--tw-bg-opacity,1))} .bg-violet-150{--tw-bg-opacity:1;background-color:rgb(205,208,254,var(--tw-bg-opacity,1))} .bg-white{--tw-bg-opacity:1;background-color:rgb(255,255,255,var(--tw-bg-opacity,1))} .bg-white\\/80{background-color:hsla(0,0%,100%,.8)} .bg-yellow-1000{--tw-bg-opacity:1;background-color:rgb(251,217,27,var(--tw-bg-opacity,1))} .bg-opacity-5{--tw-bg-opacity:0.05} .object-contain{-o-object-fit:contain;object-fit:contain} .p-0\\.5{padding:.125rem} .p-1{padding:.25rem} .p-1\\.5{padding:.375rem} .p-2{padding:.5rem} .p-3{padding:.75rem} .p-4{padding:1rem} .p-5{padding:1.25rem} .p-6{padding:1.5rem} .px-0{padding-left:0;padding-right:0} .px-2{padding-left:.5rem;padding-right:.5rem} .px-3{padding-left:.75rem;padding-right:.75rem} .px-4{padding-left:1rem;padding-right:1rem} .py-1{padding-bottom:.25rem;padding-top:.25rem} .py-1\\.5{padding-bottom:.375rem;padding-top:.375rem} .py-2{padding-bottom:.5rem;padding-top:.5rem} .py-\\[9px\\]{padding-bottom:9px;padding-top:9px} .\\!pr-11{padding-right:2.75rem!important} .pb-0{padding-bottom:0} .pb-10{padding-bottom:2.5rem} .pb-2{padding-bottom:.5rem} .pb-3{padding-bottom:.75rem} .pb-\\[72px\\]{padding-bottom:72px} .pl-13\\.2{padding-left:3.125rem} .pl-24{padding-left:6rem} .pl-3{padding-left:.75rem} .pl-4{padding-left:1rem} .pr-3{padding-right:.75rem} .pr-4{padding-right:1rem} .pt-0{padding-top:0} .pt-0\\.5{padding-top:.125rem} .pt-14{padding-top:3.5rem} .pt-4{padding-top:1rem} .pt-6{padding-top:1.5rem} .pt-\\[15px\\]{padding-top:15px} .pt-\\[55px\\]{padding-top:55px} .text-left{text-align:left} .text-center{text-align:center} .align-middle{vertical-align:middle} .text-base{font-size:1rem;line-height:1.5rem} .text-lg{font-size:1.125rem;line-height:1.75rem} .text-sm{font-size:.875rem;line-height:1.25rem} .text-xl{font-size:1.25rem;line-height:1.75rem} .font-bold{font-weight:700} .font-normal{font-weight:400} .font-semibold{font-weight:600} .leading-12{line-height:3rem} .leading-4{line-height:1rem} .leading-5{line-height:1.25rem} .leading-6{line-height:1.5rem} .leading-\\[1\\.5\\]{line-height:1.5} .leading-\\[150\\%\\]{line-height:150%} .leading-\\[19\\.2px\\]{line-height:19.2px} .leading-\\[19px\\]{line-height:19px} .leading-\\[22px\\]{line-height:22px} .\\!text-gray-900{--tw-text-opacity:1!important;color:rgb(57,62,69,var(--tw-text-opacity,1))!important} .text-blue-1000{--tw-text-opacity:1;color:rgb(40,44,135,var(--tw-text-opacity,1))} .text-blue-850{--tw-text-opacity:1;color:rgb(46,47,212,var(--tw-text-opacity,1))} .text-charcoal{--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .text-gray-500{--tw-text-opacity:1;color:rgb(107,114,128,var(--tw-text-opacity,1))} .text-gray-800{--tw-text-opacity:1;color:rgb(93,99,107,var(--tw-text-opacity,1))} .text-gray-860{--tw-text-opacity:1;color:rgb(55,65,81,var(--tw-text-opacity,1))} .text-green-800{--tw-text-opacity:1;color:rgb(0,102,5,var(--tw-text-opacity,1))} .text-green-900{--tw-text-opacity:1;color:rgb(21,128,61,var(--tw-text-opacity,1))} .text-inherit{color:inherit} .text-primary-emphasis{--tw-text-opacity:1;color:rgb(8,38,99,var(--tw-text-opacity,1))} .text-red-800{--tw-text-opacity:1;color:rgb(217,12,85,var(--tw-text-opacity,1))} .text-red-900{--tw-text-opacity:1;color:rgb(190,24,93,var(--tw-text-opacity,1))} .text-white{--tw-text-opacity:1;color:rgb(255,255,255,var(--tw-text-opacity,1))} .underline{text-decoration-line:underline} .opacity-0{opacity:0} .opacity-5{opacity:.05} .opacity-50{opacity:.5} .shadow-\\[0_-12px_14px_-16px_\\#00000033\\]{--tw-shadow:0 -12px 14px -16px #00000033;--tw-shadow-colored:0 -12px 14px -16px var(--tw-shadow-color)} .shadow-\\[0_-12px_14px_-16px_\\#00000033\\], .shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)} .shadow-md{--tw-shadow:0px 2px 8px rgba(0,0,0,.2);--tw-shadow-colored:0px 2px 8px var(--tw-shadow-color)} .\\!outline-none{outline:2px solid transparent!important;outline-offset:2px!important} .outline-none{outline:2px solid transparent;outline-offset:2px} .blur{--tw-blur:blur(8px)} .blur, .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)} .backdrop-blur-md{--tw-backdrop-blur:blur(12px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)} .transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)} .duration-300{transition-duration:.3s} :host, html{-webkit-tap-highlight-color:inherit!important} .active\\:raw-focus-ring-by:active{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(253 224 71/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px;--tw-ring-offset-color:#212529} .active\\:raw-focus-ring-by:active, .active\\:raw-focus-ring:active{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);outline:2px solid transparent;outline-offset:2px;transition-duration:50ms} .active\\:raw-focus-ring:active{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}@media (min-width:732px){ .md\\:item-heading{font-size:1.25rem;letter-spacing:-.025em;line-height:1.5rem;--tw-text-opacity:1;color:rgb(40,44,135,var(--tw-text-opacity,1))}}@media (hover:hover) and (pointer:fine){ .td\\:hover-focus-ring:hover{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px;transition-duration:50ms}} .last\\:mr-0:last-child{margin-right:0} .focus-within\\:left-0:focus-within{left:0} .focus-within\\:right-0:focus-within{right:0} .focus-within\\:top-0:focus-within{top:0} .focus-within\\:z-30:focus-within{z-index:30} .hover\\:bg-black-50:hover{background-color:rgba(0,0,0,.051)} .hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(222,222,255,var(--tw-bg-opacity,1))} .hover\\:bg-yellow-1000:hover{--tw-bg-opacity:1;background-color:rgb(251,217,27,var(--tw-bg-opacity,1))} .hover\\:text-charcoal:hover{--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .hover\\:underline:hover{text-decoration-line:underline} .hover\\:decoration-2:hover{text-decoration-thickness:2px} .hover\\:underline-offset-\\[25\\%\\]:hover{text-underline-offset:25%} .focus-visible\\:border-charcoal:focus-visible{--tw-border-opacity:1;border-color:rgb(33,37,41,var(--tw-border-opacity,1))} .focus-visible\\:bg-yellow-900:focus-visible{--tw-bg-opacity:1;background-color:rgb(253,224,71,var(--tw-bg-opacity,1))} .focus-visible\\:text-charcoal:focus-visible{--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .focus-visible\\:underline:focus-visible{text-decoration-line:underline} .focus-visible\\:decoration-2:focus-visible{text-decoration-thickness:2px} .focus-visible\\:underline-offset-\\[25\\%\\]:focus-visible{text-underline-offset:25%} .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px} .focus-visible\\:ring-4:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)} .focus-visible\\:ring-soft-blue:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity,1))} .focus-visible\\:ring-offset-4:focus-visible{--tw-ring-offset-width:4px} .focus-visible\\:duration-50:focus-visible{transition-duration:50ms} .active\\:bg-black-55:active, .active\\:bg-black-60:active{background-color:rgba(0,0,0,.102)} .active\\:bg-yellow-1100:active{--tw-bg-opacity:1;background-color:rgb(238,206,26,var(--tw-bg-opacity,1))} .active\\:text-charcoal:active{--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .disabled\\:text-gray-40:disabled{--tw-text-opacity:1;color:rgb(142,147,153,var(--tw-text-opacity,1))} .disabled\\:hover\\:bg-white:hover:disabled{--tw-bg-opacity:1;background-color:rgb(255,255,255,var(--tw-bg-opacity,1))} .group:hover .group-hover\\:underline{text-decoration-line:underline} .group.active .group-\\[\\.active\\]\\:border-b-2{border-bottom-width:2px}@media (min-width:732px){ .md\\:inset-0{inset:0} .md\\:top-20{top:5rem} .md\\:mb-2{margin-bottom:.5rem} .md\\:mb-4{margin-bottom:1rem} .md\\:mb-8{margin-bottom:2rem} .md\\:ml-0{margin-left:0} .md\\:mt-0{margin-top:0} .md\\:mt-14{margin-top:3.5rem} .md\\:block{display:block} .md\\:inline-block{display:inline-block} .md\\:flex{display:flex} .md\\:grid{display:grid} .md\\:hidden{display:none} .md\\:h-11{height:2.75rem} .md\\:h-5{height:1.25rem} .md\\:h-\\[13\\.5px\\]{height:13.5px} .md\\:h-fit{height:-moz-fit-content;height:fit-content} .md\\:max-h-\\[calc\\(100vh-128px\\)\\]{max-height:calc(100vh - 128px)} .md\\:max-h-\\[calc\\(100vh-128px-54px\\)\\]{max-height:calc(100vh - 182px)} .md\\:min-h-0{min-height:0} .md\\:min-h-\\[140px\\]{min-height:140px} .md\\:min-h-\\[164px\\]{min-height:164px} .md\\:w-1\\/2{width:50%} .md\\:w-11{width:2.75rem} .md\\:w-5{width:1.25rem} .md\\:w-\\[13\\.5px\\]{width:13.5px} .md\\:w-fit{width:-moz-fit-content;width:fit-content} .md\\:max-w-\\[calc\\(100vw-164px\\)\\]{max-width:calc(100vw - 164px)} .md\\:flex-none{flex:none} .md\\:grow-0{flex-grow:0} .md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))} .md\\:flex-row{flex-direction:row} .md\\:flex-col{flex-direction:column} .md\\:items-start{align-items:flex-start} .md\\:items-center{align-items:center} .md\\:justify-normal{justify-content:normal} .md\\:justify-center{justify-content:center} .md\\:justify-between{justify-content:space-between} .md\\:gap-4{gap:1rem} .md\\:gap-6{gap:1.5rem} .md\\:gap-x-4{-moz-column-gap:1rem;column-gap:1rem} .md\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))} .md\\:rounded-lg{border-radius:.5rem} .md\\:rounded-md{border-radius:.375rem} .md\\:rounded-b-none{border-bottom-left-radius:0;border-bottom-right-radius:0} .md\\:border{border-width:1px} .md\\:border-gray-400{--tw-border-opacity:1;border-color:rgb(196,201,204,var(--tw-border-opacity,1))} .md\\:\\!bg-white{--tw-bg-opacity:1!important;background-color:rgb(255,255,255,var(--tw-bg-opacity,1))!important} .md\\:p-4{padding:1rem} .md\\:px-0{padding-left:0;padding-right:0} .md\\:px-4{padding-left:1rem;padding-right:1rem} .md\\:px-6{padding-left:1.5rem;padding-right:1.5rem} .md\\:px-\\[82px\\]{padding-left:82px;padding-right:82px} .md\\:pb-0{padding-bottom:0} .md\\:pl-13\\.2{padding-left:3.125rem} .md\\:pl-4{padding-left:1rem} .md\\:pr-4{padding-right:1rem} .md\\:pt-20\\.5{padding-top:5.125rem} .md\\:text-center{text-align:center} .md\\:text-lg{font-size:1.125rem;line-height:1.75rem} .md\\:shadow-\\[0_0_\\#0000\\]{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)} .md\\:\\[grid-template-columns\\:repeat\\(2\\,minmax\\(auto\\,304px\\)\\)\\]{grid-template-columns:repeat(2,minmax(auto,304px))}}@media (min-width:1196px){ .lg\\:left-16{left:4rem} .lg\\:right-16{right:4rem} .lg\\:flex{display:flex} .lg\\:hidden{display:none} .lg\\:max-h-\\[calc\\(100vh-192px\\)\\]{max-height:calc(100vh - 192px)} .lg\\:max-h-\\[calc\\(100vh-192px-54px\\)\\]{max-height:calc(100vh - 246px)} .lg\\:min-h-\\[224px\\]{min-height:224px} .lg\\:w-full{width:100%} .lg\\:max-w-\\[50\\%\\]{max-width:50%} .lg\\:max-w-\\[calc\\(100vw-248px\\)\\]{max-width:calc(100vw - 248px)} .lg\\:grow{flex-grow:1} .lg\\:basis-1\\/2{flex-basis:50%} .lg\\:justify-start{justify-content:flex-start} .lg\\:rounded-b-lg{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem} .lg\\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem} .lg\\:px-16{padding-left:4rem;padding-right:4rem} .lg\\:px-\\[128px\\]{padding-left:128px;padding-right:128px} .lg\\:py-24{padding-bottom:6rem;padding-top:6rem} .lg\\:pt-6{padding-top:1.5rem}}@media (hover:hover) and (pointer:fine){ .td\\:border-2{border-width:2px} .td\\:border-blue-900{--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1))} .td\\:hover\\:cursor-grab:hover{cursor:grab} .td\\:hover\\:bg-black-50:hover{background-color:rgba(0,0,0,.051)} .td\\:hover\\:bg-violet-100:hover{--tw-bg-opacity:1;background-color:rgb(235,235,255,var(--tw-bg-opacity,1))} .td\\:hover\\:text-soft-blue:hover{--tw-text-opacity:1;color:rgb(84,101,251,var(--tw-text-opacity,1))} .group:hover .td\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgb(0,0,0,var(--tw-bg-opacity,1))} .group:hover .td\\:group-hover\\:opacity-5{opacity:.05}}@media (pointer:coarse){ .coarse\\:active\\:bg-yellow-900:active{--tw-bg-opacity:1;background-color:rgb(253,224,71,var(--tw-bg-opacity,1))}}'
|
|
18842
|
+
code: ' *, :after, :before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style:} ::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style:} *, :after, :before{border:0 solid #e5e7eb;box-sizing:border-box} :after, :before{--tw-content:""} :host, html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:Mulish,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent} body{line-height:inherit;margin:0} hr{border-top-width:1px;color:inherit;height:0} abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted} h1, h2, h3, h4, h5, h6{font-size:inherit;font-weight:inherit} a{color:inherit;text-decoration:inherit} b, strong{font-weight:bolder} code, kbd, pre, samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal} small{font-size:80%} sub, sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} sub{bottom:-.25em} sup{top:-.5em} table{border-collapse:collapse;border-color:inherit;text-indent:0} button, input, optgroup, select, textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0} button, select{text-transform:none} button, input:where([type=button]), input:where([type=reset]), input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none} :-moz-focusring{outline:auto} :-moz-ui-invalid{box-shadow:none} progress{vertical-align:baseline} ::-webkit-inner-spin-button, ::-webkit-outer-spin-button{height:auto} [type=search]{-webkit-appearance:textfield;outline-offset:-2px} ::-webkit-search-decoration{-webkit-appearance:none} ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit} summary{display:list-item} blockquote, dd, dl, figure, h1, h2, h3, h4, h5, h6, hr, p, pre{margin:0} fieldset{margin:0} fieldset, legend{padding:0} menu, ol, ul{list-style:none;margin:0;padding:0} dialog{padding:0} textarea{resize:vertical} input::-moz-placeholder, textarea::-moz-placeholder{color:#9ca3af;opacity:1} input::placeholder, textarea::placeholder{color:#9ca3af;opacity:1} [role=button], button{cursor:pointer} :disabled{cursor:default} audio, canvas, embed, iframe, img, object, svg, video{display:block;vertical-align:middle} img, video{height:auto;max-width:100%} [hidden]:where(:not([hidden=until-found])){display:none} *{font-family:Mulish,sans-serif} input::-moz-selection, textarea::-moz-selection{background-color:hsla(0,0%,85%,.4)} input::selection, textarea::selection{background-color:hsla(0,0%,85%,.4)} .container{width:100%}@media (min-width:732px){ .container{max-width:732px}}@media (min-width:1196px){ .container{max-width:1196px}} .p2{font-size:.875rem;font-weight:600;line-height:1.25rem;line-height:1.5} .blanket-overlay{inset:0;position:absolute} .item-heading{font-size:1.25rem;letter-spacing:-.025em;line-height:1.5rem;--tw-text-opacity:1;color:rgb(40,44,135,var(--tw-text-opacity,1))} .focus-ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity,1));--tw-ring-offset-width:4px} .focus-ring:focus, .raw-focus-ring{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);outline:2px solid transparent;outline-offset:2px;transition-duration:50ms} .raw-focus-ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px} .focus-ring-by-dropdown{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:rgb(59,64,240,var(--tw-border-opacity,1));border-width:2px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);box-shadow:0 0 0 2px #fff,0 0 0 4px #212529,0 0 0 6px #fde047} .divider, .focus-ring-by-dropdown{--tw-border-opacity:1} .divider{border-bottom-width:1px;border-color:rgb(218,224,224,var(--tw-border-opacity,1))}@keyframes svelte-1dpid58-pulse{50%{opacity:.5}} .animate-skeleton{animation:svelte-1dpid58-pulse 2s cubic-bezier(.4,0,.6,1) infinite;--tw-bg-opacity:1;background-color:rgb(226,232,240,var(--tw-bg-opacity,1))} .btn-mcq-option:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);--tw-ring-opacity:1;--tw-ring-color:rgb(253 224 71/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px;--tw-ring-offset-color:#212529;outline:2px solid transparent;outline-offset:2px;transition-duration:50ms} .btn-mcq-option{font-size:1rem;line-height:1.5rem;line-height:19.2px;margin-bottom:1rem;min-height:52px;width:100%;--tw-text-opacity:1;border-radius:.5rem;border-width:1px;box-sizing:border-box;color:rgb(33,37,41,var(--tw-text-opacity,1));--tw-border-opacity:1;border-color:rgb(75,85,99,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(248,248,248,var(--tw-bg-opacity,1))} .btn-mcq-option:active{border-width:2px;--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1))}@media (hover:hover) and (pointer:fine){ .btn-mcq-option:hover{border-width:2px;--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(238,240,255,var(--tw-bg-opacity,1))}} .btn-mcq-text{align-items:center;display:flex;padding:.375rem .75rem;width:100%}@supports (overflow-wrap:anywhere){ .btn-mcq-text{overflow-wrap:anywhere}}@supports not (overflow-wrap:anywhere){ .btn-mcq-text{word-break:break-word}} .btn-mcq-option>span>span>span>.choice{align-items:center;border-radius:1rem;border-width:1px;display:flex;font-size:1rem;font-weight:700;height:2rem;justify-content:center;letter-spacing:.05em;line-height:1rem;width:2rem;--tw-border-opacity:1;border-color:rgb(156,163,175,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255,255,255,var(--tw-bg-opacity,1));padding:.5rem;--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .btn-mcq-option.selected{border-width:2px;--tw-border-opacity:1;background-color:rgb(40,44,135,var(--tw-bg-opacity,1));border-color:rgb(40,44,135,var(--tw-border-opacity,1))} .btn-mcq-option.selected, .btn-mcq-option.selected:active{--tw-bg-opacity:1;--tw-text-opacity:1;color:rgb(255,255,255,var(--tw-text-opacity,1))} .btn-mcq-option.selected:active{background-color:rgb(84,101,251,var(--tw-bg-opacity,1))}@media (hover:hover) and (pointer:fine){ .btn-mcq-option.selected:hover{--tw-bg-opacity:1;background-color:rgb(84,101,251,var(--tw-bg-opacity,1))}} .btn-mcq-option.finished{cursor:default} .btn-mcq-option.finished:active, .btn-mcq-option.finished:hover{border-width:1px;--tw-border-opacity:1;border-color:rgb(75,85,99,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(248,248,248,var(--tw-bg-opacity,1))} .btn-mcq-option.selected>span>span>.choice{--tw-bg-opacity:1;background-color:rgb(238,240,255,var(--tw-bg-opacity,1))} .btn-mcq-option>span>span>span>.custom-checkbox{align-items:center;border-radius:.25rem;border-width:1px;display:flex;height:1.75rem;justify-content:center;pointer-events:none;width:1.75rem;--tw-border-opacity:1;border-color:rgb(75,85,99,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255,255,255,var(--tw-bg-opacity,1))}@media (hover:hover) and (pointer:fine){ .btn-mcq-option:hover>span>span>span>.custom-checkbox{border-width:2px;--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1))} .btn-mcq-option:active>span>span>span>.custom-checkbox.preview-only, .btn-mcq-option:hover>span>span>span>.custom-checkbox.preview-only{border-width:1px;--tw-border-opacity:1;border-color:rgb(75,85,99,var(--tw-border-opacity,1))}} .btn-mcq-option:active>span>span>span>.custom-checkbox{border-width:2px;--tw-border-opacity:1;border-color:rgb(40,44,135,var(--tw-border-opacity,1))} .btn-mcq-option.selected>span>span>span>.custom-checkbox{border-width:0;pointer-events:none;--tw-bg-opacity:1;background-color:rgb(84,101,251,var(--tw-bg-opacity,1))}@media (hover:hover) and (pointer:fine){ .btn-mcq-option.selected:hover>span>span>span>.custom-checkbox{border-width:0;--tw-bg-opacity:1;background-color:rgb(76,91,226,var(--tw-bg-opacity,1))}} .btn-mcq-option.selected:active>span>span>span>.custom-checkbox{border-width:0;--tw-bg-opacity:1;background-color:rgb(40,44,135,var(--tw-bg-opacity,1))} .btn-mcq-option.finished:active>span>span>span>.custom-checkbox, .btn-mcq-option.finished:hover>span>span>span>.custom-checkbox{border-width:1px;--tw-border-opacity:1;border-color:rgb(75,85,99,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255,255,255,var(--tw-bg-opacity,1))} .btn-mcq-option.missing.\\!correct, .btn-mcq-option.missing.correct{border-width:1px;--tw-border-opacity:1;border-color:rgb(21,128,61,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(248,248,248,var(--tw-bg-opacity,1))}@media (hover:hover) and (pointer:fine){ .btn-mcq-option.\\!correct.interactive:active, .btn-mcq-option.\\!correct.interactive:hover, .btn-mcq-option.correct.interactive:active, .btn-mcq-option.correct.interactive:hover, .btn-mcq-option.incorrect.interactive:active, .btn-mcq-option.incorrect.interactive:hover, .btn-mcq-option.missing.interactive:active, .btn-mcq-option.missing.interactive:hover{border-width:2px;--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(238,240,255,var(--tw-bg-opacity,1))}} .btn-mcq-option.selected.\\!correct, .btn-mcq-option.selected.correct{background-color:rgb(240,253,244,var(--tw-bg-opacity,1));border-color:rgb(21,128,61,var(--tw-border-opacity,1));border-width:1px} .btn-mcq-option.selected.\\!correct, .btn-mcq-option.selected.correct, .btn-mcq-option.selected.incorrect{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .btn-mcq-option.selected.incorrect{background-color:rgb(253,242,248,var(--tw-bg-opacity,1));border-color:rgb(190,24,93,var(--tw-border-opacity,1));border-width:1px} .btn-mcq-option.selected.\\!correct>span>span>span>.choice, .btn-mcq-option.selected.correct>span>span>span>.choice, .btn-mcq-option.selected.incorrect>span>span>span>.choice{border-width:1px;--tw-border-opacity:1;border-color:rgb(113,115,119,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255,255,255,var(--tw-bg-opacity,1))} .btn-pressed{border-width:2px;--tw-border-opacity:1;border-color:rgb(51,69,223,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(249,250,251,var(--tw-bg-opacity,1));--tw-shadow:inset 0 0 0 100vmax rgba(0,0,0,.05);--tw-shadow-colored:inset 0 0 0 100vmax var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)} .btn-base:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);--tw-ring-opacity:1;--tw-ring-color:rgb(253 224 71/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px;--tw-ring-offset-color:#212529;outline:2px solid transparent;outline-offset:2px;transition-duration:50ms} .btn-base{align-items:center;display:inline-flex;justify-content:center}@media (hover:hover) and (pointer:fine){ .btn-base:hover{border-width:2px;--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(249,250,251,var(--tw-bg-opacity,1))}} .btn-base:active{border-width:2px;--tw-border-opacity:1;border-color:rgb(51,69,223,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(249,250,251,var(--tw-bg-opacity,1));--tw-shadow:inset 0 0 0 100vmax rgba(0,0,0,.05);--tw-shadow-colored:inset 0 0 0 100vmax var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)} .btn-touch-container{align-items:center;display:flex;height:2.75rem;justify-content:center;width:2.75rem} .btn-touch-container:focus{outline:2px solid transparent;outline-offset:2px} .btn-icon-sm{align-items:center;background-color:hsla(0,0%,100%,.8);border-radius:.25rem;display:flex;height:1.5rem;justify-content:center;width:1.5rem}@media (hover:hover) and (pointer:fine){ .btn-touch-container:hover>.btn-icon-sm{border-width:2px;--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(249,250,251,var(--tw-bg-opacity,1))}} .btn-touch-container:active>.btn-icon-sm{border-width:2px;--tw-border-opacity:1;border-color:rgb(51,69,223,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(249,250,251,var(--tw-bg-opacity,1));--tw-shadow:inset 0 0 0 100vmax rgba(0,0,0,.05);--tw-shadow-colored:inset 0 0 0 100vmax var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)} .btn-touch-container:focus-visible>.btn-icon-sm{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);--tw-ring-opacity:1;--tw-ring-color:rgb(253 224 71/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px;--tw-ring-offset-color:#212529;outline:2px solid transparent;outline-offset:2px;transition-duration:50ms} .typein-textbox:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity,1));--tw-ring-offset-width:4px;transition-duration:50ms} .typein-textbox{border-radius:.5rem;border-width:1px;width:100%;--tw-border-opacity:1;border-color:rgb(75,85,99,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255,255,255,var(--tw-bg-opacity,1));font-size:1rem;line-height:1.5rem;padding:.75rem 1rem;--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .typein-textbox::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(55,65,81,var(--tw-placeholder-opacity,1))} .typein-textbox::placeholder{--tw-placeholder-opacity:1;color:rgb(55,65,81,var(--tw-placeholder-opacity,1))} .typein-textbox:focus{border-width:2px;--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1))}@media (hover:hover) and (pointer:fine){ .typein-textbox:hover{border-width:2px;--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1))}} .typein-textbox:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)!important}@media (hover:hover) and (pointer:fine){ .typein-textbox:hover{transition-duration:50ms}} .typein-textbox:focus{outline-color:#212529;outline-width:2px}@media (hover:hover) and (pointer:fine){ .typein-textbox:hover{outline-color:#212529;outline-width:2px}} .typein-textbox:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(253 224 71/var(--tw-ring-opacity,1))} .inline-typein-container>p{font-size:1.25rem;font-weight:600;line-height:3rem;--tw-text-opacity:1;color:rgb(40,44,135,var(--tw-text-opacity,1))} #dnd-action-dragged-el{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px;cursor:grabbing!important;transition-duration:50ms;--tw-border-opacity:1!important;border-color:rgb(93,99,107,var(--tw-border-opacity,1))!important;--tw-bg-opacity:1!important;background-color:rgb(205,208,254,var(--tw-bg-opacity,1))!important} #dnd-action-dragged-el .btn-vertical-icon{cursor:grabbing!important;--tw-text-opacity:1;color:rgb(40,44,135,var(--tw-text-opacity,1))} #dnd-action-dragged-el .preview-icon{display:none!important} #dnd-action-dragged-el .preview-vertical{display:block!important} .image-description, .text-stimulus{padding-bottom:1rem;padding-top:1rem} .text-stimulus p{font-size:1.25rem;line-height:1.75rem;padding-bottom:.5rem;--tw-text-opacity:1;color:rgb(40,44,135,var(--tw-text-opacity,1))} .image-description p{font-size:.875rem;line-height:1.25rem;padding-bottom:.5rem;--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .text-stimulus ol, .text-stimulus ul{font-size:1rem;line-height:1.5rem;list-style-position:inside;padding-bottom:.5rem;padding-left:.5rem} .text-stimulus ol ::marker, .text-stimulus ul ::marker{color:#282c87} .text-stimulus ol::marker, .text-stimulus ul::marker{color:#282c87} .image-description ol, .image-description ul{font-size:.875rem;line-height:1.25rem;list-style-position:inside;padding-bottom:.5rem;padding-left:.5rem} .image-description ol ::marker, .image-description ul ::marker{color:#212529} .image-description ol::marker, .image-description ul::marker{color:#212529} .image-description ul, .text-stimulus ul{list-style-type:disc} .image-description ol, .text-stimulus ol{list-style-type:decimal} .image-description ul li>p, .text-stimulus ul li>p{margin-left:-.5rem} .text-stimulus ol>li>p, .text-stimulus ul>li>p{display:inline;font-size:1rem;line-height:1.5rem;padding-bottom:0;padding-top:0} .image-description ol>li>p, .image-description ul>li>p{display:inline;font-size:.875rem;line-height:1.25rem;padding-bottom:0;padding-top:0} .image-description div.table-container:focus, .text-stimulus div.table-container:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity,1));--tw-ring-offset-width:4px;transition-duration:50ms} .image-description div.table-container, .text-stimulus div.table-container{border-radius:.5rem;overflow:auto;padding-left:.125rem;padding-right:.125rem} .image-description table, .text-stimulus table{margin-bottom:1rem;margin-top:.5rem;width:100%;--tw-border-spacing-x:0.75rem;--tw-border-spacing-y:0.75rem;border-radius:.5rem;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);overflow-x:auto;--tw-shadow:0 0 0 1px #9ca3af;--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)} .image-description table tr, .text-stimulus table tr{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(156,163,175,var(--tw-border-opacity,1))} .image-description table tr:last-child, .text-stimulus table tr:last-child{border-color:transparent} .image-description table td, .image-description table th, .text-stimulus table td, .text-stimulus table th{border-left-width:1px;min-width:140px;--tw-border-opacity:1;border-color:rgb(156,163,175,var(--tw-border-opacity,1))} .image-description table td:first-child, .image-description table th:first-child, .text-stimulus table td:first-child, .text-stimulus table th:first-child{border-style:none} .text-stimulus table td>p, .text-stimulus table th>p{font-size:1rem;line-height:1.5rem;padding:.75rem;text-align:left;--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .image-description table td>p, .image-description table th>p{font-size:.875rem;line-height:1.25rem;padding:.75rem;text-align:left;--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .text-stimulus table th>p{font-weight:400} .image-description table th p, .prompt p, .text-stimulus table th p{font-weight:600} .prompt p b, .prompt p b i, .prompt p b i u, .prompt p b u, .prompt p b u i, .prompt p i b, .prompt p i b u, .prompt p i u b, .prompt p u b, .prompt p u b i, .prompt p u i b, .text-stimulus table th p b, .text-stimulus table th p b i, .text-stimulus table th p b i u, .text-stimulus table th p b u, .text-stimulus table th p b u i, .text-stimulus table th p i b, .text-stimulus table th p i b u, .text-stimulus table th p i u b, .text-stimulus table th p u b, .text-stimulus table th p u b i, .text-stimulus table th p u i b{font-weight:900} .dropdown-text:not(:last-child), .dropdown:not(:last-child){margin-right:1rem} .dropdown-container{align-items:center;border-radius:.5rem;border-width:1px;display:flex;height:2.75rem;overflow:hidden;white-space:nowrap;width:15rem;--tw-border-opacity:1;border-color:rgb(75,85,99,var(--tw-border-opacity,1))} .dropdown-container:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)} .dropdown-container:active, .dropdown-container:focus{border-width:2px;box-shadow:0 0 0 2px #fff,0 0 0 4px #212529,0 0 0 6px #fde047;--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1))}@media (hover:hover) and (pointer:fine){ .dropdown-container:hover{border-width:2px;--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1));outline-color:#212529;outline-width:2px}} .dropdown-menu{border-radius:.5rem;border-width:1px;margin-top:.5rem;max-height:400px;overflow-y:auto;position:absolute;z-index:10;--tw-border-opacity:1;border-color:rgb(75,85,99,var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255,255,255,var(--tw-bg-opacity,1))}@supports (overflow-wrap:anywhere){ .dropdown-menu{overflow-wrap:anywhere}}@supports not (overflow-wrap:anywhere){ .dropdown-menu{word-break:break-word}} .dropdown-menu{max-width:min(500px,100vw - 2rem);min-width:240px;width:-moz-max-content;width:max-content} .dropdown-item{cursor:pointer;font-size:1rem;line-height:1.5rem;outline:2px solid transparent;outline-offset:2px;padding:.5rem 1rem} .dropdown-itemtext{border-bottom-width:1px;border-color:transparent} .dropdown-itemtext.hover-option{--tw-border-opacity:1;border-color:rgb(0,0,0,var(--tw-border-opacity,1));--tw-text-opacity:1;color:rgb(46,47,212,var(--tw-text-opacity,1))} .dropdown-itemtext.current-option{--tw-bg-opacity:1;background-color:rgb(251,217,27,var(--tw-bg-opacity,1));--tw-text-opacity:1;border-bottom-width:1px;color:rgb(0,0,0,var(--tw-text-opacity,1));outline:2px solid transparent;outline-offset:2px;--tw-border-opacity:1;border-color:rgb(0,0,0,var(--tw-border-opacity,1))} .dropdown-itemtext:active{border-bottom-width:2px} .image-description-accordion{border-bottom-width:1px;border-color:transparent;font-weight:600;--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .group:focus .image-description-accordion{--tw-bg-opacity:1;background-color:rgb(251,217,27,var(--tw-bg-opacity,1));--tw-text-opacity:1;border-bottom-width:1px;color:rgb(0,0,0,var(--tw-text-opacity,1));outline:2px solid transparent;outline-offset:2px} .group:focus .image-description-accordion, .group:hover .image-description-accordion{--tw-border-opacity:1;border-color:rgb(0,0,0,var(--tw-border-opacity,1))} .group:active .image-description-accordion{border-bottom-width:2px} .sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap} .pointer-events-none{pointer-events:none} .pointer-events-auto{pointer-events:auto} .visible{visibility:visible} .invisible{visibility:hidden} .collapse{visibility:collapse} .static{position:static} .fixed{position:fixed} .absolute{position:absolute} .relative{position:relative} .inset-0{inset:0} .inset-y-0{bottom:0;top:0} .-top-2\\.5{top:-.625rem} .bottom-0{bottom:0} .bottom-1\\.5{bottom:.375rem} .bottom-4{bottom:1rem} .bottom-5{bottom:1.25rem} .bottom-\\[7px\\]{bottom:7px} .bottom-full{bottom:100%} .left-0{left:0} .left-1\\/2{left:50%} .left-4{left:1rem} .left-6{left:1.5rem} .left-\\[-9999px\\]{left:-9999px} .left-full{left:100%} .right-0{right:0} .right-1{right:.25rem} .right-1\\.5{right:.375rem} .right-4{right:1rem} .right-6{right:1.5rem} .right-full{right:100%} .top-0{top:0} .top-1{top:.25rem} .top-1\\.5{top:.375rem} .top-1\\/2{top:50%} .top-12{top:3rem} .top-3\\.5{top:.875rem} .top-\\[13px\\]{top:13px} .top-\\[calc\\(50\\%\\+0\\.375rem\\)\\]{top:calc(50% + .375rem)} .top-full{top:100%} .z-0{z-index:0} .z-10{z-index:10} .z-50{z-index:50} .m-0{margin:0} .m-auto{margin:auto} .mx-0\\.5{margin-left:.125rem;margin-right:.125rem} .mx-auto{margin-left:auto;margin-right:auto} .my-1\\.5{margin-bottom:.375rem;margin-top:.375rem} .my-2{margin-bottom:.5rem;margin-top:.5rem} .my-6{margin-bottom:1.5rem;margin-top:1.5rem} .-mb-1{margin-bottom:-.25rem} .-ml-1{margin-left:-.25rem} .-mr-1{margin-right:-.25rem} .-mr-2\\.5{margin-right:-.625rem} .-mt-0\\.5{margin-top:-.125rem} .-mt-1{margin-top:-.25rem} .mb-0\\.5{margin-bottom:.125rem} .mb-10{margin-bottom:2.5rem} .mb-12{margin-bottom:3rem} .mb-2{margin-bottom:.5rem} .mb-3{margin-bottom:.75rem} .mb-4{margin-bottom:1rem} .mb-5{margin-bottom:1.25rem} .mb-6{margin-bottom:1.5rem} .mb-\\[9\\.5px\\]{margin-bottom:9.5px} .ml-1{margin-left:.25rem} .ml-2{margin-left:.5rem} .ml-2\\.5{margin-left:.625rem} .ml-3{margin-left:.75rem} .ml-8\\.5{margin-left:2.125rem} .ml-\\[3px\\]{margin-left:3px} .ml-\\[9\\.5px\\]{margin-left:9.5px} .mr-1{margin-right:.25rem} .mr-2{margin-right:.5rem} .mr-4{margin-right:1rem} .mr-\\[9\\.5px\\]{margin-right:9.5px} .mt-0\\.5{margin-top:.125rem} .mt-1{margin-top:.25rem} .mt-2{margin-top:.5rem} .mt-4{margin-top:1rem} .mt-6{margin-top:1.5rem} .mt-7\\.5{margin-top:1.875} .mt-9{margin-top:2.25rem} .mt-\\[9\\.5px\\]{margin-top:9.5px} .line-clamp-1{-webkit-line-clamp:1} .line-clamp-1, .line-clamp-3{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical} .line-clamp-3{-webkit-line-clamp:3} .block{display:block} .inline-block{display:inline-block} .inline{display:inline} .flex{display:flex} .table{display:table} .grid{display:grid} .contents{display:contents} .hidden{display:none} .h-10\\.5{height:2.625rem} .h-11{height:2.75rem} .h-2{height:.5rem} .h-4{height:1rem} .h-52{height:13rem} .h-6{height:1.5rem} .h-8\\.5{height:2.125rem} .h-\\[13\\.33px\\]{height:13.33px} .h-\\[8\\.77px\\]{height:8.77px} .h-auto{height:auto} .h-fit{height:-moz-fit-content;height:fit-content} .h-full{height:100%} .h-screen{height:100vh} .max-h-\\[184px\\]{max-height:184px} .max-h-\\[470px\\]{max-height:470px} .max-h-\\[660px\\]{max-height:660px} .max-h-\\[calc\\(100vh-168px\\)\\]{max-height:calc(100vh - 168px)} .max-h-\\[calc\\(100vh-168px-34px\\)\\]{max-height:calc(100vh - 202px)} .max-h-none{max-height:none} .min-h-\\[133px\\]{min-height:133px} .min-h-\\[140px\\]{min-height:140px} .min-h-\\[154px\\]{min-height:154px} .min-h-\\[210px\\]{min-height:210px} .min-h-\\[44px\\]{min-height:44px} .min-h-\\[54px\\]{min-height:54px} .min-h-\\[86px\\]{min-height:86px} .w-11{width:2.75rem} .w-2{width:.5rem} .w-2\\/4{width:50%} .w-3{width:.75rem} .w-4{width:1rem} .w-6{width:1.5rem} .w-60{width:15rem} .w-8\\.5{width:2.125rem} .w-\\[13\\.33px\\]{width:13.33px} .w-\\[8\\.77px\\]{width:8.77px} .w-auto{width:auto} .w-fit{width:-moz-fit-content;width:fit-content} .w-full{width:100%} .w-screen{width:100vw} .min-w-0{min-width:0} .min-w-\\[288px\\]{min-width:288px} .min-w-\\[44px\\]{min-width:44px} .min-w-\\[85px\\]{min-width:85px} .max-w-\\[1008px\\]{max-width:1008px} .max-w-\\[300px\\]{max-width:300px} .max-w-\\[304px\\]{max-width:304px} .max-w-\\[400px\\]{max-width:400px} .max-w-full{max-width:100%} .max-w-none{max-width:none} .flex-1{flex:1 1 0%} .flex-none{flex:none} .flex-shrink-0{flex-shrink:0} .grow{flex-grow:1} .basis-0{flex-basis:0px} .-translate-x-1\\/2{--tw-translate-x:-50%} .-translate-x-1\\/2, .-translate-y-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))} .-translate-y-1\\/2{--tw-translate-y:-50%} .rotate-45{--tw-rotate:45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))} .\\!cursor-default{cursor:default!important} .\\!cursor-pointer{cursor:pointer!important} .cursor-default{cursor:default} .cursor-pointer{cursor:pointer} .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none} .resize-none{resize:none} .resize{resize:both} .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))} .flex-row{flex-direction:row} .flex-col{flex-direction:column} .flex-col-reverse{flex-direction:column-reverse} .flex-wrap{flex-wrap:wrap} .content-start{align-content:flex-start} .items-center{align-items:center} .justify-start{justify-content:flex-start} .justify-center{justify-content:center} .justify-between{justify-content:space-between} .gap-1{gap:.25rem} .gap-2{gap:.5rem} .space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))} .space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1} .overflow-hidden{overflow:hidden} .overflow-y-auto{overflow-y:auto} .overflow-x-hidden{overflow-x:hidden} .overflow-y-visible{overflow-y:visible} .truncate{overflow:hidden;white-space:nowrap} .text-ellipsis, .truncate{text-overflow:ellipsis} .whitespace-normal{white-space:normal} .whitespace-nowrap{white-space:nowrap} .break-words{overflow-wrap:break-word} .break-all{word-break:break-all} .rounded{border-radius:.25rem} .rounded-\\[32px\\]{border-radius:32px} .rounded-lg{border-radius:.5rem} .rounded-md{border-radius:.375rem} .rounded-b-lg{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem} .rounded-b-md{border-bottom-left-radius:.375rem;border-bottom-right-radius:.375rem} .rounded-l-lg{border-bottom-left-radius:.5rem;border-top-left-radius:.5rem} .rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem} .rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem} .border{border-width:1px} .border-2{border-width:2px} .border-b{border-bottom-width:1px} .border-l-4{border-left-width:4px} .border-l-6{border-left-width:6px} .border-dashed{border-style:dashed} .\\!border-blue-1000{--tw-border-opacity:1!important;border-color:rgb(40,44,135,var(--tw-border-opacity,1))!important} .border-blue-1000{--tw-border-opacity:1;border-color:rgb(40,44,135,var(--tw-border-opacity,1))} .border-blue-950{--tw-border-opacity:1;border-color:rgb(29,78,216,var(--tw-border-opacity,1))} .border-border-minimal{--tw-border-opacity:1;border-color:rgb(229,231,235,var(--tw-border-opacity,1))} .border-charcoal{--tw-border-opacity:1;border-color:rgb(33,37,41,var(--tw-border-opacity,1))} .border-gray-400{--tw-border-opacity:1;border-color:rgb(196,201,204,var(--tw-border-opacity,1))} .border-gray-800{--tw-border-opacity:1;border-color:rgb(93,99,107,var(--tw-border-opacity,1))} .border-gray-850{--tw-border-opacity:1;border-color:rgb(75,85,99,var(--tw-border-opacity,1))} .border-green-800{--tw-border-opacity:1;border-color:rgb(0,102,5,var(--tw-border-opacity,1))} .border-green-900{--tw-border-opacity:1;border-color:rgb(21,128,61,var(--tw-border-opacity,1))} .border-red-600{--tw-border-opacity:1;border-color:rgb(220,38,38,var(--tw-border-opacity,1))} .border-red-800{--tw-border-opacity:1;border-color:rgb(217,12,85,var(--tw-border-opacity,1))} .border-red-900{--tw-border-opacity:1;border-color:rgb(190,24,93,var(--tw-border-opacity,1))} .border-soft-blue{--tw-border-opacity:1;border-color:rgb(84,101,251,var(--tw-border-opacity,1))} .border-white{--tw-border-opacity:1;border-color:rgb(255,255,255,var(--tw-border-opacity,1))} .\\!bg-violet-100{--tw-bg-opacity:1!important;background-color:rgb(235,235,255,var(--tw-bg-opacity,1))!important} .\\!bg-white{--tw-bg-opacity:1!important;background-color:rgb(255,255,255,var(--tw-bg-opacity,1))!important} .bg-black{--tw-bg-opacity:1;background-color:rgb(0,0,0,var(--tw-bg-opacity,1))} .bg-blue-1000{--tw-bg-opacity:1;background-color:rgb(40,44,135,var(--tw-bg-opacity,1))} .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239,246,255,var(--tw-bg-opacity,1))} .bg-charcoal\\/30{background-color:rgba(33,37,41,.3)} .bg-charcoal\\/80{background-color:rgba(33,37,41,.8)} .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(247,250,250,var(--tw-bg-opacity,1))} .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(244,244,244,var(--tw-bg-opacity,1))} .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(57,62,69,var(--tw-bg-opacity,1))} .bg-green-300{--tw-bg-opacity:1;background-color:rgb(241,254,241,var(--tw-bg-opacity,1))} .bg-red-200{--tw-bg-opacity:1;background-color:rgb(254,202,202,var(--tw-bg-opacity,1))} .bg-red-300{--tw-bg-opacity:1;background-color:rgb(253,243,247,var(--tw-bg-opacity,1))} .bg-red-50{--tw-bg-opacity:1;background-color:rgb(253,242,248,var(--tw-bg-opacity,1))} .bg-soft-blue{--tw-bg-opacity:1;background-color:rgb(84,101,251,var(--tw-bg-opacity,1))} .bg-transparent{background-color:transparent} .bg-violet-100{--tw-bg-opacity:1;background-color:rgb(235,235,255,var(--tw-bg-opacity,1))} .bg-violet-150{--tw-bg-opacity:1;background-color:rgb(205,208,254,var(--tw-bg-opacity,1))} .bg-white{--tw-bg-opacity:1;background-color:rgb(255,255,255,var(--tw-bg-opacity,1))} .bg-white\\/80{background-color:hsla(0,0%,100%,.8)} .bg-yellow-1000{--tw-bg-opacity:1;background-color:rgb(251,217,27,var(--tw-bg-opacity,1))} .bg-opacity-5{--tw-bg-opacity:0.05} .object-contain{-o-object-fit:contain;object-fit:contain} .p-0\\.5{padding:.125rem} .p-1{padding:.25rem} .p-1\\.5{padding:.375rem} .p-2{padding:.5rem} .p-3{padding:.75rem} .p-4{padding:1rem} .p-5{padding:1.25rem} .p-6{padding:1.5rem} .px-0{padding-left:0;padding-right:0} .px-2{padding-left:.5rem;padding-right:.5rem} .px-3{padding-left:.75rem;padding-right:.75rem} .px-4{padding-left:1rem;padding-right:1rem} .py-1{padding-bottom:.25rem;padding-top:.25rem} .py-1\\.5{padding-bottom:.375rem;padding-top:.375rem} .py-2{padding-bottom:.5rem;padding-top:.5rem} .py-\\[9px\\]{padding-bottom:9px;padding-top:9px} .\\!pr-11{padding-right:2.75rem!important} .pb-0{padding-bottom:0} .pb-10{padding-bottom:2.5rem} .pb-2{padding-bottom:.5rem} .pb-3{padding-bottom:.75rem} .pb-\\[72px\\]{padding-bottom:72px} .pl-13\\.2{padding-left:3.125rem} .pl-24{padding-left:6rem} .pl-3{padding-left:.75rem} .pl-4{padding-left:1rem} .pr-3{padding-right:.75rem} .pr-4{padding-right:1rem} .pt-0{padding-top:0} .pt-0\\.5{padding-top:.125rem} .pt-14{padding-top:3.5rem} .pt-4{padding-top:1rem} .pt-6{padding-top:1.5rem} .pt-\\[15px\\]{padding-top:15px} .pt-\\[55px\\]{padding-top:55px} .text-left{text-align:left} .text-center{text-align:center} .align-middle{vertical-align:middle} .text-base{font-size:1rem;line-height:1.5rem} .text-lg{font-size:1.125rem;line-height:1.75rem} .text-sm{font-size:.875rem;line-height:1.25rem} .text-xl{font-size:1.25rem;line-height:1.75rem} .font-bold{font-weight:700} .font-normal{font-weight:400} .font-semibold{font-weight:600} .leading-12{line-height:3rem} .leading-4{line-height:1rem} .leading-5{line-height:1.25rem} .leading-6{line-height:1.5rem} .leading-\\[1\\.5\\]{line-height:1.5} .leading-\\[150\\%\\]{line-height:150%} .leading-\\[19\\.2px\\]{line-height:19.2px} .leading-\\[19px\\]{line-height:19px} .leading-\\[22px\\]{line-height:22px} .\\!text-gray-900{--tw-text-opacity:1!important;color:rgb(57,62,69,var(--tw-text-opacity,1))!important} .text-blue-1000{--tw-text-opacity:1;color:rgb(40,44,135,var(--tw-text-opacity,1))} .text-blue-850{--tw-text-opacity:1;color:rgb(46,47,212,var(--tw-text-opacity,1))} .text-charcoal{--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .text-gray-500{--tw-text-opacity:1;color:rgb(107,114,128,var(--tw-text-opacity,1))} .text-gray-800{--tw-text-opacity:1;color:rgb(93,99,107,var(--tw-text-opacity,1))} .text-gray-860{--tw-text-opacity:1;color:rgb(55,65,81,var(--tw-text-opacity,1))} .text-green-800{--tw-text-opacity:1;color:rgb(0,102,5,var(--tw-text-opacity,1))} .text-green-900{--tw-text-opacity:1;color:rgb(21,128,61,var(--tw-text-opacity,1))} .text-inherit{color:inherit} .text-primary-emphasis{--tw-text-opacity:1;color:rgb(8,38,99,var(--tw-text-opacity,1))} .text-red-800{--tw-text-opacity:1;color:rgb(217,12,85,var(--tw-text-opacity,1))} .text-red-900{--tw-text-opacity:1;color:rgb(190,24,93,var(--tw-text-opacity,1))} .text-white{--tw-text-opacity:1;color:rgb(255,255,255,var(--tw-text-opacity,1))} .underline{text-decoration-line:underline} .opacity-0{opacity:0} .opacity-5{opacity:.05} .opacity-50{opacity:.5} .shadow-\\[0_-12px_14px_-16px_\\#00000033\\]{--tw-shadow:0 -12px 14px -16px #00000033;--tw-shadow-colored:0 -12px 14px -16px var(--tw-shadow-color)} .shadow-\\[0_-12px_14px_-16px_\\#00000033\\], .shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)} .shadow-md{--tw-shadow:0px 2px 8px rgba(0,0,0,.2);--tw-shadow-colored:0px 2px 8px var(--tw-shadow-color)} .\\!outline-none{outline:2px solid transparent!important;outline-offset:2px!important} .outline-none{outline:2px solid transparent;outline-offset:2px} .blur{--tw-blur:blur(8px)} .blur, .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)} .backdrop-blur-md{--tw-backdrop-blur:blur(12px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)} .transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)} .duration-300{transition-duration:.3s} :host, html{-webkit-tap-highlight-color:inherit!important} .active\\:raw-focus-ring-by:active{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(253 224 71/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px;--tw-ring-offset-color:#212529} .active\\:raw-focus-ring-by:active, .active\\:raw-focus-ring:active{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);outline:2px solid transparent;outline-offset:2px;transition-duration:50ms} .active\\:raw-focus-ring:active{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}@media (min-width:732px){ .md\\:item-heading{font-size:1.25rem;letter-spacing:-.025em;line-height:1.5rem;--tw-text-opacity:1;color:rgb(40,44,135,var(--tw-text-opacity,1))}}@media (hover:hover) and (pointer:fine){ .td\\:hover-focus-ring:hover{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px;transition-duration:50ms}} .last\\:mr-0:last-child{margin-right:0} .focus-within\\:left-0:focus-within{left:0} .focus-within\\:right-0:focus-within{right:0} .focus-within\\:top-0:focus-within{top:0} .focus-within\\:z-30:focus-within{z-index:30} .hover\\:bg-black-50:hover{background-color:rgba(0,0,0,.051)} .hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(222,222,255,var(--tw-bg-opacity,1))} .hover\\:bg-yellow-1000:hover{--tw-bg-opacity:1;background-color:rgb(251,217,27,var(--tw-bg-opacity,1))} .hover\\:text-charcoal:hover{--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .hover\\:underline:hover{text-decoration-line:underline} .hover\\:decoration-2:hover{text-decoration-thickness:2px} .hover\\:underline-offset-\\[25\\%\\]:hover{text-underline-offset:25%} .focus-visible\\:border:focus-visible{border-width:1px} .focus-visible\\:border-charcoal:focus-visible{--tw-border-opacity:1;border-color:rgb(33,37,41,var(--tw-border-opacity,1))} .focus-visible\\:border-gray-400:focus-visible{--tw-border-opacity:1;border-color:rgb(196,201,204,var(--tw-border-opacity,1))} .focus-visible\\:border-gray-800:focus-visible{--tw-border-opacity:1;border-color:rgb(93,99,107,var(--tw-border-opacity,1))} .focus-visible\\:bg-yellow-900:focus-visible{--tw-bg-opacity:1;background-color:rgb(253,224,71,var(--tw-bg-opacity,1))} .focus-visible\\:text-charcoal:focus-visible{--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .focus-visible\\:underline:focus-visible{text-decoration-line:underline} .focus-visible\\:decoration-2:focus-visible{text-decoration-thickness:2px} .focus-visible\\:underline-offset-\\[25\\%\\]:focus-visible{text-underline-offset:25%} .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px} .focus-visible\\:ring-4:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)} .focus-visible\\:ring-soft-blue:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity,1))} .focus-visible\\:ring-offset-4:focus-visible{--tw-ring-offset-width:4px} .focus-visible\\:duration-50:focus-visible{transition-duration:50ms} .active\\:bg-black-55:active, .active\\:bg-black-60:active{background-color:rgba(0,0,0,.102)} .active\\:bg-yellow-1100:active{--tw-bg-opacity:1;background-color:rgb(238,206,26,var(--tw-bg-opacity,1))} .active\\:text-charcoal:active{--tw-text-opacity:1;color:rgb(33,37,41,var(--tw-text-opacity,1))} .disabled\\:text-gray-40:disabled{--tw-text-opacity:1;color:rgb(142,147,153,var(--tw-text-opacity,1))} .disabled\\:hover\\:bg-white:hover:disabled{--tw-bg-opacity:1;background-color:rgb(255,255,255,var(--tw-bg-opacity,1))} .group:hover .group-hover\\:underline{text-decoration-line:underline} .group.active .group-\\[\\.active\\]\\:border-b-2{border-bottom-width:2px}@media (min-width:732px){ .md\\:inset-0{inset:0} .md\\:top-20{top:5rem} .md\\:mb-2{margin-bottom:.5rem} .md\\:mb-4{margin-bottom:1rem} .md\\:mb-8{margin-bottom:2rem} .md\\:ml-0{margin-left:0} .md\\:mt-0{margin-top:0} .md\\:mt-14{margin-top:3.5rem} .md\\:block{display:block} .md\\:inline-block{display:inline-block} .md\\:flex{display:flex} .md\\:grid{display:grid} .md\\:hidden{display:none} .md\\:h-11{height:2.75rem} .md\\:h-5{height:1.25rem} .md\\:h-\\[13\\.5px\\]{height:13.5px} .md\\:h-fit{height:-moz-fit-content;height:fit-content} .md\\:max-h-\\[calc\\(100vh-128px\\)\\]{max-height:calc(100vh - 128px)} .md\\:max-h-\\[calc\\(100vh-128px-54px\\)\\]{max-height:calc(100vh - 182px)} .md\\:min-h-0{min-height:0} .md\\:min-h-\\[140px\\]{min-height:140px} .md\\:min-h-\\[164px\\]{min-height:164px} .md\\:w-1\\/2{width:50%} .md\\:w-11{width:2.75rem} .md\\:w-5{width:1.25rem} .md\\:w-\\[13\\.5px\\]{width:13.5px} .md\\:w-fit{width:-moz-fit-content;width:fit-content} .md\\:max-w-\\[calc\\(100vw-164px\\)\\]{max-width:calc(100vw - 164px)} .md\\:flex-none{flex:none} .md\\:grow-0{flex-grow:0} .md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))} .md\\:flex-row{flex-direction:row} .md\\:flex-col{flex-direction:column} .md\\:items-start{align-items:flex-start} .md\\:items-center{align-items:center} .md\\:justify-normal{justify-content:normal} .md\\:justify-center{justify-content:center} .md\\:justify-between{justify-content:space-between} .md\\:gap-4{gap:1rem} .md\\:gap-6{gap:1.5rem} .md\\:gap-x-4{-moz-column-gap:1rem;column-gap:1rem} .md\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))} .md\\:rounded-lg{border-radius:.5rem} .md\\:rounded-md{border-radius:.375rem} .md\\:rounded-b-none{border-bottom-left-radius:0;border-bottom-right-radius:0} .md\\:border{border-width:1px} .md\\:border-gray-400{--tw-border-opacity:1;border-color:rgb(196,201,204,var(--tw-border-opacity,1))} .md\\:\\!bg-white{--tw-bg-opacity:1!important;background-color:rgb(255,255,255,var(--tw-bg-opacity,1))!important} .md\\:p-4{padding:1rem} .md\\:px-0{padding-left:0;padding-right:0} .md\\:px-4{padding-left:1rem;padding-right:1rem} .md\\:px-6{padding-left:1.5rem;padding-right:1.5rem} .md\\:px-\\[82px\\]{padding-left:82px;padding-right:82px} .md\\:pb-0{padding-bottom:0} .md\\:pl-13\\.2{padding-left:3.125rem} .md\\:pl-4{padding-left:1rem} .md\\:pr-4{padding-right:1rem} .md\\:pt-20\\.5{padding-top:5.125rem} .md\\:text-center{text-align:center} .md\\:text-lg{font-size:1.125rem;line-height:1.75rem} .md\\:shadow-\\[0_0_\\#0000\\]{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)} .md\\:\\[grid-template-columns\\:repeat\\(2\\,minmax\\(auto\\,304px\\)\\)\\]{grid-template-columns:repeat(2,minmax(auto,304px))}}@media (min-width:1196px){ .lg\\:left-16{left:4rem} .lg\\:right-16{right:4rem} .lg\\:flex{display:flex} .lg\\:hidden{display:none} .lg\\:max-h-\\[calc\\(100vh-192px\\)\\]{max-height:calc(100vh - 192px)} .lg\\:max-h-\\[calc\\(100vh-192px-54px\\)\\]{max-height:calc(100vh - 246px)} .lg\\:min-h-\\[224px\\]{min-height:224px} .lg\\:w-full{width:100%} .lg\\:max-w-\\[50\\%\\]{max-width:50%} .lg\\:max-w-\\[calc\\(100vw-248px\\)\\]{max-width:calc(100vw - 248px)} .lg\\:grow{flex-grow:1} .lg\\:basis-1\\/2{flex-basis:50%} .lg\\:justify-start{justify-content:flex-start} .lg\\:rounded-b-lg{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem} .lg\\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem} .lg\\:px-16{padding-left:4rem;padding-right:4rem} .lg\\:px-\\[128px\\]{padding-left:128px;padding-right:128px} .lg\\:py-24{padding-bottom:6rem;padding-top:6rem} .lg\\:pt-6{padding-top:1.5rem}}@media (hover:hover) and (pointer:fine){ .td\\:border-2{border-width:2px} .td\\:border-blue-900{--tw-border-opacity:1;border-color:rgb(59,64,240,var(--tw-border-opacity,1))} .td\\:hover\\:cursor-grab:hover{cursor:grab} .td\\:hover\\:bg-black-50:hover{background-color:rgba(0,0,0,.051)} .td\\:hover\\:bg-violet-100:hover{--tw-bg-opacity:1;background-color:rgb(235,235,255,var(--tw-bg-opacity,1))} .td\\:hover\\:text-soft-blue:hover{--tw-text-opacity:1;color:rgb(84,101,251,var(--tw-text-opacity,1))} .group:hover .td\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgb(0,0,0,var(--tw-bg-opacity,1))} .group:hover .td\\:group-hover\\:opacity-5{opacity:.05}}@media (pointer:coarse){ .coarse\\:active\\:bg-yellow-900:active{--tw-bg-opacity:1;background-color:rgb(253,224,71,var(--tw-bg-opacity,1))}}'
|
|
18633
18843
|
};
|
|
18634
18844
|
function InteractionBuilder($$anchor, $$props) {
|
|
18635
18845
|
push($$props, true);
|