eat-js-sdk 2.1.0 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5430,10 +5430,10 @@ const interactionUtils = {
5430
5430
  return "standard";
5431
5431
  }
5432
5432
  };
5433
- var root_1$p = /* @__PURE__ */ from_html(`<div><!></div>`);
5433
+ var root_1$o = /* @__PURE__ */ from_html(`<div><!></div>`);
5434
5434
  function CommonStringToHtml($$anchor, $$props) {
5435
5435
  push($$props, true);
5436
- let htmlString = prop($$props, "htmlString", 7, ""), otherClass = prop($$props, "otherClass", 7, ""), ariaHidden = prop($$props, "ariaHidden", 7, false), htmlHeading = prop($$props, "htmlHeading", 7, "");
5436
+ let htmlString = prop($$props, "htmlString", 7, ""), otherClass = prop($$props, "otherClass", 7, ""), ariaHidden = prop($$props, "ariaHidden", 7, false), htmlHeading = prop($$props, "htmlHeading", 7, ""), dataTestId = prop($$props, "dataTestId", 7);
5437
5437
  let processedHtml = /* @__PURE__ */ user_derived(() => processHtmlString(htmlString(), htmlHeading()));
5438
5438
  function processHtmlString(html2, heading) {
5439
5439
  if (html2 == null) return "";
@@ -5479,19 +5479,27 @@ function CommonStringToHtml($$anchor, $$props) {
5479
5479
  set htmlHeading($$value = "") {
5480
5480
  htmlHeading($$value);
5481
5481
  flushSync();
5482
+ },
5483
+ get dataTestId() {
5484
+ return dataTestId();
5485
+ },
5486
+ set dataTestId($$value) {
5487
+ dataTestId($$value);
5488
+ flushSync();
5482
5489
  }
5483
5490
  };
5484
5491
  var fragment = comment();
5485
5492
  var node = first_child(fragment);
5486
5493
  {
5487
5494
  var consequent = ($$anchor2) => {
5488
- var div = root_1$p();
5495
+ var div = root_1$o();
5489
5496
  var node_1 = child(div);
5490
5497
  html(node_1, () => get$1(processedHtml));
5491
5498
  reset(div);
5492
5499
  template_effect(() => {
5493
5500
  set_class(div, 1, clsx(otherClass()));
5494
5501
  set_attribute(div, "aria-hidden", ariaHidden());
5502
+ set_attribute(div, "data-testid", dataTestId());
5495
5503
  });
5496
5504
  append($$anchor2, div);
5497
5505
  };
@@ -5508,7 +5516,8 @@ create_custom_element(
5508
5516
  htmlString: {},
5509
5517
  otherClass: {},
5510
5518
  ariaHidden: {},
5511
- htmlHeading: {}
5519
+ htmlHeading: {},
5520
+ dataTestId: {}
5512
5521
  },
5513
5522
  [],
5514
5523
  [],
@@ -5662,11 +5671,11 @@ const svgIconRegistry = {
5662
5671
  pathFill: "currentColor"
5663
5672
  }
5664
5673
  };
5665
- var root_1$o = /* @__PURE__ */ from_svg(`<path></path>`);
5674
+ var root_1$n = /* @__PURE__ */ from_svg(`<path></path>`);
5666
5675
  var root$k = /* @__PURE__ */ from_svg(`<svg xmlns="http://www.w3.org/2000/svg"><!></svg>`);
5667
5676
  function SvgLoader($$anchor, $$props) {
5668
5677
  push($$props, true);
5669
- let width = prop($$props, "width", 7, void 0), height = prop($$props, "height", 7, void 0), svgName = prop($$props, "svgName", 7), className = prop($$props, "className", 7, void 0);
5678
+ let width = prop($$props, "width", 7, void 0), height = prop($$props, "height", 7, void 0), svgName = prop($$props, "svgName", 7), className = prop($$props, "className", 7, void 0), dataTestId = prop($$props, "dataTestId", 7);
5670
5679
  let iconProps = /* @__PURE__ */ user_derived(() => {
5671
5680
  const defaults = svgIconRegistry[svgName()] ?? {};
5672
5681
  return {
@@ -5708,13 +5717,20 @@ function SvgLoader($$anchor, $$props) {
5708
5717
  set className($$value = void 0) {
5709
5718
  className($$value);
5710
5719
  flushSync();
5720
+ },
5721
+ get dataTestId() {
5722
+ return dataTestId();
5723
+ },
5724
+ set dataTestId($$value) {
5725
+ dataTestId($$value);
5726
+ flushSync();
5711
5727
  }
5712
5728
  };
5713
5729
  var svg = root$k();
5714
5730
  var node = child(svg);
5715
5731
  {
5716
5732
  var consequent = ($$anchor2) => {
5717
- var path = root_1$o();
5733
+ var path = root_1$n();
5718
5734
  template_effect(() => {
5719
5735
  set_attribute(path, "fill-rule", get$1(iconProps).fillRule);
5720
5736
  set_attribute(path, "clip-rule", get$1(iconProps).clipRule);
@@ -5734,17 +5750,31 @@ function SvgLoader($$anchor, $$props) {
5734
5750
  set_attribute(svg, "viewBox", get$1(iconProps).viewBox);
5735
5751
  set_attribute(svg, "fill", get$1(iconProps).fill);
5736
5752
  set_class(svg, 0, clsx(className() ?? svgName()));
5753
+ set_attribute(svg, "data-testid", dataTestId());
5737
5754
  });
5738
5755
  append($$anchor, svg);
5739
5756
  return pop($$exports);
5740
5757
  }
5741
- create_custom_element(SvgLoader, { width: {}, height: {}, svgName: {}, className: {} }, [], [], true);
5758
+ create_custom_element(
5759
+ SvgLoader,
5760
+ {
5761
+ width: {},
5762
+ height: {},
5763
+ svgName: {},
5764
+ className: {},
5765
+ dataTestId: {}
5766
+ },
5767
+ [],
5768
+ [],
5769
+ true
5770
+ );
5742
5771
  var root$j = /* @__PURE__ */ from_html(`<span><!></span>`);
5743
5772
  function ResultIcon($$anchor, $$props) {
5744
5773
  push($$props, true);
5745
5774
  let isCorrect = prop($$props, "isCorrect", 7), iconType = prop($$props, "iconType", 7, "result"), parentProps = prop($$props, "parentProps", 7);
5746
5775
  let svgName = /* @__PURE__ */ user_derived(() => iconType() === "info" ? "infoSolid" : isCorrect() ? "successSolid" : "errorSolid");
5747
5776
  let className = /* @__PURE__ */ user_derived(() => iconType() === "info" ? "info-icon" : isCorrect() ? "correct-icon" : "incorrect-icon");
5777
+ let testId = /* @__PURE__ */ user_derived(() => iconType() === "info" ? "icon-alt-info" : isCorrect() ? "icon-correct" : "icon-incorrect");
5748
5778
  var $$exports = {
5749
5779
  get isCorrect() {
5750
5780
  return isCorrect();
@@ -5776,6 +5806,9 @@ function ResultIcon($$anchor, $$props) {
5776
5806
  },
5777
5807
  get className() {
5778
5808
  return get$1(className);
5809
+ },
5810
+ get dataTestId() {
5811
+ return get$1(testId);
5779
5812
  }
5780
5813
  });
5781
5814
  reset(span);
@@ -5785,7 +5818,7 @@ function ResultIcon($$anchor, $$props) {
5785
5818
  }
5786
5819
  create_custom_element(ResultIcon, { isCorrect: {}, iconType: {}, parentProps: {} }, [], [], true);
5787
5820
  var root_3$c = /* @__PURE__ */ from_html(`<span class="sr-only">Alert. &nbsp;</span>`);
5788
- var root_1$n = /* @__PURE__ */ from_html(`<div><!> <div><!> <span><!></span></div></div>`);
5821
+ var root_1$m = /* @__PURE__ */ from_html(`<div data-testid="feedback-alt"><!> <div><!> <span><!></span></div></div>`);
5789
5822
  function FeedbackAlert($$anchor, $$props) {
5790
5823
  push($$props, true);
5791
5824
  let type = prop($$props, "type", 7, "incorrect"), message = prop($$props, "message", 7, ""), showIcon = prop($$props, "showIcon", 7, false), iconType = prop($$props, "iconType", 7, "result"), isAlert = prop($$props, "isAlert", 7, true), iconProps = prop($$props, "iconProps", 7, "");
@@ -5849,7 +5882,7 @@ function FeedbackAlert($$anchor, $$props) {
5849
5882
  var node = first_child(fragment);
5850
5883
  {
5851
5884
  var consequent_2 = ($$anchor2) => {
5852
- var div = root_1$n();
5885
+ var div = root_1$m();
5853
5886
  var node_1 = child(div);
5854
5887
  {
5855
5888
  var consequent = ($$anchor3) => {
@@ -5895,7 +5928,7 @@ function FeedbackAlert($$anchor, $$props) {
5895
5928
  reset(div_1);
5896
5929
  reset(div);
5897
5930
  template_effect(() => {
5898
- set_class(div, 1, clsx(get$1(alertClasses)));
5931
+ set_class(div, 1, `feedback-alt ${get$1(alertClasses) ?? ""}`);
5899
5932
  set_attribute(div, "role", isAlert() ? "alert" : null);
5900
5933
  });
5901
5934
  append($$anchor2, div);
@@ -6215,7 +6248,7 @@ const useFocusTrap = () => {
6215
6248
  var root$i = /* @__PURE__ */ from_html(`<dialog aria-modal="true" class="bg-transparent max-w-none max-h-none w-screen h-screen"><div role="button" aria-hidden="true"></div> <!></dialog>`);
6216
6249
  function CommonModal($$anchor, $$props) {
6217
6250
  push($$props, true);
6218
- let modalData = prop($$props, "modalData", 23, () => ({ modalAriaLabel: "", isModalOpen: false })), modalClass = prop($$props, "modalClass", 7, ""), onupdateModalSettings = prop($$props, "onupdateModalSettings", 7), onclose = prop($$props, "onclose", 7), children = prop($$props, "children", 7);
6251
+ let modalData = prop($$props, "modalData", 23, () => ({ modalAriaLabel: "", isModalOpen: false })), modalClass = prop($$props, "modalClass", 7, ""), onupdateModalSettings = prop($$props, "onupdateModalSettings", 7), onclose = prop($$props, "onclose", 7), children = prop($$props, "children", 7), dataTestId = prop($$props, "dataTestId", 7);
6219
6252
  let modalAriaLabel = /* @__PURE__ */ user_derived(() => modalData()?.modalAriaLabel ?? "");
6220
6253
  let isModalOpen = /* @__PURE__ */ user_derived(() => modalData()?.isModalOpen ?? false);
6221
6254
  let dialogModal = /* @__PURE__ */ state(null);
@@ -6287,6 +6320,13 @@ function CommonModal($$anchor, $$props) {
6287
6320
  set children($$value) {
6288
6321
  children($$value);
6289
6322
  flushSync();
6323
+ },
6324
+ get dataTestId() {
6325
+ return dataTestId();
6326
+ },
6327
+ set dataTestId($$value) {
6328
+ dataTestId($$value);
6329
+ flushSync();
6290
6330
  }
6291
6331
  };
6292
6332
  var dialog = root$i();
@@ -6299,6 +6339,7 @@ function CommonModal($$anchor, $$props) {
6299
6339
  bind_this(dialog, ($$value) => set(dialogModal, $$value), () => get$1(dialogModal));
6300
6340
  template_effect(() => {
6301
6341
  set_attribute(dialog, "aria-label", get$1(modalAriaLabel));
6342
+ set_attribute(dialog, "data-testid", dataTestId());
6302
6343
  set_class(div, 1, `blanket-overlay ${modalClass() ?? ""}`);
6303
6344
  });
6304
6345
  event("close", dialog, () => {
@@ -6320,7 +6361,8 @@ create_custom_element(
6320
6361
  modalClass: {},
6321
6362
  onupdateModalSettings: {},
6322
6363
  onclose: {},
6323
- children: {}
6364
+ children: {},
6365
+ dataTestId: {}
6324
6366
  },
6325
6367
  [],
6326
6368
  [],
@@ -6336,7 +6378,7 @@ function fade(node, { delay = 0, duration = 400, easing = linear } = {}) {
6336
6378
  css: (t2) => `opacity: ${t2 * o2}`
6337
6379
  };
6338
6380
  }
6339
- var root_1$m = /* @__PURE__ */ from_html(`<div><div role="tooltip"> <span aria-hidden="true"></span></div></div>`);
6381
+ var root_1$l = /* @__PURE__ */ from_html(`<div><div role="tooltip" data-testid="img-viewer-tt"> <span aria-hidden="true"></span></div></div>`);
6340
6382
  var root$h = /* @__PURE__ */ from_html(`<div class="relative inline-block"><!> <!></div>`);
6341
6383
  function CommonTooltip($$anchor, $$props) {
6342
6384
  push($$props, true);
@@ -6529,7 +6571,7 @@ function CommonTooltip($$anchor, $$props) {
6529
6571
  var node_1 = sibling(node, 2);
6530
6572
  {
6531
6573
  var consequent = ($$anchor2) => {
6532
- var div_1 = root_1$m();
6574
+ var div_1 = root_1$l();
6533
6575
  var div_2 = child(div_1);
6534
6576
  var text_1 = child(div_2);
6535
6577
  var span = sibling(text_1);
@@ -6539,7 +6581,7 @@ function CommonTooltip($$anchor, $$props) {
6539
6581
  template_effect(() => {
6540
6582
  set_class(div_1, 1, `absolute z-50 pointer-events-none select-none ${get$1(containerPosClass) ?? ""}`);
6541
6583
  set_attribute(div_2, "aria-hidden", !get$1(isOpen));
6542
- set_class(div_2, 1, `rounded-md bg-gray-900 text-white p-3 font-normal text-sm leading-[150%] max-w-[300px] break-words ${tooltipClass() ?? ""}`);
6584
+ set_class(div_2, 1, `img-viewer-tt rounded-md bg-gray-900 text-white p-3 font-normal text-sm leading-[150%] max-w-[300px] break-words ${tooltipClass() ?? ""}`);
6543
6585
  set_text(text_1, `${text() ?? ""} `);
6544
6586
  set_class(span, 1, `tooltip-arrow absolute w-2 h-2 bg-gray-900 ${get$1(arrowPosClass) ?? ""}`);
6545
6587
  });
@@ -6581,11 +6623,11 @@ create_custom_element(
6581
6623
  ["show", "hide"],
6582
6624
  true
6583
6625
  );
6584
- var root_1$l = /* @__PURE__ */ from_html(`<span><!></span>`);
6626
+ var root_1$k = /* @__PURE__ */ from_html(`<span><!></span>`);
6585
6627
  var root$g = /* @__PURE__ */ from_html(`<button><!></button>`);
6586
6628
  function CommonButton($$anchor, $$props) {
6587
6629
  push($$props, true);
6588
- let ariaLabel = prop($$props, "ariaLabel", 7, ""), ariaHaspopup = prop($$props, "ariaHaspopup", 7), className = prop($$props, "className", 7, ""), disabled = prop($$props, "disabled", 7, false), pressed = prop($$props, "pressed", 7, false), transparent = prop($$props, "transparent", 7, false), variant = prop($$props, "variant", 7, "standard"), type = prop($$props, "type", 7, "button"), tabindex = prop($$props, "tabindex", 7, 0), onclick = prop($$props, "onclick", 7), children = prop($$props, "children", 7);
6630
+ let ariaLabel = prop($$props, "ariaLabel", 7, ""), ariaHaspopup = prop($$props, "ariaHaspopup", 7), className = prop($$props, "className", 7, ""), disabled = prop($$props, "disabled", 7, false), pressed = prop($$props, "pressed", 7, false), transparent = prop($$props, "transparent", 7, false), variant = prop($$props, "variant", 7, "standard"), type = prop($$props, "type", 7, "button"), tabindex = prop($$props, "tabindex", 7, 0), onclick = prop($$props, "onclick", 7), children = prop($$props, "children", 7), dataTestId = prop($$props, "dataTestId", 7);
6589
6631
  let buttonClasses = /* @__PURE__ */ user_derived(() => () => {
6590
6632
  switch (variant()) {
6591
6633
  case "touch-target":
@@ -6672,6 +6714,13 @@ function CommonButton($$anchor, $$props) {
6672
6714
  set children($$value) {
6673
6715
  children($$value);
6674
6716
  flushSync();
6717
+ },
6718
+ get dataTestId() {
6719
+ return dataTestId();
6720
+ },
6721
+ set dataTestId($$value) {
6722
+ dataTestId($$value);
6723
+ flushSync();
6675
6724
  }
6676
6725
  };
6677
6726
  var button = root$g();
@@ -6682,7 +6731,7 @@ function CommonButton($$anchor, $$props) {
6682
6731
  var node = child(button);
6683
6732
  {
6684
6733
  var consequent = ($$anchor2) => {
6685
- var span = root_1$l();
6734
+ var span = root_1$k();
6686
6735
  var node_1 = child(span);
6687
6736
  snippet(node_1, () => children() ?? noop);
6688
6737
  reset(span);
@@ -6709,6 +6758,7 @@ function CommonButton($$anchor, $$props) {
6709
6758
  set_attribute(button, "aria-label", ariaLabel());
6710
6759
  set_attribute(button, "aria-haspopup", ariaHaspopup());
6711
6760
  button.disabled = disabled();
6761
+ set_attribute(button, "data-testid", dataTestId());
6712
6762
  },
6713
6763
  [() => clsx(get$1(buttonClasses)())]
6714
6764
  );
@@ -6729,7 +6779,8 @@ create_custom_element(
6729
6779
  type: {},
6730
6780
  tabindex: {},
6731
6781
  onclick: {},
6732
- children: {}
6782
+ children: {},
6783
+ dataTestId: {}
6733
6784
  },
6734
6785
  [],
6735
6786
  [],
@@ -7111,10 +7162,11 @@ function MCQImageModal($$anchor, $$props) {
7111
7162
  variant: "standard",
7112
7163
  transparent: true,
7113
7164
  ariaLabel: "Previous",
7114
- className: "hidden md:flex absolute left-6 lg:left-16 top-1/2 -translate-y-1/2",
7165
+ className: "img-viewer-prev hidden md:flex absolute left-6 lg:left-16 top-1/2 -translate-y-1/2",
7115
7166
  get pressed() {
7116
7167
  return get$1(isLeftPressed);
7117
7168
  },
7169
+ dataTestId: "img-viewer-prev",
7118
7170
  onclick: navigatePrevious,
7119
7171
  children: ($$anchor4, $$slotProps2) => {
7120
7172
  var span = root_3$b();
@@ -7138,10 +7190,11 @@ function MCQImageModal($$anchor, $$props) {
7138
7190
  variant: "standard",
7139
7191
  transparent: true,
7140
7192
  ariaLabel: "Next",
7141
- className: "hidden md:flex absolute right-6 lg:right-16 top-1/2 -translate-y-1/2",
7193
+ className: "img-viewer-next hidden md:flex absolute right-6 lg:right-16 top-1/2 -translate-y-1/2",
7142
7194
  get pressed() {
7143
7195
  return get$1(isRightPressed);
7144
7196
  },
7197
+ dataTestId: "img-viewer-next",
7145
7198
  onclick: navigateNext,
7146
7199
  children: ($$anchor4, $$slotProps2) => {
7147
7200
  var span_1 = root_4$7();
@@ -7201,6 +7254,7 @@ function MCQImageModal($$anchor, $$props) {
7201
7254
  variant: "standard",
7202
7255
  ariaLabel: "Close",
7203
7256
  className: "flex-shrink-0 hidden md:flex",
7257
+ dataTestId: "img-close-btn",
7204
7258
  onclick: closeModal,
7205
7259
  children: ($$anchor4, $$slotProps2) => {
7206
7260
  SvgLoader($$anchor4, {
@@ -7215,6 +7269,7 @@ function MCQImageModal($$anchor, $$props) {
7215
7269
  variant: "touch-target",
7216
7270
  ariaLabel: "Close",
7217
7271
  className: "flex-shrink-0 md:hidden -mr-2.5",
7272
+ dataTestId: "img-close-btn",
7218
7273
  onclick: closeModal,
7219
7274
  children: ($$anchor4, $$slotProps2) => {
7220
7275
  SvgLoader($$anchor4, {
@@ -7240,6 +7295,8 @@ function MCQImageModal($$anchor, $$props) {
7240
7295
  get pressed() {
7241
7296
  return get$1(isLeftPressed);
7242
7297
  },
7298
+ className: "img-viewer-prev",
7299
+ dataTestId: "img-viewer-prev",
7243
7300
  onclick: navigatePrevious,
7244
7301
  children: ($$anchor4, $$slotProps2) => {
7245
7302
  var span_3 = root_8$5();
@@ -7265,6 +7322,8 @@ function MCQImageModal($$anchor, $$props) {
7265
7322
  get pressed() {
7266
7323
  return get$1(isRightPressed);
7267
7324
  },
7325
+ className: "img-viewer-next",
7326
+ dataTestId: "img-viewer-next",
7268
7327
  onclick: navigateNext,
7269
7328
  children: ($$anchor4, $$slotProps2) => {
7270
7329
  var span_4 = root_9$3();
@@ -7322,6 +7381,8 @@ function RubricSection($$anchor, $$props) {
7322
7381
  push($$props, true);
7323
7382
  let rubric = prop($$props, "rubric", 7);
7324
7383
  let headerElement = /* @__PURE__ */ user_derived(() => get(promptRubricElem));
7384
+ const NON_BREAKING_TEXT_REGEX = /(&#39;|&#34;|&quot;)(-[\w]+|[\w]+-)\1|\b(?:[A-Z]\.)+[A-Z]\.?(?:-(?:[A-Z]\.)+[A-Z]\.?)*\b|\b[\w]+-[\w]+(?:-[\w]+)*\b/gi;
7385
+ let processedRubric = /* @__PURE__ */ user_derived(() => rubric() ? rubric().replace(NON_BREAKING_TEXT_REGEX, '<span class="whitespace-nowrap">$&</span>') : rubric());
7325
7386
  var $$exports = {
7326
7387
  get rubric() {
7327
7388
  return rubric();
@@ -7337,16 +7398,17 @@ function RubricSection($$anchor, $$props) {
7337
7398
  var consequent = ($$anchor2) => {
7338
7399
  CommonStringToHtml($$anchor2, {
7339
7400
  get htmlString() {
7340
- return rubric();
7401
+ return get$1(processedRubric);
7341
7402
  },
7342
7403
  otherClass: "item-heading mb-4 w-full",
7343
7404
  get htmlHeading() {
7344
7405
  return get$1(headerElement);
7345
- }
7406
+ },
7407
+ dataTestId: "qn-rubric-txt"
7346
7408
  });
7347
7409
  };
7348
7410
  if_block(node, ($$render) => {
7349
- if (rubric()) $$render(consequent);
7411
+ if (get$1(processedRubric)) $$render(consequent);
7350
7412
  });
7351
7413
  }
7352
7414
  append($$anchor, fragment);
@@ -7417,7 +7479,6 @@ function getStimulusTextMaxHeight(fileAlignment, stimulusTextAlignment, hasMedia
7417
7479
  function configureHtmlString(htmlString, maxHeight = "") {
7418
7480
  return htmlString.replace(/<table>/g, `<div class="table-container ${maxHeight}" tabindex="0"><table>`).replace(/<\/table>/g, "</table></div>");
7419
7481
  }
7420
- var root_1$k = /* @__PURE__ */ from_html(`<h1><!></h1>`);
7421
7482
  function PromptSection($$anchor, $$props) {
7422
7483
  push($$props, true);
7423
7484
  let prompt = prop($$props, "prompt", 7);
@@ -7435,16 +7496,13 @@ function PromptSection($$anchor, $$props) {
7435
7496
  var node = first_child(fragment);
7436
7497
  {
7437
7498
  var consequent = ($$anchor2) => {
7438
- var h1 = root_1$k();
7439
- var node_1 = child(h1);
7440
- CommonStringToHtml(node_1, {
7499
+ CommonStringToHtml($$anchor2, {
7441
7500
  get htmlString() {
7442
7501
  return get$1(configuredPrompt);
7443
7502
  },
7444
- otherClass: "item-heading prompt"
7503
+ otherClass: "item-heading prompt",
7504
+ dataTestId: "qn-prompt-txt"
7445
7505
  });
7446
- reset(h1);
7447
- append($$anchor2, h1);
7448
7506
  };
7449
7507
  if_block(node, ($$render) => {
7450
7508
  if (prompt()) $$render(consequent);
@@ -7609,6 +7667,7 @@ function PromptStimulusImageModal($$anchor, $$props) {
7609
7667
  return get$1(modalData);
7610
7668
  },
7611
7669
  modalClass: "bg-charcoal/80 backdrop-blur-md",
7670
+ dataTestId: "img-viewer-modal",
7612
7671
  onupdateModalSettings: updateModalSettings,
7613
7672
  children: ($$anchor3, $$slotProps) => {
7614
7673
  var div = root_2$c();
@@ -7625,7 +7684,8 @@ function PromptStimulusImageModal($$anchor, $$props) {
7625
7684
  variant: "standard",
7626
7685
  ariaLabel: "Close",
7627
7686
  transparent: true,
7628
- className: "absolute top-1.5 right-1.5",
7687
+ className: "img-close-btn absolute top-1.5 right-1.5",
7688
+ dataTestId: "img-close-btn",
7629
7689
  onclick: closeModal,
7630
7690
  children: ($$anchor4, $$slotProps2) => {
7631
7691
  SvgLoader($$anchor4, {
@@ -8199,7 +8259,8 @@ function CommonMedia($$anchor, $$props) {
8199
8259
  variant: "standard",
8200
8260
  ariaLabel: "Expand image",
8201
8261
  ariaHaspopup: "dialog",
8202
- className: "absolute bottom-1.5 right-1.5 bg-white/80",
8262
+ className: "img-exp-btn absolute bottom-1.5 right-1.5 bg-white/80",
8263
+ dataTestId: "img-exp-btn",
8203
8264
  onclick: handleExpandClick,
8204
8265
  children: ($$anchor4, $$slotProps) => {
8205
8266
  SvgLoader($$anchor4, {
@@ -8237,7 +8298,8 @@ function CommonMedia($$anchor, $$props) {
8237
8298
  var node_5 = child(div_5);
8238
8299
  {
8239
8300
  let $0 = /* @__PURE__ */ user_derived(() => get$1(isLongDescOpened) ? "smallChevronUp" : "smallChevronDown");
8240
- let $1 = /* @__PURE__ */ user_derived(() => get$1(isLongDescOpened) ? "collapse-icon" : "expand-icon");
8301
+ let $1 = /* @__PURE__ */ user_derived(() => get$1(isLongDescOpened) ? "img-desc-coll collapse-icon" : "img-desc-ex expand-icon");
8302
+ let $2 = /* @__PURE__ */ user_derived(() => get$1(isLongDescOpened) ? "img-desc-coll" : "img-desc-ex");
8241
8303
  SvgLoader(node_5, {
8242
8304
  get svgName() {
8243
8305
  return get$1($0);
@@ -8245,6 +8307,9 @@ function CommonMedia($$anchor, $$props) {
8245
8307
  get className() {
8246
8308
  return get$1($1);
8247
8309
  },
8310
+ get dataTestId() {
8311
+ return get$1($2);
8312
+ },
8248
8313
  width: 12,
8249
8314
  height: 7
8250
8315
  });
@@ -8312,11 +8377,11 @@ create_custom_element(
8312
8377
  [],
8313
8378
  true
8314
8379
  );
8315
- var root_4$4 = /* @__PURE__ */ from_html(`<div><!></div>`);
8316
- var root_5$4 = /* @__PURE__ */ from_html(`<div><!></div>`);
8380
+ var root_4$4 = /* @__PURE__ */ from_html(`<div data-testid="stimulus-txt-ctr"><!></div>`);
8381
+ var root_5$4 = /* @__PURE__ */ from_html(`<div data-testid="stimulus-img-ctr"><!></div>`);
8317
8382
  var root_3$a = /* @__PURE__ */ from_html(`<!> <!>`, 1);
8318
- var root_7$3 = /* @__PURE__ */ from_html(`<div><!></div>`);
8319
- var root_8$4 = /* @__PURE__ */ from_html(`<div><!></div>`);
8383
+ var root_7$3 = /* @__PURE__ */ from_html(`<div data-testid="stimulus-img-ctr"><!></div>`);
8384
+ var root_8$4 = /* @__PURE__ */ from_html(`<div data-testid="stimulus-txt-ctr"><!></div>`);
8320
8385
  var root_6$2 = /* @__PURE__ */ from_html(`<!> <!>`, 1);
8321
8386
  var root_1$i = /* @__PURE__ */ from_html(`<div class="stimulus-section flex flex-col w-full"><!> <div><!></div></div>`);
8322
8387
  function StimulusSection($$anchor, $$props) {
@@ -8421,7 +8486,7 @@ function StimulusSection($$anchor, $$props) {
8421
8486
  }
8422
8487
  });
8423
8488
  reset(div_2);
8424
- template_effect(() => set_class(div_2, 1, clsx(get$1(textContainerClass))));
8489
+ template_effect(() => set_class(div_2, 1, `stimulus-txt-ctr ${get$1(textContainerClass) ?? ""}`));
8425
8490
  append($$anchor4, div_2);
8426
8491
  };
8427
8492
  if_block(node_3, ($$render) => {
@@ -8456,7 +8521,7 @@ function StimulusSection($$anchor, $$props) {
8456
8521
  }
8457
8522
  });
8458
8523
  reset(div_3);
8459
- template_effect(() => classes_2 = set_class(div_3, 1, clsx(get$1(mediaContainerClass)), null, classes_2, { hidden: !get$1(shouldShowMedia) }));
8524
+ template_effect(() => classes_2 = set_class(div_3, 1, `stimulus-img-ctr ${get$1(mediaContainerClass) ?? ""}`, null, classes_2, { hidden: !get$1(shouldShowMedia) }));
8460
8525
  append($$anchor4, div_3);
8461
8526
  };
8462
8527
  if_block(node_5, ($$render) => {
@@ -8495,7 +8560,7 @@ function StimulusSection($$anchor, $$props) {
8495
8560
  }
8496
8561
  });
8497
8562
  reset(div_4);
8498
- template_effect(() => classes_3 = set_class(div_4, 1, clsx(get$1(mediaContainerClass)), null, classes_3, { hidden: !get$1(shouldShowMedia) }));
8563
+ template_effect(() => classes_3 = set_class(div_4, 1, `stimulus-img-ctr ${get$1(mediaContainerClass) ?? ""}`, null, classes_3, { hidden: !get$1(shouldShowMedia) }));
8499
8564
  append($$anchor4, div_4);
8500
8565
  };
8501
8566
  if_block(node_7, ($$render) => {
@@ -8516,7 +8581,7 @@ function StimulusSection($$anchor, $$props) {
8516
8581
  }
8517
8582
  });
8518
8583
  reset(div_5);
8519
- template_effect(() => set_class(div_5, 1, clsx(get$1(textContainerClass))));
8584
+ template_effect(() => set_class(div_5, 1, `stimulus-txt-ctr ${get$1(textContainerClass) ?? ""}`));
8520
8585
  append($$anchor4, div_5);
8521
8586
  };
8522
8587
  if_block(node_9, ($$render) => {
@@ -8949,7 +9014,7 @@ var root_4$3 = /* @__PURE__ */ from_html(`<span aria-hidden="true" class="text-g
8949
9014
  var root_5$3 = /* @__PURE__ */ from_html(`<span aria-hidden="true"><!></span>`);
8950
9015
  var root_9$2 = /* @__PURE__ */ from_html(`<span class="w-3 h-2 flex items-center justify-center"><!></span>`);
8951
9016
  var root_8$2 = /* @__PURE__ */ from_html(`<span><!></span>`);
8952
- var root_10$2 = /* @__PURE__ */ from_html(`<div class="w-full overflow-hidden bg-white rounded-b-lg flex items-center justify-center relative"><img class="min-h-[154px] max-h-[184px] w-auto max-w-full object-contain pointer-events-none" loading="lazy"/></div>`);
9017
+ var root_10$2 = /* @__PURE__ */ from_html(`<div class="w-full overflow-hidden bg-white rounded-b-lg flex items-center justify-center relative"><img class="mcq-opt-img min-h-[154px] max-h-[184px] w-auto max-w-full object-contain pointer-events-none" data-testid="mcq-opt-img" loading="lazy"/></div>`);
8953
9018
  var root$d = /* @__PURE__ */ from_html(`<!> <div class="relative"><button><span><span class="flex items-center justify-between w-full"><span class="flex items-center"><span> </span> <span class="flex flex-col px-3 text-left"><!> <!> <!></span></span> <span class="flex items-center"><!> <!> <!></span></span></span> <!></button> <!></div>`, 1);
8954
9019
  function MCQOption($$anchor, $$props) {
8955
9020
  push($$props, true);
@@ -9100,7 +9165,11 @@ function MCQOption($$anchor, $$props) {
9100
9165
  var consequent_3 = ($$anchor2) => {
9101
9166
  var span_8 = root_4$3();
9102
9167
  var node_5 = child(span_8);
9103
- SvgLoader(node_5, { svgName: "success", className: "missing-correct-icon" });
9168
+ SvgLoader(node_5, {
9169
+ svgName: "success",
9170
+ className: "missing-correct-icon",
9171
+ dataTestId: "icon-miss-corr"
9172
+ });
9104
9173
  reset(span_8);
9105
9174
  append($$anchor2, span_8);
9106
9175
  };
@@ -9115,10 +9184,18 @@ function MCQOption($$anchor, $$props) {
9115
9184
  var node_7 = child(span_9);
9116
9185
  {
9117
9186
  var consequent_4 = ($$anchor3) => {
9118
- SvgLoader($$anchor3, { svgName: "successSolid", className: "correct-icon" });
9187
+ SvgLoader($$anchor3, {
9188
+ svgName: "successSolid",
9189
+ className: "correct-icon",
9190
+ dataTestId: "icon-correct"
9191
+ });
9119
9192
  };
9120
9193
  var alternate = ($$anchor3) => {
9121
- SvgLoader($$anchor3, { svgName: "errorSolid", className: "incorrect-icon" });
9194
+ SvgLoader($$anchor3, {
9195
+ svgName: "errorSolid",
9196
+ className: "incorrect-icon",
9197
+ dataTestId: "icon-incorrect"
9198
+ });
9122
9199
  };
9123
9200
  if_block(node_7, ($$render) => {
9124
9201
  if (get$1(correctAnswerIds).includes(option().id) || get$1(isPreviewMode2) && !get$1(isInteractiveMode2)) $$render(consequent_4);
@@ -9144,7 +9221,11 @@ function MCQOption($$anchor, $$props) {
9144
9221
  var consequent_6 = ($$anchor3) => {
9145
9222
  var span_11 = root_9$2();
9146
9223
  var node_10 = child(span_11);
9147
- SvgLoader(node_10, { svgName: "successRounded", className: "selected-icon" });
9224
+ SvgLoader(node_10, {
9225
+ svgName: "successRounded",
9226
+ className: "selected-icon",
9227
+ dataTestId: "icon-check-selected"
9228
+ });
9148
9229
  reset(span_11);
9149
9230
  append($$anchor3, span_11);
9150
9231
  };
@@ -9212,7 +9293,8 @@ function MCQOption($$anchor, $$props) {
9212
9293
  set_attribute(button, "aria-checked", get$1(totalCorrectAnswers) > 1 ? get$1(optionState)?.isSelected : null);
9213
9294
  set_attribute(button, "aria-disabled", get$1(optionState)?.isFinished && !get$1(isInteractiveMode2) ? "true" : null);
9214
9295
  set_attribute(button, "aria-label", get$1(ariaLabel));
9215
- set_class(button, 1, clsx(get$1(optionState)?.buttonClasses || "group btn-mcq-option"));
9296
+ set_class(button, 1, `${get$1(totalCorrectAnswers) > 1 ? "mcq-opt-chk" : "mcq-opt-btn"} ${(get$1(optionState)?.buttonClasses || "group btn-mcq-option") ?? ""}`);
9297
+ set_attribute(button, "data-testid", get$1(totalCorrectAnswers) > 1 ? "mcq-opt-chk" : "mcq-opt-btn");
9216
9298
  set_class(span, 1, `btn-mcq-text ${optionHasMedia() ? "min-h-[44px]" : ""}`);
9217
9299
  set_class(span_3, 1, `choice ${optionHasMedia() ? "my-1.5" : ""}`);
9218
9300
  set_text(text_1, $0);
@@ -9955,9 +10037,9 @@ function shouldSaveTextAnswer(currentAnswer, latestAnswer, isDataSaving) {
9955
10037
  const hasChanged = currentAnswer !== latestAnswer;
9956
10038
  return !isDataSaving && hasChanged;
9957
10039
  }
9958
- var root_1$e = /* @__PURE__ */ from_html(`<label class="absolute left-0 top-0 bottom-0" aria-hidden="true"><span class="absolute inset-0 bg-black opacity-5 rounded-l-lg w-8.5 h-10.5 top-1"></span> <span class="absolute font-semibold text-base leading-[19px] text-charcoal px-3 inline-block pt-[15px]"> </span></label>`);
10040
+ var root_1$e = /* @__PURE__ */ from_html(`<label class="inline-txb-lbl absolute left-0 top-0 bottom-0" data-testid="inline-txb-lbl" aria-hidden="true"><span class="absolute inset-0 bg-black opacity-5 rounded-l-lg w-8.5 h-10.5 top-1"></span> <span class="absolute font-semibold text-base leading-[19px] text-charcoal px-3 inline-block pt-[15px]"> </span></label>`);
9959
10041
  var root_2$8 = /* @__PURE__ */ from_html(`<span class="w-6 h-6 absolute right-4 top-3.5 flex items-center justify-center" aria-hidden="true"><!></span>`);
9960
- var root$b = /* @__PURE__ */ from_html(`<span><!> <input placeholder="Type your answer here" autocomplete="off"/> <!></span>`);
10042
+ var root$b = /* @__PURE__ */ from_html(`<span><!> <input data-testid="input-inline-txb" placeholder="Type your answer here" autocomplete="off"/> <!></span>`);
9961
10043
  function TypeInInlineField($$anchor, $$props) {
9962
10044
  push($$props, true);
9963
10045
  let index2 = prop($$props, "index", 7), value = prop($$props, "value", 15), readonly = prop($$props, "readonly", 7, false), showStatus = prop($$props, "showStatus", 7, false), isCorrect = prop($$props, "isCorrect", 7, null), isMultiple = prop($$props, "isMultiple", 7, false), marginClass = prop($$props, "marginClass", 7, ""), onBlur = prop($$props, "onBlur", 7);
@@ -10107,7 +10189,7 @@ function TypeInInlineField($$anchor, $$props) {
10107
10189
  template_effect(() => {
10108
10190
  set_class(span, 1, `relative inline-block h-fit my-2 ${marginClass() ?? ""}`);
10109
10191
  set_attribute(input, "id", `inline-${index2() ?? ""}`);
10110
- set_class(input, 1, clsx(get$1(inputClasses)));
10192
+ set_class(input, 1, `input-inline-txb ${get$1(inputClasses) ?? ""}`);
10111
10193
  set_attribute(input, "aria-label", get$1(ariaLabel));
10112
10194
  input.readOnly = readonly();
10113
10195
  });
@@ -10135,9 +10217,9 @@ create_custom_element(
10135
10217
  );
10136
10218
  var root_1$d = /* @__PURE__ */ from_html(`<p class="p2 text-red-400 mb-3">Student's answer</p>`);
10137
10219
  var root_3$7 = /* @__PURE__ */ from_html(`<span class="w-8 h-8 absolute right-2 top-2.5 flex items-center justify-center" aria-hidden="true"><!></span>`);
10138
- var root_2$7 = /* @__PURE__ */ from_html(`<div class="relative"><textarea id="answerText" placeholder="Type your answer here" autocomplete="off" rows="3"></textarea> <!></div>`);
10220
+ var root_2$7 = /* @__PURE__ */ from_html(`<div class="relative"><textarea id="answerText" data-testid="input-long-txa" placeholder="Type your answer here" autocomplete="off" rows="3"></textarea> <!></div>`);
10139
10221
  var root_5$2 = /* @__PURE__ */ from_html(`<span class="w-8 h-8 absolute right-2 top-2.5 flex items-center justify-center" aria-hidden="true"><!></span>`);
10140
- var root_4$1 = /* @__PURE__ */ from_html(`<div class="relative"><input autocomplete="off" placeholder="Type your answer here"/> <!></div>`);
10222
+ var root_4$1 = /* @__PURE__ */ from_html(`<div class="relative"><input data-testid="input-short-txb" autocomplete="off" placeholder="Type your answer here"/> <!></div>`);
10141
10223
  var root$a = /* @__PURE__ */ from_html(`<div class="relative"><!> <!></div>`);
10142
10224
  function TypeInTextField($$anchor, $$props) {
10143
10225
  push($$props, true);
@@ -10266,7 +10348,7 @@ function TypeInTextField($$anchor, $$props) {
10266
10348
  }
10267
10349
  reset(div_1);
10268
10350
  template_effect(() => {
10269
- set_class(textarea, 1, `typein-textbox resize-none ${showStatus() && !isSkipped() && isCorrect() === true ? "border-2 border-green-700 bg-green-400" : ""} ${showStatus() && !isSkipped() && isCorrect() === false ? "border-2 border-red-850" : ""}`);
10351
+ set_class(textarea, 1, `input-long-txa typein-textbox resize-none ${showStatus() && !isSkipped() && isCorrect() === true ? "border-2 border-green-700 bg-green-400" : ""} ${showStatus() && !isSkipped() && isCorrect() === false ? "border-2 border-red-850" : ""}`);
10270
10352
  set_attribute(textarea, "aria-label", get$1(ariaLabel));
10271
10353
  textarea.readOnly = readonly();
10272
10354
  textarea.disabled = disabled();
@@ -10309,7 +10391,7 @@ function TypeInTextField($$anchor, $$props) {
10309
10391
  }
10310
10392
  reset(div_2);
10311
10393
  template_effect(() => {
10312
- set_class(input, 1, `typein-textbox typein-input ${showStatus() && !isSkipped() && isCorrect() === true ? "border-2 border-green-700 bg-green-400" : ""} ${showStatus() && !isSkipped() && isCorrect() === false ? "border-2 border-red-850" : ""}`);
10394
+ set_class(input, 1, `input-short-txb typein-textbox typein-input ${showStatus() && !isSkipped() && isCorrect() === true ? "border-2 border-green-700 bg-green-400" : ""} ${showStatus() && !isSkipped() && isCorrect() === false ? "border-2 border-red-850" : ""}`);
10313
10395
  set_attribute(input, "aria-label", get$1(ariaLabel));
10314
10396
  input.readOnly = readonly();
10315
10397
  input.disabled = disabled();
@@ -10410,7 +10492,7 @@ const action = (node) => {
10410
10492
  };
10411
10493
  action.update = n.update;
10412
10494
  action.destroy = n.destroy;
10413
- var root_1$c = /* @__PURE__ */ from_html(`<label aria-hidden="true"><span></span> <span> </span></label>`);
10495
+ var root_1$c = /* @__PURE__ */ from_html(`<label data-testid="qn-number-txt" aria-hidden="true"><span></span> <span> </span></label>`);
10414
10496
  var root_2$6 = /* @__PURE__ */ from_html(`<div role="textbox" aria-readonly="true"><!></div>`);
10415
10497
  var root_3$6 = /* @__PURE__ */ from_html(`<textarea rows="1" readonly=""></textarea>`);
10416
10498
  var root_4 = /* @__PURE__ */ from_html(`<span class="w-6 h-6 absolute right-4 top-[calc(50%+0.375rem)] -translate-y-1/2 flex items-center justify-center"><!></span>`);
@@ -10554,7 +10636,7 @@ function AnswerDisplay($$anchor, $$props) {
10554
10636
  reset(label);
10555
10637
  template_effect(() => {
10556
10638
  set_attribute(label, "for", `${type() ?? ""}-${comparison().id ?? ""}-${questionNumber() - 1}`);
10557
- set_class(label, 1, clsx(get$1(labelClasses)));
10639
+ set_class(label, 1, `qn-number-txt ${get$1(labelClasses) ?? ""}`);
10558
10640
  set_class(span, 1, clsx(get$1(backgroundSpanClasses)));
10559
10641
  set_class(span_1, 1, clsx(get$1(numberSpanClasses)));
10560
10642
  set_text(text, questionNumber());
@@ -10582,7 +10664,8 @@ function AnswerDisplay($$anchor, $$props) {
10582
10664
  set_attribute(div_1, "aria-label", $0);
10583
10665
  set_attribute(div_1, "aria-labelledby", `textbox-${comparison().id ?? ""}-${questionNumber() - 1}`);
10584
10666
  set_attribute(div_1, "aria-describedby", `textbox-value-${comparison().id ?? ""}-${questionNumber() - 1}`);
10585
- set_class(div_1, 1, clsx(get$1(textareaClasses)));
10667
+ set_class(div_1, 1, `${type() === "correct" ? "ans-sum-corr-txb" : "ans-sum-stud-txb"} ${get$1(textareaClasses) ?? ""}`);
10668
+ set_attribute(div_1, "data-testid", type() === "correct" ? "ans-sum-corr-txb" : "ans-sum-stud-txb");
10586
10669
  set_attribute(div_1, "id", `${type() ?? ""}-${comparison().id ?? ""}-${questionNumber() - 1}`);
10587
10670
  set_attribute(div_1, "tabindex", get$1(tabIndex));
10588
10671
  },
@@ -10598,7 +10681,8 @@ function AnswerDisplay($$anchor, $$props) {
10598
10681
  action$1(textarea, ($$node) => action?.($$node));
10599
10682
  template_effect(() => {
10600
10683
  set_attribute(textarea, "aria-label", get$1(ariaLabel));
10601
- set_class(textarea, 1, clsx(get$1(textareaClasses)));
10684
+ set_class(textarea, 1, `${type() === "student" ? "ans-sum-stud-txb" : "ans-sum-corr-txb"} ${get$1(textareaClasses) ?? ""}`);
10685
+ set_attribute(textarea, "data-testid", type() === "student" ? "ans-sum-stud-txb" : "ans-sum-corr-txb");
10602
10686
  set_attribute(textarea, "id", `${type() ?? ""}-${comparison().id ?? ""}-${questionNumber() - 1}`);
10603
10687
  set_value(textarea, get$1(displayAnswer));
10604
10688
  set_attribute(textarea, "tabindex", get$1(tabIndex));
@@ -10654,7 +10738,7 @@ create_custom_element(
10654
10738
  [],
10655
10739
  true
10656
10740
  );
10657
- var root$8 = /* @__PURE__ */ from_html(`<div class="flex flex-col md:flex-row"><div class="flex flex-col md:w-1/2 md:pr-4"><p>Student's answers:</p> <!></div> <div><p>Correct answers:</p> <!></div></div>`);
10741
+ var root$8 = /* @__PURE__ */ from_html(`<div class="flex flex-col md:flex-row"><div class="flex flex-col md:w-1/2 md:pr-4"><p data-testid="ans-sum-stud-hdr">Student's answers:</p> <!></div> <div><p data-testid="ans-sum-corr-hdr">Correct answers:</p> <!></div></div>`);
10658
10742
  function ComparisonRow($$anchor, $$props) {
10659
10743
  push($$props, true);
10660
10744
  let comparison = prop($$props, "comparison", 7), showHeaders = prop($$props, "showHeaders", 7, false), isMultipleAnswers = prop($$props, "isMultipleAnswers", 7, false), isFirstRow = prop($$props, "isFirstRow", 7, false), interactionType = prop($$props, "interactionType", 7);
@@ -10768,9 +10852,9 @@ function ComparisonRow($$anchor, $$props) {
10768
10852
  reset(div_2);
10769
10853
  reset(div);
10770
10854
  template_effect(() => {
10771
- set_class(p, 1, clsx(get$1(studentHeaderClasses)));
10855
+ set_class(p, 1, `ans-sum-stud-hdr ${get$1(studentHeaderClasses) ?? ""}`);
10772
10856
  set_class(div_2, 1, `flex flex-col md:w-1/2 ml-8.5 md:ml-0 md:pl-4 ${comparison().isCorrect ? "hidden md:block" : ""}`);
10773
- set_class(p_1, 1, clsx(get$1(correctHeaderClasses)));
10857
+ set_class(p_1, 1, `ans-sum-corr-hdr ${get$1(correctHeaderClasses) ?? ""}`);
10774
10858
  });
10775
10859
  append($$anchor, div);
10776
10860
  return pop($$exports);
@@ -14281,7 +14365,11 @@ function CategoriseItem($$anchor, $$props) {
14281
14365
  var consequent = ($$anchor2) => {
14282
14366
  var span_3 = root_1$9();
14283
14367
  var node_2 = child(span_3);
14284
- SvgLoader(node_2, { svgName: "successSolid", className: "correct-icon" });
14368
+ SvgLoader(node_2, {
14369
+ svgName: "successSolid",
14370
+ className: "correct-icon",
14371
+ dataTestId: "icon-correct"
14372
+ });
14285
14373
  reset(span_3);
14286
14374
  append($$anchor2, span_3);
14287
14375
  };
@@ -14292,7 +14380,11 @@ function CategoriseItem($$anchor, $$props) {
14292
14380
  var consequent_1 = ($$anchor3) => {
14293
14381
  var span_4 = root_3$4();
14294
14382
  var node_4 = child(span_4);
14295
- SvgLoader(node_4, { svgName: "errorSolid", className: "incorrect-icon" });
14383
+ SvgLoader(node_4, {
14384
+ svgName: "errorSolid",
14385
+ className: "incorrect-icon",
14386
+ dataTestId: "icon-incorrect"
14387
+ });
14296
14388
  reset(span_4);
14297
14389
  append($$anchor3, span_4);
14298
14390
  };
@@ -14303,12 +14395,20 @@ function CategoriseItem($$anchor, $$props) {
14303
14395
  var consequent_2 = ($$anchor4) => {
14304
14396
  var span_5 = root_5$1();
14305
14397
  var node_6 = child(span_5);
14306
- SvgLoader(node_6, { svgName: "success", className: "missing-correct-icon" });
14398
+ SvgLoader(node_6, {
14399
+ svgName: "success",
14400
+ className: "missing-correct-icon",
14401
+ dataTestId: "icon-miss-corr"
14402
+ });
14307
14403
  reset(span_5);
14308
14404
  append($$anchor4, span_5);
14309
14405
  };
14310
14406
  var alternate = ($$anchor4) => {
14311
- SvgLoader($$anchor4, { svgName: "gripVertical", className: "grip-icon" });
14407
+ SvgLoader($$anchor4, {
14408
+ svgName: "gripVertical",
14409
+ className: "grip-icon",
14410
+ dataTestId: "icon-grip"
14411
+ });
14312
14412
  };
14313
14413
  if_block(
14314
14414
  node_5,
@@ -14342,7 +14442,11 @@ function CategoriseItem($$anchor, $$props) {
14342
14442
  var consequent_3 = ($$anchor2) => {
14343
14443
  var span_6 = root_7$2();
14344
14444
  var node_8 = child(span_6);
14345
- SvgLoader(node_8, { svgName: "gripVertical", className: "grip-icon" });
14445
+ SvgLoader(node_8, {
14446
+ svgName: "gripVertical",
14447
+ className: "grip-icon",
14448
+ dataTestId: "icon-grip"
14449
+ });
14346
14450
  reset(span_6);
14347
14451
  append($$anchor2, span_6);
14348
14452
  };
@@ -14354,19 +14458,21 @@ function CategoriseItem($$anchor, $$props) {
14354
14458
  reset(div);
14355
14459
  reset(button);
14356
14460
  template_effect(
14357
- ($0, $1, $2, $3, $4, $5) => {
14461
+ ($0, $1, $2, $3, $4, $5, $6) => {
14358
14462
  set_attribute(button, "id", itemId());
14359
14463
  set_attribute(button, "aria-label", $0);
14360
14464
  set_class(button, 1, $1);
14361
- set_attribute(button, "tabindex", $2);
14465
+ set_attribute(button, "data-testid", $2);
14466
+ set_attribute(button, "tabindex", $3);
14362
14467
  button.disabled = isLocked() && !resultType();
14363
- set_class(span, 1, $3);
14364
- set_class(div, 1, $4);
14365
- set_class(span_1, 1, $5);
14468
+ set_class(span, 1, $4);
14469
+ set_class(div, 1, $5);
14470
+ set_class(span_1, 1, $6);
14366
14471
  },
14367
14472
  [
14368
14473
  () => get$1(ariaLabel)(),
14369
14474
  () => clsx(get$1(buttonClasses)()),
14475
+ () => get$1(buttonClasses)().includes("cat-corr-ans-btn") ? "cat-corr-ans-btn" : get$1(buttonClasses)().includes("cat-mis-ans-btn") ? "cat-mis-ans-btn" : get$1(buttonClasses)().includes("cat-skip-ans-btn") ? "cat-skip-ans-btn" : get$1(buttonClasses)().includes("cat-stud-ans-btn") ? "cat-stud-ans-btn" : "cat-item-btn",
14370
14476
  () => get$1(itemTabIndex)(),
14371
14477
  () => clsx(get$1(textClasses)()),
14372
14478
  () => clsx(get$1(iconContainerClasses)()),
@@ -14867,10 +14973,10 @@ create_custom_element(
14867
14973
  [],
14868
14974
  true
14869
14975
  );
14870
- var root_2$3 = /* @__PURE__ */ from_svg(`<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path></svg>`);
14871
- var root_3$3 = /* @__PURE__ */ from_svg(`<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 15l7-7 7 7"></path></svg>`);
14976
+ var root_2$3 = /* @__PURE__ */ from_svg(`<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-testid="icon-chevron-coll"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path></svg>`);
14977
+ var root_3$3 = /* @__PURE__ */ from_svg(`<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-testid="icon-chevron-exp"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 15l7-7 7 7"></path></svg>`);
14872
14978
  var root_1$7 = /* @__PURE__ */ from_html(`<button type="button" class="focus-ring flex items-center rounded-[32px] p-1.5 text-charcoal text-sm border border-gray-800 bg-gray-50 min-w-[85px] ml-3 whitespace-nowrap active:raw-focus-ring active:bg-black-55"><span class="mx-0.5"> </span> <span class="w-4 h-4 text-inherit flex items-center justify-center"><!></span></button>`);
14873
- var root$4 = /* @__PURE__ */ from_html(`<div role="group"><div><!> <!></div> <!></div>`);
14979
+ var root$4 = /* @__PURE__ */ from_html(`<div role="group" data-testid="cat-ctr"><div><!> <!></div> <!></div>`);
14874
14980
  function CategoriseCategory($$anchor, $$props) {
14875
14981
  push($$props, true);
14876
14982
  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);
@@ -15249,7 +15355,7 @@ function CategoriseCategory($$anchor, $$props) {
15249
15355
  template_effect(() => {
15250
15356
  set_attribute(div, "tabindex", get$1(adjustedTabindex));
15251
15357
  set_attribute(div, "aria-label", get$1(shouldShowAriaLabel) ? `Category ${categoryIndex()}: ${get$1(cleanCategoryTitle)}. ${get$1(getTotalWords)} added.` : void 0);
15252
- set_class(div, 1, clsx(get$1(outerClasses)));
15358
+ set_class(div, 1, `cat-ctr ${get$1(outerClasses) ?? ""}`);
15253
15359
  set_class(div_1, 1, clsx(get$1(titleClasses)));
15254
15360
  });
15255
15361
  bind_element_size(div_1, "clientHeight", ($$value) => set(categoryTitleHeight, $$value));
@@ -15296,7 +15402,7 @@ var root_1$6 = /* @__PURE__ */ from_html(`<div role="group" tabindex="-1" class=
15296
15402
  absolute top-12 right-4 left-4 bottom-4 flex items-center justify-center !bg-white md:top-20">Word Bin is empty</div>`);
15297
15403
  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>`);
15298
15404
  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>`);
15299
- 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&nbsp;</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>`);
15405
+ var root$3 = /* @__PURE__ */ from_html(`<div role="group" data-testid="cat-bin-grp"><div><span class="text-base leading-5 !text-gray-900 font-semibold md:mb-2 md:item-heading" aria-hidden="true">Word Bin&nbsp;</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>`);
15300
15406
  function CategoriseWordBin($$anchor, $$props) {
15301
15407
  push($$props, true);
15302
15408
  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);
@@ -15590,7 +15696,12 @@ function CategoriseWordBin($$anchor, $$props) {
15590
15696
  };
15591
15697
  var span_1 = child(button);
15592
15698
  var node_2 = child(span_1);
15593
- SvgLoader(node_2, { svgName: "smallChevronLeft", width: 7, height: 12 });
15699
+ SvgLoader(node_2, {
15700
+ svgName: "smallChevronLeft",
15701
+ width: 7,
15702
+ height: 12,
15703
+ dataTestId: "icon-chevron-prev"
15704
+ });
15594
15705
  reset(span_1);
15595
15706
  reset(button);
15596
15707
  template_effect(() => button.disabled = currentMobileIndex() === 0);
@@ -15667,7 +15778,12 @@ function CategoriseWordBin($$anchor, $$props) {
15667
15778
  };
15668
15779
  var span_2 = child(button_1);
15669
15780
  var node_5 = child(span_2);
15670
- SvgLoader(node_5, { svgName: "smallChevronRight", width: 7, height: 12 });
15781
+ SvgLoader(node_5, {
15782
+ svgName: "smallChevronRight",
15783
+ width: 7,
15784
+ height: 12,
15785
+ dataTestId: "icon-chevron-next"
15786
+ });
15671
15787
  reset(span_2);
15672
15788
  reset(button_1);
15673
15789
  template_effect(() => button_1.disabled = currentMobileIndex() >= items().length - 1);
@@ -15683,7 +15799,7 @@ function CategoriseWordBin($$anchor, $$props) {
15683
15799
  template_effect(() => {
15684
15800
  set_attribute(div, "tabindex", tabindex());
15685
15801
  set_attribute(div, "aria-label", !get$1(hasSelectedItem) || !get$1(isNotSourceContainer) ? `Word Bin. ${get$1(itemsRemaining)} out of ${totalItems()} left.` : void 0);
15686
- set_class(div, 1, clsx(get$1(outerClasses)));
15802
+ set_class(div, 1, `cat-bin-grp ${get$1(outerClasses) ?? ""}`);
15687
15803
  set_class(div_1, 1, clsx(get$1(titleClasses)));
15688
15804
  set_text(text, `${get$1(itemsRemaining) ?? ""} out of ${totalItems() ?? ""} left`);
15689
15805
  });
@@ -15757,7 +15873,7 @@ function CategoriseCategoryList($$anchor, $$props) {
15757
15873
  return pop($$exports);
15758
15874
  }
15759
15875
  create_custom_element(CategoriseCategoryList, { hasStimulus: {}, children: {} }, [], [], true);
15760
- var root_1$5 = /* @__PURE__ */ from_html(`<div tabindex="-1" class="sr-only">&nbsp;</div> <div class="absolute inset-y-0 right-4 left-4 w-fit h-fit m-auto bg-white p-6 max-w-[400px] shadow-md rounded-lg focus-visible:outline-none md:inset-0"><div class="flex items-center mb-3"><span><!></span> <span class="text-xl leading-6 font-bold ml-3 grow">Reset words?</span> <button aria-label="Close" class="focus-ring text-charcoal rounded h-6 w-6 flex items-center justify-center hover:bg-black-50 active:bg-black-60" type="button"><!></button></div> <p class="text-base font-semibold mb-10">Are you sure you want to reset your answers for this question? This cannot be undone.</p> <div class="flex flex-col-reverse items-center space-y-2 space-y-reverse md:justify-between md:flex-row md:space-y-0"><button aria-label="Cancel" class="focus-ring w-full py-2 px-3 text-blue-1000 text-base leading-4 rounded-lg font-bold border-2 border-white hover:bg-black-50 active:bg-black-60 md:w-fit" type="button">Cancel</button> <button aria-label="Reset" class="focus-ring w-full py-2 px-3 text-white text-base leading-4 rounded-lg font-bold border-2 border-blue-1000 bg-soft-blue hover:bg-yellow-1000 hover:text-charcoal active:bg-yellow-1100 active:text-charcoal md:w-fit" type="button">Reset</button></div></div>`, 1);
15876
+ var root_1$5 = /* @__PURE__ */ from_html(`<div tabindex="-1" class="sr-only">&nbsp;</div> <div class="absolute inset-y-0 right-4 left-4 w-fit h-fit m-auto bg-white p-6 max-w-[400px] shadow-md rounded-lg focus-visible:outline-none md:inset-0"><div class="flex items-center mb-3"><span><!></span> <span class="text-xl leading-6 font-bold ml-3 grow">Reset words?</span> <button aria-label="Close" class="cat-reset-close-btn focus-ring text-charcoal rounded h-6 w-6 flex items-center justify-center hover:bg-black-50 active:bg-black-60" data-testid="cat-reset-close-btn" type="button"><!></button></div> <p class="text-base font-semibold mb-10">Are you sure you want to reset your answers for this question? This cannot be undone.</p> <div class="flex flex-col-reverse items-center space-y-2 space-y-reverse md:justify-between md:flex-row md:space-y-0"><button aria-label="Cancel" class="cat-reset-cancel-btn focus-ring w-full py-2 px-3 text-blue-1000 text-base leading-4 rounded-lg font-bold border-2 border-white hover:bg-black-50 active:bg-black-60 md:w-fit" data-testid="cat-reset-cancel-btn" type="button">Cancel</button> <button aria-label="Reset" class="cat-reset-confirm-btn focus-ring w-full py-2 px-3 text-white text-base leading-4 rounded-lg font-bold border-2 border-blue-1000 bg-soft-blue hover:bg-yellow-1000 hover:text-charcoal active:bg-yellow-1100 active:text-charcoal md:w-fit" data-testid="cat-reset-confirm-btn" type="button">Reset</button></div></div>`, 1);
15761
15877
  function CategoriseModal($$anchor, $$props) {
15762
15878
  push($$props, true);
15763
15879
  let isOpen = prop($$props, "isOpen", 7, false), onclose = prop($$props, "onclose", 7), onreset = prop($$props, "onreset", 7);
@@ -15806,7 +15922,8 @@ function CategoriseModal($$anchor, $$props) {
15806
15922
  get modalData() {
15807
15923
  return get$1(modalData);
15808
15924
  },
15809
- modalClass: "bg-charcoal/30 pointer-events-none",
15925
+ modalClass: "cat-reset-mdl bg-charcoal/30 pointer-events-none",
15926
+ dataTestId: "cat-reset-mdl",
15810
15927
  onclose: handleClose,
15811
15928
  children: ($$anchor2, $$slotProps) => {
15812
15929
  var fragment_1 = root_1$5();
@@ -15816,12 +15933,20 @@ function CategoriseModal($$anchor, $$props) {
15816
15933
  var div_2 = child(div_1);
15817
15934
  var span = child(div_2);
15818
15935
  var node = child(span);
15819
- SvgLoader(node, { svgName: "alertIcon", className: "alert-icon" });
15936
+ SvgLoader(node, {
15937
+ svgName: "alertIcon",
15938
+ className: "alert-icon",
15939
+ dataTestId: "icon-mdl-alt"
15940
+ });
15820
15941
  reset(span);
15821
15942
  var button = sibling(span, 4);
15822
15943
  button.__click = handleClose;
15823
15944
  var node_1 = child(button);
15824
- SvgLoader(node_1, { svgName: "crossIcon", className: "cross-icon" });
15945
+ SvgLoader(node_1, {
15946
+ svgName: "crossIcon",
15947
+ className: "cross-icon",
15948
+ dataTestId: "icon-mdl-close"
15949
+ });
15825
15950
  reset(button);
15826
15951
  reset(div_2);
15827
15952
  var div_3 = sibling(div_2, 4);
@@ -17474,7 +17599,7 @@ function useDropdownPosition(config) {
17474
17599
  };
17475
17600
  }
17476
17601
  var root_1$3 = /* @__PURE__ */ from_html(`<div class="absolute inset-0 bg-transparent z-10"></div>`);
17477
- 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>`);
17602
+ var root_2 = /* @__PURE__ */ from_html(`<div class="bg-black bg-opacity-5 h-full flex flex-none justify-center items-center"><div class="inline-txb-lbl font-semibold text-base leading-[19px] text-charcoal px-3 flex items-center" data-testid="inline-txb-lbl" aria-hidden="true"> </div></div>`);
17478
17603
  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>`);
17479
17604
  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>`);
17480
17605
  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>`);
@@ -17484,8 +17609,8 @@ var root_12 = /* @__PURE__ */ from_html(`<span class="flex items-center text-gre
17484
17609
  var root_14 = /* @__PURE__ */ from_html(`<span class="flex items-center text-red-900" aria-hidden="true"><!></span>`);
17485
17610
  var root_16 = /* @__PURE__ */ from_html(`<span class="flex items-center text-blue-850" aria-hidden="true"><!></span>`);
17486
17611
  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>`);
17487
- var root_10 = /* @__PURE__ */ from_html(`<ul class="dropdown-menu block" role="listbox" tabindex="-1"></ul>`);
17488
- 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>`);
17612
+ var root_10 = /* @__PURE__ */ from_html(`<ul class="drp-list dropdown-menu block" data-testid="drp-list" role="listbox" tabindex="-1"></ul>`);
17613
+ var root$1 = /* @__PURE__ */ from_html(`<span class="dropdown inline-block relative align-middle"><span class="sr-only"> </span> <!> <div role="combobox" data-testid="drp-cmb" 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>`);
17489
17614
  function DropdownContainer($$anchor, $$props) {
17490
17615
  push($$props, true);
17491
17616
  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);
@@ -18121,7 +18246,7 @@ function DropdownContainer($$anchor, $$props) {
18121
18246
  set_attribute(span_1, "id", labelId);
18122
18247
  set_text(text, get$1(ariaLabel));
18123
18248
  set_attribute(div_1, "id", comboId);
18124
- set_class(div_1, 1, clsx(get$1(containerClasses)));
18249
+ set_class(div_1, 1, `drp-cmb ${get$1(containerClasses) ?? ""}`);
18125
18250
  set_attribute(div_1, "aria-expanded", get$1(state$1).isOpen);
18126
18251
  set_attribute(div_1, "aria-labelledby", labelId);
18127
18252
  set_attribute(div_1, "aria-controls", listId);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eat-js-sdk",
3
- "version": "2.1.0",
3
+ "version": "2.1.2",
4
4
  "change version": "2.1.0",
5
5
  "description": "Authoring tool frontend SDK",
6
6
  "contributors": [
@@ -27,6 +27,10 @@
27
27
  {
28
28
  "name": "Aimer Jay Pedrozo",
29
29
  "email": "aimer.pedrozo@cambridge.org"
30
+ },
31
+ {
32
+ "name": "John David De Chavez",
33
+ "email": "johndavid.chavez@cambridge.org"
30
34
  }
31
35
  ],
32
36
  "scripts": {