eat-js-sdk 2.0.54 → 2.0.56
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 +610 -388
- package/package.json +2 -2
|
@@ -13898,12 +13898,13 @@ 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), isSelected = prop($$props, "isSelected", 7, false), isLocked = prop($$props, "isLocked", 7, false), resultType = prop($$props, "resultType", 7, ""), hasAnyItemSelected = prop($$props, "hasAnyItemSelected", 7, false), isCurrentMobileItem = prop($$props, "isCurrentMobileItem", 7, true), isClonedItem = prop($$props, "isClonedItem", 7, false), isConsideredItem = prop($$props, "isConsideredItem", 7, false),
|
|
13901
|
+
let itemId = prop($$props, "itemId", 7), itemText = prop($$props, "itemText", 7), containerId = prop($$props, "containerId", 7), mode = prop($$props, "mode", 7), isSelected = prop($$props, "isSelected", 7, false), isLocked = prop($$props, "isLocked", 7, false), isCollapsed = prop($$props, "isCollapsed", 7, false), resultType = prop($$props, "resultType", 7, ""), hasAnyItemSelected = prop($$props, "hasAnyItemSelected", 7, false), 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), additionalClasses = prop($$props, "additionalClasses", 7, ""), 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);
|
|
13907
13908
|
const ariaLabel = /* @__PURE__ */ user_derived(() => () => {
|
|
13908
13909
|
if (resultType() === ANSWER_RESULTS.INCORRECT && isWordBin && !isSelected()) {
|
|
13909
13910
|
return `Skipped answer: ${ariaWord}`;
|
|
@@ -13916,8 +13917,25 @@ function CategoriseItem($$anchor, $$props) {
|
|
|
13916
13917
|
}
|
|
13917
13918
|
return `${isSelected() ? "Selected option" : "Option"}: ${ariaWord}`;
|
|
13918
13919
|
});
|
|
13920
|
+
const handleFocus = (event2) => {
|
|
13921
|
+
set(lastFocusTime, Date.now(), true);
|
|
13922
|
+
if (onfocus()) {
|
|
13923
|
+
onfocus()(event2);
|
|
13924
|
+
}
|
|
13925
|
+
};
|
|
13926
|
+
const handleBlur = (event2) => {
|
|
13927
|
+
if (onblur()) {
|
|
13928
|
+
onblur()(event2);
|
|
13929
|
+
}
|
|
13930
|
+
};
|
|
13919
13931
|
const selectItem = (event2) => {
|
|
13920
13932
|
event2.stopPropagation();
|
|
13933
|
+
const now2 = Date.now();
|
|
13934
|
+
const timeSinceFocus = now2 - get$1(lastFocusTime);
|
|
13935
|
+
if (timeSinceFocus < 100) {
|
|
13936
|
+
console.log("Ignoring NVDA auto-activation?");
|
|
13937
|
+
return;
|
|
13938
|
+
}
|
|
13921
13939
|
if (isLocked()) return;
|
|
13922
13940
|
if (resultType() && mode() !== MODES.INTERACTIVE) return;
|
|
13923
13941
|
if (hasAnyItemSelected() && !isSelected()) return;
|
|
@@ -13955,16 +13973,26 @@ function CategoriseItem($$anchor, $$props) {
|
|
|
13955
13973
|
if (onkeydown()) {
|
|
13956
13974
|
onkeydown()(event2);
|
|
13957
13975
|
}
|
|
13976
|
+
} else if (event2.key === "Tab") {
|
|
13977
|
+
if (onkeydown()) {
|
|
13978
|
+
onkeydown()(event2);
|
|
13979
|
+
}
|
|
13958
13980
|
}
|
|
13959
13981
|
};
|
|
13960
13982
|
const itemTabIndex = /* @__PURE__ */ user_derived(() => () => {
|
|
13983
|
+
if (isSelected()) {
|
|
13984
|
+
return 0;
|
|
13985
|
+
}
|
|
13986
|
+
if (isCollapsed()) {
|
|
13987
|
+
return -1;
|
|
13988
|
+
}
|
|
13961
13989
|
if (hasAnyItemSelected()) {
|
|
13962
13990
|
return -1;
|
|
13963
13991
|
}
|
|
13964
|
-
if (
|
|
13992
|
+
if (activeContainerForKeyboard() === containerId()) {
|
|
13965
13993
|
return 0;
|
|
13966
13994
|
}
|
|
13967
|
-
if (
|
|
13995
|
+
if (isWordBin && isCurrentMobileItem()) {
|
|
13968
13996
|
return 0;
|
|
13969
13997
|
}
|
|
13970
13998
|
return -1;
|
|
@@ -14090,6 +14118,13 @@ function CategoriseItem($$anchor, $$props) {
|
|
|
14090
14118
|
isLocked($$value);
|
|
14091
14119
|
flushSync();
|
|
14092
14120
|
},
|
|
14121
|
+
get isCollapsed() {
|
|
14122
|
+
return isCollapsed();
|
|
14123
|
+
},
|
|
14124
|
+
set isCollapsed($$value = false) {
|
|
14125
|
+
isCollapsed($$value);
|
|
14126
|
+
flushSync();
|
|
14127
|
+
},
|
|
14093
14128
|
get resultType() {
|
|
14094
14129
|
return resultType();
|
|
14095
14130
|
},
|
|
@@ -14125,11 +14160,11 @@ function CategoriseItem($$anchor, $$props) {
|
|
|
14125
14160
|
isConsideredItem($$value);
|
|
14126
14161
|
flushSync();
|
|
14127
14162
|
},
|
|
14128
|
-
get
|
|
14129
|
-
return
|
|
14163
|
+
get activeContainerForKeyboard() {
|
|
14164
|
+
return activeContainerForKeyboard();
|
|
14130
14165
|
},
|
|
14131
|
-
set
|
|
14132
|
-
|
|
14166
|
+
set activeContainerForKeyboard($$value = void 0) {
|
|
14167
|
+
activeContainerForKeyboard($$value);
|
|
14133
14168
|
flushSync();
|
|
14134
14169
|
},
|
|
14135
14170
|
get additionalClasses() {
|
|
@@ -14146,6 +14181,20 @@ function CategoriseItem($$anchor, $$props) {
|
|
|
14146
14181
|
onclick($$value);
|
|
14147
14182
|
flushSync();
|
|
14148
14183
|
},
|
|
14184
|
+
get onfocus() {
|
|
14185
|
+
return onfocus();
|
|
14186
|
+
},
|
|
14187
|
+
set onfocus($$value) {
|
|
14188
|
+
onfocus($$value);
|
|
14189
|
+
flushSync();
|
|
14190
|
+
},
|
|
14191
|
+
get onblur() {
|
|
14192
|
+
return onblur();
|
|
14193
|
+
},
|
|
14194
|
+
set onblur($$value) {
|
|
14195
|
+
onblur($$value);
|
|
14196
|
+
flushSync();
|
|
14197
|
+
},
|
|
14149
14198
|
get onkeydown() {
|
|
14150
14199
|
return onkeydown();
|
|
14151
14200
|
},
|
|
@@ -14269,6 +14318,8 @@ function CategoriseItem($$anchor, $$props) {
|
|
|
14269
14318
|
() => clsx(get$1(iconBgClasses)())
|
|
14270
14319
|
]
|
|
14271
14320
|
);
|
|
14321
|
+
event("focus", button, handleFocus);
|
|
14322
|
+
event("blur", button, handleBlur);
|
|
14272
14323
|
append($$anchor, button);
|
|
14273
14324
|
return pop($$exports);
|
|
14274
14325
|
}
|
|
@@ -14282,27 +14333,30 @@ create_custom_element(
|
|
|
14282
14333
|
mode: {},
|
|
14283
14334
|
isSelected: {},
|
|
14284
14335
|
isLocked: {},
|
|
14336
|
+
isCollapsed: {},
|
|
14285
14337
|
resultType: {},
|
|
14286
14338
|
hasAnyItemSelected: {},
|
|
14287
14339
|
isCurrentMobileItem: {},
|
|
14288
14340
|
isClonedItem: {},
|
|
14289
14341
|
isConsideredItem: {},
|
|
14290
|
-
|
|
14342
|
+
activeContainerForKeyboard: {},
|
|
14291
14343
|
additionalClasses: {},
|
|
14292
14344
|
onclick: {},
|
|
14345
|
+
onfocus: {},
|
|
14346
|
+
onblur: {},
|
|
14293
14347
|
onkeydown: {}
|
|
14294
14348
|
},
|
|
14295
14349
|
[],
|
|
14296
14350
|
[],
|
|
14297
14351
|
true
|
|
14298
14352
|
);
|
|
14299
|
-
var root_1$8 = /* @__PURE__ */ from_html(`<button
|
|
14353
|
+
var root_1$8 = /* @__PURE__ */ from_html(`<button tabindex="0"></button>`);
|
|
14300
14354
|
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
14355
|
var root_6$1 = /* @__PURE__ */ from_html(`<!> <!>`, 1);
|
|
14302
|
-
var root$5 = /* @__PURE__ */ from_html(`<!>
|
|
14356
|
+
var root$5 = /* @__PURE__ */ from_html(`<!> <section><!></section>`, 1);
|
|
14303
14357
|
function CategoriseDndContainer($$anchor, $$props) {
|
|
14304
14358
|
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),
|
|
14359
|
+
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
14360
|
let considerItemId = /* @__PURE__ */ state(void 0);
|
|
14307
14361
|
let isHoveringDrag = /* @__PURE__ */ state(false);
|
|
14308
14362
|
const dndItems = /* @__PURE__ */ user_derived(() => items().map((item) => {
|
|
@@ -14381,9 +14435,6 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14381
14435
|
if (containerId() === "container-word-bin" && isMobile()) {
|
|
14382
14436
|
return 0;
|
|
14383
14437
|
}
|
|
14384
|
-
if (currentTabContainer() === containerId()) {
|
|
14385
|
-
return 0;
|
|
14386
|
-
}
|
|
14387
14438
|
return -1;
|
|
14388
14439
|
});
|
|
14389
14440
|
const dndConfig = /* @__PURE__ */ user_derived(() => ({
|
|
@@ -14421,6 +14472,13 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14421
14472
|
containerId($$value);
|
|
14422
14473
|
flushSync();
|
|
14423
14474
|
},
|
|
14475
|
+
get containerLabel() {
|
|
14476
|
+
return containerLabel();
|
|
14477
|
+
},
|
|
14478
|
+
set containerLabel($$value = "") {
|
|
14479
|
+
containerLabel($$value);
|
|
14480
|
+
flushSync();
|
|
14481
|
+
},
|
|
14424
14482
|
get containerClass() {
|
|
14425
14483
|
return containerClass();
|
|
14426
14484
|
},
|
|
@@ -14456,13 +14514,6 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14456
14514
|
isLocked($$value);
|
|
14457
14515
|
flushSync();
|
|
14458
14516
|
},
|
|
14459
|
-
get currentTabContainer() {
|
|
14460
|
-
return currentTabContainer();
|
|
14461
|
-
},
|
|
14462
|
-
set currentTabContainer($$value = null) {
|
|
14463
|
-
currentTabContainer($$value);
|
|
14464
|
-
flushSync();
|
|
14465
|
-
},
|
|
14466
14517
|
get isMobile() {
|
|
14467
14518
|
return isMobile();
|
|
14468
14519
|
},
|
|
@@ -14491,6 +14542,20 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14491
14542
|
dndType($$value);
|
|
14492
14543
|
flushSync();
|
|
14493
14544
|
},
|
|
14545
|
+
get activeContainerForKeyboard() {
|
|
14546
|
+
return activeContainerForKeyboard();
|
|
14547
|
+
},
|
|
14548
|
+
set activeContainerForKeyboard($$value = void 0) {
|
|
14549
|
+
activeContainerForKeyboard($$value);
|
|
14550
|
+
flushSync();
|
|
14551
|
+
},
|
|
14552
|
+
get isCollapsed() {
|
|
14553
|
+
return isCollapsed();
|
|
14554
|
+
},
|
|
14555
|
+
set isCollapsed($$value = false) {
|
|
14556
|
+
isCollapsed($$value);
|
|
14557
|
+
flushSync();
|
|
14558
|
+
},
|
|
14494
14559
|
get onitemdrop() {
|
|
14495
14560
|
return onitemdrop();
|
|
14496
14561
|
},
|
|
@@ -14512,6 +14577,20 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14512
14577
|
oncontainerclick($$value);
|
|
14513
14578
|
flushSync();
|
|
14514
14579
|
},
|
|
14580
|
+
get onitemfocus() {
|
|
14581
|
+
return onitemfocus();
|
|
14582
|
+
},
|
|
14583
|
+
set onitemfocus($$value) {
|
|
14584
|
+
onitemfocus($$value);
|
|
14585
|
+
flushSync();
|
|
14586
|
+
},
|
|
14587
|
+
get onitemblur() {
|
|
14588
|
+
return onitemblur();
|
|
14589
|
+
},
|
|
14590
|
+
set onitemblur($$value) {
|
|
14591
|
+
onitemblur($$value);
|
|
14592
|
+
flushSync();
|
|
14593
|
+
},
|
|
14515
14594
|
get onitemkeydown() {
|
|
14516
14595
|
return onitemkeydown();
|
|
14517
14596
|
},
|
|
@@ -14547,11 +14626,14 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14547
14626
|
var consequent = ($$anchor2) => {
|
|
14548
14627
|
var button = root_1$8();
|
|
14549
14628
|
button.__click = handleContainerClick;
|
|
14550
|
-
template_effect(() =>
|
|
14629
|
+
template_effect(() => {
|
|
14630
|
+
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"}`);
|
|
14631
|
+
set_attribute(button, "aria-label", containerLabel());
|
|
14632
|
+
});
|
|
14551
14633
|
append($$anchor2, button);
|
|
14552
14634
|
};
|
|
14553
14635
|
if_block(node, ($$render) => {
|
|
14554
|
-
if (!isLocked() && selectedItemId() && !get$1(isSourceContainer)()
|
|
14636
|
+
if (!isLocked() && selectedItemId() && !get$1(isSourceContainer)()) $$render(consequent);
|
|
14555
14637
|
});
|
|
14556
14638
|
}
|
|
14557
14639
|
var section = sibling(node, 2);
|
|
@@ -14583,9 +14665,11 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14583
14665
|
var consequent_4 = ($$anchor3) => {
|
|
14584
14666
|
var fragment_4 = comment();
|
|
14585
14667
|
var node_5 = first_child(fragment_4);
|
|
14586
|
-
each(node_5, 19, () => get$1(dndItems), (item) => `${item.id}-${
|
|
14668
|
+
each(node_5, 19, () => get$1(dndItems), (item) => `${item.id}-${get$1(considerItemId) === item.id ? "considering" : "notConsidering"}-${isLocked()}`, ($$anchor4, item, index2) => {
|
|
14587
14669
|
const cleanItemId = /* @__PURE__ */ user_derived(() => get$1(item).id.split("@eat-dash@")[0]);
|
|
14670
|
+
const isItemSelected = /* @__PURE__ */ user_derived(() => selectedItemId() === get$1(cleanItemId));
|
|
14588
14671
|
const itemResultType = /* @__PURE__ */ user_derived(() => getItemResultType(get$1(item).isClonedItem && get$1(item).cloneId ? get$1(item).cloneId : get$1(item).id));
|
|
14672
|
+
const selectionClasses = /* @__PURE__ */ user_derived(() => get$1(isItemSelected) ? "bg-blue-1000 !border-blue-1000 raw-focus-ring !cursor-pointer [&>span]:text-white" : "");
|
|
14589
14673
|
var fragment_5 = root_6$1();
|
|
14590
14674
|
var node_6 = first_child(fragment_5);
|
|
14591
14675
|
{
|
|
@@ -14600,9 +14684,8 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14600
14684
|
var node_7 = sibling(node_6, 2);
|
|
14601
14685
|
{
|
|
14602
14686
|
let $0 = /* @__PURE__ */ user_derived(() => get$1(item).itemText || "");
|
|
14603
|
-
let $1 = /* @__PURE__ */ user_derived(() =>
|
|
14604
|
-
let $2 = /* @__PURE__ */ user_derived(() =>
|
|
14605
|
-
let $3 = /* @__PURE__ */ user_derived(() => !!selectedItemId());
|
|
14687
|
+
let $1 = /* @__PURE__ */ user_derived(() => get$1(considerItemId) === get$1(item).id);
|
|
14688
|
+
let $2 = /* @__PURE__ */ user_derived(() => !!selectedItemId());
|
|
14606
14689
|
CategoriseItem(node_7, {
|
|
14607
14690
|
get itemId() {
|
|
14608
14691
|
return get$1(item).id;
|
|
@@ -14614,16 +14697,13 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14614
14697
|
return containerId();
|
|
14615
14698
|
},
|
|
14616
14699
|
get isSelected() {
|
|
14617
|
-
return get$1(
|
|
14700
|
+
return get$1(isItemSelected);
|
|
14618
14701
|
},
|
|
14619
14702
|
get isClonedItem() {
|
|
14620
14703
|
return get$1(item).isClonedItem;
|
|
14621
14704
|
},
|
|
14622
14705
|
get isConsideredItem() {
|
|
14623
|
-
return get$1($
|
|
14624
|
-
},
|
|
14625
|
-
get currentTabContainer() {
|
|
14626
|
-
return currentTabContainer();
|
|
14706
|
+
return get$1($1);
|
|
14627
14707
|
},
|
|
14628
14708
|
get isLocked() {
|
|
14629
14709
|
return isLocked();
|
|
@@ -14638,9 +14718,20 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14638
14718
|
return get$1(itemResultType);
|
|
14639
14719
|
},
|
|
14640
14720
|
get hasAnyItemSelected() {
|
|
14641
|
-
return get$1($
|
|
14721
|
+
return get$1($2);
|
|
14722
|
+
},
|
|
14723
|
+
get activeContainerForKeyboard() {
|
|
14724
|
+
return activeContainerForKeyboard();
|
|
14725
|
+
},
|
|
14726
|
+
get isCollapsed() {
|
|
14727
|
+
return isCollapsed();
|
|
14728
|
+
},
|
|
14729
|
+
get additionalClasses() {
|
|
14730
|
+
return get$1(selectionClasses);
|
|
14642
14731
|
},
|
|
14643
14732
|
onclick: () => handleItemClick(get$1(item).id),
|
|
14733
|
+
onfocus: (e2) => onitemfocus()?.(get$1(item).id, e2),
|
|
14734
|
+
onblur: (e2) => onitemblur()?.(get$1(item).id, e2),
|
|
14644
14735
|
onkeydown: (e2) => onitemkeydown()?.(e2, get$1(item).id, get$1(index2))
|
|
14645
14736
|
});
|
|
14646
14737
|
}
|
|
@@ -14666,6 +14757,7 @@ function CategoriseDndContainer($$anchor, $$props) {
|
|
|
14666
14757
|
reset(section);
|
|
14667
14758
|
action$1(section, ($$node, $$action_arg) => dndzone?.($$node, $$action_arg), () => get$1(dndConfig));
|
|
14668
14759
|
template_effect(() => {
|
|
14760
|
+
set_attribute(section, "aria-hidden", activeContainerForKeyboard() !== containerId() ? "true" : void 0);
|
|
14669
14761
|
set_attribute(section, "id", containerId());
|
|
14670
14762
|
set_class(section, 1, `flex flex-wrap ${containerClass() ?? ""}`);
|
|
14671
14763
|
set_style(section, paddingTop() > 0 ? `padding-top: ${paddingTop()}px;` : "");
|
|
@@ -14680,19 +14772,23 @@ create_custom_element(
|
|
|
14680
14772
|
CategoriseDndContainer,
|
|
14681
14773
|
{
|
|
14682
14774
|
containerId: {},
|
|
14775
|
+
containerLabel: {},
|
|
14683
14776
|
containerClass: {},
|
|
14684
14777
|
showButton: {},
|
|
14685
14778
|
items: {},
|
|
14686
14779
|
selectedItemId: {},
|
|
14687
14780
|
isLocked: {},
|
|
14688
|
-
currentTabContainer: {},
|
|
14689
14781
|
isMobile: {},
|
|
14690
14782
|
mode: {},
|
|
14691
14783
|
paddingTop: {},
|
|
14692
14784
|
dndType: {},
|
|
14785
|
+
activeContainerForKeyboard: {},
|
|
14786
|
+
isCollapsed: {},
|
|
14693
14787
|
onitemdrop: {},
|
|
14694
14788
|
onitemselect: {},
|
|
14695
14789
|
oncontainerclick: {},
|
|
14790
|
+
onitemfocus: {},
|
|
14791
|
+
onitemblur: {},
|
|
14696
14792
|
onitemkeydown: {},
|
|
14697
14793
|
ondraghover: {},
|
|
14698
14794
|
ondragstart: {},
|
|
@@ -14708,26 +14804,14 @@ var root_1$7 = /* @__PURE__ */ from_html(`<button type="button" class="focus-rin
|
|
|
14708
14804
|
var root$4 = /* @__PURE__ */ from_html(`<div role="group"><div><!> <!></div> <!></div>`);
|
|
14709
14805
|
function CategoriseCategory($$anchor, $$props) {
|
|
14710
14806
|
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"}`);
|
|
14807
|
+
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
14808
|
let categoryTitleHeight = /* @__PURE__ */ state(0);
|
|
14729
14809
|
let titleElement = /* @__PURE__ */ state(void 0);
|
|
14730
14810
|
let categoryElement = /* @__PURE__ */ state(void 0);
|
|
14811
|
+
const effectiveIsCollapsed = /* @__PURE__ */ user_derived(isCollapsed);
|
|
14812
|
+
const itemCount = /* @__PURE__ */ user_derived(() => items().length);
|
|
14813
|
+
const getTotalWords = /* @__PURE__ */ user_derived(() => `${get$1(itemCount)} ${get$1(itemCount) === 1 ? "word" : "words"}`);
|
|
14814
|
+
const cleanCategoryTitle = /* @__PURE__ */ user_derived(() => useRemoveRichTextHtmlTags(categoryTitle()));
|
|
14731
14815
|
const isDropTarget = /* @__PURE__ */ user_derived(() => dropContainerId() === categoryId());
|
|
14732
14816
|
const isNotSourceContainer = /* @__PURE__ */ user_derived(() => dragSourceContainerId() !== categoryId());
|
|
14733
14817
|
const hasSelectedItem = /* @__PURE__ */ user_derived(() => !!selectedItemId());
|
|
@@ -14747,12 +14831,21 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
14747
14831
|
${get$1(isDropTarget) && get$1(isNotSourceContainer) ? "bg-transparent" : "bg-white"}
|
|
14748
14832
|
${get$1(effectiveIsCollapsed) && isDraggingOver() && get$1(isNotSourceContainer) ? "!bg-violet-100 md:!bg-white" : ""}
|
|
14749
14833
|
${get$1(effectiveIsCollapsed) && isMobile() ? "rounded-b-lg md:rounded-b-none" : ""}`);
|
|
14750
|
-
const adjustedTabindex = /* @__PURE__ */ user_derived(
|
|
14751
|
-
|
|
14752
|
-
|
|
14834
|
+
const adjustedTabindex = /* @__PURE__ */ user_derived(tabindex);
|
|
14835
|
+
const shouldShowAriaLabel = /* @__PURE__ */ user_derived(() => !get$1(hasSelectedItem) || !get$1(isNotSourceContainer));
|
|
14836
|
+
const handleToggle = () => {
|
|
14837
|
+
if (isMobile() && ontogglecollapse()) {
|
|
14838
|
+
ontogglecollapse()(categoryId());
|
|
14753
14839
|
}
|
|
14754
|
-
|
|
14755
|
-
|
|
14840
|
+
};
|
|
14841
|
+
const handleContainerClick = (e2) => {
|
|
14842
|
+
if (get$1(effectiveIsCollapsed) && isMobile() && selectedItemId() && get$1(isNotSourceContainer) && oncontainerclick()) {
|
|
14843
|
+
const target = e2.target;
|
|
14844
|
+
if (!target.closest('button[aria-label*="word"]')) {
|
|
14845
|
+
oncontainerclick()(categoryId());
|
|
14846
|
+
}
|
|
14847
|
+
}
|
|
14848
|
+
};
|
|
14756
14849
|
var $$exports = {
|
|
14757
14850
|
get categoryElement() {
|
|
14758
14851
|
return get$1(categoryElement);
|
|
@@ -14774,6 +14867,13 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
14774
14867
|
categoryTitle($$value);
|
|
14775
14868
|
flushSync();
|
|
14776
14869
|
},
|
|
14870
|
+
get categoryIndex() {
|
|
14871
|
+
return categoryIndex();
|
|
14872
|
+
},
|
|
14873
|
+
set categoryIndex($$value = 1) {
|
|
14874
|
+
categoryIndex($$value);
|
|
14875
|
+
flushSync();
|
|
14876
|
+
},
|
|
14777
14877
|
get items() {
|
|
14778
14878
|
return items();
|
|
14779
14879
|
},
|
|
@@ -14795,13 +14895,6 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
14795
14895
|
isLocked($$value);
|
|
14796
14896
|
flushSync();
|
|
14797
14897
|
},
|
|
14798
|
-
get currentTabContainer() {
|
|
14799
|
-
return currentTabContainer();
|
|
14800
|
-
},
|
|
14801
|
-
set currentTabContainer($$value = null) {
|
|
14802
|
-
currentTabContainer($$value);
|
|
14803
|
-
flushSync();
|
|
14804
|
-
},
|
|
14805
14898
|
get isCollapsed() {
|
|
14806
14899
|
return isCollapsed();
|
|
14807
14900
|
},
|
|
@@ -14872,6 +14965,13 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
14872
14965
|
tabindex($$value);
|
|
14873
14966
|
flushSync();
|
|
14874
14967
|
},
|
|
14968
|
+
get activeContainerForKeyboard() {
|
|
14969
|
+
return activeContainerForKeyboard();
|
|
14970
|
+
},
|
|
14971
|
+
set activeContainerForKeyboard($$value = void 0) {
|
|
14972
|
+
activeContainerForKeyboard($$value);
|
|
14973
|
+
flushSync();
|
|
14974
|
+
},
|
|
14875
14975
|
get onitemdrop() {
|
|
14876
14976
|
return onitemdrop();
|
|
14877
14977
|
},
|
|
@@ -14900,6 +15000,20 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
14900
15000
|
ontogglecollapse($$value);
|
|
14901
15001
|
flushSync();
|
|
14902
15002
|
},
|
|
15003
|
+
get onitemfocus() {
|
|
15004
|
+
return onitemfocus();
|
|
15005
|
+
},
|
|
15006
|
+
set onitemfocus($$value) {
|
|
15007
|
+
onitemfocus($$value);
|
|
15008
|
+
flushSync();
|
|
15009
|
+
},
|
|
15010
|
+
get onitemblur() {
|
|
15011
|
+
return onitemblur();
|
|
15012
|
+
},
|
|
15013
|
+
set onitemblur($$value) {
|
|
15014
|
+
onitemblur($$value);
|
|
15015
|
+
flushSync();
|
|
15016
|
+
},
|
|
14903
15017
|
get onitemkeydown() {
|
|
14904
15018
|
return onitemkeydown();
|
|
14905
15019
|
},
|
|
@@ -14914,13 +15028,6 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
14914
15028
|
onkeydown($$value);
|
|
14915
15029
|
flushSync();
|
|
14916
15030
|
},
|
|
14917
|
-
get onfocus() {
|
|
14918
|
-
return onfocus();
|
|
14919
|
-
},
|
|
14920
|
-
set onfocus($$value) {
|
|
14921
|
-
onfocus($$value);
|
|
14922
|
-
flushSync();
|
|
14923
|
-
},
|
|
14924
15031
|
get ondraghover() {
|
|
14925
15032
|
return ondraghover();
|
|
14926
15033
|
},
|
|
@@ -14938,7 +15045,7 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
14938
15045
|
};
|
|
14939
15046
|
var div = root$4();
|
|
14940
15047
|
div.__keydown = function(...$$args) {
|
|
14941
|
-
onkeydown()?.apply(this, $$args);
|
|
15048
|
+
(onkeydown() || void 0)?.apply(this, $$args);
|
|
14942
15049
|
};
|
|
14943
15050
|
div.__click = handleContainerClick;
|
|
14944
15051
|
var div_1 = child(div);
|
|
@@ -14947,7 +15054,8 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
14947
15054
|
get htmlString() {
|
|
14948
15055
|
return categoryTitle();
|
|
14949
15056
|
},
|
|
14950
|
-
otherClass: "text-base leading-5 !text-gray-900 md:item-heading"
|
|
15057
|
+
otherClass: "text-base leading-5 !text-gray-900 md:item-heading",
|
|
15058
|
+
ariaHidden: true
|
|
14951
15059
|
});
|
|
14952
15060
|
var node_1 = sibling(node, 2);
|
|
14953
15061
|
{
|
|
@@ -14982,6 +15090,7 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
14982
15090
|
reset(button);
|
|
14983
15091
|
template_effect(() => {
|
|
14984
15092
|
set_attribute(button, "aria-label", get$1(getTotalWords));
|
|
15093
|
+
set_attribute(button, "tabindex", selectedItemId() ? -1 : 0);
|
|
14985
15094
|
set_text(text, get$1(getTotalWords));
|
|
14986
15095
|
});
|
|
14987
15096
|
append($$anchor2, button);
|
|
@@ -14997,16 +15106,24 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
14997
15106
|
{
|
|
14998
15107
|
const children = ($$anchor3) => {
|
|
14999
15108
|
};
|
|
15000
|
-
let $0 = /* @__PURE__ */ user_derived(() =>
|
|
15109
|
+
let $0 = /* @__PURE__ */ user_derived(() => `Category ${categoryIndex()}: ${get$1(cleanCategoryTitle)}`);
|
|
15110
|
+
let $1 = /* @__PURE__ */ user_derived(() => !get$1(effectiveIsCollapsed) || !isMobile());
|
|
15111
|
+
let $2 = /* @__PURE__ */ user_derived(() => get$1(effectiveIsCollapsed) && isMobile());
|
|
15001
15112
|
CategoriseDndContainer($$anchor2, {
|
|
15002
15113
|
get containerId() {
|
|
15003
15114
|
return categoryId();
|
|
15004
15115
|
},
|
|
15116
|
+
get containerLabel() {
|
|
15117
|
+
return get$1($0);
|
|
15118
|
+
},
|
|
15005
15119
|
get containerClass() {
|
|
15006
15120
|
return get$1(containerClasses);
|
|
15007
15121
|
},
|
|
15008
15122
|
get showButton() {
|
|
15009
|
-
return get$1($
|
|
15123
|
+
return get$1($1);
|
|
15124
|
+
},
|
|
15125
|
+
get isCollapsed() {
|
|
15126
|
+
return get$1($2);
|
|
15010
15127
|
},
|
|
15011
15128
|
get items() {
|
|
15012
15129
|
return items();
|
|
@@ -15017,9 +15134,6 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
15017
15134
|
get isLocked() {
|
|
15018
15135
|
return isLocked();
|
|
15019
15136
|
},
|
|
15020
|
-
get currentTabContainer() {
|
|
15021
|
-
return currentTabContainer();
|
|
15022
|
-
},
|
|
15023
15137
|
get mode() {
|
|
15024
15138
|
return mode();
|
|
15025
15139
|
},
|
|
@@ -15029,6 +15143,9 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
15029
15143
|
get paddingTop() {
|
|
15030
15144
|
return get$1(paddingTopValue);
|
|
15031
15145
|
},
|
|
15146
|
+
get activeContainerForKeyboard() {
|
|
15147
|
+
return activeContainerForKeyboard();
|
|
15148
|
+
},
|
|
15032
15149
|
get onitemdrop() {
|
|
15033
15150
|
return onitemdrop();
|
|
15034
15151
|
},
|
|
@@ -15038,6 +15155,12 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
15038
15155
|
get oncontainerclick() {
|
|
15039
15156
|
return oncontainerclick();
|
|
15040
15157
|
},
|
|
15158
|
+
get onitemfocus() {
|
|
15159
|
+
return onitemfocus();
|
|
15160
|
+
},
|
|
15161
|
+
get onitemblur() {
|
|
15162
|
+
return onitemblur();
|
|
15163
|
+
},
|
|
15041
15164
|
get onitemkeydown() {
|
|
15042
15165
|
return onitemkeydown();
|
|
15043
15166
|
},
|
|
@@ -15054,16 +15177,11 @@ function CategoriseCategory($$anchor, $$props) {
|
|
|
15054
15177
|
});
|
|
15055
15178
|
reset(div);
|
|
15056
15179
|
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);
|
|
15180
|
+
template_effect(() => {
|
|
15181
|
+
set_attribute(div, "tabindex", get$1(adjustedTabindex));
|
|
15182
|
+
set_attribute(div, "aria-label", get$1(shouldShowAriaLabel) ? `Category ${categoryIndex()}: ${get$1(cleanCategoryTitle)}. ${get$1(getTotalWords)} added.` : void 0);
|
|
15183
|
+
set_class(div, 1, clsx(get$1(outerClasses)));
|
|
15184
|
+
set_class(div_1, 1, clsx(get$1(titleClasses)));
|
|
15067
15185
|
});
|
|
15068
15186
|
bind_element_size(div_1, "clientHeight", ($$value) => set(categoryTitleHeight, $$value));
|
|
15069
15187
|
append($$anchor, div);
|
|
@@ -15075,10 +15193,10 @@ create_custom_element(
|
|
|
15075
15193
|
{
|
|
15076
15194
|
categoryId: {},
|
|
15077
15195
|
categoryTitle: {},
|
|
15196
|
+
categoryIndex: {},
|
|
15078
15197
|
items: {},
|
|
15079
15198
|
selectedItemId: {},
|
|
15080
15199
|
isLocked: {},
|
|
15081
|
-
currentTabContainer: {},
|
|
15082
15200
|
isCollapsed: {},
|
|
15083
15201
|
isDraggingOver: {},
|
|
15084
15202
|
dropContainerId: {},
|
|
@@ -15089,13 +15207,15 @@ create_custom_element(
|
|
|
15089
15207
|
hasStimulus: {},
|
|
15090
15208
|
dndType: {},
|
|
15091
15209
|
tabindex: {},
|
|
15210
|
+
activeContainerForKeyboard: {},
|
|
15092
15211
|
onitemdrop: {},
|
|
15093
15212
|
onitemselect: {},
|
|
15094
15213
|
oncontainerclick: {},
|
|
15095
15214
|
ontogglecollapse: {},
|
|
15215
|
+
onitemfocus: {},
|
|
15216
|
+
onitemblur: {},
|
|
15096
15217
|
onitemkeydown: {},
|
|
15097
15218
|
onkeydown: {},
|
|
15098
|
-
onfocus: {},
|
|
15099
15219
|
ondraghover: {},
|
|
15100
15220
|
ondragstart: {}
|
|
15101
15221
|
},
|
|
@@ -15107,16 +15227,11 @@ var root_1$6 = /* @__PURE__ */ from_html(`<div role="group" tabindex="-1" class=
|
|
|
15107
15227
|
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
15228
|
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
15229
|
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>`);
|
|
15230
|
+
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
15231
|
function CategoriseWordBin($$anchor, $$props) {
|
|
15112
15232
|
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),
|
|
15233
|
+
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
15234
|
let wordBinElement = /* @__PURE__ */ state(void 0);
|
|
15115
|
-
const handleNavigate = (direction) => {
|
|
15116
|
-
if (onnavigateitem()) {
|
|
15117
|
-
onnavigateitem()(direction);
|
|
15118
|
-
}
|
|
15119
|
-
};
|
|
15120
15235
|
const displayItems = /* @__PURE__ */ user_derived(() => isMobile() && items().length > 0 ? [items()[currentMobileIndex()]].filter(Boolean) : items());
|
|
15121
15236
|
const itemsRemaining = /* @__PURE__ */ user_derived(() => items().length);
|
|
15122
15237
|
const showNavigation = /* @__PURE__ */ user_derived(() => isMobile() && items().length > 0);
|
|
@@ -15124,39 +15239,64 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15124
15239
|
const isNotSourceContainer = /* @__PURE__ */ user_derived(() => dragSourceContainerId() !== containerId());
|
|
15125
15240
|
const hasSelectedItem = /* @__PURE__ */ user_derived(() => !!selectedItemId());
|
|
15126
15241
|
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
15242
|
const isPreviewMode2 = /* @__PURE__ */ user_derived(isLocked);
|
|
15130
|
-
const
|
|
15131
|
-
|
|
15132
|
-
|
|
15133
|
-
|
|
15134
|
-
|
|
15135
|
-
|
|
15136
|
-
|
|
15137
|
-
|
|
15138
|
-
|
|
15139
|
-
|
|
15140
|
-
|
|
15141
|
-
|
|
15142
|
-
|
|
15243
|
+
const handleNavigate = (direction) => {
|
|
15244
|
+
if (onnavigateitem()) {
|
|
15245
|
+
onnavigateitem()(direction);
|
|
15246
|
+
}
|
|
15247
|
+
};
|
|
15248
|
+
const containerClasses = /* @__PURE__ */ user_derived(() => [
|
|
15249
|
+
"!outline-none",
|
|
15250
|
+
"bg-transparent",
|
|
15251
|
+
"p-4",
|
|
15252
|
+
"pt-[55px]",
|
|
15253
|
+
"grow",
|
|
15254
|
+
"md:grow-0",
|
|
15255
|
+
"md:pt-20.5",
|
|
15256
|
+
"justify-center",
|
|
15257
|
+
"md:justify-normal",
|
|
15258
|
+
isDraggingOver() && get$1(isNotSourceContainer) ? "!bg-violet-100" : ""
|
|
15259
|
+
].filter(Boolean).join(" "));
|
|
15260
|
+
const outerClasses = /* @__PURE__ */ user_derived(() => [
|
|
15261
|
+
get$1(isPreviewMode2) ? "select-none" : "",
|
|
15262
|
+
"shadow-[0_-12px_14px_-16px_#00000033]",
|
|
15263
|
+
"rounded-lg",
|
|
15264
|
+
"relative",
|
|
15265
|
+
"min-h-[133px]",
|
|
15266
|
+
"md:min-h-[164px]",
|
|
15267
|
+
"md:border",
|
|
15268
|
+
"md:shadow-[0_0_#0000]",
|
|
15269
|
+
"md:border-gray-400",
|
|
15270
|
+
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",
|
|
15271
|
+
isDraggingOver() && get$1(isNotSourceContainer) ? "raw-focus-ring bg-violet-100" : "",
|
|
15272
|
+
get$1(isDropTarget) && get$1(isNotSourceContainer) ? "bg-violet-150" : "",
|
|
15273
|
+
get$1(isDropTarget) && hasAddItemAnimation() && get$1(isNotSourceContainer) ? "transition bg-white duration-300" : "",
|
|
15274
|
+
get$1(isValidDropTarget) ? "td:hover:bg-violet-100 td:hover-focus-ring cursor-pointer" : "",
|
|
15275
|
+
get$1(hasSelectedItem) && !get$1(isNotSourceContainer) ? "cursor-default" : ""
|
|
15276
|
+
].filter(Boolean).join(" "));
|
|
15277
|
+
const titleClasses = /* @__PURE__ */ user_derived(() => [
|
|
15278
|
+
"p-4",
|
|
15279
|
+
"pb-3",
|
|
15280
|
+
"text-center",
|
|
15281
|
+
"w-full",
|
|
15282
|
+
"absolute",
|
|
15283
|
+
"flex",
|
|
15284
|
+
"flex-row",
|
|
15285
|
+
"items-center",
|
|
15286
|
+
"justify-between",
|
|
15287
|
+
"md:justify-center",
|
|
15288
|
+
"md:flex-col",
|
|
15289
|
+
"md:pb-0",
|
|
15290
|
+
get$1(isDropTarget) && !hasAddItemAnimation() && get$1(isNotSourceContainer) ? "bg-violet-150" : "",
|
|
15291
|
+
get$1(isDropTarget) && hasAddItemAnimation() && get$1(isNotSourceContainer) ? "transition duration-300 bg-white" : "",
|
|
15292
|
+
isDraggingOver() && get$1(isNotSourceContainer) ? "bg-violet-100" : "",
|
|
15293
|
+
get$1(isValidDropTarget) ? "td:hover:bg-violet-100" : ""
|
|
15294
|
+
].filter(Boolean).join(" "));
|
|
15143
15295
|
const handleEmptyClick = () => {
|
|
15144
15296
|
if (selectedItemId() && oncontainerclick()) {
|
|
15145
15297
|
oncontainerclick()(containerId());
|
|
15146
15298
|
}
|
|
15147
15299
|
};
|
|
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
15300
|
var $$exports = {
|
|
15161
15301
|
get wordBinElement() {
|
|
15162
15302
|
return get$1(wordBinElement);
|
|
@@ -15192,13 +15332,6 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15192
15332
|
isLocked($$value);
|
|
15193
15333
|
flushSync();
|
|
15194
15334
|
},
|
|
15195
|
-
get currentTabContainer() {
|
|
15196
|
-
return currentTabContainer();
|
|
15197
|
-
},
|
|
15198
|
-
set currentTabContainer($$value = null) {
|
|
15199
|
-
currentTabContainer($$value);
|
|
15200
|
-
flushSync();
|
|
15201
|
-
},
|
|
15202
15335
|
get isDraggingOver() {
|
|
15203
15336
|
return isDraggingOver();
|
|
15204
15337
|
},
|
|
@@ -15255,6 +15388,13 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15255
15388
|
totalItems($$value);
|
|
15256
15389
|
flushSync();
|
|
15257
15390
|
},
|
|
15391
|
+
get tabindex() {
|
|
15392
|
+
return tabindex();
|
|
15393
|
+
},
|
|
15394
|
+
set tabindex($$value = 0) {
|
|
15395
|
+
tabindex($$value);
|
|
15396
|
+
flushSync();
|
|
15397
|
+
},
|
|
15258
15398
|
get dndType() {
|
|
15259
15399
|
return dndType();
|
|
15260
15400
|
},
|
|
@@ -15262,6 +15402,13 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15262
15402
|
dndType($$value);
|
|
15263
15403
|
flushSync();
|
|
15264
15404
|
},
|
|
15405
|
+
get activeContainerForKeyboard() {
|
|
15406
|
+
return activeContainerForKeyboard();
|
|
15407
|
+
},
|
|
15408
|
+
set activeContainerForKeyboard($$value = void 0) {
|
|
15409
|
+
activeContainerForKeyboard($$value);
|
|
15410
|
+
flushSync();
|
|
15411
|
+
},
|
|
15265
15412
|
get onitemdrop() {
|
|
15266
15413
|
return onitemdrop();
|
|
15267
15414
|
},
|
|
@@ -15290,6 +15437,20 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15290
15437
|
onnavigateitem($$value);
|
|
15291
15438
|
flushSync();
|
|
15292
15439
|
},
|
|
15440
|
+
get onitemfocus() {
|
|
15441
|
+
return onitemfocus();
|
|
15442
|
+
},
|
|
15443
|
+
set onitemfocus($$value) {
|
|
15444
|
+
onitemfocus($$value);
|
|
15445
|
+
flushSync();
|
|
15446
|
+
},
|
|
15447
|
+
get onitemblur() {
|
|
15448
|
+
return onitemblur();
|
|
15449
|
+
},
|
|
15450
|
+
set onitemblur($$value) {
|
|
15451
|
+
onitemblur($$value);
|
|
15452
|
+
flushSync();
|
|
15453
|
+
},
|
|
15293
15454
|
get onitemkeydown() {
|
|
15294
15455
|
return onitemkeydown();
|
|
15295
15456
|
},
|
|
@@ -15321,13 +15482,15 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15321
15482
|
get onfocus() {
|
|
15322
15483
|
return onfocus();
|
|
15323
15484
|
},
|
|
15324
|
-
set onfocus($$value) {
|
|
15485
|
+
set onfocus($$value = void 0) {
|
|
15325
15486
|
onfocus($$value);
|
|
15326
15487
|
flushSync();
|
|
15327
15488
|
}
|
|
15328
15489
|
};
|
|
15329
15490
|
var div = root$3();
|
|
15330
|
-
div.__keydown =
|
|
15491
|
+
div.__keydown = function(...$$args) {
|
|
15492
|
+
(onkeydown() || void 0)?.apply(this, $$args);
|
|
15493
|
+
};
|
|
15331
15494
|
var div_1 = child(div);
|
|
15332
15495
|
var span = sibling(child(div_1), 2);
|
|
15333
15496
|
var text = child(span);
|
|
@@ -15373,6 +15536,7 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15373
15536
|
get containerId() {
|
|
15374
15537
|
return containerId();
|
|
15375
15538
|
},
|
|
15539
|
+
containerLabel: "Word Bin",
|
|
15376
15540
|
get containerClass() {
|
|
15377
15541
|
return get$1(containerClasses);
|
|
15378
15542
|
},
|
|
@@ -15385,9 +15549,6 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15385
15549
|
get isLocked() {
|
|
15386
15550
|
return isLocked();
|
|
15387
15551
|
},
|
|
15388
|
-
get currentTabContainer() {
|
|
15389
|
-
return currentTabContainer();
|
|
15390
|
-
},
|
|
15391
15552
|
get isMobile() {
|
|
15392
15553
|
return isMobile();
|
|
15393
15554
|
},
|
|
@@ -15397,6 +15558,9 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15397
15558
|
get dndType() {
|
|
15398
15559
|
return dndType();
|
|
15399
15560
|
},
|
|
15561
|
+
get activeContainerForKeyboard() {
|
|
15562
|
+
return activeContainerForKeyboard();
|
|
15563
|
+
},
|
|
15400
15564
|
get onitemdrop() {
|
|
15401
15565
|
return onitemdrop();
|
|
15402
15566
|
},
|
|
@@ -15406,6 +15570,12 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15406
15570
|
get oncontainerclick() {
|
|
15407
15571
|
return oncontainerclick();
|
|
15408
15572
|
},
|
|
15573
|
+
get onitemfocus() {
|
|
15574
|
+
return onitemfocus();
|
|
15575
|
+
},
|
|
15576
|
+
get onitemblur() {
|
|
15577
|
+
return onitemblur();
|
|
15578
|
+
},
|
|
15409
15579
|
get onitemkeydown() {
|
|
15410
15580
|
return onitemkeydown();
|
|
15411
15581
|
},
|
|
@@ -15442,13 +15612,14 @@ function CategoriseWordBin($$anchor, $$props) {
|
|
|
15442
15612
|
reset(div);
|
|
15443
15613
|
bind_this(div, ($$value) => set(wordBinElement, $$value), () => get$1(wordBinElement));
|
|
15444
15614
|
template_effect(() => {
|
|
15445
|
-
set_attribute(div, "tabindex",
|
|
15615
|
+
set_attribute(div, "tabindex", tabindex());
|
|
15616
|
+
set_attribute(div, "aria-label", !get$1(hasSelectedItem) || !get$1(isNotSourceContainer) ? `Word Bin. ${get$1(itemsRemaining)} out of ${totalItems()} left.` : void 0);
|
|
15446
15617
|
set_class(div, 1, clsx(get$1(outerClasses)));
|
|
15447
15618
|
set_class(div_1, 1, clsx(get$1(titleClasses)));
|
|
15448
15619
|
set_text(text, `${get$1(itemsRemaining) ?? ""} out of ${totalItems() ?? ""} left`);
|
|
15449
15620
|
});
|
|
15450
15621
|
event("focus", div, function(...$$args) {
|
|
15451
|
-
onfocus()?.apply(this, $$args);
|
|
15622
|
+
(onfocus() || void 0)?.apply(this, $$args);
|
|
15452
15623
|
});
|
|
15453
15624
|
append($$anchor, div);
|
|
15454
15625
|
return pop($$exports);
|
|
@@ -15461,7 +15632,6 @@ create_custom_element(
|
|
|
15461
15632
|
items: {},
|
|
15462
15633
|
selectedItemId: {},
|
|
15463
15634
|
isLocked: {},
|
|
15464
|
-
currentTabContainer: {},
|
|
15465
15635
|
isDraggingOver: {},
|
|
15466
15636
|
dropContainerId: {},
|
|
15467
15637
|
hasAddItemAnimation: {},
|
|
@@ -15470,11 +15640,15 @@ create_custom_element(
|
|
|
15470
15640
|
isMobile: {},
|
|
15471
15641
|
currentMobileIndex: {},
|
|
15472
15642
|
totalItems: {},
|
|
15643
|
+
tabindex: {},
|
|
15473
15644
|
dndType: {},
|
|
15645
|
+
activeContainerForKeyboard: {},
|
|
15474
15646
|
onitemdrop: {},
|
|
15475
15647
|
onitemselect: {},
|
|
15476
15648
|
oncontainerclick: {},
|
|
15477
15649
|
onnavigateitem: {},
|
|
15650
|
+
onitemfocus: {},
|
|
15651
|
+
onitemblur: {},
|
|
15478
15652
|
onitemkeydown: {},
|
|
15479
15653
|
ondraghover: {},
|
|
15480
15654
|
ondragstart: {},
|
|
@@ -15519,13 +15693,11 @@ function CategoriseModal($$anchor, $$props) {
|
|
|
15519
15693
|
push($$props, true);
|
|
15520
15694
|
let isOpen = prop($$props, "isOpen", 7, false), onclose = prop($$props, "onclose", 7), onreset = prop($$props, "onreset", 7);
|
|
15521
15695
|
let categoryModalRef = /* @__PURE__ */ state(void 0);
|
|
15522
|
-
let ariaHidden = /* @__PURE__ */ state(false);
|
|
15523
15696
|
user_effect(() => {
|
|
15524
15697
|
if (isOpen() && get$1(categoryModalRef)) {
|
|
15525
15698
|
setTimeout(
|
|
15526
15699
|
() => {
|
|
15527
15700
|
get$1(categoryModalRef)?.focus();
|
|
15528
|
-
set(ariaHidden, true);
|
|
15529
15701
|
},
|
|
15530
15702
|
0
|
|
15531
15703
|
);
|
|
@@ -15590,7 +15762,6 @@ function CategoriseModal($$anchor, $$props) {
|
|
|
15590
15762
|
button_2.__click = handleReset;
|
|
15591
15763
|
reset(div_3);
|
|
15592
15764
|
reset(div_1);
|
|
15593
|
-
template_effect(() => set_attribute(div, "aria-hidden", get$1(ariaHidden)));
|
|
15594
15765
|
append($$anchor2, fragment_1);
|
|
15595
15766
|
},
|
|
15596
15767
|
$$slots: { default: true }
|
|
@@ -15603,12 +15774,14 @@ var root_2$1 = /* @__PURE__ */ from_html(`<button aria-label="Reset words" class
|
|
|
15603
15774
|
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
15775
|
var root_1$4 = /* @__PURE__ */ from_html(
|
|
15605
15776
|
`<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>`,
|
|
15777
|
+
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
15778
|
1
|
|
15608
15779
|
);
|
|
15609
15780
|
function CategoriseComponent($$anchor, $$props) {
|
|
15610
15781
|
push($$props, true);
|
|
15611
15782
|
const CONTAINER_WORD_BIN_ID2 = CATEGORISE.CONTAINER_WORD_BIN_ID;
|
|
15783
|
+
const ANIMATION_DELAY_MS = 300;
|
|
15784
|
+
const ANNOUNCEMENT_TIMEOUT_MS = 1e3;
|
|
15612
15785
|
let api = prop($$props, "api", 7), config = prop($$props, "config", 7), onstateChange = prop($$props, "onstateChange", 7);
|
|
15613
15786
|
const initialState = api().createInitialState?.();
|
|
15614
15787
|
if (!initialState?.data) throw new Error("Failed to initialize Categorise state");
|
|
@@ -15616,10 +15789,11 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
15616
15789
|
let isMobile = /* @__PURE__ */ state(false);
|
|
15617
15790
|
let currentMobileIndex = /* @__PURE__ */ state(0);
|
|
15618
15791
|
let isModalOpen = /* @__PURE__ */ state(false);
|
|
15619
|
-
let
|
|
15792
|
+
let activeContainerForKeyboard = /* @__PURE__ */ state(null);
|
|
15620
15793
|
let dragHoverContainerId = /* @__PURE__ */ state(null);
|
|
15621
15794
|
let dragSourceContainerId = /* @__PURE__ */ state(null);
|
|
15622
15795
|
let announcement = /* @__PURE__ */ state("");
|
|
15796
|
+
let srOnlyFocusTrapRef = /* @__PURE__ */ state(void 0);
|
|
15623
15797
|
let srDivRef = /* @__PURE__ */ state(void 0);
|
|
15624
15798
|
let skipToWordBinRef = /* @__PURE__ */ state(void 0);
|
|
15625
15799
|
let wordBinRef = /* @__PURE__ */ state(void 0);
|
|
@@ -15628,18 +15802,19 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
15628
15802
|
const categoryTabIndex = /* @__PURE__ */ user_derived(() => get$1(selectedItemId) || get$1(isModalOpen) ? -1 : 0);
|
|
15629
15803
|
const isCompleted = /* @__PURE__ */ user_derived(() => api().isCompleted?.(get$1(interactionState)) ?? false);
|
|
15630
15804
|
const isLocked = /* @__PURE__ */ user_derived(() => api().isLocked?.(get$1(interactionState)) ?? false);
|
|
15805
|
+
const dropContainerId = /* @__PURE__ */ user_derived(() => get$1(interactionState).data.dropContainerId);
|
|
15806
|
+
const hasAddItemAnimation = /* @__PURE__ */ user_derived(() => get$1(interactionState).data.hasAddItemAnimation);
|
|
15631
15807
|
const totalRemainingItems = /* @__PURE__ */ user_derived(() => get$1(interactionState).data.wordBinItems.filter((id) => {
|
|
15632
15808
|
const status = id.split(CATEGORISE.DASH)[1];
|
|
15633
15809
|
return status !== "missed";
|
|
15634
15810
|
}).length);
|
|
15635
15811
|
const totalPlacedItems = /* @__PURE__ */ user_derived(() => config().totalCategoryItems - get$1(totalRemainingItems));
|
|
15636
15812
|
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
15813
|
const wordBinItems = /* @__PURE__ */ user_derived(() => get$1(interactionState).data.wordBinItems.map((id) => ({
|
|
15640
15814
|
id,
|
|
15641
15815
|
itemText: config().category_items.find((item) => item.id.split(CATEGORISE.DASH)[0] === id.split(CATEGORISE.DASH)[0])?.name || id
|
|
15642
15816
|
})));
|
|
15817
|
+
const wordBinLength = /* @__PURE__ */ user_derived(() => get$1(wordBinItems).length);
|
|
15643
15818
|
const getCategoryItemsData = (categoryId) => {
|
|
15644
15819
|
const itemIds = api().getCategoryItems(get$1(interactionState), categoryId);
|
|
15645
15820
|
return itemIds.map((id) => ({
|
|
@@ -15656,6 +15831,28 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
15656
15831
|
}
|
|
15657
15832
|
return void 0;
|
|
15658
15833
|
};
|
|
15834
|
+
const findSourceContainer = (cleanItemId) => {
|
|
15835
|
+
if (get$1(interactionState).data.wordBinItems.some((id) => id.split(CATEGORISE.DASH)[0] === cleanItemId)) {
|
|
15836
|
+
return CONTAINER_WORD_BIN_ID2;
|
|
15837
|
+
}
|
|
15838
|
+
for (const [categoryId, items] of get$1(interactionState).data.placements.entries()) {
|
|
15839
|
+
if (items.some((id) => id.split(CATEGORISE.DASH)[0] === cleanItemId)) {
|
|
15840
|
+
return categoryId;
|
|
15841
|
+
}
|
|
15842
|
+
}
|
|
15843
|
+
return null;
|
|
15844
|
+
};
|
|
15845
|
+
const checkScreenSize = () => {
|
|
15846
|
+
if (typeof window !== "undefined") {
|
|
15847
|
+
set(isMobile, window.innerWidth < BREAKPOINTS.MD);
|
|
15848
|
+
}
|
|
15849
|
+
};
|
|
15850
|
+
const dispatchStateChange = () => {
|
|
15851
|
+
if (onstateChange()) {
|
|
15852
|
+
const serialized = api().serialize(get$1(interactionState));
|
|
15853
|
+
onstateChange()(new CustomEvent("statechange", { detail: { state: get$1(interactionState), serialized } }));
|
|
15854
|
+
}
|
|
15855
|
+
};
|
|
15659
15856
|
const announceToScreenReader = async (message) => {
|
|
15660
15857
|
set(announcement, "");
|
|
15661
15858
|
await tick();
|
|
@@ -15665,25 +15862,54 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
15665
15862
|
() => {
|
|
15666
15863
|
set(announcement, "");
|
|
15667
15864
|
},
|
|
15668
|
-
|
|
15865
|
+
ANNOUNCEMENT_TIMEOUT_MS
|
|
15669
15866
|
);
|
|
15670
15867
|
};
|
|
15671
|
-
const
|
|
15672
|
-
|
|
15673
|
-
|
|
15868
|
+
const createItemPlacementAnnouncement = (itemName, categoryName, categoryIndex, itemCount, containerId) => {
|
|
15869
|
+
const wordLabel = itemCount === 1 ? "word" : "words";
|
|
15870
|
+
if (categoryName) {
|
|
15871
|
+
return `Option ${itemName} added in Category ${categoryIndex + 1}: ${categoryName}. ${itemCount} ${wordLabel} added`;
|
|
15872
|
+
}
|
|
15873
|
+
if (containerId === CATEGORISE.CONTAINER_WORD_BIN_ID) {
|
|
15874
|
+
return `Option ${itemName} returned to Word Bin. ${itemCount} ${wordLabel} remaining`;
|
|
15674
15875
|
}
|
|
15876
|
+
return `Option ${itemName} added. ${itemCount} ${wordLabel} in category`;
|
|
15877
|
+
};
|
|
15878
|
+
const playDropAnimation = async (containerId) => {
|
|
15879
|
+
await tick();
|
|
15880
|
+
await new Promise((resolve) => setTimeout(resolve, ANIMATION_DELAY_MS));
|
|
15881
|
+
set(
|
|
15882
|
+
interactionState,
|
|
15883
|
+
{
|
|
15884
|
+
...get$1(interactionState),
|
|
15885
|
+
data: {
|
|
15886
|
+
...get$1(interactionState).data,
|
|
15887
|
+
dropContainerId: containerId
|
|
15888
|
+
}
|
|
15889
|
+
},
|
|
15890
|
+
true
|
|
15891
|
+
);
|
|
15892
|
+
await new Promise((resolve) => setTimeout(resolve, ANIMATION_DELAY_MS));
|
|
15893
|
+
set(
|
|
15894
|
+
interactionState,
|
|
15895
|
+
{
|
|
15896
|
+
...get$1(interactionState),
|
|
15897
|
+
data: { ...get$1(interactionState).data, hasAddItemAnimation: true }
|
|
15898
|
+
},
|
|
15899
|
+
true
|
|
15900
|
+
);
|
|
15901
|
+
setTimeout(
|
|
15902
|
+
() => {
|
|
15903
|
+
set(interactionState, api().clearDropAnimation(get$1(interactionState)), true);
|
|
15904
|
+
},
|
|
15905
|
+
ANIMATION_DELAY_MS
|
|
15906
|
+
);
|
|
15675
15907
|
};
|
|
15676
15908
|
onMount(() => {
|
|
15677
15909
|
checkScreenSize();
|
|
15678
15910
|
window.addEventListener("resize", checkScreenSize);
|
|
15679
15911
|
return () => window.removeEventListener("resize", checkScreenSize);
|
|
15680
15912
|
});
|
|
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
15913
|
const handleItemDrop = async (e2) => {
|
|
15688
15914
|
const { info } = e2.detail;
|
|
15689
15915
|
set(dragHoverContainerId, null);
|
|
@@ -15699,24 +15925,13 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
15699
15925
|
}
|
|
15700
15926
|
const droppedItemId = info.id;
|
|
15701
15927
|
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
|
-
}
|
|
15928
|
+
const sourceContainerId = findSourceContainer(cleanItemId);
|
|
15713
15929
|
if (sourceContainerId === targetContainerId) {
|
|
15714
15930
|
set(dragSourceContainerId, null);
|
|
15715
15931
|
return;
|
|
15716
15932
|
}
|
|
15717
15933
|
set(dragSourceContainerId, sourceContainerId, true);
|
|
15718
15934
|
set(interactionState, api().moveItem(get$1(interactionState), cleanItemId, targetContainerId), true);
|
|
15719
|
-
set(currentTabContainer, null);
|
|
15720
15935
|
set(
|
|
15721
15936
|
interactionState,
|
|
15722
15937
|
{
|
|
@@ -15727,43 +15942,16 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
15727
15942
|
);
|
|
15728
15943
|
dispatchStateChange();
|
|
15729
15944
|
const item = config().category_items.find((i) => i.id === cleanItemId);
|
|
15730
|
-
const
|
|
15731
|
-
|
|
15945
|
+
const targetCategoryIndex = config().category_groups.findIndex((c) => c.id === targetContainerId);
|
|
15946
|
+
const targetCategory = targetCategoryIndex >= 0 ? config().category_groups[targetCategoryIndex] : void 0;
|
|
15947
|
+
if (item) {
|
|
15732
15948
|
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`);
|
|
15949
|
+
const cleanCategoryName = targetCategory ? useRemoveRichTextHtmlTags(targetCategory.name) : null;
|
|
15950
|
+
const itemCount = targetContainerId === CATEGORISE.CONTAINER_WORD_BIN_ID ? get$1(interactionState).data.wordBinItems.length : api().getCategoryItems(get$1(interactionState), targetContainerId).length;
|
|
15951
|
+
const message = createItemPlacementAnnouncement(cleanItemName, cleanCategoryName, targetCategoryIndex, itemCount, targetContainerId);
|
|
15952
|
+
await announceToScreenReader(message);
|
|
15738
15953
|
}
|
|
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
|
-
);
|
|
15954
|
+
await playDropAnimation(targetContainerId);
|
|
15767
15955
|
};
|
|
15768
15956
|
const handleDragHover = (containerId, isHovering) => {
|
|
15769
15957
|
if (isHovering) {
|
|
@@ -15777,58 +15965,27 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
15777
15965
|
const handleDragStart = (containerId) => {
|
|
15778
15966
|
set(dragSourceContainerId, containerId, true);
|
|
15779
15967
|
};
|
|
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
15968
|
const handleItemSelect = (itemId) => {
|
|
15805
15969
|
if (get$1(isLocked)) return;
|
|
15806
15970
|
const cleanItemId = itemId.split(CATEGORISE.DASH)[0];
|
|
15807
15971
|
if (!get$1(selectedItemId)) {
|
|
15972
|
+
set(activeContainerForKeyboard, null);
|
|
15808
15973
|
set(interactionState, api().selectItem(get$1(interactionState), cleanItemId, null), true);
|
|
15809
15974
|
} else if (get$1(selectedItemId) === cleanItemId) {
|
|
15810
15975
|
set(interactionState, api().selectItem(get$1(interactionState), null, null), true);
|
|
15811
15976
|
}
|
|
15812
15977
|
};
|
|
15813
15978
|
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
|
-
}
|
|
15979
|
+
if (get$1(isLocked) || !get$1(selectedItemId)) {
|
|
15980
|
+
return;
|
|
15826
15981
|
}
|
|
15982
|
+
const capturedSelectedItemId = get$1(selectedItemId);
|
|
15983
|
+
const cleanSelectedId = capturedSelectedItemId.split(CATEGORISE.DASH)[0];
|
|
15984
|
+
const sourceContainerId = findSourceContainer(cleanSelectedId);
|
|
15827
15985
|
if (sourceContainerId === containerId) {
|
|
15828
15986
|
return;
|
|
15829
15987
|
}
|
|
15830
|
-
set(interactionState, api().moveItem(get$1(interactionState),
|
|
15831
|
-
set(currentTabContainer, null);
|
|
15988
|
+
set(interactionState, api().moveItem(get$1(interactionState), capturedSelectedItemId, containerId), true);
|
|
15832
15989
|
set(
|
|
15833
15990
|
interactionState,
|
|
15834
15991
|
{
|
|
@@ -15838,44 +15995,22 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
15838
15995
|
true
|
|
15839
15996
|
);
|
|
15840
15997
|
dispatchStateChange();
|
|
15841
|
-
const
|
|
15842
|
-
const
|
|
15843
|
-
|
|
15998
|
+
const cleanSelectedItemId = capturedSelectedItemId.split(CATEGORISE.DASH)[0];
|
|
15999
|
+
const item = config().category_items.find((i) => i.id === cleanSelectedItemId);
|
|
16000
|
+
const targetCategoryIndex = containerId === CATEGORISE.CONTAINER_WORD_BIN_ID ? -1 : config().category_groups.findIndex((c) => c.id === containerId);
|
|
16001
|
+
const targetCategory = targetCategoryIndex >= 0 ? config().category_groups[targetCategoryIndex] : null;
|
|
16002
|
+
if (item) {
|
|
15844
16003
|
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`);
|
|
16004
|
+
const cleanCategoryName = targetCategory ? useRemoveRichTextHtmlTags(targetCategory.name) : null;
|
|
16005
|
+
const itemCount = containerId === CATEGORISE.CONTAINER_WORD_BIN_ID ? get$1(interactionState).data.wordBinItems.length : api().getCategoryItems(get$1(interactionState), containerId).length;
|
|
16006
|
+
const message = createItemPlacementAnnouncement(cleanItemName, cleanCategoryName, targetCategoryIndex, itemCount, containerId);
|
|
16007
|
+
await announceToScreenReader(message);
|
|
15850
16008
|
}
|
|
16009
|
+
await playDropAnimation(containerId);
|
|
15851
16010
|
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
|
-
);
|
|
16011
|
+
if (get$1(srOnlyFocusTrapRef)) {
|
|
16012
|
+
get$1(srOnlyFocusTrapRef).focus();
|
|
16013
|
+
}
|
|
15879
16014
|
};
|
|
15880
16015
|
const handleNavigateItem = (direction) => {
|
|
15881
16016
|
const result = useNavigateItem(
|
|
@@ -15905,16 +16040,21 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
15905
16040
|
}
|
|
15906
16041
|
}
|
|
15907
16042
|
};
|
|
15908
|
-
const
|
|
15909
|
-
const
|
|
15910
|
-
|
|
15911
|
-
set(currentTabContainer, null);
|
|
15912
|
-
}
|
|
16043
|
+
const getItemIndex = (itemId, containerId) => {
|
|
16044
|
+
const items = containerId === CONTAINER_WORD_BIN_ID2 ? get$1(wordBinItems) : getCategoryItemsData(containerId);
|
|
16045
|
+
return items.findIndex((item) => item.id === itemId);
|
|
15913
16046
|
};
|
|
15914
16047
|
const handleCategoryKeydown = async (event2, categoryId) => {
|
|
15915
16048
|
if (event2.key === "Enter") {
|
|
15916
16049
|
event2.preventDefault();
|
|
15917
16050
|
if (get$1(selectedItemId)) {
|
|
16051
|
+
const categoryItems2 = api().getCategoryItems(get$1(interactionState), categoryId);
|
|
16052
|
+
const cleanSelectedId = get$1(selectedItemId).split(CATEGORISE.DASH)[0];
|
|
16053
|
+
const isSelectedInThisCategory = categoryItems2.some((id) => id.split(CATEGORISE.DASH)[0] === cleanSelectedId);
|
|
16054
|
+
if (isSelectedInThisCategory) {
|
|
16055
|
+
set(interactionState, api().selectItem(get$1(interactionState), null, null), true);
|
|
16056
|
+
return;
|
|
16057
|
+
}
|
|
15918
16058
|
await handleContainerSelect(categoryId);
|
|
15919
16059
|
return;
|
|
15920
16060
|
}
|
|
@@ -15926,74 +16066,109 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
15926
16066
|
if (categoryItems.length === 0) {
|
|
15927
16067
|
return;
|
|
15928
16068
|
}
|
|
15929
|
-
set(
|
|
15930
|
-
|
|
15931
|
-
|
|
15932
|
-
|
|
15933
|
-
()
|
|
15934
|
-
|
|
15935
|
-
|
|
15936
|
-
|
|
15937
|
-
|
|
15938
|
-
|
|
15939
|
-
|
|
15940
|
-
|
|
15941
|
-
|
|
15942
|
-
|
|
15943
|
-
|
|
16069
|
+
set(activeContainerForKeyboard, categoryId, true);
|
|
16070
|
+
const categoryRef = get$1(categoryRefs)[categoryId];
|
|
16071
|
+
if (categoryRef?.categoryElement) {
|
|
16072
|
+
const firstItemButton = categoryRef.categoryElement.querySelector("[data-item-button]");
|
|
16073
|
+
if (firstItemButton) {
|
|
16074
|
+
firstItemButton.focus();
|
|
16075
|
+
}
|
|
16076
|
+
}
|
|
16077
|
+
} else if (event2.key === "Escape") {
|
|
16078
|
+
event2.preventDefault();
|
|
16079
|
+
if (get$1(selectedItemId)) {
|
|
16080
|
+
set(interactionState, api().selectItem(get$1(interactionState), null, null), true);
|
|
16081
|
+
}
|
|
16082
|
+
}
|
|
16083
|
+
};
|
|
16084
|
+
const handleItemFocus = (itemId, containerId, event2) => {
|
|
16085
|
+
if (!get$1(selectedItemId) && get$1(activeContainerForKeyboard) !== containerId) {
|
|
16086
|
+
set(activeContainerForKeyboard, containerId, true);
|
|
16087
|
+
}
|
|
16088
|
+
};
|
|
16089
|
+
const handleItemBlur = (itemId, containerId, event2) => {
|
|
16090
|
+
const relatedTarget = event2.relatedTarget;
|
|
16091
|
+
if (relatedTarget) {
|
|
16092
|
+
const relatedContainerId = relatedTarget.closest('[id^="container-"]')?.id;
|
|
16093
|
+
if (relatedContainerId !== containerId && get$1(activeContainerForKeyboard) === containerId) {
|
|
16094
|
+
set(activeContainerForKeyboard, null);
|
|
16095
|
+
}
|
|
15944
16096
|
}
|
|
15945
16097
|
};
|
|
15946
16098
|
const handleWordBinKeydown = async (event2) => {
|
|
15947
16099
|
if (event2.key === "Enter") {
|
|
15948
16100
|
event2.preventDefault();
|
|
15949
16101
|
if (get$1(selectedItemId)) {
|
|
16102
|
+
const cleanSelectedId = get$1(selectedItemId).split(CATEGORISE.DASH)[0];
|
|
16103
|
+
const isSelectedInWordBin = get$1(interactionState).data.wordBinItems.some((id) => id.split(CATEGORISE.DASH)[0] === cleanSelectedId);
|
|
16104
|
+
if (isSelectedInWordBin) {
|
|
16105
|
+
set(interactionState, api().selectItem(get$1(interactionState), null, null), true);
|
|
16106
|
+
return;
|
|
16107
|
+
}
|
|
15950
16108
|
await handleContainerSelect(CATEGORISE.CONTAINER_WORD_BIN_ID);
|
|
15951
16109
|
return;
|
|
15952
16110
|
}
|
|
15953
16111
|
if (get$1(wordBinItems).length === 0) {
|
|
15954
16112
|
return;
|
|
15955
16113
|
}
|
|
15956
|
-
set(
|
|
15957
|
-
|
|
15958
|
-
|
|
15959
|
-
|
|
15960
|
-
|
|
15961
|
-
|
|
15962
|
-
|
|
15963
|
-
|
|
15964
|
-
|
|
15965
|
-
|
|
15966
|
-
|
|
15967
|
-
|
|
15968
|
-
150
|
|
15969
|
-
);
|
|
16114
|
+
set(activeContainerForKeyboard, CATEGORISE.CONTAINER_WORD_BIN_ID, true);
|
|
16115
|
+
if (get$1(wordBinRef)?.wordBinElement) {
|
|
16116
|
+
const firstItemButton = get$1(wordBinRef).wordBinElement.querySelector("[data-item-button]");
|
|
16117
|
+
if (firstItemButton) {
|
|
16118
|
+
firstItemButton.focus();
|
|
16119
|
+
}
|
|
16120
|
+
}
|
|
16121
|
+
} else if (event2.key === "Escape") {
|
|
16122
|
+
event2.preventDefault();
|
|
16123
|
+
if (get$1(selectedItemId)) {
|
|
16124
|
+
set(interactionState, api().selectItem(get$1(interactionState), null, null), true);
|
|
16125
|
+
}
|
|
15970
16126
|
}
|
|
15971
16127
|
};
|
|
15972
|
-
const handleItemKeydown = (event2, itemId,
|
|
16128
|
+
const handleItemKeydown = (event2, itemId, containerId) => {
|
|
15973
16129
|
if (event2.key === "Enter") {
|
|
15974
16130
|
event2.preventDefault();
|
|
15975
16131
|
event2.stopPropagation();
|
|
15976
16132
|
handleItemSelect(itemId);
|
|
16133
|
+
set(activeContainerForKeyboard, containerId, true);
|
|
16134
|
+
const itemElement = document.getElementById(itemId);
|
|
16135
|
+
if (itemElement) {
|
|
16136
|
+
itemElement.focus();
|
|
16137
|
+
}
|
|
15977
16138
|
} else if (event2.key === "Escape") {
|
|
15978
16139
|
if (get$1(selectedItemId)) {
|
|
15979
16140
|
set(interactionState, api().selectItem(get$1(interactionState), null, null), true);
|
|
15980
16141
|
}
|
|
15981
|
-
|
|
15982
|
-
|
|
15983
|
-
()
|
|
15984
|
-
|
|
15985
|
-
|
|
15986
|
-
|
|
15987
|
-
|
|
15988
|
-
|
|
15989
|
-
|
|
15990
|
-
|
|
16142
|
+
const itemElement = document.getElementById(itemId);
|
|
16143
|
+
if (itemElement) {
|
|
16144
|
+
itemElement.focus();
|
|
16145
|
+
}
|
|
16146
|
+
} else if (event2.key === "Tab") {
|
|
16147
|
+
const currentIndex = getItemIndex(itemId, containerId);
|
|
16148
|
+
const containerItems = containerId === CONTAINER_WORD_BIN_ID2 ? get$1(wordBinItems) : getCategoryItemsData(containerId);
|
|
16149
|
+
if (event2.shiftKey && currentIndex === 0) {
|
|
16150
|
+
set(activeContainerForKeyboard, null);
|
|
16151
|
+
} else if (!event2.shiftKey && currentIndex === containerItems.length - 1) {
|
|
16152
|
+
set(activeContainerForKeyboard, null);
|
|
16153
|
+
}
|
|
16154
|
+
}
|
|
16155
|
+
if (event2.key === "Tab" && !event2.shiftKey) {
|
|
16156
|
+
if (containerId === CONTAINER_WORD_BIN_ID2 && get$1(selectedItemId)) {
|
|
16157
|
+
const firstCategory = config().category_groups[0];
|
|
16158
|
+
if (firstCategory) {
|
|
16159
|
+
event2.preventDefault();
|
|
16160
|
+
event2.stopPropagation();
|
|
16161
|
+
const categoryRef = get$1(categoryRefs)[firstCategory.id];
|
|
16162
|
+
if (categoryRef?.categoryElement) {
|
|
16163
|
+
const overlayButton = categoryRef.categoryElement.querySelector("button.absolute.inset-0");
|
|
16164
|
+
if (overlayButton) {
|
|
16165
|
+
overlayButton.focus();
|
|
16166
|
+
} else {
|
|
15991
16167
|
categoryRef.categoryElement.focus();
|
|
15992
16168
|
}
|
|
15993
16169
|
}
|
|
15994
|
-
}
|
|
15995
|
-
|
|
15996
|
-
);
|
|
16170
|
+
}
|
|
16171
|
+
}
|
|
15997
16172
|
}
|
|
15998
16173
|
};
|
|
15999
16174
|
const handleOpenResetModal = () => {
|
|
@@ -16008,6 +16183,40 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
16008
16183
|
set(currentMobileIndex, 0);
|
|
16009
16184
|
set(isModalOpen, false);
|
|
16010
16185
|
};
|
|
16186
|
+
user_effect(() => {
|
|
16187
|
+
if (get$1(selectedItemId)) {
|
|
16188
|
+
const cleanItemId = get$1(selectedItemId).split(CATEGORISE.DASH)[0];
|
|
16189
|
+
if (get$1(interactionState).data.wordBinItems.some((id) => id.split(CATEGORISE.DASH)[0] === cleanItemId)) {
|
|
16190
|
+
set(dragSourceContainerId, CATEGORISE.CONTAINER_WORD_BIN_ID, true);
|
|
16191
|
+
} else {
|
|
16192
|
+
for (const [categoryId, items] of get$1(interactionState).data.placements.entries()) {
|
|
16193
|
+
if (items.some((id) => id.split(CATEGORISE.DASH)[0] === cleanItemId)) {
|
|
16194
|
+
set(dragSourceContainerId, categoryId, true);
|
|
16195
|
+
break;
|
|
16196
|
+
}
|
|
16197
|
+
}
|
|
16198
|
+
}
|
|
16199
|
+
}
|
|
16200
|
+
});
|
|
16201
|
+
user_effect(() => {
|
|
16202
|
+
const length = get$1(wordBinLength);
|
|
16203
|
+
untrack(() => {
|
|
16204
|
+
if (get$1(currentMobileIndex) >= length && length > 0) {
|
|
16205
|
+
set(currentMobileIndex, length - 1);
|
|
16206
|
+
}
|
|
16207
|
+
if (length === 0) {
|
|
16208
|
+
set(currentMobileIndex, 0);
|
|
16209
|
+
}
|
|
16210
|
+
});
|
|
16211
|
+
});
|
|
16212
|
+
user_effect(() => {
|
|
16213
|
+
if (get$1(selectedItemId) && !get$1(activeContainerForKeyboard)) {
|
|
16214
|
+
const selectedButton = document.getElementById(get$1(selectedItemId));
|
|
16215
|
+
if (selectedButton) {
|
|
16216
|
+
selectedButton.focus();
|
|
16217
|
+
}
|
|
16218
|
+
}
|
|
16219
|
+
});
|
|
16011
16220
|
var $$exports = {
|
|
16012
16221
|
get api() {
|
|
16013
16222
|
return api();
|
|
@@ -16036,6 +16245,12 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
16036
16245
|
var fragment_1 = root_1$4();
|
|
16037
16246
|
var button = first_child(fragment_1);
|
|
16038
16247
|
button.__keydown = skipToWordBin;
|
|
16248
|
+
button.__click = async () => {
|
|
16249
|
+
await tick();
|
|
16250
|
+
if (get$1(wordBinRef)?.wordBinElement) {
|
|
16251
|
+
get$1(wordBinRef).wordBinElement.focus();
|
|
16252
|
+
}
|
|
16253
|
+
};
|
|
16039
16254
|
var span = sibling(child(button), 2);
|
|
16040
16255
|
var node = child(span);
|
|
16041
16256
|
SvgLoader(node, {
|
|
@@ -16070,7 +16285,9 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
16070
16285
|
});
|
|
16071
16286
|
}
|
|
16072
16287
|
reset(div_2);
|
|
16073
|
-
var
|
|
16288
|
+
var span_2 = sibling(div_2, 2);
|
|
16289
|
+
bind_this(span_2, ($$value) => set(srOnlyFocusTrapRef, $$value), () => get$1(srOnlyFocusTrapRef));
|
|
16290
|
+
var node_3 = sibling(span_2, 2);
|
|
16074
16291
|
{
|
|
16075
16292
|
let $02 = /* @__PURE__ */ user_derived(() => !!config().stimulus);
|
|
16076
16293
|
CategoriseCategoryList(node_3, {
|
|
@@ -16080,16 +16297,18 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
16080
16297
|
children: ($$anchor3, $$slotProps) => {
|
|
16081
16298
|
var fragment_2 = comment();
|
|
16082
16299
|
var node_4 = first_child(fragment_2);
|
|
16083
|
-
each(node_4,
|
|
16300
|
+
each(node_4, 19, () => config().category_groups, (category) => category.id, ($$anchor4, category, categoryIndex) => {
|
|
16084
16301
|
const categoryItems = /* @__PURE__ */ user_derived(() => getCategoryItemsData(get$1(category).id));
|
|
16085
16302
|
const isCollapsed = /* @__PURE__ */ user_derived(() => !api().isCategoryOpen(get$1(interactionState), get$1(category).id));
|
|
16086
16303
|
{
|
|
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(() =>
|
|
16304
|
+
let $03 = /* @__PURE__ */ user_derived(() => get$1(categoryIndex) + 1);
|
|
16305
|
+
let $12 = /* @__PURE__ */ user_derived(() => get$1(selectedItemId) || void 0);
|
|
16306
|
+
let $22 = /* @__PURE__ */ user_derived(() => get$1(dragHoverContainerId) === get$1(category).id);
|
|
16307
|
+
let $3 = /* @__PURE__ */ user_derived(() => get$1(dropContainerId) || void 0);
|
|
16308
|
+
let $4 = /* @__PURE__ */ user_derived(() => get$1(dragSourceContainerId) || void 0);
|
|
16309
|
+
let $5 = /* @__PURE__ */ user_derived(() => get$1(categoryItems)[0] ? getItemResultType(get$1(categoryItems)[0].id) : void 0);
|
|
16310
|
+
let $6 = /* @__PURE__ */ user_derived(() => !!config().stimulus);
|
|
16311
|
+
let $7 = /* @__PURE__ */ user_derived(() => get$1(activeContainerForKeyboard) || void 0);
|
|
16093
16312
|
bind_this(
|
|
16094
16313
|
CategoriseCategory($$anchor4, {
|
|
16095
16314
|
get categoryId() {
|
|
@@ -16098,11 +16317,14 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
16098
16317
|
get categoryTitle() {
|
|
16099
16318
|
return get$1(category).name;
|
|
16100
16319
|
},
|
|
16320
|
+
get categoryIndex() {
|
|
16321
|
+
return get$1($03);
|
|
16322
|
+
},
|
|
16101
16323
|
get items() {
|
|
16102
16324
|
return get$1(categoryItems);
|
|
16103
16325
|
},
|
|
16104
16326
|
get selectedItemId() {
|
|
16105
|
-
return get$1($
|
|
16327
|
+
return get$1($12);
|
|
16106
16328
|
},
|
|
16107
16329
|
get isLocked() {
|
|
16108
16330
|
return get$1(isLocked);
|
|
@@ -16110,32 +16332,29 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
16110
16332
|
get isCollapsed() {
|
|
16111
16333
|
return get$1(isCollapsed);
|
|
16112
16334
|
},
|
|
16113
|
-
get currentTabContainer() {
|
|
16114
|
-
return get$1(currentTabContainer);
|
|
16115
|
-
},
|
|
16116
16335
|
get isDraggingOver() {
|
|
16117
|
-
return get$1($
|
|
16336
|
+
return get$1($22);
|
|
16118
16337
|
},
|
|
16119
16338
|
get dropContainerId() {
|
|
16120
|
-
return get$1($
|
|
16339
|
+
return get$1($3);
|
|
16121
16340
|
},
|
|
16122
16341
|
get hasAddItemAnimation() {
|
|
16123
16342
|
return get$1(hasAddItemAnimation);
|
|
16124
16343
|
},
|
|
16125
16344
|
get dragSourceContainerId() {
|
|
16126
|
-
return get$1($
|
|
16345
|
+
return get$1($4);
|
|
16127
16346
|
},
|
|
16128
16347
|
get mode() {
|
|
16129
16348
|
return config().mode;
|
|
16130
16349
|
},
|
|
16131
16350
|
get resultType() {
|
|
16132
|
-
return get$1($
|
|
16351
|
+
return get$1($5);
|
|
16133
16352
|
},
|
|
16134
16353
|
get isMobile() {
|
|
16135
16354
|
return get$1(isMobile);
|
|
16136
16355
|
},
|
|
16137
16356
|
get hasStimulus() {
|
|
16138
|
-
return get$1($
|
|
16357
|
+
return get$1($6);
|
|
16139
16358
|
},
|
|
16140
16359
|
get dndType() {
|
|
16141
16360
|
return config().categoryDndType;
|
|
@@ -16143,13 +16362,17 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
16143
16362
|
get tabindex() {
|
|
16144
16363
|
return get$1(categoryTabIndex);
|
|
16145
16364
|
},
|
|
16365
|
+
get activeContainerForKeyboard() {
|
|
16366
|
+
return get$1($7);
|
|
16367
|
+
},
|
|
16146
16368
|
onitemdrop: handleItemDrop,
|
|
16147
16369
|
onitemselect: handleItemSelect,
|
|
16148
16370
|
oncontainerclick: () => handleContainerSelect(get$1(category).id),
|
|
16149
16371
|
ontogglecollapse: handleToggleCollapse,
|
|
16150
16372
|
onkeydown: (e2) => handleCategoryKeydown(e2, get$1(category).id),
|
|
16151
|
-
|
|
16152
|
-
|
|
16373
|
+
onitemfocus: (itemId, event2) => handleItemFocus(itemId, get$1(category).id),
|
|
16374
|
+
onitemblur: (itemId, event2) => handleItemBlur(itemId, get$1(category).id, event2),
|
|
16375
|
+
onitemkeydown: (e2, itemId) => handleItemKeydown(e2, itemId, get$1(category).id),
|
|
16153
16376
|
ondraghover: handleDragHover,
|
|
16154
16377
|
ondragstart: handleDragStart
|
|
16155
16378
|
}),
|
|
@@ -16170,6 +16393,7 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
16170
16393
|
let $12 = /* @__PURE__ */ user_derived(() => get$1(dragHoverContainerId) === CONTAINER_WORD_BIN_ID2);
|
|
16171
16394
|
let $22 = /* @__PURE__ */ user_derived(() => get$1(dropContainerId) || void 0);
|
|
16172
16395
|
let $3 = /* @__PURE__ */ user_derived(() => get$1(dragSourceContainerId) || void 0);
|
|
16396
|
+
let $4 = /* @__PURE__ */ user_derived(() => get$1(activeContainerForKeyboard) || void 0);
|
|
16173
16397
|
bind_this(
|
|
16174
16398
|
CategoriseWordBin(node_5, {
|
|
16175
16399
|
get containerId() {
|
|
@@ -16184,9 +16408,6 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
16184
16408
|
get isLocked() {
|
|
16185
16409
|
return get$1(isLocked);
|
|
16186
16410
|
},
|
|
16187
|
-
get currentTabContainer() {
|
|
16188
|
-
return get$1(currentTabContainer);
|
|
16189
|
-
},
|
|
16190
16411
|
get isDraggingOver() {
|
|
16191
16412
|
return get$1($12);
|
|
16192
16413
|
},
|
|
@@ -16211,18 +16432,25 @@ function CategoriseComponent($$anchor, $$props) {
|
|
|
16211
16432
|
get totalItems() {
|
|
16212
16433
|
return config().category_items.length;
|
|
16213
16434
|
},
|
|
16435
|
+
get tabindex() {
|
|
16436
|
+
return get$1(categoryTabIndex);
|
|
16437
|
+
},
|
|
16214
16438
|
get dndType() {
|
|
16215
16439
|
return config().categoryDndType;
|
|
16216
16440
|
},
|
|
16441
|
+
get activeContainerForKeyboard() {
|
|
16442
|
+
return get$1($4);
|
|
16443
|
+
},
|
|
16217
16444
|
onitemdrop: handleItemDrop,
|
|
16218
16445
|
onitemselect: handleItemSelect,
|
|
16219
16446
|
oncontainerclick: () => handleContainerSelect(CONTAINER_WORD_BIN_ID2),
|
|
16220
16447
|
onnavigateitem: handleNavigateItem,
|
|
16221
|
-
|
|
16448
|
+
onitemfocus: (itemId, event2) => handleItemFocus(itemId, CONTAINER_WORD_BIN_ID2),
|
|
16449
|
+
onitemblur: (itemId, event2) => handleItemBlur(itemId, CONTAINER_WORD_BIN_ID2, event2),
|
|
16450
|
+
onitemkeydown: (e2, itemId) => handleItemKeydown(e2, itemId, CONTAINER_WORD_BIN_ID2),
|
|
16222
16451
|
ondraghover: handleDragHover,
|
|
16223
16452
|
ondragstart: handleDragStart,
|
|
16224
|
-
onkeydown: handleWordBinKeydown
|
|
16225
|
-
onfocus: (e2) => handleContainerFocus(e2)
|
|
16453
|
+
onkeydown: handleWordBinKeydown
|
|
16226
16454
|
}),
|
|
16227
16455
|
($$value) => set(wordBinRef, $$value, true),
|
|
16228
16456
|
() => get$1(wordBinRef)
|
|
@@ -17183,18 +17411,18 @@ function useDropdownPosition(config) {
|
|
|
17183
17411
|
};
|
|
17184
17412
|
}
|
|
17185
17413
|
var root_1$3 = /* @__PURE__ */ from_html(`<div class="absolute inset-0 bg-transparent z-10"></div>`);
|
|
17186
|
-
var root_2 = /* @__PURE__ */ from_html(`<div class="bg-black bg-opacity-5 h-full flex flex-none justify-center items-center"><div class="font-semibold text-base leading-[19px] text-charcoal px-3 flex items-center"> </div></div>`);
|
|
17414
|
+
var root_2 = /* @__PURE__ */ from_html(`<div class="bg-black bg-opacity-5 h-full flex flex-none justify-center items-center"><div class="font-semibold text-base leading-[19px] text-charcoal px-3 flex items-center" aria-hidden="true"> </div></div>`);
|
|
17187
17415
|
var root_3$1 = /* @__PURE__ */ from_html(`<span class="text-green-900 mr-2"><span aria-hidden="true"><!></span> <span class="sr-only">Correct</span></span>`);
|
|
17188
17416
|
var root_6 = /* @__PURE__ */ from_html(`<span class="text-green-900 mr-2"><span aria-hidden="true"><!></span> <span class="sr-only">Correct</span></span>`);
|
|
17189
17417
|
var root_7 = /* @__PURE__ */ from_html(`<span class="text-red-900 mr-2"><span aria-hidden="true"><!></span> <span class="sr-only">Incorrect</span></span>`);
|
|
17190
|
-
var root_8 = /* @__PURE__ */ from_html(`<span class="flex items-center justify-center text-blue-1000"><span aria-hidden="true"><!></span
|
|
17191
|
-
var root_9 = /* @__PURE__ */ from_html(`<span class="flex items-center justify-center text-blue-1000"><span aria-hidden="true"><!></span
|
|
17418
|
+
var root_8 = /* @__PURE__ */ from_html(`<span class="flex items-center justify-center text-blue-1000"><span aria-hidden="true"><!></span></span>`);
|
|
17419
|
+
var root_9 = /* @__PURE__ */ from_html(`<span class="flex items-center justify-center text-blue-1000"><span aria-hidden="true"><!></span></span>`);
|
|
17192
17420
|
var root_12 = /* @__PURE__ */ from_html(`<span class="flex items-center text-green-900" aria-hidden="true"><!></span>`);
|
|
17193
17421
|
var root_14 = /* @__PURE__ */ from_html(`<span class="flex items-center text-red-900" aria-hidden="true"><!></span>`);
|
|
17194
17422
|
var root_16 = /* @__PURE__ */ from_html(`<span class="flex items-center text-blue-850" aria-hidden="true"><!></span>`);
|
|
17195
17423
|
var root_11 = /* @__PURE__ */ from_html(`<li role="option" tabindex="-1"><div class="p-0.5 flex justify-between w-full text-base whitespace-normal"><!> <!></div></li>`);
|
|
17196
17424
|
var root_10 = /* @__PURE__ */ from_html(`<ul class="dropdown-menu block" role="listbox" tabindex="-1"></ul>`);
|
|
17197
|
-
var root$1 = /* @__PURE__ */ from_html(`<span class="dropdown inline-block relative align-middle"><span class="sr-only"> </span> <!> <
|
|
17425
|
+
var root$1 = /* @__PURE__ */ from_html(`<span class="dropdown inline-block relative align-middle"><span class="sr-only"> </span> <!> <div role="combobox" aria-haspopup="listbox" tabindex="0"><!> <div class="px-4 flex flex-1 min-w-0 align-middle truncate items-center justify-between w-full"><span><!></span> <div class="flex items-center"><!> <!></div></div></div> <!></span>`);
|
|
17198
17426
|
function DropdownContainer($$anchor, $$props) {
|
|
17199
17427
|
push($$props, true);
|
|
17200
17428
|
let dropdownId = prop($$props, "dropdownId", 7), dropdownNumber = prop($$props, "dropdownNumber", 7), options = prop($$props, "options", 7), selected = prop($$props, "selected", 7), correctAnswers = prop($$props, "correctAnswers", 23, () => []), isCorrect = prop($$props, "isCorrect", 7, false), isFinished = prop($$props, "isFinished", 7, false), isLocked = prop($$props, "isLocked", 7, false), isDataSaving = prop($$props, "isDataSaving", 7, false), mode = prop($$props, "mode", 7), showFeedback = prop($$props, "showFeedback", 7, false), showNumbering = prop($$props, "showNumbering", 7, true), onselect = prop($$props, "onselect", 7), viewportBuffer = prop($$props, "viewportBuffer", 7, 60);
|
|
@@ -17414,7 +17642,7 @@ function DropdownContainer($$anchor, $$props) {
|
|
|
17414
17642
|
}
|
|
17415
17643
|
removePageExtension();
|
|
17416
17644
|
});
|
|
17417
|
-
const
|
|
17645
|
+
const comboId = `dropdown-combo-${dropdownId()}`;
|
|
17418
17646
|
const listId = `dropdown-list-${dropdownId()}`;
|
|
17419
17647
|
const labelId = `dropdown-label-${dropdownId()}`;
|
|
17420
17648
|
const containerClasses = /* @__PURE__ */ user_derived(() => {
|
|
@@ -17435,23 +17663,19 @@ function DropdownContainer($$anchor, $$props) {
|
|
|
17435
17663
|
return classes.join(" ");
|
|
17436
17664
|
});
|
|
17437
17665
|
const ariaLabel = /* @__PURE__ */ user_derived(() => {
|
|
17438
|
-
const cleanSelected = useRemoveRichTextHtmlTags(get$1(state$1).selected);
|
|
17439
17666
|
if (mode() === MODES.PREVIEW) {
|
|
17440
17667
|
const parts2 = ["Correct answer"];
|
|
17441
17668
|
if (showNumbering()) parts2.push(`Item number ${dropdownNumber()}`);
|
|
17442
|
-
parts2.push(cleanSelected);
|
|
17443
17669
|
return parts2.filter(Boolean).join(", ");
|
|
17444
17670
|
}
|
|
17445
17671
|
if (mode() === MODES.SESSION && isFinished()) {
|
|
17446
17672
|
const correctness = isCorrect() ? "Correct" : "Incorrect";
|
|
17447
17673
|
const parts2 = [`Student's answer (${correctness})`];
|
|
17448
17674
|
if (showNumbering()) parts2.push(`Item number ${dropdownNumber()}`);
|
|
17449
|
-
parts2.push(cleanSelected);
|
|
17450
17675
|
return parts2.filter(Boolean).join(", ");
|
|
17451
17676
|
}
|
|
17452
17677
|
const parts = [];
|
|
17453
17678
|
if (showNumbering()) parts.push(`Item number ${dropdownNumber()}`);
|
|
17454
|
-
parts.push(cleanSelected);
|
|
17455
17679
|
return parts.filter(Boolean).join(", ");
|
|
17456
17680
|
});
|
|
17457
17681
|
const getOptionAriaLabel = (option, index2) => {
|
|
@@ -17585,35 +17809,35 @@ function DropdownContainer($$anchor, $$props) {
|
|
|
17585
17809
|
if (isDataSaving()) $$render(consequent);
|
|
17586
17810
|
});
|
|
17587
17811
|
}
|
|
17588
|
-
var
|
|
17589
|
-
|
|
17590
|
-
|
|
17812
|
+
var div_1 = sibling(node, 2);
|
|
17813
|
+
div_1.__keydown = handleKeydown;
|
|
17814
|
+
div_1.__click = () => {
|
|
17591
17815
|
if (isDataSaving() || !get$1(canToggleAccordion)) return;
|
|
17592
17816
|
get$1(state$1).isOpen ? handleCloseMenu() : handleOpenMenu();
|
|
17593
17817
|
};
|
|
17594
|
-
|
|
17595
|
-
var node_1 = child(
|
|
17818
|
+
div_1.__focusout = handleFocusOut;
|
|
17819
|
+
var node_1 = child(div_1);
|
|
17596
17820
|
{
|
|
17597
17821
|
var consequent_1 = ($$anchor2) => {
|
|
17598
|
-
var
|
|
17599
|
-
var
|
|
17600
|
-
var text_1 = child(
|
|
17822
|
+
var div_2 = root_2();
|
|
17823
|
+
var div_3 = child(div_2);
|
|
17824
|
+
var text_1 = child(div_3, true);
|
|
17825
|
+
reset(div_3);
|
|
17601
17826
|
reset(div_2);
|
|
17602
|
-
reset(div_1);
|
|
17603
17827
|
template_effect(() => set_text(text_1, dropdownNumber()));
|
|
17604
|
-
append($$anchor2,
|
|
17828
|
+
append($$anchor2, div_2);
|
|
17605
17829
|
};
|
|
17606
17830
|
if_block(node_1, ($$render) => {
|
|
17607
17831
|
if (showNumbering()) $$render(consequent_1);
|
|
17608
17832
|
});
|
|
17609
17833
|
}
|
|
17610
|
-
var
|
|
17611
|
-
var span_2 = child(
|
|
17834
|
+
var div_4 = sibling(node_1, 2);
|
|
17835
|
+
var span_2 = child(div_4);
|
|
17612
17836
|
var node_2 = child(span_2);
|
|
17613
17837
|
html(node_2, () => get$1(state$1).selected === "" ? DROPDOWN_INTERACTION.PLACEHOLDER : get$1(state$1).selected);
|
|
17614
17838
|
reset(span_2);
|
|
17615
|
-
var
|
|
17616
|
-
var node_3 = child(
|
|
17839
|
+
var div_5 = sibling(span_2, 2);
|
|
17840
|
+
var node_3 = child(div_5);
|
|
17617
17841
|
{
|
|
17618
17842
|
var consequent_2 = ($$anchor2) => {
|
|
17619
17843
|
var span_3 = root_3$1();
|
|
@@ -17688,7 +17912,6 @@ function DropdownContainer($$anchor, $$props) {
|
|
|
17688
17912
|
height: 7
|
|
17689
17913
|
});
|
|
17690
17914
|
reset(span_10);
|
|
17691
|
-
next$1(2);
|
|
17692
17915
|
reset(span_9);
|
|
17693
17916
|
append($$anchor2, span_9);
|
|
17694
17917
|
};
|
|
@@ -17703,7 +17926,6 @@ function DropdownContainer($$anchor, $$props) {
|
|
|
17703
17926
|
height: 7
|
|
17704
17927
|
});
|
|
17705
17928
|
reset(span_12);
|
|
17706
|
-
next$1(2);
|
|
17707
17929
|
reset(span_11);
|
|
17708
17930
|
append($$anchor2, span_11);
|
|
17709
17931
|
};
|
|
@@ -17712,11 +17934,11 @@ function DropdownContainer($$anchor, $$props) {
|
|
|
17712
17934
|
else $$render(alternate_2, false);
|
|
17713
17935
|
});
|
|
17714
17936
|
}
|
|
17937
|
+
reset(div_5);
|
|
17715
17938
|
reset(div_4);
|
|
17716
|
-
reset(
|
|
17717
|
-
|
|
17718
|
-
|
|
17719
|
-
var node_12 = sibling(button, 2);
|
|
17939
|
+
reset(div_1);
|
|
17940
|
+
bind_this(div_1, ($$value) => set(buttonRef, $$value), () => get$1(buttonRef));
|
|
17941
|
+
var node_12 = sibling(div_1, 2);
|
|
17720
17942
|
{
|
|
17721
17943
|
var consequent_9 = ($$anchor2) => {
|
|
17722
17944
|
var ul = root_10();
|
|
@@ -17732,8 +17954,8 @@ function DropdownContainer($$anchor, $$props) {
|
|
|
17732
17954
|
e2.stopPropagation();
|
|
17733
17955
|
await handleSelect(get$1(option));
|
|
17734
17956
|
};
|
|
17735
|
-
var
|
|
17736
|
-
var node_13 = child(
|
|
17957
|
+
var div_6 = child(li);
|
|
17958
|
+
var node_13 = child(div_6);
|
|
17737
17959
|
{
|
|
17738
17960
|
let $0 = /* @__PURE__ */ user_derived(() => get$1(showHoverOption) && get$1(canInteract) ? "hover-option" : "");
|
|
17739
17961
|
let $1 = /* @__PURE__ */ user_derived(() => get$1(showCurrentOption) ? "current-option" : "");
|
|
@@ -17805,7 +18027,7 @@ function DropdownContainer($$anchor, $$props) {
|
|
|
17805
18027
|
else $$render(alternate_4, false);
|
|
17806
18028
|
});
|
|
17807
18029
|
}
|
|
17808
|
-
reset(
|
|
18030
|
+
reset(div_6);
|
|
17809
18031
|
reset(li);
|
|
17810
18032
|
template_effect(() => {
|
|
17811
18033
|
set_attribute(li, "id", `${listId}-option-${index2}`);
|
|
@@ -17822,7 +18044,7 @@ function DropdownContainer($$anchor, $$props) {
|
|
|
17822
18044
|
bind_this(ul, ($$value) => set(listRef, $$value), () => get$1(listRef));
|
|
17823
18045
|
template_effect(() => {
|
|
17824
18046
|
set_attribute(ul, "id", listId);
|
|
17825
|
-
set_attribute(ul, "aria-labelledby",
|
|
18047
|
+
set_attribute(ul, "aria-labelledby", comboId);
|
|
17826
18048
|
});
|
|
17827
18049
|
append($$anchor2, ul);
|
|
17828
18050
|
};
|
|
@@ -17835,12 +18057,12 @@ function DropdownContainer($$anchor, $$props) {
|
|
|
17835
18057
|
template_effect(() => {
|
|
17836
18058
|
set_attribute(span_1, "id", labelId);
|
|
17837
18059
|
set_text(text, get$1(ariaLabel));
|
|
17838
|
-
set_attribute(
|
|
17839
|
-
set_class(
|
|
17840
|
-
set_attribute(
|
|
17841
|
-
set_attribute(
|
|
17842
|
-
set_attribute(
|
|
17843
|
-
set_attribute(
|
|
18060
|
+
set_attribute(div_1, "id", comboId);
|
|
18061
|
+
set_class(div_1, 1, clsx(get$1(containerClasses)));
|
|
18062
|
+
set_attribute(div_1, "aria-expanded", get$1(state$1).isOpen);
|
|
18063
|
+
set_attribute(div_1, "aria-labelledby", labelId);
|
|
18064
|
+
set_attribute(div_1, "aria-controls", listId);
|
|
18065
|
+
set_attribute(div_1, "aria-activedescendant", get$1(state$1).activeIndex !== null ? `${listId}-option-${get$1(state$1).activeIndex}` : void 0);
|
|
17844
18066
|
set_class(span_2, 1, `truncate mr-2 text-base ${get$1(state$1).selected === DROPDOWN_INTERACTION.PLACEHOLDER || get$1(state$1).selected === "" ? "text-gray-860" : "text-charcoal"}`);
|
|
17845
18067
|
});
|
|
17846
18068
|
append($$anchor, span);
|
|
@@ -18635,7 +18857,7 @@ registerInteraction("dropdown", createDropdownInteraction, DropdownComponent);
|
|
|
18635
18857
|
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);
|
|
18636
18858
|
const $$css = {
|
|
18637
18859
|
hash: "svelte-1dpid58",
|
|
18638
|
-
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))}}'
|
|
18860
|
+
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))}} .\\[\\&\\>span\\]\\:text-white>span{--tw-text-opacity:1;color:rgb(255,255,255,var(--tw-text-opacity,1))}'
|
|
18639
18861
|
};
|
|
18640
18862
|
function InteractionBuilder($$anchor, $$props) {
|
|
18641
18863
|
push($$props, true);
|