eat-js-sdk 1.0.2 → 1.0.3

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.
@@ -350,6 +350,9 @@
350
350
  throw new Error("Function called outside component initialization");
351
351
  return current_component;
352
352
  }
353
+ function onMount(fn) {
354
+ get_current_component().$$.on_mount.push(fn);
355
+ }
353
356
  function createEventDispatcher() {
354
357
  const component = get_current_component();
355
358
  return (type, detail, { cancelable = false } = {}) => {
@@ -496,7 +499,7 @@
496
499
  lookup.delete(block.key);
497
500
  });
498
501
  }
499
- function update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block4, next2, get_context) {
502
+ function update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block5, next2, get_context) {
500
503
  let o2 = old_blocks.length;
501
504
  let n2 = list.length;
502
505
  let i = o2;
@@ -513,7 +516,7 @@
513
516
  const key = get_key(child_ctx);
514
517
  let block = lookup.get(key);
515
518
  if (!block) {
516
- block = create_each_block4(key, child_ctx);
519
+ block = create_each_block5(key, child_ctx);
517
520
  block.c();
518
521
  } else if (dynamic) {
519
522
  updates.push(() => block.p(child_ctx, dirty));
@@ -635,7 +638,7 @@
635
638
  }
636
639
  component.$$.dirty[i / 31 | 0] |= 1 << i % 31;
637
640
  }
638
- function init(component, options, instance14, create_fragment27, not_equal, props, append_styles2 = null, dirty = [-1]) {
641
+ function init(component, options, instance15, create_fragment29, not_equal, props, append_styles2 = null, dirty = [-1]) {
639
642
  const parent_component = current_component;
640
643
  set_current_component(component);
641
644
  const $$ = component.$$ = {
@@ -661,7 +664,7 @@
661
664
  };
662
665
  append_styles2 && append_styles2($$.root);
663
666
  let ready = false;
664
- $$.ctx = instance14 ? instance14(component, options.props || {}, (i, ret, ...rest) => {
667
+ $$.ctx = instance15 ? instance15(component, options.props || {}, (i, ret, ...rest) => {
665
668
  const value = rest.length ? rest[0] : ret;
666
669
  if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {
667
670
  if (!$$.skip_bound && $$.bound[i])
@@ -674,7 +677,7 @@
674
677
  $$.update();
675
678
  ready = true;
676
679
  run_all($$.before_update);
677
- $$.fragment = create_fragment27 ? create_fragment27($$.ctx) : false;
680
+ $$.fragment = create_fragment29 ? create_fragment29($$.ctx) : false;
678
681
  if (options.target) {
679
682
  if (options.hydrate) {
680
683
  start_hydrating();
@@ -1080,10 +1083,35 @@
1080
1083
  });
1081
1084
  return await response.json();
1082
1085
  };
1086
+ var usePost = async (url, body) => {
1087
+ const headers = getHeaders({ "Content-type": "application/json" });
1088
+ const response = await fetch(getBaseUrl(url), {
1089
+ method: "POST",
1090
+ headers,
1091
+ body: JSON.stringify(body)
1092
+ });
1093
+ return await response.json();
1094
+ };
1083
1095
 
1084
1096
  // src/lib/composables/useTypein.ts
1085
1097
  var useRemoveDiacritics = (data) => data.normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/\s+/g, " ");
1086
1098
  var useRemovePunctuation = (data) => data.replace(/[^\p{L}\p{M}\s\d]/gu, "").replace(/\s+/g, " ");
1099
+ var useJoinArrayToString = (arr) => {
1100
+ return arr.join("").replace(/-/g, "").toLocaleLowerCase();
1101
+ };
1102
+ var useIsEven = (data) => {
1103
+ return data % 2 === 0;
1104
+ };
1105
+ var useCorrectIconString = () => {
1106
+ return `<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Check Icon">
1107
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M10 0C15.5228 0 20 4.47715 20 10C20 15.5228 15.5228 20 10 20C4.47715 20 0 15.5228 0 10C0 4.47715 4.47715 0 10 0ZM14.7284 6.79289C14.3378 6.40237 13.7047 6.40237 13.3141 6.79289L8.02125 12.0858L6.20711 10.2716C5.81658 9.88112 5.18342 9.88112 4.79289 10.2716C4.40237 10.6622 4.40237 11.2953 4.79289 11.6859L7.31414 14.2071C7.70467 14.5976 8.33783 14.5976 8.72836 14.2071L14.7284 8.20711C15.1189 7.81658 15.1189 7.18342 14.7284 6.79289Z" fill="currentColor"/>
1108
+ </svg>`;
1109
+ };
1110
+ var useErrorIconString = () => {
1111
+ return `<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Cross Icon">
1112
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M10 0C15.5228 0 20 4.47715 20 10C20 15.5228 15.5228 20 10 20C4.47715 20 0 15.5228 0 10C0 4.47715 4.47715 0 10 0ZM7.70711 6.29289C7.31658 5.90237 6.68342 5.90237 6.29289 6.29289C5.90237 6.68342 5.90237 7.31658 6.29289 7.70711L8.585 10L6.29289 12.2929C5.93241 12.6534 5.90468 13.2206 6.2097 13.6129L6.29289 13.7071C6.68342 14.0976 7.31658 14.0976 7.70711 13.7071L10 11.415L12.2929 13.7071C12.6534 14.0676 13.2206 14.0953 13.6129 13.7903L13.7071 13.7071C14.0976 13.3166 14.0976 12.6834 13.7071 12.2929L11.415 10L13.7071 7.70711C14.0676 7.34662 14.0953 6.77939 13.7903 6.3871L13.7071 6.29289C13.3166 5.90237 12.6834 5.90237 12.2929 6.29289L10 8.585L7.70711 6.29289Z" fill="currentColor"/>
1113
+ </svg>`;
1114
+ };
1087
1115
 
1088
1116
  // src/lib/components/common/CommonStringToHtml.svelte
1089
1117
  function create_if_block(ctx) {
@@ -1257,6 +1285,7 @@
1257
1285
  var INTERACTION_TYPE_TYPEIN = "typeInInteraction";
1258
1286
  var INTERACTION_TYPE_CATEGORISE = "categoriseInteraction";
1259
1287
  var TYPEIN_TYPE_SHORT = "Short-Text";
1288
+ var TYPEIN_TYPE_LONG = "Long-Text";
1260
1289
  var TYPEIN_TYPE_INLINE = "Inline Text";
1261
1290
  var CONTAINER_WORD_BIN_ID = "container-word-bin";
1262
1291
  var SCREEN_MD = 732;
@@ -3856,194 +3885,602 @@
3856
3885
  action.destroy = autosize_esm_default.destroy;
3857
3886
  var svelte_autosize_default = action;
3858
3887
 
3859
- // src/lib/components/common/InvalidBanner.svelte
3888
+ // src/lib/assets/img/messaging/InfoSolid.svelte
3860
3889
  function create_fragment8(ctx) {
3861
- let p;
3862
- let t2;
3890
+ let svg;
3891
+ let path;
3863
3892
  return {
3864
3893
  c() {
3865
- p = element("p");
3866
- t2 = text(
3867
- /*bannerLabel*/
3868
- ctx[0]
3869
- );
3870
- attr(p, "class", "p-2 border-2 border-red-600 bg-red-200 rounded");
3894
+ svg = svg_element("svg");
3895
+ path = svg_element("path");
3896
+ attr(path, "fill-rule", "evenodd");
3897
+ attr(path, "clip-rule", "evenodd");
3898
+ attr(path, "d", "M10 0C15.5228 0 20 4.47715 20 10C20 15.5228 15.5228 20 10 20C4.47715 20 0 15.5228 0 10C0 4.47715 4.47715 0 10 0ZM10 9C9.44772 9 9 9.44772 9 10V14.5C9 15.0523 9.44772 15.5 10 15.5C10.5523 15.5 11 15.0523 11 14.5V10C11 9.44772 10.5523 9 10 9ZM10 5C9.44772 5 9 5.44772 9 6C9 6.55228 9.44772 7 10 7C10.5523 7 11 6.55228 11 6C11 5.44772 10.5523 5 10 5Z");
3899
+ attr(path, "fill", "currentColor");
3900
+ attr(svg, "width", "20");
3901
+ attr(svg, "height", "20");
3902
+ attr(svg, "viewBox", "0 0 20 20");
3903
+ attr(svg, "fill", "none");
3904
+ attr(svg, "xmlns", "http://www.w3.org/2000/svg");
3905
+ attr(svg, "role", "img");
3906
+ attr(svg, "aria-label", "Info Icon");
3871
3907
  },
3872
3908
  m(target, anchor) {
3873
- insert(target, p, anchor);
3874
- append(p, t2);
3875
- },
3876
- p(ctx2, [dirty]) {
3877
- if (dirty & /*bannerLabel*/
3878
- 1)
3879
- set_data(
3880
- t2,
3881
- /*bannerLabel*/
3882
- ctx2[0]
3883
- );
3909
+ insert(target, svg, anchor);
3910
+ append(svg, path);
3884
3911
  },
3912
+ p: noop,
3885
3913
  i: noop,
3886
3914
  o: noop,
3887
3915
  d(detaching) {
3888
3916
  if (detaching) {
3889
- detach(p);
3917
+ detach(svg);
3890
3918
  }
3891
3919
  }
3892
3920
  };
3893
3921
  }
3894
- function instance6($$self, $$props, $$invalidate) {
3895
- let { bannerLabel: bannerLabel2 = "Invalid." } = $$props;
3896
- $$self.$$set = ($$props2) => {
3897
- if ("bannerLabel" in $$props2)
3898
- $$invalidate(0, bannerLabel2 = $$props2.bannerLabel);
3899
- };
3900
- return [bannerLabel2];
3901
- }
3902
- var InvalidBanner = class extends SvelteComponent {
3922
+ var InfoSolid = class extends SvelteComponent {
3903
3923
  constructor(options) {
3904
3924
  super();
3905
- init(this, options, instance6, create_fragment8, safe_not_equal, { bannerLabel: 0 });
3906
- }
3907
- get bannerLabel() {
3908
- return this.$$.ctx[0];
3909
- }
3910
- set bannerLabel(bannerLabel2) {
3911
- this.$$set({ bannerLabel: bannerLabel2 });
3912
- flush();
3925
+ init(this, options, null, create_fragment8, safe_not_equal, {});
3913
3926
  }
3914
3927
  };
3915
- customElements.define("invalid-banner", create_custom_element(InvalidBanner, { "bannerLabel": {} }, [], [], true));
3916
- var InvalidBanner_default = InvalidBanner;
3928
+ create_custom_element(InfoSolid, {}, [], [], true);
3929
+ var InfoSolid_default = InfoSolid;
3917
3930
 
3918
- // src/lib/components/prompt/typein/PromptTypeIn.svelte
3919
- function create_else_block_2(ctx) {
3920
- let textarea;
3921
- let textarea_class_value;
3922
- let autosize_action;
3923
- let mounted;
3924
- let dispose;
3931
+ // src/lib/components/prompt/template/PromptResultFeedbackv2.svelte
3932
+ function create_if_block6(ctx) {
3933
+ let div1;
3934
+ let t0;
3935
+ let div0;
3936
+ let t1;
3937
+ let span;
3938
+ let t2;
3939
+ let div1_class_value;
3940
+ let current;
3941
+ let if_block0 = (
3942
+ /*hasIcon*/
3943
+ ctx[4] && create_if_block_24(ctx)
3944
+ );
3945
+ let if_block1 = (
3946
+ /*resultFeedbackTitle*/
3947
+ ctx[1] && create_if_block_15(ctx)
3948
+ );
3925
3949
  return {
3926
3950
  c() {
3927
- textarea = element("textarea");
3928
- attr(textarea, "id", idLabel);
3929
- attr(
3930
- textarea,
3931
- "aria-label",
3932
- /*textAriaLabel*/
3933
- ctx[9]
3934
- );
3935
- attr(
3936
- textarea,
3937
- "placeholder",
3938
- /*placeholder*/
3939
- ctx[5]
3951
+ div1 = element("div");
3952
+ if (if_block0)
3953
+ if_block0.c();
3954
+ t0 = space();
3955
+ div0 = element("div");
3956
+ if (if_block1)
3957
+ if_block1.c();
3958
+ t1 = space();
3959
+ span = element("span");
3960
+ t2 = text(
3961
+ /*resultFeedback*/
3962
+ ctx[0]
3940
3963
  );
3941
- attr(textarea, "rows", "3");
3942
- attr(textarea, "class", textarea_class_value = "typein-textbox overflow-hidden " + (!/*isFinished*/
3943
- ctx[1] ? "" : (
3964
+ attr(div1, "aria-description", "Answer feedback:");
3965
+ attr(div1, "class", div1_class_value = "my-6 p-4 border-l-4 text-charcoal text-base flex " + /*isSkipped*/
3966
+ (ctx[3] ? "border-blue-950 bg-blue-50" : (
3944
3967
  /*isResultCorrect*/
3945
- ctx[2] ? "border-2 border-green-800" : "border-2 border-red-800 bg-red-300"
3968
+ ctx[2] ? "border-green-900 bg-green-300" : "border-red-900 bg-red-50"
3946
3969
  )));
3947
- textarea.disabled = /*isDataSaving*/
3948
- ctx[0];
3949
- attr(textarea, "autocomplete", "off");
3950
- textarea.readOnly = /*isReadonlyText*/
3951
- ctx[14];
3952
3970
  },
3953
3971
  m(target, anchor) {
3954
- insert(target, textarea, anchor);
3955
- set_input_value(
3956
- textarea,
3957
- /*typeinAnswer*/
3958
- ctx[3]
3959
- );
3960
- if (!mounted) {
3961
- dispose = [
3962
- listen(
3963
- textarea,
3964
- "input",
3965
- /*textarea_input_handler*/
3966
- ctx[25]
3967
- ),
3968
- listen(
3969
- textarea,
3970
- "mousedown",
3971
- /*mousedown_handler*/
3972
- ctx[26]
3973
- ),
3974
- listen(
3975
- textarea,
3976
- "touchstart",
3977
- /*touchstart_handler*/
3978
- ctx[27],
3979
- { passive: true }
3980
- ),
3981
- listen(
3982
- textarea,
3983
- "focus",
3984
- /*focus_handler*/
3985
- ctx[28]
3986
- ),
3987
- listen(
3988
- textarea,
3989
- "focusout",
3990
- /*focusout_handler_1*/
3991
- ctx[29]
3992
- ),
3993
- listen(
3994
- textarea,
3995
- "keydown",
3996
- /*keydown_handler_1*/
3997
- ctx[30]
3998
- ),
3999
- action_destroyer(autosize_action = svelte_autosize_default.call(null, textarea))
4000
- ];
4001
- mounted = true;
4002
- }
3972
+ insert(target, div1, anchor);
3973
+ if (if_block0)
3974
+ if_block0.m(div1, null);
3975
+ append(div1, t0);
3976
+ append(div1, div0);
3977
+ if (if_block1)
3978
+ if_block1.m(div0, null);
3979
+ append(div0, t1);
3980
+ append(div0, span);
3981
+ append(span, t2);
3982
+ current = true;
4003
3983
  },
4004
3984
  p(ctx2, dirty) {
4005
- if (dirty[0] & /*textAriaLabel*/
4006
- 512) {
4007
- attr(
4008
- textarea,
4009
- "aria-label",
4010
- /*textAriaLabel*/
4011
- ctx2[9]
4012
- );
3985
+ if (
3986
+ /*hasIcon*/
3987
+ ctx2[4]
3988
+ ) {
3989
+ if (if_block0) {
3990
+ if_block0.p(ctx2, dirty);
3991
+ if (dirty & /*hasIcon*/
3992
+ 16) {
3993
+ transition_in(if_block0, 1);
3994
+ }
3995
+ } else {
3996
+ if_block0 = create_if_block_24(ctx2);
3997
+ if_block0.c();
3998
+ transition_in(if_block0, 1);
3999
+ if_block0.m(div1, t0);
4000
+ }
4001
+ } else if (if_block0) {
4002
+ group_outros();
4003
+ transition_out(if_block0, 1, 1, () => {
4004
+ if_block0 = null;
4005
+ });
4006
+ check_outros();
4013
4007
  }
4014
- if (dirty[0] & /*placeholder*/
4015
- 32) {
4016
- attr(
4017
- textarea,
4018
- "placeholder",
4019
- /*placeholder*/
4020
- ctx2[5]
4021
- );
4008
+ if (
4009
+ /*resultFeedbackTitle*/
4010
+ ctx2[1]
4011
+ ) {
4012
+ if (if_block1) {
4013
+ if_block1.p(ctx2, dirty);
4014
+ } else {
4015
+ if_block1 = create_if_block_15(ctx2);
4016
+ if_block1.c();
4017
+ if_block1.m(div0, t1);
4018
+ }
4019
+ } else if (if_block1) {
4020
+ if_block1.d(1);
4021
+ if_block1 = null;
4022
4022
  }
4023
- if (dirty[0] & /*isFinished, isResultCorrect*/
4024
- 6 && textarea_class_value !== (textarea_class_value = "typein-textbox overflow-hidden " + (!/*isFinished*/
4025
- ctx2[1] ? "" : (
4023
+ if (!current || dirty & /*resultFeedback*/
4024
+ 1)
4025
+ set_data(
4026
+ t2,
4027
+ /*resultFeedback*/
4028
+ ctx2[0]
4029
+ );
4030
+ if (!current || dirty & /*isSkipped, isResultCorrect*/
4031
+ 12 && div1_class_value !== (div1_class_value = "my-6 p-4 border-l-4 text-charcoal text-base flex " + /*isSkipped*/
4032
+ (ctx2[3] ? "border-blue-950 bg-blue-50" : (
4026
4033
  /*isResultCorrect*/
4027
- ctx2[2] ? "border-2 border-green-800" : "border-2 border-red-800 bg-red-300"
4034
+ ctx2[2] ? "border-green-900 bg-green-300" : "border-red-900 bg-red-50"
4028
4035
  )))) {
4029
- attr(textarea, "class", textarea_class_value);
4030
- }
4031
- if (dirty[0] & /*isDataSaving*/
4032
- 1) {
4033
- textarea.disabled = /*isDataSaving*/
4034
- ctx2[0];
4035
- }
4036
- if (dirty[0] & /*typeinAnswer*/
4037
- 8) {
4038
- set_input_value(
4039
- textarea,
4040
- /*typeinAnswer*/
4041
- ctx2[3]
4042
- );
4036
+ attr(div1, "class", div1_class_value);
4043
4037
  }
4044
4038
  },
4045
- i: noop,
4046
- o: noop,
4039
+ i(local) {
4040
+ if (current)
4041
+ return;
4042
+ transition_in(if_block0);
4043
+ current = true;
4044
+ },
4045
+ o(local) {
4046
+ transition_out(if_block0);
4047
+ current = false;
4048
+ },
4049
+ d(detaching) {
4050
+ if (detaching) {
4051
+ detach(div1);
4052
+ }
4053
+ if (if_block0)
4054
+ if_block0.d();
4055
+ if (if_block1)
4056
+ if_block1.d();
4057
+ }
4058
+ };
4059
+ }
4060
+ function create_if_block_24(ctx) {
4061
+ let span;
4062
+ let infosolid;
4063
+ let span_class_value;
4064
+ let current;
4065
+ infosolid = new InfoSolid_default({});
4066
+ return {
4067
+ c() {
4068
+ span = element("span");
4069
+ create_component(infosolid.$$.fragment);
4070
+ attr(span, "class", span_class_value = "h-6 w-6 flex items-center pt-0.5 mr-2 " + /*isSkipped*/
4071
+ (ctx[3] ? "text-blue-950" : (
4072
+ /*isResultCorrect*/
4073
+ ctx[2] ? "text-green-900" : "text-red-900"
4074
+ )));
4075
+ },
4076
+ m(target, anchor) {
4077
+ insert(target, span, anchor);
4078
+ mount_component(infosolid, span, null);
4079
+ current = true;
4080
+ },
4081
+ p(ctx2, dirty) {
4082
+ if (!current || dirty & /*isSkipped, isResultCorrect*/
4083
+ 12 && span_class_value !== (span_class_value = "h-6 w-6 flex items-center pt-0.5 mr-2 " + /*isSkipped*/
4084
+ (ctx2[3] ? "text-blue-950" : (
4085
+ /*isResultCorrect*/
4086
+ ctx2[2] ? "text-green-900" : "text-red-900"
4087
+ )))) {
4088
+ attr(span, "class", span_class_value);
4089
+ }
4090
+ },
4091
+ i(local) {
4092
+ if (current)
4093
+ return;
4094
+ transition_in(infosolid.$$.fragment, local);
4095
+ current = true;
4096
+ },
4097
+ o(local) {
4098
+ transition_out(infosolid.$$.fragment, local);
4099
+ current = false;
4100
+ },
4101
+ d(detaching) {
4102
+ if (detaching) {
4103
+ detach(span);
4104
+ }
4105
+ destroy_component(infosolid);
4106
+ }
4107
+ };
4108
+ }
4109
+ function create_if_block_15(ctx) {
4110
+ let span;
4111
+ let t2;
4112
+ return {
4113
+ c() {
4114
+ span = element("span");
4115
+ t2 = text(
4116
+ /*resultFeedbackTitle*/
4117
+ ctx[1]
4118
+ );
4119
+ attr(span, "class", "block mb-1 font-semibold");
4120
+ },
4121
+ m(target, anchor) {
4122
+ insert(target, span, anchor);
4123
+ append(span, t2);
4124
+ },
4125
+ p(ctx2, dirty) {
4126
+ if (dirty & /*resultFeedbackTitle*/
4127
+ 2)
4128
+ set_data(
4129
+ t2,
4130
+ /*resultFeedbackTitle*/
4131
+ ctx2[1]
4132
+ );
4133
+ },
4134
+ d(detaching) {
4135
+ if (detaching) {
4136
+ detach(span);
4137
+ }
4138
+ }
4139
+ };
4140
+ }
4141
+ function create_fragment9(ctx) {
4142
+ let if_block_anchor;
4143
+ let current;
4144
+ let if_block = (
4145
+ /*resultFeedback*/
4146
+ ctx[0] && create_if_block6(ctx)
4147
+ );
4148
+ return {
4149
+ c() {
4150
+ if (if_block)
4151
+ if_block.c();
4152
+ if_block_anchor = empty();
4153
+ },
4154
+ m(target, anchor) {
4155
+ if (if_block)
4156
+ if_block.m(target, anchor);
4157
+ insert(target, if_block_anchor, anchor);
4158
+ current = true;
4159
+ },
4160
+ p(ctx2, [dirty]) {
4161
+ if (
4162
+ /*resultFeedback*/
4163
+ ctx2[0]
4164
+ ) {
4165
+ if (if_block) {
4166
+ if_block.p(ctx2, dirty);
4167
+ if (dirty & /*resultFeedback*/
4168
+ 1) {
4169
+ transition_in(if_block, 1);
4170
+ }
4171
+ } else {
4172
+ if_block = create_if_block6(ctx2);
4173
+ if_block.c();
4174
+ transition_in(if_block, 1);
4175
+ if_block.m(if_block_anchor.parentNode, if_block_anchor);
4176
+ }
4177
+ } else if (if_block) {
4178
+ group_outros();
4179
+ transition_out(if_block, 1, 1, () => {
4180
+ if_block = null;
4181
+ });
4182
+ check_outros();
4183
+ }
4184
+ },
4185
+ i(local) {
4186
+ if (current)
4187
+ return;
4188
+ transition_in(if_block);
4189
+ current = true;
4190
+ },
4191
+ o(local) {
4192
+ transition_out(if_block);
4193
+ current = false;
4194
+ },
4195
+ d(detaching) {
4196
+ if (detaching) {
4197
+ detach(if_block_anchor);
4198
+ }
4199
+ if (if_block)
4200
+ if_block.d(detaching);
4201
+ }
4202
+ };
4203
+ }
4204
+ function instance6($$self, $$props, $$invalidate) {
4205
+ let { resultFeedback = null } = $$props;
4206
+ let { resultFeedbackTitle = null } = $$props;
4207
+ let { isResultCorrect = true } = $$props;
4208
+ let { isSkipped = false } = $$props;
4209
+ let { hasIcon = false } = $$props;
4210
+ $$self.$$set = ($$props2) => {
4211
+ if ("resultFeedback" in $$props2)
4212
+ $$invalidate(0, resultFeedback = $$props2.resultFeedback);
4213
+ if ("resultFeedbackTitle" in $$props2)
4214
+ $$invalidate(1, resultFeedbackTitle = $$props2.resultFeedbackTitle);
4215
+ if ("isResultCorrect" in $$props2)
4216
+ $$invalidate(2, isResultCorrect = $$props2.isResultCorrect);
4217
+ if ("isSkipped" in $$props2)
4218
+ $$invalidate(3, isSkipped = $$props2.isSkipped);
4219
+ if ("hasIcon" in $$props2)
4220
+ $$invalidate(4, hasIcon = $$props2.hasIcon);
4221
+ };
4222
+ $$self.$$.update = () => {
4223
+ if ($$self.$$.dirty & /*isSkipped*/
4224
+ 8) {
4225
+ $:
4226
+ if (isSkipped) {
4227
+ $$invalidate(1, resultFeedbackTitle = "No answer was provided");
4228
+ $$invalidate(0, resultFeedback = "It may be that the student struggled with this question or mistakenly skipped this question.");
4229
+ }
4230
+ }
4231
+ };
4232
+ return [resultFeedback, resultFeedbackTitle, isResultCorrect, isSkipped, hasIcon];
4233
+ }
4234
+ var PromptResultFeedbackv2 = class extends SvelteComponent {
4235
+ constructor(options) {
4236
+ super();
4237
+ init(this, options, instance6, create_fragment9, safe_not_equal, {
4238
+ resultFeedback: 0,
4239
+ resultFeedbackTitle: 1,
4240
+ isResultCorrect: 2,
4241
+ isSkipped: 3,
4242
+ hasIcon: 4
4243
+ });
4244
+ }
4245
+ get resultFeedback() {
4246
+ return this.$$.ctx[0];
4247
+ }
4248
+ set resultFeedback(resultFeedback) {
4249
+ this.$$set({ resultFeedback });
4250
+ flush();
4251
+ }
4252
+ get resultFeedbackTitle() {
4253
+ return this.$$.ctx[1];
4254
+ }
4255
+ set resultFeedbackTitle(resultFeedbackTitle) {
4256
+ this.$$set({ resultFeedbackTitle });
4257
+ flush();
4258
+ }
4259
+ get isResultCorrect() {
4260
+ return this.$$.ctx[2];
4261
+ }
4262
+ set isResultCorrect(isResultCorrect) {
4263
+ this.$$set({ isResultCorrect });
4264
+ flush();
4265
+ }
4266
+ get isSkipped() {
4267
+ return this.$$.ctx[3];
4268
+ }
4269
+ set isSkipped(isSkipped) {
4270
+ this.$$set({ isSkipped });
4271
+ flush();
4272
+ }
4273
+ get hasIcon() {
4274
+ return this.$$.ctx[4];
4275
+ }
4276
+ set hasIcon(hasIcon) {
4277
+ this.$$set({ hasIcon });
4278
+ flush();
4279
+ }
4280
+ };
4281
+ customElements.define("prompt-result-feedbackv2", create_custom_element(PromptResultFeedbackv2, { "resultFeedback": {}, "resultFeedbackTitle": {}, "isResultCorrect": { "type": "Boolean" }, "isSkipped": { "type": "Boolean" }, "hasIcon": { "type": "Boolean" } }, [], [], true));
4282
+ var PromptResultFeedbackv2_default = PromptResultFeedbackv2;
4283
+
4284
+ // src/lib/components/common/InvalidBanner.svelte
4285
+ function create_fragment10(ctx) {
4286
+ let p;
4287
+ let t2;
4288
+ return {
4289
+ c() {
4290
+ p = element("p");
4291
+ t2 = text(
4292
+ /*bannerLabel*/
4293
+ ctx[0]
4294
+ );
4295
+ attr(p, "class", "p-2 border-2 border-red-600 bg-red-200 rounded");
4296
+ },
4297
+ m(target, anchor) {
4298
+ insert(target, p, anchor);
4299
+ append(p, t2);
4300
+ },
4301
+ p(ctx2, [dirty]) {
4302
+ if (dirty & /*bannerLabel*/
4303
+ 1)
4304
+ set_data(
4305
+ t2,
4306
+ /*bannerLabel*/
4307
+ ctx2[0]
4308
+ );
4309
+ },
4310
+ i: noop,
4311
+ o: noop,
4312
+ d(detaching) {
4313
+ if (detaching) {
4314
+ detach(p);
4315
+ }
4316
+ }
4317
+ };
4318
+ }
4319
+ function instance7($$self, $$props, $$invalidate) {
4320
+ let { bannerLabel: bannerLabel2 = "Invalid." } = $$props;
4321
+ $$self.$$set = ($$props2) => {
4322
+ if ("bannerLabel" in $$props2)
4323
+ $$invalidate(0, bannerLabel2 = $$props2.bannerLabel);
4324
+ };
4325
+ return [bannerLabel2];
4326
+ }
4327
+ var InvalidBanner = class extends SvelteComponent {
4328
+ constructor(options) {
4329
+ super();
4330
+ init(this, options, instance7, create_fragment10, safe_not_equal, { bannerLabel: 0 });
4331
+ }
4332
+ get bannerLabel() {
4333
+ return this.$$.ctx[0];
4334
+ }
4335
+ set bannerLabel(bannerLabel2) {
4336
+ this.$$set({ bannerLabel: bannerLabel2 });
4337
+ flush();
4338
+ }
4339
+ };
4340
+ customElements.define("invalid-banner", create_custom_element(InvalidBanner, { "bannerLabel": {} }, [], [], true));
4341
+ var InvalidBanner_default = InvalidBanner;
4342
+
4343
+ // src/lib/components/prompt/typein/PromptTypeIn.svelte
4344
+ function get_each_context2(ctx, list, i) {
4345
+ const child_ctx = ctx.slice();
4346
+ child_ctx[58] = list[i];
4347
+ child_ctx[60] = i;
4348
+ return child_ctx;
4349
+ }
4350
+ function get_each_context_1(ctx, list, i) {
4351
+ const child_ctx = ctx.slice();
4352
+ child_ctx[61] = list[i];
4353
+ child_ctx[63] = i;
4354
+ return child_ctx;
4355
+ }
4356
+ function create_else_block_4(ctx) {
4357
+ let textarea;
4358
+ let textarea_class_value;
4359
+ let autosize_action;
4360
+ let mounted;
4361
+ let dispose;
4362
+ return {
4363
+ c() {
4364
+ textarea = element("textarea");
4365
+ attr(textarea, "id", idLabel);
4366
+ attr(
4367
+ textarea,
4368
+ "aria-label",
4369
+ /*textAriaLabel*/
4370
+ ctx[16]
4371
+ );
4372
+ attr(
4373
+ textarea,
4374
+ "placeholder",
4375
+ /*placeholder*/
4376
+ ctx[9]
4377
+ );
4378
+ attr(textarea, "rows", "3");
4379
+ attr(textarea, "class", textarea_class_value = "typein-textbox overflow-hidden " + (!/*isFinished*/
4380
+ ctx[0] ? "" : (
4381
+ /*isResultCorrect*/
4382
+ ctx[1] ? "border-2 border-green-800" : "border-2 border-red-800 bg-red-300"
4383
+ )));
4384
+ textarea.disabled = /*isDataSaving*/
4385
+ ctx[2];
4386
+ attr(textarea, "autocomplete", "off");
4387
+ textarea.readOnly = /*isReadonlyText*/
4388
+ ctx[23];
4389
+ },
4390
+ m(target, anchor) {
4391
+ insert(target, textarea, anchor);
4392
+ set_input_value(
4393
+ textarea,
4394
+ /*typeinAnswer*/
4395
+ ctx[5]
4396
+ );
4397
+ if (!mounted) {
4398
+ dispose = [
4399
+ listen(
4400
+ textarea,
4401
+ "input",
4402
+ /*textarea_input_handler*/
4403
+ ctx[36]
4404
+ ),
4405
+ listen(
4406
+ textarea,
4407
+ "mousedown",
4408
+ /*mousedown_handler*/
4409
+ ctx[37]
4410
+ ),
4411
+ listen(
4412
+ textarea,
4413
+ "touchstart",
4414
+ /*touchstart_handler*/
4415
+ ctx[38],
4416
+ { passive: true }
4417
+ ),
4418
+ listen(
4419
+ textarea,
4420
+ "focus",
4421
+ /*focus_handler*/
4422
+ ctx[39]
4423
+ ),
4424
+ listen(
4425
+ textarea,
4426
+ "focusout",
4427
+ /*focusout_handler_1*/
4428
+ ctx[40]
4429
+ ),
4430
+ listen(
4431
+ textarea,
4432
+ "keydown",
4433
+ /*keydown_handler_1*/
4434
+ ctx[41]
4435
+ ),
4436
+ action_destroyer(autosize_action = svelte_autosize_default.call(null, textarea))
4437
+ ];
4438
+ mounted = true;
4439
+ }
4440
+ },
4441
+ p(ctx2, dirty) {
4442
+ if (dirty[0] & /*textAriaLabel*/
4443
+ 65536) {
4444
+ attr(
4445
+ textarea,
4446
+ "aria-label",
4447
+ /*textAriaLabel*/
4448
+ ctx2[16]
4449
+ );
4450
+ }
4451
+ if (dirty[0] & /*placeholder*/
4452
+ 512) {
4453
+ attr(
4454
+ textarea,
4455
+ "placeholder",
4456
+ /*placeholder*/
4457
+ ctx2[9]
4458
+ );
4459
+ }
4460
+ if (dirty[0] & /*isFinished, isResultCorrect*/
4461
+ 3 && textarea_class_value !== (textarea_class_value = "typein-textbox overflow-hidden " + (!/*isFinished*/
4462
+ ctx2[0] ? "" : (
4463
+ /*isResultCorrect*/
4464
+ ctx2[1] ? "border-2 border-green-800" : "border-2 border-red-800 bg-red-300"
4465
+ )))) {
4466
+ attr(textarea, "class", textarea_class_value);
4467
+ }
4468
+ if (dirty[0] & /*isDataSaving*/
4469
+ 4) {
4470
+ textarea.disabled = /*isDataSaving*/
4471
+ ctx2[2];
4472
+ }
4473
+ if (dirty[0] & /*typeinAnswer*/
4474
+ 32) {
4475
+ set_input_value(
4476
+ textarea,
4477
+ /*typeinAnswer*/
4478
+ ctx2[5]
4479
+ );
4480
+ }
4481
+ },
4482
+ i: noop,
4483
+ o: noop,
4047
4484
  d(detaching) {
4048
4485
  if (detaching) {
4049
4486
  detach(textarea);
@@ -4053,7 +4490,7 @@
4053
4490
  }
4054
4491
  };
4055
4492
  }
4056
- function create_if_block_43(ctx) {
4493
+ function create_if_block_92(ctx) {
4057
4494
  let input;
4058
4495
  let input_class_value;
4059
4496
  let mounted;
@@ -4067,31 +4504,31 @@
4067
4504
  input,
4068
4505
  "aria-label",
4069
4506
  /*textAriaLabel*/
4070
- ctx[9]
4507
+ ctx[16]
4071
4508
  );
4072
4509
  attr(
4073
4510
  input,
4074
4511
  "placeholder",
4075
4512
  /*placeholder*/
4076
- ctx[5]
4513
+ ctx[9]
4077
4514
  );
4078
4515
  attr(input, "class", input_class_value = "typein-textbox " + (!/*isFinished*/
4079
- ctx[1] ? "" : (
4516
+ ctx[0] ? "" : (
4080
4517
  /*isResultCorrect*/
4081
- ctx[2] ? "border-2 border-green-800" : "border-2 border-red-800 bg-red-300"
4518
+ ctx[1] ? "border-2 border-green-800" : "border-2 border-red-800 bg-red-300"
4082
4519
  )));
4083
4520
  input.disabled = /*isDataSaving*/
4084
- ctx[0];
4521
+ ctx[2];
4085
4522
  attr(input, "autocomplete", "off");
4086
4523
  input.readOnly = /*isReadonlyText*/
4087
- ctx[14];
4524
+ ctx[23];
4088
4525
  },
4089
4526
  m(target, anchor) {
4090
4527
  insert(target, input, anchor);
4091
4528
  set_input_value(
4092
4529
  input,
4093
4530
  /*typeinAnswer*/
4094
- ctx[3]
4531
+ ctx[5]
4095
4532
  );
4096
4533
  if (!mounted) {
4097
4534
  dispose = [
@@ -4099,19 +4536,19 @@
4099
4536
  input,
4100
4537
  "input",
4101
4538
  /*input_input_handler*/
4102
- ctx[22]
4539
+ ctx[33]
4103
4540
  ),
4104
4541
  listen(
4105
4542
  input,
4106
4543
  "focusout",
4107
4544
  /*focusout_handler*/
4108
- ctx[23]
4545
+ ctx[34]
4109
4546
  ),
4110
4547
  listen(
4111
4548
  input,
4112
4549
  "keydown",
4113
4550
  /*keydown_handler*/
4114
- ctx[24]
4551
+ ctx[35]
4115
4552
  )
4116
4553
  ];
4117
4554
  mounted = true;
@@ -4119,90 +4556,370 @@
4119
4556
  },
4120
4557
  p(ctx2, dirty) {
4121
4558
  if (dirty[0] & /*textAriaLabel*/
4122
- 512) {
4559
+ 65536) {
4123
4560
  attr(
4124
4561
  input,
4125
4562
  "aria-label",
4126
4563
  /*textAriaLabel*/
4127
- ctx2[9]
4564
+ ctx2[16]
4128
4565
  );
4129
4566
  }
4130
4567
  if (dirty[0] & /*placeholder*/
4131
- 32) {
4568
+ 512) {
4132
4569
  attr(
4133
4570
  input,
4134
4571
  "placeholder",
4135
4572
  /*placeholder*/
4136
- ctx2[5]
4573
+ ctx2[9]
4137
4574
  );
4138
4575
  }
4139
4576
  if (dirty[0] & /*isFinished, isResultCorrect*/
4140
- 6 && input_class_value !== (input_class_value = "typein-textbox " + (!/*isFinished*/
4141
- ctx2[1] ? "" : (
4577
+ 3 && input_class_value !== (input_class_value = "typein-textbox " + (!/*isFinished*/
4578
+ ctx2[0] ? "" : (
4142
4579
  /*isResultCorrect*/
4143
- ctx2[2] ? "border-2 border-green-800" : "border-2 border-red-800 bg-red-300"
4580
+ ctx2[1] ? "border-2 border-green-800" : "border-2 border-red-800 bg-red-300"
4144
4581
  )))) {
4145
4582
  attr(input, "class", input_class_value);
4146
4583
  }
4147
4584
  if (dirty[0] & /*isDataSaving*/
4148
- 1) {
4585
+ 4) {
4149
4586
  input.disabled = /*isDataSaving*/
4150
- ctx2[0];
4587
+ ctx2[2];
4151
4588
  }
4152
4589
  if (dirty[0] & /*typeinAnswer*/
4153
- 8 && input.value !== /*typeinAnswer*/
4154
- ctx2[3]) {
4590
+ 32 && input.value !== /*typeinAnswer*/
4591
+ ctx2[5]) {
4155
4592
  set_input_value(
4156
4593
  input,
4157
4594
  /*typeinAnswer*/
4158
- ctx2[3]
4595
+ ctx2[5]
4159
4596
  );
4160
4597
  }
4161
4598
  },
4162
- i: noop,
4163
- o: noop,
4599
+ i: noop,
4600
+ o: noop,
4601
+ d(detaching) {
4602
+ if (detaching) {
4603
+ detach(input);
4604
+ }
4605
+ mounted = false;
4606
+ run_all(dispose);
4607
+ }
4608
+ };
4609
+ }
4610
+ function create_if_block_72(ctx) {
4611
+ let current_block_type_index;
4612
+ let if_block;
4613
+ let if_block_anchor;
4614
+ let current;
4615
+ const if_block_creators = [create_if_block_82, create_else_block_3];
4616
+ const if_blocks = [];
4617
+ function select_block_type_1(ctx2, dirty) {
4618
+ if (
4619
+ /*inlinePromptString*/
4620
+ ctx2[11]
4621
+ )
4622
+ return 0;
4623
+ return 1;
4624
+ }
4625
+ current_block_type_index = select_block_type_1(ctx, [-1, -1, -1]);
4626
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
4627
+ return {
4628
+ c() {
4629
+ if_block.c();
4630
+ if_block_anchor = empty();
4631
+ },
4632
+ m(target, anchor) {
4633
+ if_blocks[current_block_type_index].m(target, anchor);
4634
+ insert(target, if_block_anchor, anchor);
4635
+ current = true;
4636
+ },
4637
+ p(ctx2, dirty) {
4638
+ let previous_block_index = current_block_type_index;
4639
+ current_block_type_index = select_block_type_1(ctx2, dirty);
4640
+ if (current_block_type_index === previous_block_index) {
4641
+ if_blocks[current_block_type_index].p(ctx2, dirty);
4642
+ } else {
4643
+ group_outros();
4644
+ transition_out(if_blocks[previous_block_index], 1, 1, () => {
4645
+ if_blocks[previous_block_index] = null;
4646
+ });
4647
+ check_outros();
4648
+ if_block = if_blocks[current_block_type_index];
4649
+ if (!if_block) {
4650
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
4651
+ if_block.c();
4652
+ } else {
4653
+ if_block.p(ctx2, dirty);
4654
+ }
4655
+ transition_in(if_block, 1);
4656
+ if_block.m(if_block_anchor.parentNode, if_block_anchor);
4657
+ }
4658
+ },
4659
+ i(local) {
4660
+ if (current)
4661
+ return;
4662
+ transition_in(if_block);
4663
+ current = true;
4664
+ },
4665
+ o(local) {
4666
+ transition_out(if_block);
4667
+ current = false;
4668
+ },
4669
+ d(detaching) {
4670
+ if (detaching) {
4671
+ detach(if_block_anchor);
4672
+ }
4673
+ if_blocks[current_block_type_index].d(detaching);
4674
+ }
4675
+ };
4676
+ }
4677
+ function create_else_block_3(ctx) {
4678
+ let invalidbanner;
4679
+ let current;
4680
+ invalidbanner = new InvalidBanner_default({
4681
+ props: {
4682
+ bannerLabel: "No prompt was provided. Please contact the administrator for assistance."
4683
+ }
4684
+ });
4685
+ return {
4686
+ c() {
4687
+ create_component(invalidbanner.$$.fragment);
4688
+ },
4689
+ m(target, anchor) {
4690
+ mount_component(invalidbanner, target, anchor);
4691
+ current = true;
4692
+ },
4693
+ p: noop,
4694
+ i(local) {
4695
+ if (current)
4696
+ return;
4697
+ transition_in(invalidbanner.$$.fragment, local);
4698
+ current = true;
4699
+ },
4700
+ o(local) {
4701
+ transition_out(invalidbanner.$$.fragment, local);
4702
+ current = false;
4703
+ },
4704
+ d(detaching) {
4705
+ destroy_component(invalidbanner, detaching);
4706
+ }
4707
+ };
4708
+ }
4709
+ function create_if_block_82(ctx) {
4710
+ let div0;
4711
+ let commonstringtohtml;
4712
+ let t0;
4713
+ let div1;
4714
+ let t1;
4715
+ let div2;
4716
+ let div2_class_value;
4717
+ let current;
4718
+ commonstringtohtml = new CommonStringToHtml_default({
4719
+ props: {
4720
+ htmlString: (
4721
+ /*inlinePromptString*/
4722
+ ctx[11]
4723
+ ),
4724
+ otherClass: "inline-typein-container mt-6"
4725
+ }
4726
+ });
4727
+ return {
4728
+ c() {
4729
+ div0 = element("div");
4730
+ create_component(commonstringtohtml.$$.fragment);
4731
+ t0 = space();
4732
+ div1 = element("div");
4733
+ t1 = space();
4734
+ div2 = element("div");
4735
+ attr(div1, "class", "divider my-6");
4736
+ attr(div2, "class", div2_class_value = "absolute inset-0 bg-transparent " + /*isDataSaving*/
4737
+ (ctx[2] ? "" : "hidden"));
4738
+ },
4739
+ m(target, anchor) {
4740
+ insert(target, div0, anchor);
4741
+ mount_component(commonstringtohtml, div0, null);
4742
+ ctx[32](div0);
4743
+ insert(target, t0, anchor);
4744
+ insert(target, div1, anchor);
4745
+ insert(target, t1, anchor);
4746
+ insert(target, div2, anchor);
4747
+ current = true;
4748
+ },
4749
+ p(ctx2, dirty) {
4750
+ const commonstringtohtml_changes = {};
4751
+ if (dirty[0] & /*inlinePromptString*/
4752
+ 2048)
4753
+ commonstringtohtml_changes.htmlString = /*inlinePromptString*/
4754
+ ctx2[11];
4755
+ commonstringtohtml.$set(commonstringtohtml_changes);
4756
+ if (!current || dirty[0] & /*isDataSaving*/
4757
+ 4 && div2_class_value !== (div2_class_value = "absolute inset-0 bg-transparent " + /*isDataSaving*/
4758
+ (ctx2[2] ? "" : "hidden"))) {
4759
+ attr(div2, "class", div2_class_value);
4760
+ }
4761
+ },
4762
+ i(local) {
4763
+ if (current)
4764
+ return;
4765
+ transition_in(commonstringtohtml.$$.fragment, local);
4766
+ current = true;
4767
+ },
4768
+ o(local) {
4769
+ transition_out(commonstringtohtml.$$.fragment, local);
4770
+ current = false;
4771
+ },
4772
+ d(detaching) {
4773
+ if (detaching) {
4774
+ detach(div0);
4775
+ detach(t0);
4776
+ detach(div1);
4777
+ detach(t1);
4778
+ detach(div2);
4779
+ }
4780
+ destroy_component(commonstringtohtml);
4781
+ ctx[32](null);
4782
+ }
4783
+ };
4784
+ }
4785
+ function create_if_block7(ctx) {
4786
+ let t0;
4787
+ let current_block_type_index;
4788
+ let if_block1;
4789
+ let t1;
4790
+ let if_block2_anchor;
4791
+ let current;
4792
+ let if_block0 = !/*isInlineTypein*/
4793
+ ctx[22] && create_if_block_52(ctx);
4794
+ const if_block_creators = [create_if_block_43, create_else_block_1];
4795
+ const if_blocks = [];
4796
+ function select_block_type_3(ctx2, dirty) {
4797
+ if (!/*isInlineTypein*/
4798
+ ctx2[22])
4799
+ return 0;
4800
+ return 1;
4801
+ }
4802
+ current_block_type_index = select_block_type_3(ctx, [-1, -1, -1]);
4803
+ if_block1 = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
4804
+ let if_block2 = (
4805
+ /*isInlineTypein*/
4806
+ ctx[22] && create_if_block_16(ctx)
4807
+ );
4808
+ return {
4809
+ c() {
4810
+ if (if_block0)
4811
+ if_block0.c();
4812
+ t0 = space();
4813
+ if_block1.c();
4814
+ t1 = space();
4815
+ if (if_block2)
4816
+ if_block2.c();
4817
+ if_block2_anchor = empty();
4818
+ },
4819
+ m(target, anchor) {
4820
+ if (if_block0)
4821
+ if_block0.m(target, anchor);
4822
+ insert(target, t0, anchor);
4823
+ if_blocks[current_block_type_index].m(target, anchor);
4824
+ insert(target, t1, anchor);
4825
+ if (if_block2)
4826
+ if_block2.m(target, anchor);
4827
+ insert(target, if_block2_anchor, anchor);
4828
+ current = true;
4829
+ },
4830
+ p(ctx2, dirty) {
4831
+ if (!/*isInlineTypein*/
4832
+ ctx2[22])
4833
+ if_block0.p(ctx2, dirty);
4834
+ if_block1.p(ctx2, dirty);
4835
+ if (
4836
+ /*isInlineTypein*/
4837
+ ctx2[22]
4838
+ )
4839
+ if_block2.p(ctx2, dirty);
4840
+ },
4841
+ i(local) {
4842
+ if (current)
4843
+ return;
4844
+ transition_in(if_block0);
4845
+ transition_in(if_block1);
4846
+ transition_in(if_block2);
4847
+ current = true;
4848
+ },
4849
+ o(local) {
4850
+ transition_out(if_block0);
4851
+ transition_out(if_block1);
4852
+ transition_out(if_block2);
4853
+ current = false;
4854
+ },
4164
4855
  d(detaching) {
4165
4856
  if (detaching) {
4166
- detach(input);
4857
+ detach(t0);
4858
+ detach(t1);
4859
+ detach(if_block2_anchor);
4167
4860
  }
4168
- mounted = false;
4169
- run_all(dispose);
4861
+ if (if_block0)
4862
+ if_block0.d(detaching);
4863
+ if_blocks[current_block_type_index].d(detaching);
4864
+ if (if_block2)
4865
+ if_block2.d(detaching);
4170
4866
  }
4171
4867
  };
4172
4868
  }
4173
- function create_if_block_24(ctx) {
4869
+ function create_if_block_52(ctx) {
4870
+ let div;
4871
+ let span0;
4174
4872
  let current_block_type_index;
4175
4873
  let if_block;
4176
- let if_block_anchor;
4874
+ let span0_class_value;
4875
+ let t0;
4876
+ let span1;
4877
+ let t1;
4878
+ let div_class_value;
4177
4879
  let current;
4178
- const if_block_creators = [create_if_block_33, create_else_block_1];
4880
+ const if_block_creators = [create_if_block_62, create_else_block_2];
4179
4881
  const if_blocks = [];
4180
- function select_block_type_1(ctx2, dirty) {
4882
+ function select_block_type_2(ctx2, dirty) {
4181
4883
  if (
4182
- /*inlinePromptString*/
4183
- ctx2[7]
4884
+ /*isResultCorrect*/
4885
+ ctx2[1]
4184
4886
  )
4185
4887
  return 0;
4186
4888
  return 1;
4187
4889
  }
4188
- current_block_type_index = select_block_type_1(ctx, [-1, -1]);
4890
+ current_block_type_index = select_block_type_2(ctx, [-1, -1, -1]);
4189
4891
  if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
4190
4892
  return {
4191
4893
  c() {
4894
+ div = element("div");
4895
+ span0 = element("span");
4192
4896
  if_block.c();
4193
- if_block_anchor = empty();
4897
+ t0 = space();
4898
+ span1 = element("span");
4899
+ t1 = text(
4900
+ /*resultLabel*/
4901
+ ctx[10]
4902
+ );
4903
+ attr(span0, "class", span0_class_value = /*isResultCorrect*/
4904
+ (ctx[1] ? "text-green-800" : "text-red-800") + " mr-2 p-0.5");
4905
+ attr(span1, "class", "p2");
4906
+ attr(div, "aria-hidden", "true");
4907
+ attr(div, "class", div_class_value = "flex items-center text-charcoal " + /*typeinType*/
4908
+ (ctx[21] === TYPEIN_TYPE_SHORT ? "mt-2" : "mt-0.5"));
4194
4909
  },
4195
4910
  m(target, anchor) {
4196
- if_blocks[current_block_type_index].m(target, anchor);
4197
- insert(target, if_block_anchor, anchor);
4911
+ insert(target, div, anchor);
4912
+ append(div, span0);
4913
+ if_blocks[current_block_type_index].m(span0, null);
4914
+ append(div, t0);
4915
+ append(div, span1);
4916
+ append(span1, t1);
4198
4917
  current = true;
4199
4918
  },
4200
4919
  p(ctx2, dirty) {
4201
4920
  let previous_block_index = current_block_type_index;
4202
- current_block_type_index = select_block_type_1(ctx2, dirty);
4203
- if (current_block_type_index === previous_block_index) {
4204
- if_blocks[current_block_type_index].p(ctx2, dirty);
4205
- } else {
4921
+ current_block_type_index = select_block_type_2(ctx2, dirty);
4922
+ if (current_block_type_index !== previous_block_index) {
4206
4923
  group_outros();
4207
4924
  transition_out(if_blocks[previous_block_index], 1, 1, () => {
4208
4925
  if_blocks[previous_block_index] = null;
@@ -4213,11 +4930,22 @@
4213
4930
  if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
4214
4931
  if_block.c();
4215
4932
  } else {
4216
- if_block.p(ctx2, dirty);
4217
4933
  }
4218
4934
  transition_in(if_block, 1);
4219
- if_block.m(if_block_anchor.parentNode, if_block_anchor);
4935
+ if_block.m(span0, null);
4220
4936
  }
4937
+ if (!current || dirty[0] & /*isResultCorrect*/
4938
+ 2 && span0_class_value !== (span0_class_value = /*isResultCorrect*/
4939
+ (ctx2[1] ? "text-green-800" : "text-red-800") + " mr-2 p-0.5")) {
4940
+ attr(span0, "class", span0_class_value);
4941
+ }
4942
+ if (!current || dirty[0] & /*resultLabel*/
4943
+ 1024)
4944
+ set_data(
4945
+ t1,
4946
+ /*resultLabel*/
4947
+ ctx2[10]
4948
+ );
4221
4949
  },
4222
4950
  i(local) {
4223
4951
  if (current)
@@ -4231,169 +4959,321 @@
4231
4959
  },
4232
4960
  d(detaching) {
4233
4961
  if (detaching) {
4234
- detach(if_block_anchor);
4962
+ detach(div);
4235
4963
  }
4236
- if_blocks[current_block_type_index].d(detaching);
4964
+ if_blocks[current_block_type_index].d();
4965
+ }
4966
+ };
4967
+ }
4968
+ function create_else_block_2(ctx) {
4969
+ let errorsolid;
4970
+ let current;
4971
+ errorsolid = new ErrorSolid_default({});
4972
+ return {
4973
+ c() {
4974
+ create_component(errorsolid.$$.fragment);
4975
+ },
4976
+ m(target, anchor) {
4977
+ mount_component(errorsolid, target, anchor);
4978
+ current = true;
4979
+ },
4980
+ i(local) {
4981
+ if (current)
4982
+ return;
4983
+ transition_in(errorsolid.$$.fragment, local);
4984
+ current = true;
4985
+ },
4986
+ o(local) {
4987
+ transition_out(errorsolid.$$.fragment, local);
4988
+ current = false;
4989
+ },
4990
+ d(detaching) {
4991
+ destroy_component(errorsolid, detaching);
4992
+ }
4993
+ };
4994
+ }
4995
+ function create_if_block_62(ctx) {
4996
+ let successsolid;
4997
+ let current;
4998
+ successsolid = new SuccessSolid_default({});
4999
+ return {
5000
+ c() {
5001
+ create_component(successsolid.$$.fragment);
5002
+ },
5003
+ m(target, anchor) {
5004
+ mount_component(successsolid, target, anchor);
5005
+ current = true;
5006
+ },
5007
+ i(local) {
5008
+ if (current)
5009
+ return;
5010
+ transition_in(successsolid.$$.fragment, local);
5011
+ current = true;
5012
+ },
5013
+ o(local) {
5014
+ transition_out(successsolid.$$.fragment, local);
5015
+ current = false;
5016
+ },
5017
+ d(detaching) {
5018
+ destroy_component(successsolid, detaching);
4237
5019
  }
4238
5020
  };
4239
5021
  }
4240
5022
  function create_else_block_1(ctx) {
4241
- let invalidbanner;
5023
+ let promptresultv2;
4242
5024
  let current;
4243
- invalidbanner = new InvalidBanner_default({
5025
+ promptresultv2 = new PromptResultFeedbackv2_default({
4244
5026
  props: {
4245
- bannerLabel: "No prompt was provided. Please contact the administrator for assistance."
5027
+ isResultCorrect: (
5028
+ /*isResultCorrect*/
5029
+ ctx[1]
5030
+ ),
5031
+ resultFeedback: (
5032
+ /*isSkippedAnswer*/
5033
+ ctx[8] ? "" : (
5034
+ /*resultFeedback*/
5035
+ ctx[6]
5036
+ )
5037
+ ),
5038
+ isSkipped: (
5039
+ /*isSkippedAnswer*/
5040
+ ctx[8]
5041
+ ),
5042
+ hasIcon: !/*isResultCorrect*/
5043
+ ctx[1] || /*isSkippedAnswer*/
5044
+ ctx[8],
5045
+ resultFeedbackTitle: (
5046
+ /*isResultCorrect*/
5047
+ ctx[1] || /*isSkippedAnswer*/
5048
+ ctx[8] ? "" : "Why they got it wrong"
5049
+ )
4246
5050
  }
4247
5051
  });
4248
5052
  return {
4249
5053
  c() {
4250
- create_component(invalidbanner.$$.fragment);
5054
+ create_component(promptresultv2.$$.fragment);
4251
5055
  },
4252
5056
  m(target, anchor) {
4253
- mount_component(invalidbanner, target, anchor);
5057
+ mount_component(promptresultv2, target, anchor);
4254
5058
  current = true;
4255
5059
  },
4256
- p: noop,
5060
+ p(ctx2, dirty) {
5061
+ const promptresultv2_changes = {};
5062
+ if (dirty[0] & /*isResultCorrect*/
5063
+ 2)
5064
+ promptresultv2_changes.isResultCorrect = /*isResultCorrect*/
5065
+ ctx2[1];
5066
+ if (dirty[0] & /*isSkippedAnswer, resultFeedback*/
5067
+ 320)
5068
+ promptresultv2_changes.resultFeedback = /*isSkippedAnswer*/
5069
+ ctx2[8] ? "" : (
5070
+ /*resultFeedback*/
5071
+ ctx2[6]
5072
+ );
5073
+ if (dirty[0] & /*isSkippedAnswer*/
5074
+ 256)
5075
+ promptresultv2_changes.isSkipped = /*isSkippedAnswer*/
5076
+ ctx2[8];
5077
+ if (dirty[0] & /*isResultCorrect, isSkippedAnswer*/
5078
+ 258)
5079
+ promptresultv2_changes.hasIcon = !/*isResultCorrect*/
5080
+ ctx2[1] || /*isSkippedAnswer*/
5081
+ ctx2[8];
5082
+ if (dirty[0] & /*isResultCorrect, isSkippedAnswer*/
5083
+ 258)
5084
+ promptresultv2_changes.resultFeedbackTitle = /*isResultCorrect*/
5085
+ ctx2[1] || /*isSkippedAnswer*/
5086
+ ctx2[8] ? "" : "Why they got it wrong";
5087
+ promptresultv2.$set(promptresultv2_changes);
5088
+ },
4257
5089
  i(local) {
4258
5090
  if (current)
4259
5091
  return;
4260
- transition_in(invalidbanner.$$.fragment, local);
5092
+ transition_in(promptresultv2.$$.fragment, local);
4261
5093
  current = true;
4262
5094
  },
4263
5095
  o(local) {
4264
- transition_out(invalidbanner.$$.fragment, local);
5096
+ transition_out(promptresultv2.$$.fragment, local);
4265
5097
  current = false;
4266
5098
  },
4267
5099
  d(detaching) {
4268
- destroy_component(invalidbanner, detaching);
5100
+ destroy_component(promptresultv2, detaching);
5101
+ }
5102
+ };
5103
+ }
5104
+ function create_if_block_43(ctx) {
5105
+ let promptresult;
5106
+ let current;
5107
+ promptresult = new PromptResultFeedback_default({
5108
+ props: {
5109
+ isResultCorrect: (
5110
+ /*isResultCorrect*/
5111
+ ctx[1]
5112
+ ),
5113
+ resultFeedback: (
5114
+ /*resultFeedback*/
5115
+ ctx[6]
5116
+ )
5117
+ }
5118
+ });
5119
+ return {
5120
+ c() {
5121
+ create_component(promptresult.$$.fragment);
5122
+ },
5123
+ m(target, anchor) {
5124
+ mount_component(promptresult, target, anchor);
5125
+ current = true;
5126
+ },
5127
+ p(ctx2, dirty) {
5128
+ const promptresult_changes = {};
5129
+ if (dirty[0] & /*isResultCorrect*/
5130
+ 2)
5131
+ promptresult_changes.isResultCorrect = /*isResultCorrect*/
5132
+ ctx2[1];
5133
+ if (dirty[0] & /*resultFeedback*/
5134
+ 64)
5135
+ promptresult_changes.resultFeedback = /*resultFeedback*/
5136
+ ctx2[6];
5137
+ promptresult.$set(promptresult_changes);
5138
+ },
5139
+ i(local) {
5140
+ if (current)
5141
+ return;
5142
+ transition_in(promptresult.$$.fragment, local);
5143
+ current = true;
5144
+ },
5145
+ o(local) {
5146
+ transition_out(promptresult.$$.fragment, local);
5147
+ current = false;
5148
+ },
5149
+ d(detaching) {
5150
+ destroy_component(promptresult, detaching);
4269
5151
  }
4270
5152
  };
4271
5153
  }
4272
- function create_if_block_33(ctx) {
4273
- let commonstringtohtml;
4274
- let t2;
4275
- let div;
5154
+ function create_if_block_16(ctx) {
5155
+ let each_1_anchor;
4276
5156
  let current;
4277
- commonstringtohtml = new CommonStringToHtml_default({
4278
- props: {
4279
- htmlString: (
4280
- /*inlinePromptString*/
4281
- ctx[7]
4282
- ),
4283
- otherClass: "inline-typein-container mt-6"
4284
- }
5157
+ let each_value = ensure_array_like(
5158
+ /*correctAnswerData*/
5159
+ ctx[14]
5160
+ );
5161
+ let each_blocks = [];
5162
+ for (let i = 0; i < each_value.length; i += 1) {
5163
+ each_blocks[i] = create_each_block2(get_each_context2(ctx, each_value, i));
5164
+ }
5165
+ const out = (i) => transition_out(each_blocks[i], 1, 1, () => {
5166
+ each_blocks[i] = null;
4285
5167
  });
4286
5168
  return {
4287
5169
  c() {
4288
- create_component(commonstringtohtml.$$.fragment);
4289
- t2 = space();
4290
- div = element("div");
4291
- attr(div, "class", "divider my-6");
5170
+ for (let i = 0; i < each_blocks.length; i += 1) {
5171
+ each_blocks[i].c();
5172
+ }
5173
+ each_1_anchor = empty();
4292
5174
  },
4293
5175
  m(target, anchor) {
4294
- mount_component(commonstringtohtml, target, anchor);
4295
- insert(target, t2, anchor);
4296
- insert(target, div, anchor);
5176
+ for (let i = 0; i < each_blocks.length; i += 1) {
5177
+ if (each_blocks[i]) {
5178
+ each_blocks[i].m(target, anchor);
5179
+ }
5180
+ }
5181
+ insert(target, each_1_anchor, anchor);
4297
5182
  current = true;
4298
5183
  },
4299
5184
  p(ctx2, dirty) {
4300
- const commonstringtohtml_changes = {};
4301
- if (dirty[0] & /*inlinePromptString*/
4302
- 128)
4303
- commonstringtohtml_changes.htmlString = /*inlinePromptString*/
4304
- ctx2[7];
4305
- commonstringtohtml.$set(commonstringtohtml_changes);
5185
+ if (dirty[0] & /*inlineIteration, inlineAnswerResult, correctAnswerDataLength, sessionId, inlineTypeinAnswer, correctAnswerData*/
5186
+ 188552) {
5187
+ each_value = ensure_array_like(
5188
+ /*correctAnswerData*/
5189
+ ctx2[14]
5190
+ );
5191
+ let i;
5192
+ for (i = 0; i < each_value.length; i += 1) {
5193
+ const child_ctx = get_each_context2(ctx2, each_value, i);
5194
+ if (each_blocks[i]) {
5195
+ each_blocks[i].p(child_ctx, dirty);
5196
+ transition_in(each_blocks[i], 1);
5197
+ } else {
5198
+ each_blocks[i] = create_each_block2(child_ctx);
5199
+ each_blocks[i].c();
5200
+ transition_in(each_blocks[i], 1);
5201
+ each_blocks[i].m(each_1_anchor.parentNode, each_1_anchor);
5202
+ }
5203
+ }
5204
+ group_outros();
5205
+ for (i = each_value.length; i < each_blocks.length; i += 1) {
5206
+ out(i);
5207
+ }
5208
+ check_outros();
5209
+ }
4306
5210
  },
4307
5211
  i(local) {
4308
5212
  if (current)
4309
5213
  return;
4310
- transition_in(commonstringtohtml.$$.fragment, local);
5214
+ for (let i = 0; i < each_value.length; i += 1) {
5215
+ transition_in(each_blocks[i]);
5216
+ }
4311
5217
  current = true;
4312
5218
  },
4313
5219
  o(local) {
4314
- transition_out(commonstringtohtml.$$.fragment, local);
5220
+ each_blocks = each_blocks.filter(Boolean);
5221
+ for (let i = 0; i < each_blocks.length; i += 1) {
5222
+ transition_out(each_blocks[i]);
5223
+ }
4315
5224
  current = false;
4316
5225
  },
4317
5226
  d(detaching) {
4318
5227
  if (detaching) {
4319
- detach(t2);
4320
- detach(div);
5228
+ detach(each_1_anchor);
4321
5229
  }
4322
- destroy_component(commonstringtohtml, detaching);
5230
+ destroy_each(each_blocks, detaching);
4323
5231
  }
4324
5232
  };
4325
5233
  }
4326
- function create_if_block6(ctx) {
4327
- let div;
5234
+ function create_if_block_25(ctx) {
5235
+ let span1;
4328
5236
  let span0;
4329
5237
  let current_block_type_index;
4330
5238
  let if_block;
4331
5239
  let span0_class_value;
4332
- let t0;
4333
- let span1;
4334
- let t1;
4335
- let div_class_value;
4336
- let t2;
4337
- let promptresult;
4338
5240
  let current;
4339
- const if_block_creators = [create_if_block_15, create_else_block2];
5241
+ const if_block_creators = [create_if_block_33, create_else_block2];
4340
5242
  const if_blocks = [];
4341
- function select_block_type_2(ctx2, dirty) {
5243
+ function select_block_type_4(ctx2, dirty) {
4342
5244
  if (
4343
- /*isResultCorrect*/
4344
- ctx2[2]
5245
+ /*inlineAnswerResult*/
5246
+ ctx2[13][
5247
+ /*itemIndex*/
5248
+ ctx2[60]
5249
+ ]
4345
5250
  )
4346
5251
  return 0;
4347
5252
  return 1;
4348
5253
  }
4349
- current_block_type_index = select_block_type_2(ctx, [-1, -1]);
5254
+ current_block_type_index = select_block_type_4(ctx, [-1, -1, -1]);
4350
5255
  if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
4351
- promptresult = new PromptResultFeedback_default({
4352
- props: {
4353
- isResultCorrect: (
4354
- /*isResultCorrect*/
4355
- ctx[2]
4356
- ),
4357
- resultFeedback: (
4358
- /*resultFeedback*/
4359
- ctx[4]
4360
- )
4361
- }
4362
- });
4363
5256
  return {
4364
5257
  c() {
4365
- div = element("div");
5258
+ span1 = element("span");
4366
5259
  span0 = element("span");
4367
5260
  if_block.c();
4368
- t0 = space();
4369
- span1 = element("span");
4370
- t1 = text(
4371
- /*resultLabel*/
4372
- ctx[6]
4373
- );
4374
- t2 = space();
4375
- create_component(promptresult.$$.fragment);
4376
- attr(span0, "class", span0_class_value = /*isResultCorrect*/
4377
- (ctx[2] ? "text-green-800" : "text-red-800") + " mr-2 p-0.5");
4378
- attr(span1, "class", "p2");
4379
- attr(div, "aria-hidden", "true");
4380
- attr(div, "class", div_class_value = "flex items-center text-charcoal " + /*typeinType*/
4381
- (ctx[13] === TYPEIN_TYPE_SHORT ? "mt-2" : "mt-0.5"));
5261
+ attr(span0, "class", span0_class_value = /*inlineAnswerResult*/
5262
+ (ctx[13][
5263
+ /*itemIndex*/
5264
+ ctx[60]
5265
+ ] ? "text-green-900" : "text-red-900") + " p-0.5");
5266
+ attr(span1, "class", "w-6 h-6 absolute right-4 top-3 bottom-0 my-auto flex item-center justify-center");
4382
5267
  },
4383
5268
  m(target, anchor) {
4384
- insert(target, div, anchor);
4385
- append(div, span0);
5269
+ insert(target, span1, anchor);
5270
+ append(span1, span0);
4386
5271
  if_blocks[current_block_type_index].m(span0, null);
4387
- append(div, t0);
4388
- append(div, span1);
4389
- append(span1, t1);
4390
- insert(target, t2, anchor);
4391
- mount_component(promptresult, target, anchor);
4392
5272
  current = true;
4393
5273
  },
4394
5274
  p(ctx2, dirty) {
4395
5275
  let previous_block_index = current_block_type_index;
4396
- current_block_type_index = select_block_type_2(ctx2, dirty);
5276
+ current_block_type_index = select_block_type_4(ctx2, dirty);
4397
5277
  if (current_block_type_index !== previous_block_index) {
4398
5278
  group_outros();
4399
5279
  transition_out(if_blocks[previous_block_index], 1, 1, () => {
@@ -4409,48 +5289,30 @@
4409
5289
  transition_in(if_block, 1);
4410
5290
  if_block.m(span0, null);
4411
5291
  }
4412
- if (!current || dirty[0] & /*isResultCorrect*/
4413
- 4 && span0_class_value !== (span0_class_value = /*isResultCorrect*/
4414
- (ctx2[2] ? "text-green-800" : "text-red-800") + " mr-2 p-0.5")) {
5292
+ if (!current || dirty[0] & /*inlineAnswerResult*/
5293
+ 8192 && span0_class_value !== (span0_class_value = /*inlineAnswerResult*/
5294
+ (ctx2[13][
5295
+ /*itemIndex*/
5296
+ ctx2[60]
5297
+ ] ? "text-green-900" : "text-red-900") + " p-0.5")) {
4415
5298
  attr(span0, "class", span0_class_value);
4416
5299
  }
4417
- if (!current || dirty[0] & /*resultLabel*/
4418
- 64)
4419
- set_data(
4420
- t1,
4421
- /*resultLabel*/
4422
- ctx2[6]
4423
- );
4424
- const promptresult_changes = {};
4425
- if (dirty[0] & /*isResultCorrect*/
4426
- 4)
4427
- promptresult_changes.isResultCorrect = /*isResultCorrect*/
4428
- ctx2[2];
4429
- if (dirty[0] & /*resultFeedback*/
4430
- 16)
4431
- promptresult_changes.resultFeedback = /*resultFeedback*/
4432
- ctx2[4];
4433
- promptresult.$set(promptresult_changes);
4434
5300
  },
4435
5301
  i(local) {
4436
5302
  if (current)
4437
5303
  return;
4438
5304
  transition_in(if_block);
4439
- transition_in(promptresult.$$.fragment, local);
4440
5305
  current = true;
4441
5306
  },
4442
5307
  o(local) {
4443
5308
  transition_out(if_block);
4444
- transition_out(promptresult.$$.fragment, local);
4445
5309
  current = false;
4446
5310
  },
4447
5311
  d(detaching) {
4448
5312
  if (detaching) {
4449
- detach(div);
4450
- detach(t2);
5313
+ detach(span1);
4451
5314
  }
4452
5315
  if_blocks[current_block_type_index].d();
4453
- destroy_component(promptresult, detaching);
4454
5316
  }
4455
5317
  };
4456
5318
  }
@@ -4481,7 +5343,7 @@
4481
5343
  }
4482
5344
  };
4483
5345
  }
4484
- function create_if_block_15(ctx) {
5346
+ function create_if_block_33(ctx) {
4485
5347
  let successsolid;
4486
5348
  let current;
4487
5349
  successsolid = new SuccessSolid_default({});
@@ -4496,15 +5358,417 @@
4496
5358
  i(local) {
4497
5359
  if (current)
4498
5360
  return;
4499
- transition_in(successsolid.$$.fragment, local);
5361
+ transition_in(successsolid.$$.fragment, local);
5362
+ current = true;
5363
+ },
5364
+ o(local) {
5365
+ transition_out(successsolid.$$.fragment, local);
5366
+ current = false;
5367
+ },
5368
+ d(detaching) {
5369
+ destroy_component(successsolid, detaching);
5370
+ }
5371
+ };
5372
+ }
5373
+ function create_each_block_1(ctx) {
5374
+ let div1;
5375
+ let p;
5376
+ let p_class_value;
5377
+ let t2;
5378
+ let div0;
5379
+ let label;
5380
+ let span0;
5381
+ let t3;
5382
+ let span1;
5383
+ let label_for_value;
5384
+ let label_class_value;
5385
+ let t5;
5386
+ let textarea;
5387
+ let textarea_aria_label_value;
5388
+ let textarea_class_value;
5389
+ let textarea_id_value;
5390
+ let textarea_value_value;
5391
+ let textarea_tabindex_value;
5392
+ let autosize_action;
5393
+ let t6;
5394
+ let show_if = useIsEven(
5395
+ /*iterationIndex*/
5396
+ ctx[63]
5397
+ );
5398
+ let div1_class_value;
5399
+ let current;
5400
+ let mounted;
5401
+ let dispose;
5402
+ let if_block = show_if && create_if_block_25(ctx);
5403
+ return {
5404
+ c() {
5405
+ div1 = element("div");
5406
+ p = element("p");
5407
+ p.textContent = `${useIsEven(
5408
+ /*iterationIndex*/
5409
+ ctx[63]
5410
+ ) ? `Student's` : "Correct"} answers:`;
5411
+ t2 = space();
5412
+ div0 = element("div");
5413
+ label = element("label");
5414
+ span0 = element("span");
5415
+ t3 = space();
5416
+ span1 = element("span");
5417
+ span1.textContent = `${/*itemIndex*/
5418
+ ctx[60] + 1}`;
5419
+ t5 = space();
5420
+ textarea = element("textarea");
5421
+ t6 = space();
5422
+ if (if_block)
5423
+ if_block.c();
5424
+ attr(p, "class", p_class_value = "text-base text-charcoal font-semibold " + (useIsEven(
5425
+ /*iterationIndex*/
5426
+ ctx[63]
5427
+ ) && /*itemIndex*/
5428
+ ctx[60] !== 0 ? "hidden" : !useIsEven(
5429
+ /*iterationIndex*/
5430
+ ctx[63]
5431
+ ) && /*itemIndex*/
5432
+ ctx[60] !== 0 ? "mt-2 md:mt-0 md:hidden" : !useIsEven(
5433
+ /*iterationIndex*/
5434
+ ctx[63]
5435
+ ) && /*itemIndex*/
5436
+ ctx[60] === 0 ? "mt-2 md:mt-0" : (
5437
+ /*itemIndex*/
5438
+ ctx[60] === 0 ? "" : ""
5439
+ )));
5440
+ attr(span0, "class", "absolute inset-0 bottom-[7px] bg-black opacity-5 rounded-l-lg w-8.5 top-1");
5441
+ attr(span1, "class", "absolute font-semibold text-base leading-[19px] text-charcoal px-3 inline-block top-1/2 -translate-y-1/2 -mt-0.5");
5442
+ attr(label, "for", label_for_value = `${/*iterationIndex*/
5443
+ ctx[63]}-${/*sessionId*/
5444
+ ctx[3]}-${/*itemIndex*/
5445
+ ctx[60]}`);
5446
+ attr(label, "class", label_class_value = "absolute left-0 top-[13px] bottom-0 " + /*correctAnswerDataLength*/
5447
+ (ctx[15] > 1 && !useIsEven(
5448
+ /*iterationIndex*/
5449
+ ctx[63]
5450
+ ) ? "hidden md:inline-block" : (
5451
+ /*correctAnswerDataLength*/
5452
+ ctx[15] > 1 && useIsEven(
5453
+ /*iterationIndex*/
5454
+ ctx[63]
5455
+ ) ? "" : "hidden"
5456
+ )));
5457
+ attr(label, "aria-hidden", "true");
5458
+ attr(textarea, "aria-label", textarea_aria_label_value = `${useIsEven(
5459
+ /*iterationIndex*/
5460
+ ctx[63]
5461
+ ) ? `Student's` : "Correct"} answer${useIsEven(
5462
+ /*iterationIndex*/
5463
+ ctx[63]
5464
+ ) && /*inlineAnswerResult*/
5465
+ ctx[13][
5466
+ /*itemIndex*/
5467
+ ctx[60]
5468
+ ] ? " (Correct)" : useIsEven(
5469
+ /*iterationIndex*/
5470
+ ctx[63]
5471
+ ) && !/*inlineAnswerResult*/
5472
+ ctx[13][
5473
+ /*itemIndex*/
5474
+ ctx[60]
5475
+ ] ? " (Incorrect)" : ""}, Item number ${/*itemIndex*/
5476
+ ctx[60] + 1}:`);
5477
+ attr(textarea, "class", textarea_class_value = "typein-textbox py-[9px] pr-4 mt-4 " + /*correctAnswerDataLength*/
5478
+ (ctx[15] > 1 && !useIsEven(
5479
+ /*iterationIndex*/
5480
+ ctx[63]
5481
+ ) ? "md:pl-13.2" : (
5482
+ /*correctAnswerDataLength*/
5483
+ ctx[15] > 1 && useIsEven(
5484
+ /*iterationIndex*/
5485
+ ctx[63]
5486
+ ) ? "pl-13.2" : ""
5487
+ )) + " " + (useIsEven(
5488
+ /*iterationIndex*/
5489
+ ctx[63]
5490
+ ) ? "!pr-11" : "") + " " + (useIsEven(
5491
+ /*iterationIndex*/
5492
+ ctx[63]
5493
+ ) && /*inlineAnswerResult*/
5494
+ ctx[13][
5495
+ /*itemIndex*/
5496
+ ctx[60]
5497
+ ] ? "border-2 border-green-900" : useIsEven(
5498
+ /*iterationIndex*/
5499
+ ctx[63]
5500
+ ) && !/*inlineAnswerResult*/
5501
+ ctx[13][
5502
+ /*itemIndex*/
5503
+ ctx[60]
5504
+ ] ? "border-2 border-red-900 bg-red-50" : ""));
5505
+ attr(textarea, "id", textarea_id_value = `${/*iterationIndex*/
5506
+ ctx[63]}-${/*sessionId*/
5507
+ ctx[3]}-${/*itemIndex*/
5508
+ ctx[60]}`);
5509
+ textarea.value = textarea_value_value = useIsEven(
5510
+ /*iterationIndex*/
5511
+ ctx[63]
5512
+ ) ? (
5513
+ /*inlineTypeinAnswer*/
5514
+ ctx[7][
5515
+ /*itemIndex*/
5516
+ ctx[60]
5517
+ ] || "No answer provided"
5518
+ ) : (
5519
+ /*item*/
5520
+ ctx[58][0]
5521
+ );
5522
+ attr(textarea, "rows", "1");
5523
+ textarea.readOnly = true;
5524
+ attr(textarea, "tabindex", textarea_tabindex_value = !useIsEven(
5525
+ /*iterationIndex*/
5526
+ ctx[63]
5527
+ ) && /*inlineAnswerResult*/
5528
+ ctx[13][
5529
+ /*itemIndex*/
5530
+ ctx[60]
5531
+ ] ? "-1" : "");
5532
+ attr(div0, "class", "h-fit relative");
5533
+ attr(div1, "class", div1_class_value = "flex flex-col md:w-1/2 " + (useIsEven(
5534
+ /*iterationIndex*/
5535
+ ctx[63]
5536
+ ) ? "md:pr-4" : "ml-8.5 md:ml-0 md:pl-4"));
5537
+ },
5538
+ m(target, anchor) {
5539
+ insert(target, div1, anchor);
5540
+ append(div1, p);
5541
+ append(div1, t2);
5542
+ append(div1, div0);
5543
+ append(div0, label);
5544
+ append(label, span0);
5545
+ append(label, t3);
5546
+ append(label, span1);
5547
+ append(div0, t5);
5548
+ append(div0, textarea);
5549
+ append(div0, t6);
5550
+ if (if_block)
5551
+ if_block.m(div0, null);
5552
+ current = true;
5553
+ if (!mounted) {
5554
+ dispose = action_destroyer(autosize_action = svelte_autosize_default.call(null, textarea));
5555
+ mounted = true;
5556
+ }
5557
+ },
5558
+ p(ctx2, dirty) {
5559
+ if (!current || dirty[0] & /*sessionId*/
5560
+ 8 && label_for_value !== (label_for_value = `${/*iterationIndex*/
5561
+ ctx2[63]}-${/*sessionId*/
5562
+ ctx2[3]}-${/*itemIndex*/
5563
+ ctx2[60]}`)) {
5564
+ attr(label, "for", label_for_value);
5565
+ }
5566
+ if (!current || dirty[0] & /*correctAnswerDataLength*/
5567
+ 32768 && label_class_value !== (label_class_value = "absolute left-0 top-[13px] bottom-0 " + /*correctAnswerDataLength*/
5568
+ (ctx2[15] > 1 && !useIsEven(
5569
+ /*iterationIndex*/
5570
+ ctx2[63]
5571
+ ) ? "hidden md:inline-block" : (
5572
+ /*correctAnswerDataLength*/
5573
+ ctx2[15] > 1 && useIsEven(
5574
+ /*iterationIndex*/
5575
+ ctx2[63]
5576
+ ) ? "" : "hidden"
5577
+ )))) {
5578
+ attr(label, "class", label_class_value);
5579
+ }
5580
+ if (!current || dirty[0] & /*inlineAnswerResult*/
5581
+ 8192 && textarea_aria_label_value !== (textarea_aria_label_value = `${useIsEven(
5582
+ /*iterationIndex*/
5583
+ ctx2[63]
5584
+ ) ? `Student's` : "Correct"} answer${useIsEven(
5585
+ /*iterationIndex*/
5586
+ ctx2[63]
5587
+ ) && /*inlineAnswerResult*/
5588
+ ctx2[13][
5589
+ /*itemIndex*/
5590
+ ctx2[60]
5591
+ ] ? " (Correct)" : useIsEven(
5592
+ /*iterationIndex*/
5593
+ ctx2[63]
5594
+ ) && !/*inlineAnswerResult*/
5595
+ ctx2[13][
5596
+ /*itemIndex*/
5597
+ ctx2[60]
5598
+ ] ? " (Incorrect)" : ""}, Item number ${/*itemIndex*/
5599
+ ctx2[60] + 1}:`)) {
5600
+ attr(textarea, "aria-label", textarea_aria_label_value);
5601
+ }
5602
+ if (!current || dirty[0] & /*correctAnswerDataLength, inlineAnswerResult*/
5603
+ 40960 && textarea_class_value !== (textarea_class_value = "typein-textbox py-[9px] pr-4 mt-4 " + /*correctAnswerDataLength*/
5604
+ (ctx2[15] > 1 && !useIsEven(
5605
+ /*iterationIndex*/
5606
+ ctx2[63]
5607
+ ) ? "md:pl-13.2" : (
5608
+ /*correctAnswerDataLength*/
5609
+ ctx2[15] > 1 && useIsEven(
5610
+ /*iterationIndex*/
5611
+ ctx2[63]
5612
+ ) ? "pl-13.2" : ""
5613
+ )) + " " + (useIsEven(
5614
+ /*iterationIndex*/
5615
+ ctx2[63]
5616
+ ) ? "!pr-11" : "") + " " + (useIsEven(
5617
+ /*iterationIndex*/
5618
+ ctx2[63]
5619
+ ) && /*inlineAnswerResult*/
5620
+ ctx2[13][
5621
+ /*itemIndex*/
5622
+ ctx2[60]
5623
+ ] ? "border-2 border-green-900" : useIsEven(
5624
+ /*iterationIndex*/
5625
+ ctx2[63]
5626
+ ) && !/*inlineAnswerResult*/
5627
+ ctx2[13][
5628
+ /*itemIndex*/
5629
+ ctx2[60]
5630
+ ] ? "border-2 border-red-900 bg-red-50" : ""))) {
5631
+ attr(textarea, "class", textarea_class_value);
5632
+ }
5633
+ if (!current || dirty[0] & /*sessionId*/
5634
+ 8 && textarea_id_value !== (textarea_id_value = `${/*iterationIndex*/
5635
+ ctx2[63]}-${/*sessionId*/
5636
+ ctx2[3]}-${/*itemIndex*/
5637
+ ctx2[60]}`)) {
5638
+ attr(textarea, "id", textarea_id_value);
5639
+ }
5640
+ if (!current || dirty[0] & /*inlineTypeinAnswer, correctAnswerData*/
5641
+ 16512 && textarea_value_value !== (textarea_value_value = useIsEven(
5642
+ /*iterationIndex*/
5643
+ ctx2[63]
5644
+ ) ? (
5645
+ /*inlineTypeinAnswer*/
5646
+ ctx2[7][
5647
+ /*itemIndex*/
5648
+ ctx2[60]
5649
+ ] || "No answer provided"
5650
+ ) : (
5651
+ /*item*/
5652
+ ctx2[58][0]
5653
+ ))) {
5654
+ textarea.value = textarea_value_value;
5655
+ }
5656
+ if (!current || dirty[0] & /*inlineAnswerResult*/
5657
+ 8192 && textarea_tabindex_value !== (textarea_tabindex_value = !useIsEven(
5658
+ /*iterationIndex*/
5659
+ ctx2[63]
5660
+ ) && /*inlineAnswerResult*/
5661
+ ctx2[13][
5662
+ /*itemIndex*/
5663
+ ctx2[60]
5664
+ ] ? "-1" : "")) {
5665
+ attr(textarea, "tabindex", textarea_tabindex_value);
5666
+ }
5667
+ if (show_if)
5668
+ if_block.p(ctx2, dirty);
5669
+ },
5670
+ i(local) {
5671
+ if (current)
5672
+ return;
5673
+ transition_in(if_block);
5674
+ current = true;
5675
+ },
5676
+ o(local) {
5677
+ transition_out(if_block);
5678
+ current = false;
5679
+ },
5680
+ d(detaching) {
5681
+ if (detaching) {
5682
+ detach(div1);
5683
+ }
5684
+ if (if_block)
5685
+ if_block.d();
5686
+ mounted = false;
5687
+ dispose();
5688
+ }
5689
+ };
5690
+ }
5691
+ function create_each_block2(ctx) {
5692
+ let div;
5693
+ let t2;
5694
+ let current;
5695
+ let each_value_1 = ensure_array_like(
5696
+ /*inlineIteration*/
5697
+ ctx[17]
5698
+ );
5699
+ let each_blocks = [];
5700
+ for (let i = 0; i < each_value_1.length; i += 1) {
5701
+ each_blocks[i] = create_each_block_1(get_each_context_1(ctx, each_value_1, i));
5702
+ }
5703
+ const out = (i) => transition_out(each_blocks[i], 1, 1, () => {
5704
+ each_blocks[i] = null;
5705
+ });
5706
+ return {
5707
+ c() {
5708
+ div = element("div");
5709
+ for (let i = 0; i < each_blocks.length; i += 1) {
5710
+ each_blocks[i].c();
5711
+ }
5712
+ t2 = space();
5713
+ attr(div, "class", "flex flex-col md:flex-row");
5714
+ },
5715
+ m(target, anchor) {
5716
+ insert(target, div, anchor);
5717
+ for (let i = 0; i < each_blocks.length; i += 1) {
5718
+ if (each_blocks[i]) {
5719
+ each_blocks[i].m(div, null);
5720
+ }
5721
+ }
5722
+ append(div, t2);
5723
+ current = true;
5724
+ },
5725
+ p(ctx2, dirty) {
5726
+ if (dirty[0] & /*inlineAnswerResult, correctAnswerDataLength, sessionId, inlineTypeinAnswer, correctAnswerData*/
5727
+ 57480) {
5728
+ each_value_1 = ensure_array_like(
5729
+ /*inlineIteration*/
5730
+ ctx2[17]
5731
+ );
5732
+ let i;
5733
+ for (i = 0; i < each_value_1.length; i += 1) {
5734
+ const child_ctx = get_each_context_1(ctx2, each_value_1, i);
5735
+ if (each_blocks[i]) {
5736
+ each_blocks[i].p(child_ctx, dirty);
5737
+ transition_in(each_blocks[i], 1);
5738
+ } else {
5739
+ each_blocks[i] = create_each_block_1(child_ctx);
5740
+ each_blocks[i].c();
5741
+ transition_in(each_blocks[i], 1);
5742
+ each_blocks[i].m(div, t2);
5743
+ }
5744
+ }
5745
+ group_outros();
5746
+ for (i = each_value_1.length; i < each_blocks.length; i += 1) {
5747
+ out(i);
5748
+ }
5749
+ check_outros();
5750
+ }
5751
+ },
5752
+ i(local) {
5753
+ if (current)
5754
+ return;
5755
+ for (let i = 0; i < each_value_1.length; i += 1) {
5756
+ transition_in(each_blocks[i]);
5757
+ }
4500
5758
  current = true;
4501
5759
  },
4502
5760
  o(local) {
4503
- transition_out(successsolid.$$.fragment, local);
5761
+ each_blocks = each_blocks.filter(Boolean);
5762
+ for (let i = 0; i < each_blocks.length; i += 1) {
5763
+ transition_out(each_blocks[i]);
5764
+ }
4504
5765
  current = false;
4505
5766
  },
4506
5767
  d(detaching) {
4507
- destroy_component(successsolid, detaching);
5768
+ if (detaching) {
5769
+ detach(div);
5770
+ }
5771
+ destroy_each(each_blocks, detaching);
4508
5772
  }
4509
5773
  };
4510
5774
  }
@@ -4514,26 +5778,26 @@
4514
5778
  let t2;
4515
5779
  let if_block1_anchor;
4516
5780
  let current;
4517
- const if_block_creators = [create_if_block_24, create_if_block_43, create_else_block_2];
5781
+ const if_block_creators = [create_if_block_72, create_if_block_92, create_else_block_4];
4518
5782
  const if_blocks = [];
4519
5783
  function select_block_type(ctx2, dirty) {
4520
5784
  if (
4521
- /*typeinType*/
4522
- ctx2[13] === TYPEIN_TYPE_INLINE
5785
+ /*isInlineTypein*/
5786
+ ctx2[22]
4523
5787
  )
4524
5788
  return 0;
4525
5789
  if (
4526
5790
  /*typeinType*/
4527
- ctx2[13] === TYPEIN_TYPE_SHORT
5791
+ ctx2[21] === TYPEIN_TYPE_SHORT
4528
5792
  )
4529
5793
  return 1;
4530
5794
  return 2;
4531
5795
  }
4532
- current_block_type_index = select_block_type(ctx, [-1, -1]);
5796
+ current_block_type_index = select_block_type(ctx, [-1, -1, -1]);
4533
5797
  if_block0 = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
4534
5798
  let if_block1 = (
4535
5799
  /*isFinished*/
4536
- ctx[1] && create_if_block6(ctx)
5800
+ ctx[0] && create_if_block7(ctx)
4537
5801
  );
4538
5802
  return {
4539
5803
  c() {
@@ -4555,16 +5819,16 @@
4555
5819
  if_block0.p(ctx2, dirty);
4556
5820
  if (
4557
5821
  /*isFinished*/
4558
- ctx2[1]
5822
+ ctx2[0]
4559
5823
  ) {
4560
5824
  if (if_block1) {
4561
5825
  if_block1.p(ctx2, dirty);
4562
5826
  if (dirty[0] & /*isFinished*/
4563
- 2) {
5827
+ 1) {
4564
5828
  transition_in(if_block1, 1);
4565
5829
  }
4566
5830
  } else {
4567
- if_block1 = create_if_block6(ctx2);
5831
+ if_block1 = create_if_block7(ctx2);
4568
5832
  if_block1.c();
4569
5833
  transition_in(if_block1, 1);
4570
5834
  if_block1.m(if_block1_anchor.parentNode, if_block1_anchor);
@@ -4600,27 +5864,27 @@
4600
5864
  }
4601
5865
  };
4602
5866
  }
4603
- function create_fragment9(ctx) {
5867
+ function create_fragment11(ctx) {
4604
5868
  let promptbody;
4605
5869
  let current;
4606
5870
  promptbody = new PromptBody_default({
4607
5871
  props: {
4608
5872
  rubric: (
4609
5873
  /*rubric*/
4610
- ctx[10].text
5874
+ ctx[18].text
4611
5875
  ),
4612
5876
  prompt: (
4613
5877
  /*prompt*/
4614
- ctx[12]
5878
+ ctx[20]
4615
5879
  ),
4616
5880
  interactionType: INTERACTION_TYPE_TYPEIN,
4617
5881
  stimulus: (
4618
5882
  /*stimulus*/
4619
- ctx[11]
5883
+ ctx[19]
4620
5884
  ),
4621
5885
  hasDivider: (
4622
5886
  /*hasDivider*/
4623
- ctx[8]
5887
+ ctx[12]
4624
5888
  ),
4625
5889
  $$slots: { default: [create_default_slot2] },
4626
5890
  $$scope: { ctx }
@@ -4637,12 +5901,12 @@
4637
5901
  p(ctx2, dirty) {
4638
5902
  const promptbody_changes = {};
4639
5903
  if (dirty[0] & /*hasDivider*/
4640
- 256)
5904
+ 4096)
4641
5905
  promptbody_changes.hasDivider = /*hasDivider*/
4642
- ctx2[8];
4643
- if (dirty[0] & /*isResultCorrect, resultFeedback, resultLabel, isFinished, inlinePromptString, textAriaLabel, placeholder, isDataSaving, typeinAnswer*/
4644
- 767 | dirty[1] & /*$$scope*/
4645
- 256) {
5906
+ ctx2[12];
5907
+ if (dirty[0] & /*correctAnswerData, inlineAnswerResult, correctAnswerDataLength, sessionId, inlineTypeinAnswer, isResultCorrect, resultFeedback, isSkippedAnswer, resultLabel, isFinished, isDataSaving, root, inlinePromptString, textAriaLabel, placeholder, typeinAnswer*/
5908
+ 126975 | dirty[2] & /*$$scope*/
5909
+ 4) {
4646
5910
  promptbody_changes.$$scope = { dirty, ctx: ctx2 };
4647
5911
  }
4648
5912
  promptbody.$set(promptbody_changes);
@@ -4663,40 +5927,175 @@
4663
5927
  };
4664
5928
  }
4665
5929
  var idLabel = "answerText";
4666
- function instance7($$self, $$props, $$invalidate) {
5930
+ function instance8($$self, $$props, $$invalidate) {
4667
5931
  let { sessionData } = $$props;
4668
5932
  let { isDataSaving } = $$props;
4669
5933
  let { isFinished = false } = $$props;
4670
5934
  let { isResultCorrect = false } = $$props;
4671
5935
  let { isPreviewMode = false } = $$props;
4672
5936
  let { isPreviewModeInteractive = false } = $$props;
5937
+ let { isPreviewCheckedAnswer = false } = $$props;
5938
+ let { sessionId } = $$props;
4673
5939
  const dispatch = createEventDispatcher();
5940
+ let root;
5941
+ let inlineInputs;
4674
5942
  let typeinAnswer;
4675
5943
  let latestAnswer = "";
4676
5944
  let resultFeedback = "";
5945
+ let inlineTypeinAnswer = [];
5946
+ let isSkippedAnswer = false;
5947
+ let isInitialLoad = true;
5948
+ let isInteractiveTriggeredResult = false;
4677
5949
  let placeholder = "Type your answer here";
4678
5950
  let focusOrigin = "tab";
4679
5951
  let resultLabel = "";
4680
5952
  let inlinePromptString = "";
4681
5953
  let hasDivider = true;
5954
+ let inlineAnswerResult = [];
5955
+ let correctAnswerData = [];
5956
+ let correctAnswerDataLength = 0;
5957
+ const inlineIteration = ["student", "correct"];
4682
5958
  const { rubric, interaction, metadata, scoringMetadata, stimulus } = sessionData;
4683
5959
  const { prompt, typein_type: typeinType } = interaction;
5960
+ const isInlineTypein = typeinType === TYPEIN_TYPE_INLINE;
4684
5961
  if (metadata) {
4685
5962
  const events = metadata.interactions.events.pop();
4686
- latestAnswer = typeinAnswer = events.answer[0];
5963
+ if (isInlineTypein) {
5964
+ inlineTypeinAnswer = events?.answer;
5965
+ if (inlineTypeinAnswer.length) {
5966
+ isInitialLoad = false;
5967
+ }
5968
+ } else {
5969
+ latestAnswer = typeinAnswer = events.answer[0];
5970
+ }
5971
+ }
5972
+ let textAriaLabel = !latestAnswer ? "Answer input: Please type your response" : "Your response is";
5973
+ const isReadonlyText = isFinished && !isPreviewModeInteractive;
5974
+ const addEventListenerInline = () => {
5975
+ if (isInlineTypein && (!isFinished || isPreviewModeInteractive)) {
5976
+ inlineInputs = root.querySelectorAll('input[type="text"]');
5977
+ inlineInputs.forEach((input) => {
5978
+ const focusHandler = () => saveInlineAnswer(input.id);
5979
+ const keyDownHandler = (event) => {
5980
+ if (event.key === "Enter") {
5981
+ event.preventDefault();
5982
+ saveInlineAnswer(input.id);
5983
+ }
5984
+ };
5985
+ input.removeEventListener("focusout", focusHandler);
5986
+ input.removeEventListener("keydown", keyDownHandler);
5987
+ input.addEventListener("focusout", focusHandler);
5988
+ input.addEventListener("keydown", keyDownHandler);
5989
+ });
5990
+ }
5991
+ };
5992
+ onMount(() => {
5993
+ addEventListenerInline();
5994
+ });
5995
+ const saveInlineAnswer = (id) => {
5996
+ const rawAnswer = useJoinArrayToString(inlineTypeinAnswer);
5997
+ const input = root.querySelector(`#${id}`);
5998
+ const arrayId = id.split("-")[2] - 1;
5999
+ $$invalidate(7, inlineTypeinAnswer[arrayId] = input.value, inlineTypeinAnswer);
6000
+ const latestAnswer2 = useJoinArrayToString(inlineTypeinAnswer);
6001
+ if (latestAnswer2 === rawAnswer || isDataSaving)
6002
+ return;
6003
+ const allEmpty = inlineTypeinAnswer.every((value) => value === "");
6004
+ if (isPreviewModeInteractive) {
6005
+ const allAnswered = inlineTypeinAnswer.every((value) => value !== "");
6006
+ $$invalidate(8, isSkippedAnswer = false);
6007
+ if (isInteractiveTriggeredResult && allEmpty) {
6008
+ $$invalidate(8, isSkippedAnswer = true);
6009
+ }
6010
+ if (allAnswered || isInteractiveTriggeredResult) {
6011
+ $$invalidate(1, isResultCorrect = false);
6012
+ const { is_single_mark: isSingleMark } = interaction;
6013
+ const { answer: previewCorrectAnswer } = scoringMetadata;
6014
+ $$invalidate(13, inlineAnswerResult = checkInlineAnswer(previewCorrectAnswer, inlineTypeinAnswer));
6015
+ $$invalidate(1, isResultCorrect = isSingleMark ? !inlineAnswerResult.includes(false) : inlineAnswerResult.includes(true));
6016
+ $$invalidate(0, isFinished = true);
6017
+ $$invalidate(14, correctAnswerData = previewCorrectAnswer);
6018
+ $$invalidate(15, correctAnswerDataLength = previewCorrectAnswer.length);
6019
+ getFeedback();
6020
+ buildInlinePrompt();
6021
+ setTimeout(
6022
+ () => {
6023
+ addEventListenerInline();
6024
+ isInteractiveTriggeredResult = true;
6025
+ },
6026
+ 250
6027
+ );
6028
+ }
6029
+ } else {
6030
+ dispatch("saveAnswer", {
6031
+ answer: allEmpty ? [] : inlineTypeinAnswer
6032
+ });
6033
+ }
6034
+ input?.blur();
6035
+ };
6036
+ const getFeedback = () => {
6037
+ const { correct: correctFeeback, incorrect: incorrectFeedback } = interaction.feedback;
6038
+ $$invalidate(6, resultFeedback = isResultCorrect ? correctFeeback : incorrectFeedback);
6039
+ };
6040
+ const getResultMessage = () => {
6041
+ $$invalidate(10, resultLabel = isResultCorrect ? "Correct" : "Incorrect");
6042
+ $$invalidate(16, textAriaLabel = `Submitted response is ${resultLabel.toLocaleLowerCase()}`);
6043
+ $$invalidate(9, placeholder = isResultCorrect ? placeholder : "No answer provided");
6044
+ };
6045
+ const checkInlineAnswer = (correctAnswer, answer) => {
6046
+ const transformedAnswerList = correctAnswer.map((item) => item.map((data) => data.toLowerCase()));
6047
+ return answer?.map((item, index) => {
6048
+ return transformedAnswerList[index].includes(item.toLowerCase());
6049
+ });
6050
+ };
6051
+ if (isFinished) {
6052
+ const { answer, hasAnswer } = scoringMetadata;
6053
+ isSkippedAnswer = !hasAnswer;
6054
+ if (isInlineTypein) {
6055
+ let metadataAnswer = answer;
6056
+ const { correct_answer: correctAnswer } = interaction;
6057
+ if (isPreviewMode) {
6058
+ inlineTypeinAnswer = answer.map((data) => data[0]);
6059
+ metadataAnswer = inlineTypeinAnswer;
6060
+ }
6061
+ correctAnswerData = correctAnswer;
6062
+ correctAnswerDataLength = correctAnswer.length;
6063
+ inlineAnswerResult = checkInlineAnswer(correctAnswer, metadataAnswer);
6064
+ } else {
6065
+ typeinAnswer = answer && hasAnswer ? answer : typeinAnswer;
6066
+ }
6067
+ getResultMessage();
6068
+ if (!isPreviewMode || isPreviewModeInteractive) {
6069
+ getFeedback();
6070
+ }
4687
6071
  }
4688
- if (typeinType === TYPEIN_TYPE_INLINE) {
4689
- hasDivider = false;
6072
+ const resetInteractivePreviewData = () => {
6073
+ $$invalidate(10, resultLabel = "");
6074
+ $$invalidate(16, textAriaLabel = "");
6075
+ $$invalidate(9, placeholder = "");
6076
+ getResultMessage();
6077
+ getFeedback();
6078
+ };
6079
+ const buildInlinePrompt = () => {
6080
+ $$invalidate(12, hasDivider = false);
4690
6081
  const { inline_prompt: inlinePrompt } = interaction;
4691
6082
  if (inlinePrompt) {
4692
6083
  let idCounter = 1;
4693
6084
  const eatRegex = /<eat-contentful>/g;
4694
6085
  const inputCount = inlinePrompt.match(eatRegex)?.length || 0;
4695
6086
  const isSingleInput = inputCount <= 1;
6087
+ const sessionString = sessionId.replace(/-/g, "");
4696
6088
  const spacer = '<span class="inline-block w-2 h-4"></span>';
4697
- inlinePromptString = inlinePrompt.replace(eatRegex, () => {
6089
+ $$invalidate(11, inlinePromptString = inlinePrompt.replace(eatRegex, () => {
6090
+ if (isInitialLoad) {
6091
+ inlineTypeinAnswer.push("");
6092
+ }
4698
6093
  const idNo = idCounter++;
4699
- const inputId = `inline-text-${idNo}`;
6094
+ const indexNo = idNo - 1;
6095
+ const inputId = `inline-${sessionString}-${idNo}`;
6096
+ const textHasAnswer = !!inlineTypeinAnswer[indexNo];
6097
+ const isAnswerCorrect = isFinished && inlineAnswerResult[indexNo] && textHasAnswer;
6098
+ const isAnswerIncorrect = isFinished && !inlineAnswerResult[indexNo] && textHasAnswer;
4700
6099
  return `
4701
6100
  ${spacer}<span class="inline-block h-fit relative my-2">
4702
6101
  <label for="${inputId}" class="absolute left-0 top-0 bottom-0 ${isSingleInput ? "hidden" : ""}" aria-hidden="true">
@@ -4706,32 +6105,28 @@
4706
6105
  <input
4707
6106
  type="text"
4708
6107
  id="${inputId}"
4709
- placeholder="Type your answer here" aria-label="Item number ${idNo}"
4710
- class="typein-textbox w-60 py-[9px] pr-4 ${isSingleInput ? "" : "pl-13.2"}"
6108
+ placeholder="Type your answer here"
6109
+ aria-label="${!isFinished ? `Item number ${idNo}` : `Student's answer (${isAnswerCorrect ? "Correct" : "Incorrect"}), Item number ${idNo}:`}"
6110
+ class="typein-textbox w-60 py-[9px] pr-4 ${isSingleInput ? "" : "pl-13.2"}
6111
+ ${isAnswerCorrect ? "border-2 border-green-900" : isAnswerIncorrect ? "border-2 border-red-900 bg-red-50" : ""}
6112
+ ${isFinished && textHasAnswer ? "!pr-11 truncate" : ""}"
4711
6113
  autocomplete="off"
6114
+ value="${inlineTypeinAnswer[indexNo] || ""}"
6115
+ ${isFinished && !isPreviewModeInteractive ? "readonly" : ""}
4712
6116
  />
6117
+ ${isFinished && textHasAnswer ? `
6118
+ <span class="w-6 h-6 absolute right-4 top-3.5 flex item-center justify-center">
6119
+ <span class="${isAnswerCorrect ? "text-green-900" : "text-red-900"} p-0.5">
6120
+ ${isAnswerCorrect ? useCorrectIconString() : useErrorIconString()}
6121
+ </span>
6122
+ </span>` : ""}
4713
6123
  </span>${spacer}`;
4714
- });
6124
+ }));
6125
+ isInitialLoad = false;
4715
6126
  }
4716
- }
4717
- let textAriaLabel = !latestAnswer ? "Answer input: Please type your response" : "Your response is";
4718
- const isReadonlyText = isFinished && !isPreviewModeInteractive;
4719
- const getFeedback = () => {
4720
- const { correct: correctFeeback, incorrect: incorrectFeedback } = interaction.feedback;
4721
- $$invalidate(4, resultFeedback = isResultCorrect ? correctFeeback : incorrectFeedback);
4722
- };
4723
- const getResultMessage = () => {
4724
- $$invalidate(6, resultLabel = isResultCorrect ? "Correct" : "Incorrect");
4725
- $$invalidate(9, textAriaLabel = `Submitted response is ${resultLabel.toLocaleLowerCase()}`);
4726
- $$invalidate(5, placeholder = isResultCorrect ? placeholder : "No answer provided");
4727
6127
  };
4728
- if (isFinished) {
4729
- const { answer, hasAnswer } = scoringMetadata;
4730
- typeinAnswer = answer && hasAnswer ? answer : typeinAnswer;
4731
- getResultMessage();
4732
- if (!isPreviewMode || isPreviewModeInteractive) {
4733
- getFeedback();
4734
- }
6128
+ if (isInlineTypein) {
6129
+ buildInlinePrompt();
4735
6130
  }
4736
6131
  const saveAnswer = () => {
4737
6132
  focusOrigin = "tab";
@@ -4739,14 +6134,10 @@
4739
6134
  return;
4740
6135
  latestAnswer = typeinAnswer;
4741
6136
  dispatch("saveAnswer", { answer: [typeinAnswer || ""] });
4742
- if (isPreviewModeInteractive) {
6137
+ if (isPreviewModeInteractive && typeinType !== TYPEIN_TYPE_LONG) {
4743
6138
  setTimeout(
4744
6139
  () => {
4745
- $$invalidate(6, resultLabel = "");
4746
- $$invalidate(9, textAriaLabel = "");
4747
- $$invalidate(5, placeholder = "");
4748
- getResultMessage();
4749
- getFeedback();
6140
+ resetInteractivePreviewData();
4750
6141
  },
4751
6142
  50
4752
6143
  );
@@ -4768,15 +6159,21 @@
4768
6159
  const handleClick = () => {
4769
6160
  focusOrigin = "click";
4770
6161
  };
6162
+ function div0_binding($$value) {
6163
+ binding_callbacks[$$value ? "unshift" : "push"](() => {
6164
+ root = $$value;
6165
+ $$invalidate(4, root);
6166
+ });
6167
+ }
4771
6168
  function input_input_handler() {
4772
6169
  typeinAnswer = this.value;
4773
- $$invalidate(3, typeinAnswer);
6170
+ $$invalidate(5, typeinAnswer);
4774
6171
  }
4775
6172
  const focusout_handler = () => saveAnswer();
4776
6173
  const keydown_handler = (event) => saveOnEnter(event);
4777
6174
  function textarea_input_handler() {
4778
6175
  typeinAnswer = this.value;
4779
- $$invalidate(3, typeinAnswer);
6176
+ $$invalidate(5, typeinAnswer);
4780
6177
  }
4781
6178
  const mousedown_handler = () => handleClick();
4782
6179
  const touchstart_handler = () => handleClick();
@@ -4785,33 +6182,55 @@
4785
6182
  const keydown_handler_1 = (event) => saveOnEnter(event);
4786
6183
  $$self.$$set = ($$props2) => {
4787
6184
  if ("sessionData" in $$props2)
4788
- $$invalidate(19, sessionData = $$props2.sessionData);
6185
+ $$invalidate(28, sessionData = $$props2.sessionData);
4789
6186
  if ("isDataSaving" in $$props2)
4790
- $$invalidate(0, isDataSaving = $$props2.isDataSaving);
6187
+ $$invalidate(2, isDataSaving = $$props2.isDataSaving);
4791
6188
  if ("isFinished" in $$props2)
4792
- $$invalidate(1, isFinished = $$props2.isFinished);
6189
+ $$invalidate(0, isFinished = $$props2.isFinished);
4793
6190
  if ("isResultCorrect" in $$props2)
4794
- $$invalidate(2, isResultCorrect = $$props2.isResultCorrect);
6191
+ $$invalidate(1, isResultCorrect = $$props2.isResultCorrect);
4795
6192
  if ("isPreviewMode" in $$props2)
4796
- $$invalidate(20, isPreviewMode = $$props2.isPreviewMode);
6193
+ $$invalidate(29, isPreviewMode = $$props2.isPreviewMode);
4797
6194
  if ("isPreviewModeInteractive" in $$props2)
4798
- $$invalidate(21, isPreviewModeInteractive = $$props2.isPreviewModeInteractive);
6195
+ $$invalidate(30, isPreviewModeInteractive = $$props2.isPreviewModeInteractive);
6196
+ if ("isPreviewCheckedAnswer" in $$props2)
6197
+ $$invalidate(31, isPreviewCheckedAnswer = $$props2.isPreviewCheckedAnswer);
6198
+ if ("sessionId" in $$props2)
6199
+ $$invalidate(3, sessionId = $$props2.sessionId);
6200
+ };
6201
+ $$self.$$.update = () => {
6202
+ if ($$self.$$.dirty[1] & /*isPreviewCheckedAnswer*/
6203
+ 1) {
6204
+ $:
6205
+ if (isPreviewCheckedAnswer) {
6206
+ resetInteractivePreviewData();
6207
+ }
6208
+ }
4799
6209
  };
4800
6210
  return [
4801
- isDataSaving,
4802
6211
  isFinished,
4803
6212
  isResultCorrect,
6213
+ isDataSaving,
6214
+ sessionId,
6215
+ root,
4804
6216
  typeinAnswer,
4805
6217
  resultFeedback,
6218
+ inlineTypeinAnswer,
6219
+ isSkippedAnswer,
4806
6220
  placeholder,
4807
6221
  resultLabel,
4808
6222
  inlinePromptString,
4809
6223
  hasDivider,
6224
+ inlineAnswerResult,
6225
+ correctAnswerData,
6226
+ correctAnswerDataLength,
4810
6227
  textAriaLabel,
6228
+ inlineIteration,
4811
6229
  rubric,
4812
6230
  stimulus,
4813
6231
  prompt,
4814
6232
  typeinType,
6233
+ isInlineTypein,
4815
6234
  isReadonlyText,
4816
6235
  saveAnswer,
4817
6236
  saveOnEnter,
@@ -4820,6 +6239,8 @@
4820
6239
  sessionData,
4821
6240
  isPreviewMode,
4822
6241
  isPreviewModeInteractive,
6242
+ isPreviewCheckedAnswer,
6243
+ div0_binding,
4823
6244
  input_input_handler,
4824
6245
  focusout_handler,
4825
6246
  keydown_handler,
@@ -4837,65 +6258,81 @@
4837
6258
  init(
4838
6259
  this,
4839
6260
  options,
4840
- instance7,
4841
- create_fragment9,
6261
+ instance8,
6262
+ create_fragment11,
4842
6263
  safe_not_equal,
4843
6264
  {
4844
- sessionData: 19,
4845
- isDataSaving: 0,
4846
- isFinished: 1,
4847
- isResultCorrect: 2,
4848
- isPreviewMode: 20,
4849
- isPreviewModeInteractive: 21
6265
+ sessionData: 28,
6266
+ isDataSaving: 2,
6267
+ isFinished: 0,
6268
+ isResultCorrect: 1,
6269
+ isPreviewMode: 29,
6270
+ isPreviewModeInteractive: 30,
6271
+ isPreviewCheckedAnswer: 31,
6272
+ sessionId: 3
4850
6273
  },
4851
6274
  null,
4852
- [-1, -1]
6275
+ [-1, -1, -1]
4853
6276
  );
4854
6277
  }
4855
6278
  get sessionData() {
4856
- return this.$$.ctx[19];
6279
+ return this.$$.ctx[28];
4857
6280
  }
4858
6281
  set sessionData(sessionData) {
4859
6282
  this.$$set({ sessionData });
4860
6283
  flush();
4861
6284
  }
4862
6285
  get isDataSaving() {
4863
- return this.$$.ctx[0];
6286
+ return this.$$.ctx[2];
4864
6287
  }
4865
6288
  set isDataSaving(isDataSaving) {
4866
6289
  this.$$set({ isDataSaving });
4867
6290
  flush();
4868
6291
  }
4869
6292
  get isFinished() {
4870
- return this.$$.ctx[1];
6293
+ return this.$$.ctx[0];
4871
6294
  }
4872
6295
  set isFinished(isFinished) {
4873
6296
  this.$$set({ isFinished });
4874
6297
  flush();
4875
6298
  }
4876
6299
  get isResultCorrect() {
4877
- return this.$$.ctx[2];
6300
+ return this.$$.ctx[1];
4878
6301
  }
4879
6302
  set isResultCorrect(isResultCorrect) {
4880
6303
  this.$$set({ isResultCorrect });
4881
6304
  flush();
4882
6305
  }
4883
6306
  get isPreviewMode() {
4884
- return this.$$.ctx[20];
6307
+ return this.$$.ctx[29];
4885
6308
  }
4886
6309
  set isPreviewMode(isPreviewMode) {
4887
6310
  this.$$set({ isPreviewMode });
4888
6311
  flush();
4889
6312
  }
4890
6313
  get isPreviewModeInteractive() {
4891
- return this.$$.ctx[21];
6314
+ return this.$$.ctx[30];
4892
6315
  }
4893
6316
  set isPreviewModeInteractive(isPreviewModeInteractive) {
4894
6317
  this.$$set({ isPreviewModeInteractive });
4895
6318
  flush();
4896
6319
  }
6320
+ get isPreviewCheckedAnswer() {
6321
+ return this.$$.ctx[31];
6322
+ }
6323
+ set isPreviewCheckedAnswer(isPreviewCheckedAnswer) {
6324
+ this.$$set({ isPreviewCheckedAnswer });
6325
+ flush();
6326
+ }
6327
+ get sessionId() {
6328
+ return this.$$.ctx[3];
6329
+ }
6330
+ set sessionId(sessionId) {
6331
+ this.$$set({ sessionId });
6332
+ flush();
6333
+ }
4897
6334
  };
4898
- customElements.define("prompt-typein", create_custom_element(PromptTypeIn, { "sessionData": {}, "isDataSaving": {}, "isFinished": { "type": "Boolean" }, "isResultCorrect": { "type": "Boolean" }, "isPreviewMode": { "type": "Boolean" }, "isPreviewModeInteractive": { "type": "Boolean" } }, [], [], true));
6335
+ customElements.define("prompt-typein", create_custom_element(PromptTypeIn, { "sessionData": {}, "isDataSaving": {}, "isFinished": { "type": "Boolean" }, "isResultCorrect": { "type": "Boolean" }, "isPreviewMode": { "type": "Boolean" }, "isPreviewModeInteractive": { "type": "Boolean" }, "isPreviewCheckedAnswer": { "type": "Boolean" }, "sessionId": {} }, [], [], true));
4899
6336
  var PromptTypeIn_default = PromptTypeIn;
4900
6337
 
4901
6338
  // node_modules/svelte-dnd-action/dist/index.mjs
@@ -6899,7 +8336,7 @@
6899
8336
  }
6900
8337
 
6901
8338
  // src/lib/assets/img/product/GripVertical.svelte
6902
- function create_fragment10(ctx) {
8339
+ function create_fragment12(ctx) {
6903
8340
  let svg;
6904
8341
  let path;
6905
8342
  return {
@@ -6933,14 +8370,14 @@
6933
8370
  var GripVertical = class extends SvelteComponent {
6934
8371
  constructor(options) {
6935
8372
  super();
6936
- init(this, options, null, create_fragment10, safe_not_equal, {});
8373
+ init(this, options, null, create_fragment12, safe_not_equal, {});
6937
8374
  }
6938
8375
  };
6939
8376
  create_custom_element(GripVertical, {}, [], [], true);
6940
8377
  var GripVertical_default = GripVertical;
6941
8378
 
6942
8379
  // src/lib/assets/img/messaging/Success.svelte
6943
- function create_fragment11(ctx) {
8380
+ function create_fragment13(ctx) {
6944
8381
  let svg;
6945
8382
  let path;
6946
8383
  return {
@@ -6974,7 +8411,7 @@
6974
8411
  var Success = class extends SvelteComponent {
6975
8412
  constructor(options) {
6976
8413
  super();
6977
- init(this, options, null, create_fragment11, safe_not_equal, {});
8414
+ init(this, options, null, create_fragment13, safe_not_equal, {});
6978
8415
  }
6979
8416
  };
6980
8417
  create_custom_element(Success, {}, [], [], true);
@@ -7042,7 +8479,7 @@
7042
8479
  }
7043
8480
  };
7044
8481
  }
7045
- function create_if_block_25(ctx) {
8482
+ function create_if_block_26(ctx) {
7046
8483
  let span;
7047
8484
  let errorsolid;
7048
8485
  let current;
@@ -7076,7 +8513,7 @@
7076
8513
  }
7077
8514
  };
7078
8515
  }
7079
- function create_if_block_16(ctx) {
8516
+ function create_if_block_17(ctx) {
7080
8517
  let span;
7081
8518
  let successsolid;
7082
8519
  let current;
@@ -7110,7 +8547,7 @@
7110
8547
  }
7111
8548
  };
7112
8549
  }
7113
- function create_if_block7(ctx) {
8550
+ function create_if_block8(ctx) {
7114
8551
  let span;
7115
8552
  let gripvertical;
7116
8553
  let current;
@@ -7144,7 +8581,7 @@
7144
8581
  }
7145
8582
  };
7146
8583
  }
7147
- function create_fragment12(ctx) {
8584
+ function create_fragment14(ctx) {
7148
8585
  let button;
7149
8586
  let span0;
7150
8587
  let commonstringtohtml;
@@ -7168,7 +8605,7 @@
7168
8605
  /*word*/
7169
8606
  ctx[1]
7170
8607
  ) } });
7171
- const if_block_creators = [create_if_block_16, create_if_block_25, create_if_block_34, create_else_block3];
8608
+ const if_block_creators = [create_if_block_17, create_if_block_26, create_if_block_34, create_else_block3];
7172
8609
  const if_blocks = [];
7173
8610
  function select_block_type(ctx2, dirty) {
7174
8611
  if (
@@ -7195,7 +8632,7 @@
7195
8632
  let if_block1 = (
7196
8633
  /*resultType*/
7197
8634
  (ctx[0] === ANSWER_CORRECT || /*resultType*/
7198
- ctx[0] === ANSWER_INCORRECT) && create_if_block7(ctx)
8635
+ ctx[0] === ANSWER_INCORRECT) && create_if_block8(ctx)
7199
8636
  );
7200
8637
  return {
7201
8638
  c() {
@@ -7365,7 +8802,7 @@
7365
8802
  transition_in(if_block1, 1);
7366
8803
  }
7367
8804
  } else {
7368
- if_block1 = create_if_block7(ctx);
8805
+ if_block1 = create_if_block8(ctx);
7369
8806
  if_block1.c();
7370
8807
  transition_in(if_block1, 1);
7371
8808
  if_block1.m(span2, null);
@@ -7465,7 +8902,7 @@
7465
8902
  }
7466
8903
  };
7467
8904
  }
7468
- function instance8($$self, $$props, $$invalidate) {
8905
+ function instance9($$self, $$props, $$invalidate) {
7469
8906
  let { word = "" } = $$props;
7470
8907
  let { resultType = "" } = $$props;
7471
8908
  let { otherClass = "" } = $$props;
@@ -7621,7 +9058,7 @@
7621
9058
  var PromptCategoriseWordButton = class extends SvelteComponent {
7622
9059
  constructor(options) {
7623
9060
  super();
7624
- init(this, options, instance8, create_fragment12, safe_not_equal, {
9061
+ init(this, options, instance9, create_fragment14, safe_not_equal, {
7625
9062
  word: 1,
7626
9063
  resultType: 0,
7627
9064
  otherClass: 2,
@@ -7748,12 +9185,12 @@
7748
9185
  };
7749
9186
 
7750
9187
  // src/lib/components/prompt/categorise/PromptCategoriseDndContainer.svelte
7751
- function get_each_context2(ctx, list, i) {
9188
+ function get_each_context3(ctx, list, i) {
7752
9189
  const child_ctx = ctx.slice();
7753
9190
  child_ctx[39] = list[i];
7754
9191
  return child_ctx;
7755
9192
  }
7756
- function create_if_block_26(ctx) {
9193
+ function create_if_block_27(ctx) {
7757
9194
  let button;
7758
9195
  let button_class_value;
7759
9196
  let mounted;
@@ -7802,7 +9239,7 @@
7802
9239
  }
7803
9240
  };
7804
9241
  }
7805
- function create_if_block_17(ctx) {
9242
+ function create_if_block_18(ctx) {
7806
9243
  let div;
7807
9244
  let mounted;
7808
9245
  let dispose;
@@ -7844,7 +9281,7 @@
7844
9281
  }
7845
9282
  };
7846
9283
  }
7847
- function create_if_block8(ctx) {
9284
+ function create_if_block9(ctx) {
7848
9285
  let button;
7849
9286
  let t2;
7850
9287
  let button_class_value;
@@ -7876,14 +9313,14 @@
7876
9313
  }
7877
9314
  };
7878
9315
  }
7879
- function create_each_block2(key_1, ctx) {
9316
+ function create_each_block3(key_1, ctx) {
7880
9317
  let first;
7881
9318
  let t2;
7882
9319
  let promptcategorisewordbutton;
7883
9320
  let current;
7884
9321
  let if_block = (
7885
9322
  /*item*/
7886
- ctx[39].type === ANSWER_MISSED && create_if_block8(ctx)
9323
+ ctx[39].type === ANSWER_MISSED && create_if_block9(ctx)
7887
9324
  );
7888
9325
  promptcategorisewordbutton = new PromptCategoriseWordButton_default({
7889
9326
  props: {
@@ -7975,7 +9412,7 @@
7975
9412
  if (if_block) {
7976
9413
  if_block.p(ctx, dirty);
7977
9414
  } else {
7978
- if_block = create_if_block8(ctx);
9415
+ if_block = create_if_block9(ctx);
7979
9416
  if_block.c();
7980
9417
  if_block.m(t2.parentNode, t2);
7981
9418
  }
@@ -8062,7 +9499,7 @@
8062
9499
  }
8063
9500
  };
8064
9501
  }
8065
- function create_fragment13(ctx) {
9502
+ function create_fragment15(ctx) {
8066
9503
  let t0;
8067
9504
  let t1;
8068
9505
  let section;
@@ -8080,12 +9517,12 @@
8080
9517
  ctx[15] !== /*containerId*/
8081
9518
  ctx[4] && !/*isFinished*/
8082
9519
  ctx[8] && !/*isDataSaving*/
8083
- ctx[11] && create_if_block_26(ctx)
9520
+ ctx[11] && create_if_block_27(ctx)
8084
9521
  );
8085
9522
  let if_block1 = (
8086
9523
  /*totalRemainingWordBinItem*/
8087
9524
  ctx[17] <= 0 && /*isContainerWordBin*/
8088
- ctx[23] && create_if_block_17(ctx)
9525
+ ctx[23] && create_if_block_18(ctx)
8089
9526
  );
8090
9527
  let each_value = ensure_array_like(Object.values(
8091
9528
  /*items*/
@@ -8096,9 +9533,9 @@
8096
9533
  ctx2[39].id
8097
9534
  );
8098
9535
  for (let i = 0; i < each_value.length; i += 1) {
8099
- let child_ctx = get_each_context2(ctx, each_value, i);
9536
+ let child_ctx = get_each_context3(ctx, each_value, i);
8100
9537
  let key = get_key(child_ctx);
8101
- each_1_lookup.set(key, each_blocks[i] = create_each_block2(key, child_ctx));
9538
+ each_1_lookup.set(key, each_blocks[i] = create_each_block3(key, child_ctx));
8102
9539
  }
8103
9540
  return {
8104
9541
  c() {
@@ -8208,7 +9645,7 @@
8208
9645
  if (if_block0) {
8209
9646
  if_block0.p(ctx2, dirty);
8210
9647
  } else {
8211
- if_block0 = create_if_block_26(ctx2);
9648
+ if_block0 = create_if_block_27(ctx2);
8212
9649
  if_block0.c();
8213
9650
  if_block0.m(t0.parentNode, t0);
8214
9651
  }
@@ -8224,7 +9661,7 @@
8224
9661
  if (if_block1) {
8225
9662
  if_block1.p(ctx2, dirty);
8226
9663
  } else {
8227
- if_block1 = create_if_block_17(ctx2);
9664
+ if_block1 = create_if_block_18(ctx2);
8228
9665
  if_block1.c();
8229
9666
  if_block1.m(t1.parentNode, t1);
8230
9667
  }
@@ -8239,7 +9676,7 @@
8239
9676
  ctx2[20]
8240
9677
  ));
8241
9678
  group_outros();
8242
- each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx2, each_value, each_1_lookup, section, outro_and_destroy_block, create_each_block2, null, get_each_context2);
9679
+ each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx2, each_value, each_1_lookup, section, outro_and_destroy_block, create_each_block3, null, get_each_context3);
8243
9680
  check_outros();
8244
9681
  }
8245
9682
  if (!current || dirty[0] & /*containerClass*/
@@ -8338,7 +9775,7 @@
8338
9775
  }
8339
9776
  };
8340
9777
  }
8341
- function instance9($$self, $$props, $$invalidate) {
9778
+ function instance10($$self, $$props, $$invalidate) {
8342
9779
  let { containerClass = "" } = $$props;
8343
9780
  let { flipDurationMs = 5 } = $$props;
8344
9781
  let { containerId = "" } = $$props;
@@ -8683,8 +10120,8 @@
8683
10120
  init(
8684
10121
  this,
8685
10122
  options,
8686
- instance9,
8687
- create_fragment13,
10123
+ instance10,
10124
+ create_fragment15,
8688
10125
  safe_not_equal,
8689
10126
  {
8690
10127
  containerClass: 2,
@@ -8801,7 +10238,7 @@
8801
10238
  var PromptCategoriseDndContainer_default = PromptCategoriseDndContainer;
8802
10239
 
8803
10240
  // src/lib/components/common/CommonModal.svelte
8804
- function create_fragment14(ctx) {
10241
+ function create_fragment16(ctx) {
8805
10242
  let div2;
8806
10243
  let div0;
8807
10244
  let t2;
@@ -8933,7 +10370,7 @@
8933
10370
  var keypress_handler = () => {
8934
10371
  return false;
8935
10372
  };
8936
- function instance10($$self, $$props, $$invalidate) {
10373
+ function instance11($$self, $$props, $$invalidate) {
8937
10374
  let { $$slots: slots = {}, $$scope } = $$props;
8938
10375
  let { modalData = [] } = $$props;
8939
10376
  const dispatch = createEventDispatcher();
@@ -8965,7 +10402,7 @@
8965
10402
  var CommonModal = class extends SvelteComponent {
8966
10403
  constructor(options) {
8967
10404
  super();
8968
- init(this, options, instance10, create_fragment14, safe_not_equal, { modalData: 3 });
10405
+ init(this, options, instance11, create_fragment16, safe_not_equal, { modalData: 3 });
8969
10406
  }
8970
10407
  get modalData() {
8971
10408
  return this.$$.ctx[3];
@@ -8979,7 +10416,7 @@
8979
10416
  var CommonModal_default = CommonModal;
8980
10417
 
8981
10418
  // src/lib/assets/img/messaging/AlertIcon.svelte
8982
- function create_fragment15(ctx) {
10419
+ function create_fragment17(ctx) {
8983
10420
  let svg;
8984
10421
  let path;
8985
10422
  return {
@@ -9013,14 +10450,14 @@
9013
10450
  var AlertIcon = class extends SvelteComponent {
9014
10451
  constructor(options) {
9015
10452
  super();
9016
- init(this, options, null, create_fragment15, safe_not_equal, {});
10453
+ init(this, options, null, create_fragment17, safe_not_equal, {});
9017
10454
  }
9018
10455
  };
9019
10456
  create_custom_element(AlertIcon, {}, [], [], true);
9020
10457
  var AlertIcon_default = AlertIcon;
9021
10458
 
9022
10459
  // src/lib/assets/img/messaging/CrossIcon.svelte
9023
- function create_fragment16(ctx) {
10460
+ function create_fragment18(ctx) {
9024
10461
  let svg;
9025
10462
  let path;
9026
10463
  return {
@@ -9054,7 +10491,7 @@
9054
10491
  var CrossIcon = class extends SvelteComponent {
9055
10492
  constructor(options) {
9056
10493
  super();
9057
- init(this, options, null, create_fragment16, safe_not_equal, {});
10494
+ init(this, options, null, create_fragment18, safe_not_equal, {});
9058
10495
  }
9059
10496
  };
9060
10497
  create_custom_element(CrossIcon, {}, [], [], true);
@@ -9214,7 +10651,7 @@
9214
10651
  }
9215
10652
  };
9216
10653
  }
9217
- function create_fragment17(ctx) {
10654
+ function create_fragment19(ctx) {
9218
10655
  let commonmodal;
9219
10656
  let current;
9220
10657
  commonmodal = new CommonModal_default({
@@ -9267,7 +10704,7 @@
9267
10704
  }
9268
10705
  };
9269
10706
  }
9270
- function instance11($$self, $$props, $$invalidate) {
10707
+ function instance12($$self, $$props, $$invalidate) {
9271
10708
  let { categoryData = [] } = $$props;
9272
10709
  let { modalData = [] } = $$props;
9273
10710
  let categoryModal;
@@ -9350,7 +10787,7 @@
9350
10787
  var PromptCategoriseModal = class extends SvelteComponent {
9351
10788
  constructor(options) {
9352
10789
  super();
9353
- init(this, options, instance11, create_fragment17, safe_not_equal, { categoryData: 6, modalData: 0 });
10790
+ init(this, options, instance12, create_fragment19, safe_not_equal, { categoryData: 6, modalData: 0 });
9354
10791
  }
9355
10792
  get categoryData() {
9356
10793
  return this.$$.ctx[6];
@@ -9371,7 +10808,7 @@
9371
10808
  var PromptCategoriseModal_default = PromptCategoriseModal;
9372
10809
 
9373
10810
  // src/lib/assets/img/action/Switch.svelte
9374
- function create_fragment18(ctx) {
10811
+ function create_fragment20(ctx) {
9375
10812
  let svg;
9376
10813
  let path;
9377
10814
  return {
@@ -9403,14 +10840,14 @@
9403
10840
  var Switch = class extends SvelteComponent {
9404
10841
  constructor(options) {
9405
10842
  super();
9406
- init(this, options, null, create_fragment18, safe_not_equal, {});
10843
+ init(this, options, null, create_fragment20, safe_not_equal, {});
9407
10844
  }
9408
10845
  };
9409
10846
  create_custom_element(Switch, {}, [], [], true);
9410
10847
  var Switch_default = Switch;
9411
10848
 
9412
10849
  // src/lib/assets/img/messaging/SmallChevronUp.svelte
9413
- function create_fragment19(ctx) {
10850
+ function create_fragment21(ctx) {
9414
10851
  let svg;
9415
10852
  let path;
9416
10853
  return {
@@ -9444,14 +10881,14 @@
9444
10881
  var SmallChevronUp = class extends SvelteComponent {
9445
10882
  constructor(options) {
9446
10883
  super();
9447
- init(this, options, null, create_fragment19, safe_not_equal, {});
10884
+ init(this, options, null, create_fragment21, safe_not_equal, {});
9448
10885
  }
9449
10886
  };
9450
10887
  create_custom_element(SmallChevronUp, {}, [], [], true);
9451
10888
  var SmallChevronUp_default = SmallChevronUp;
9452
10889
 
9453
10890
  // src/lib/assets/img/messaging/SmallChevronDown.svelte
9454
- function create_fragment20(ctx) {
10891
+ function create_fragment22(ctx) {
9455
10892
  let svg;
9456
10893
  let path;
9457
10894
  return {
@@ -9485,14 +10922,14 @@
9485
10922
  var SmallChevronDown = class extends SvelteComponent {
9486
10923
  constructor(options) {
9487
10924
  super();
9488
- init(this, options, null, create_fragment20, safe_not_equal, {});
10925
+ init(this, options, null, create_fragment22, safe_not_equal, {});
9489
10926
  }
9490
10927
  };
9491
10928
  create_custom_element(SmallChevronDown, {}, [], [], true);
9492
10929
  var SmallChevronDown_default = SmallChevronDown;
9493
10930
 
9494
10931
  // src/lib/assets/img/messaging/SmallChevronLeft.svelte
9495
- function create_fragment21(ctx) {
10932
+ function create_fragment23(ctx) {
9496
10933
  let svg;
9497
10934
  let path;
9498
10935
  return {
@@ -9526,14 +10963,14 @@
9526
10963
  var SmallChevronLeft = class extends SvelteComponent {
9527
10964
  constructor(options) {
9528
10965
  super();
9529
- init(this, options, null, create_fragment21, safe_not_equal, {});
10966
+ init(this, options, null, create_fragment23, safe_not_equal, {});
9530
10967
  }
9531
10968
  };
9532
10969
  create_custom_element(SmallChevronLeft, {}, [], [], true);
9533
10970
  var SmallChevronLeft_default = SmallChevronLeft;
9534
10971
 
9535
10972
  // src/lib/assets/img/messaging/SmallChevronRight.svelte
9536
- function create_fragment22(ctx) {
10973
+ function create_fragment24(ctx) {
9537
10974
  let svg;
9538
10975
  let path;
9539
10976
  return {
@@ -9567,14 +11004,14 @@
9567
11004
  var SmallChevronRight = class extends SvelteComponent {
9568
11005
  constructor(options) {
9569
11006
  super();
9570
- init(this, options, null, create_fragment22, safe_not_equal, {});
11007
+ init(this, options, null, create_fragment24, safe_not_equal, {});
9571
11008
  }
9572
11009
  };
9573
11010
  create_custom_element(SmallChevronRight, {}, [], [], true);
9574
11011
  var SmallChevronRight_default = SmallChevronRight;
9575
11012
 
9576
11013
  // src/lib/assets/img/messaging/ArrowDownCircle.svelte
9577
- function create_fragment23(ctx) {
11014
+ function create_fragment25(ctx) {
9578
11015
  let svg;
9579
11016
  let path;
9580
11017
  return {
@@ -9608,7 +11045,7 @@
9608
11045
  var ArrowDownCircle = class extends SvelteComponent {
9609
11046
  constructor(options) {
9610
11047
  super();
9611
- init(this, options, null, create_fragment23, safe_not_equal, {});
11048
+ init(this, options, null, create_fragment25, safe_not_equal, {});
9612
11049
  }
9613
11050
  };
9614
11051
  create_custom_element(ArrowDownCircle, {}, [], [], true);
@@ -9777,14 +11214,14 @@
9777
11214
  };
9778
11215
 
9779
11216
  // src/lib/components/prompt/categorise/PromptCategorise.svelte
9780
- function get_each_context3(ctx, list, i) {
11217
+ function get_each_context4(ctx, list, i) {
9781
11218
  const child_ctx = ctx.slice();
9782
11219
  child_ctx[68] = list[i];
9783
11220
  child_ctx[69] = list;
9784
11221
  child_ctx[70] = i;
9785
11222
  return child_ctx;
9786
11223
  }
9787
- function create_if_block_72(ctx) {
11224
+ function create_if_block_73(ctx) {
9788
11225
  let promptcategorisemodal;
9789
11226
  let current;
9790
11227
  promptcategorisemodal = new PromptCategoriseModal_default({
@@ -9849,7 +11286,7 @@
9849
11286
  }
9850
11287
  };
9851
11288
  }
9852
- function create_if_block_62(ctx) {
11289
+ function create_if_block_63(ctx) {
9853
11290
  let button;
9854
11291
  let span0;
9855
11292
  let switchicon;
@@ -9926,7 +11363,7 @@
9926
11363
  }
9927
11364
  };
9928
11365
  }
9929
- function create_if_block_52(ctx) {
11366
+ function create_if_block_53(ctx) {
9930
11367
  let span;
9931
11368
  let t0;
9932
11369
  let t1;
@@ -10034,7 +11471,7 @@
10034
11471
  }
10035
11472
  };
10036
11473
  }
10037
- function create_if_block_27(ctx) {
11474
+ function create_if_block_28(ctx) {
10038
11475
  let span;
10039
11476
  let t0;
10040
11477
  let t1;
@@ -10115,7 +11552,7 @@
10115
11552
  }
10116
11553
  };
10117
11554
  }
10118
- function create_if_block_18(ctx) {
11555
+ function create_if_block_19(ctx) {
10119
11556
  let smallchevronup;
10120
11557
  let current;
10121
11558
  smallchevronup = new SmallChevronUp_default({});
@@ -10142,7 +11579,7 @@
10142
11579
  }
10143
11580
  };
10144
11581
  }
10145
- function create_each_block3(ctx) {
11582
+ function create_each_block4(ctx) {
10146
11583
  let div1;
10147
11584
  let div0;
10148
11585
  let show_if_2 = (
@@ -10205,7 +11642,7 @@
10205
11642
  let current;
10206
11643
  let mounted;
10207
11644
  let dispose;
10208
- let if_block0 = show_if_2 && create_if_block_52(ctx);
11645
+ let if_block0 = show_if_2 && create_if_block_53(ctx);
10209
11646
  commonstringtohtml = new CommonStringToHtml_default({
10210
11647
  props: {
10211
11648
  ariaHidden: (
@@ -10230,9 +11667,9 @@
10230
11667
  ctx[5] && create_if_block_35(ctx);
10231
11668
  let if_block3 = (
10232
11669
  /*previewResultSr*/
10233
- ctx[5] && create_if_block_27(ctx)
11670
+ ctx[5] && create_if_block_28(ctx)
10234
11671
  );
10235
- const if_block_creators = [create_if_block_18, create_else_block4];
11672
+ const if_block_creators = [create_if_block_19, create_else_block4];
10236
11673
  const if_blocks = [];
10237
11674
  function select_block_type(ctx2, dirty) {
10238
11675
  if (dirty[0] & /*openCategoryContainer*/
@@ -10593,7 +12030,7 @@
10593
12030
  if (if_block0) {
10594
12031
  if_block0.p(ctx, dirty);
10595
12032
  } else {
10596
- if_block0 = create_if_block_52(ctx);
12033
+ if_block0 = create_if_block_53(ctx);
10597
12034
  if_block0.c();
10598
12035
  if_block0.m(div0, t0);
10599
12036
  }
@@ -10655,7 +12092,7 @@
10655
12092
  if (if_block3) {
10656
12093
  if_block3.p(ctx, dirty);
10657
12094
  } else {
10658
- if_block3 = create_if_block_27(ctx);
12095
+ if_block3 = create_if_block_28(ctx);
10659
12096
  if_block3.c();
10660
12097
  if_block3.m(div0, t8);
10661
12098
  }
@@ -10920,7 +12357,7 @@
10920
12357
  }
10921
12358
  };
10922
12359
  }
10923
- function create_if_block9(ctx) {
12360
+ function create_if_block10(ctx) {
10924
12361
  let span;
10925
12362
  let t0;
10926
12363
  let t1;
@@ -11013,13 +12450,13 @@
11013
12450
  arrowdowncircle = new ArrowDownCircle_default({});
11014
12451
  let if_block0 = (
11015
12452
  /*isModalOpen*/
11016
- ctx[18] && create_if_block_72(ctx)
12453
+ ctx[18] && create_if_block_73(ctx)
11017
12454
  );
11018
12455
  let if_block1 = (
11019
12456
  /*totalRemainingWordBinItem*/
11020
12457
  ctx[16] !== /*totalCategoryItems*/
11021
12458
  ctx[10] && !/*isFinished*/
11022
- ctx[0] && create_if_block_62(ctx)
12459
+ ctx[0] && create_if_block_63(ctx)
11023
12460
  );
11024
12461
  let each_value = ensure_array_like(Object.values(
11025
12462
  /*categoryGroups*/
@@ -11027,12 +12464,12 @@
11027
12464
  ));
11028
12465
  let each_blocks = [];
11029
12466
  for (let i = 0; i < each_value.length; i += 1) {
11030
- each_blocks[i] = create_each_block3(get_each_context3(ctx, each_value, i));
12467
+ each_blocks[i] = create_each_block4(get_each_context4(ctx, each_value, i));
11031
12468
  }
11032
12469
  const out = (i) => transition_out(each_blocks[i], 1, 1, () => {
11033
12470
  each_blocks[i] = null;
11034
12471
  });
11035
- let if_block2 = show_if && create_if_block9(ctx);
12472
+ let if_block2 = show_if && create_if_block10(ctx);
11036
12473
  smallchevronleft = new SmallChevronLeft_default({});
11037
12474
  promptcategorisedndcontainer = new PromptCategoriseDndContainer_default({
11038
12475
  props: {
@@ -11365,7 +12802,7 @@
11365
12802
  transition_in(if_block0, 1);
11366
12803
  }
11367
12804
  } else {
11368
- if_block0 = create_if_block_72(ctx);
12805
+ if_block0 = create_if_block_73(ctx);
11369
12806
  if_block0.c();
11370
12807
  transition_in(if_block0, 1);
11371
12808
  if_block0.m(t3.parentNode, t3);
@@ -11390,7 +12827,7 @@
11390
12827
  transition_in(if_block1, 1);
11391
12828
  }
11392
12829
  } else {
11393
- if_block1 = create_if_block_62(ctx);
12830
+ if_block1 = create_if_block_63(ctx);
11394
12831
  if_block1.c();
11395
12832
  transition_in(if_block1, 1);
11396
12833
  if_block1.m(div0, null);
@@ -11420,12 +12857,12 @@
11420
12857
  ));
11421
12858
  let i;
11422
12859
  for (i = 0; i < each_value.length; i += 1) {
11423
- const child_ctx = get_each_context3(ctx, each_value, i);
12860
+ const child_ctx = get_each_context4(ctx, each_value, i);
11424
12861
  if (each_blocks[i]) {
11425
12862
  each_blocks[i].p(child_ctx, dirty);
11426
12863
  transition_in(each_blocks[i], 1);
11427
12864
  } else {
11428
- each_blocks[i] = create_each_block3(child_ctx);
12865
+ each_blocks[i] = create_each_block4(child_ctx);
11429
12866
  each_blocks[i].c();
11430
12867
  transition_in(each_blocks[i], 1);
11431
12868
  each_blocks[i].m(div1, null);
@@ -11449,7 +12886,7 @@
11449
12886
  if (if_block2) {
11450
12887
  if_block2.p(ctx, dirty);
11451
12888
  } else {
11452
- if_block2 = create_if_block9(ctx);
12889
+ if_block2 = create_if_block10(ctx);
11453
12890
  if_block2.c();
11454
12891
  if_block2.m(div2, t8);
11455
12892
  }
@@ -11636,7 +13073,7 @@
11636
13073
  }
11637
13074
  };
11638
13075
  }
11639
- function create_fragment24(ctx) {
13076
+ function create_fragment26(ctx) {
11640
13077
  let div;
11641
13078
  let promptbody;
11642
13079
  let current;
@@ -11695,7 +13132,7 @@
11695
13132
  }
11696
13133
  };
11697
13134
  }
11698
- function instance12($$self, $$props, $$invalidate) {
13135
+ function instance13($$self, $$props, $$invalidate) {
11699
13136
  let { sessionData } = $$props;
11700
13137
  let { isFinished = false } = $$props;
11701
13138
  let { isPreviewMode = false } = $$props;
@@ -12124,8 +13561,8 @@
12124
13561
  init(
12125
13562
  this,
12126
13563
  options,
12127
- instance12,
12128
- create_fragment24,
13564
+ instance13,
13565
+ create_fragment26,
12129
13566
  safe_not_equal,
12130
13567
  {
12131
13568
  sessionData: 48,
@@ -12178,7 +13615,7 @@
12178
13615
  var PromptCategorise_default = PromptCategorise;
12179
13616
 
12180
13617
  // src/lib/components/prompt/skeleton/PromptSkeleton.svelte
12181
- function create_fragment25(ctx) {
13618
+ function create_fragment27(ctx) {
12182
13619
  let div3;
12183
13620
  return {
12184
13621
  c() {
@@ -12201,7 +13638,7 @@
12201
13638
  var PromptSkeleton = class extends SvelteComponent {
12202
13639
  constructor(options) {
12203
13640
  super();
12204
- init(this, options, null, create_fragment25, safe_not_equal, {});
13641
+ init(this, options, null, create_fragment27, safe_not_equal, {});
12205
13642
  }
12206
13643
  };
12207
13644
  customElements.define("prompt-skeleton", create_custom_element(PromptSkeleton, {}, [], [], true));
@@ -12209,7 +13646,7 @@
12209
13646
 
12210
13647
  // src/lib/components/prompt/PromptBuilder.svelte
12211
13648
  function add_css2(target) {
12212
- append_styles(target, "svelte-n44wfg", '*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:Mulish, sans-serif;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}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-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-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]{display:none}*{font-family:Mulish, sans-serif}input::-moz-selection,textarea::-moz-selection{background-color:hsla(0, 0%, 85%, 0.4)}input::selection,textarea::selection{background-color:hsla(0, 0%, 85%, 0.4)}*,: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: }::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: }.p2{font-size:0.875rem;font-weight:600;line-height:1.25rem;line-height:1.5}.blanket-overlay{--tw-bg-opacity:1;background-color:rgb(33 37 41/var(--tw-bg-opacity));inset:0;opacity:0.3;position:absolute}.item-heading{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity));font-size:1.25rem;letter-spacing:-0.025em;line-height:1.5rem}.focus-ring: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);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.hover-focus-ring:hover,.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));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.divider{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(218 224 224/var(--tw-border-opacity))}@keyframes svelte-n44wfg-pulse{50%{opacity:0.5}}.animate-skeleton{--tw-bg-opacity:1;animation:svelte-n44wfg-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.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(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));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.btn-mcq-option{--tw-text-opacity:1;--tw-border-opacity:1;--tw-bg-opacity:1;align-items:center;background-color:rgb(247 250 250/var(--tw-bg-opacity));border-color:rgb(113 115 119/var(--tw-border-opacity));border-radius:0.5rem;border-width:1px;color:rgb(33 37 41/var(--tw-text-opacity));display:flex;font-size:1rem;justify-content:space-between;line-height:1.5rem;margin-bottom:1rem;min-height:48px;padding:0.5rem 0.75rem 0.5rem 0.5rem;width:100%}.btn-mcq-option:active{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity));border-color:rgb(40 44 135/var(--tw-border-opacity));border-width:2px}@media(hover: hover) and (pointer: fine){.btn-mcq-option:hover{--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity))}}.btn-mcq-option>span>.choice{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(113 115 119/var(--tw-border-opacity));border-radius:1rem;border-width:1px;color:rgb(93 99 107/var(--tw-text-opacity));display:flex;font-size:1rem;font-weight:700;height:2rem;justify-content:center;letter-spacing:0.05em;line-height:1rem;margin-right:1rem;padding:0.5rem;width:2rem}.btn-mcq-option.selected{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity))}.btn-mcq-option.selected,.btn-mcq-option.selected>span>.choice{border-color:rgb(40 44 135/var(--tw-border-opacity));border-width:2px}.btn-mcq-option.selected>span>.choice{--tw-border-opacity:1}.btn-mcq-option.selected.correct{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(241 254 241/var(--tw-bg-opacity));border-color:rgb(0 102 5/var(--tw-border-opacity));border-width:1px}.btn-mcq-option.selected.incorrect{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(253 243 247/var(--tw-bg-opacity));border-color:rgb(217 12 85/var(--tw-border-opacity));border-width:1px}.btn-mcq-option.selected.correct>span>.choice,.btn-mcq-option.selected.incorrect>span>.choice{--tw-border-opacity:1;border-color:rgb(113 115 119/var(--tw-border-opacity));border-width:1px}.typein-textbox: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);--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.typein-textbox{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(75 85 99/var(--tw-border-opacity));border-radius:0.5rem;border-width:1px;color:rgb(33 37 41/var(--tw-text-opacity));font-size:1rem;line-height:1.5rem;padding:0.75rem 1rem;width:100%}.typein-textbox::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(55 65 81/var(--tw-placeholder-opacity))}.typein-textbox::placeholder{--tw-placeholder-opacity:1;color:rgb(55 65 81/var(--tw-placeholder-opacity))}.typein-textbox:focus{--tw-border-opacity:1;border-color:rgb(59 64 240/var(--tw-border-opacity));border-width:2px}@media(hover: hover) and (pointer: fine){.typein-textbox:hover{--tw-border-opacity:1;border-color:rgb(59 64 240/var(--tw-border-opacity));border-width:2px}}.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 rgba(0, 0, 0, 0)) !important}@media(hover: hover) and (pointer: fine){.typein-textbox:hover{transition-duration:50ms}}.typein-textbox:focus-visible{outline-color:#212529;outline-width:2px}@media(hover: hover) and (pointer: fine){.typein-textbox:hover{outline-color:#212529;outline-width:2px}}.typein-textbox:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(253 224 71/var(--tw-ring-opacity))}.inline-typein-container>p{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity));font-size:1.25rem;font-weight:600;line-height:3rem}#dnd-action-dragged-el{--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));--tw-ring-offset-width:2px;--tw-border-opacity:1!important;--tw-bg-opacity:1!important;background-color:rgb(205 208 254/var(--tw-bg-opacity)) !important;border-color:rgb(93 99 107/var(--tw-border-opacity)) !important;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));cursor:grabbing !important;outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}#dnd-action-dragged-el .btn-vertical-icon{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity));cursor:grabbing !important}#dnd-action-dragged-el .preview-icon{display:none !important}#dnd-action-dragged-el .preview-vertical{display:block !important}.category-content>.missing-answer-label{display:block}.category-content>.missing-answer-label~.missing-answer-label{display:none}.text-stimulus{padding-bottom:1rem;padding-top:1rem}.text-stimulus p{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity));font-size:1.25rem;line-height:1.75rem;padding-bottom:0.5rem}.text-stimulus ol,.text-stimulus ul{font-size:1rem;line-height:1.5rem;list-style-position:inside;padding-bottom:0.5rem;padding-left:0.5rem}.text-stimulus ol ::marker,.text-stimulus ul ::marker{color:#282c87}.text-stimulus ol::marker,.text-stimulus ul::marker{color:#282c87}.text-stimulus ul{list-style-type:disc}.text-stimulus ol{list-style-type:decimal}.text-stimulus ul li>p{margin-left:-0.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}.text-stimulus div.table-container: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);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.text-stimulus div.table-container{border-radius:0.5rem;overflow:auto;padding-left:0.125rem;padding-right:0.125rem}.text-stimulus table{--tw-border-spacing-x:0.75rem;--tw-border-spacing-y:0.75rem;--tw-shadow:0 0 0 1px #9ca3af;--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);border-radius:0.5rem;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);margin-bottom:1rem;margin-top:0.5rem;overflow-x:auto;width:100%}.text-stimulus table tr{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(156 163 175/var(--tw-border-opacity))}.text-stimulus table tr:last-child{border-color:transparent}.text-stimulus table td,.text-stimulus table th{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity));border-left-width:1px;min-width:140px}.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{--tw-text-opacity:1;color:rgb(33 37 41/var(--tw-text-opacity));font-size:1rem;line-height:1.5rem;padding:0.75rem;text-align:left}.text-stimulus table th>p{font-weight:400}.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}.sr-only{clip:rect(0, 0, 0, 0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-y-0{bottom:0;top:0}.-top-2{top:-0.5rem}.-top-2\\.5{top:-0.625rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-4{left:1rem}.left-\\[-9999px\\]{left:-9999px}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-1{top:0.25rem}.top-12{top:3rem}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.m-auto{margin:auto}.mx-0{margin-left:0;margin-right:0}.mx-0\\.5{margin-left:0.125rem;margin-right:0.125rem}.my-2{margin-bottom:0.5rem;margin-top:0.5rem}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.mb-1{margin-bottom:0.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:0.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:0.25rem}.ml-3{margin-left:0.75rem}.ml-\\[3px\\]{margin-left:3px}.mr-1{margin-right:0.25rem}.mr-2{margin-right:0.5rem}.mr-4{margin-right:1rem}.mt-0{margin-top:0}.mt-0\\.5{margin-top:0.125rem}.mt-1{margin-top:0.25rem}.mt-2{margin-top:0.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-7\\.5{margin-top:1.875}.mt-9{margin-top:2.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-10\\.5{height:2.625rem}.h-11{height:2.75rem}.h-4{height:1rem}.h-52{height:13rem}.h-6{height:1.5rem}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.max-h-\\[470px\\]{max-height:470px}.max-h-\\[660px\\]{max-height:660px}.min-h-\\[133px\\]{min-height:133px}.min-h-\\[140px\\]{min-height:140px}.min-h-\\[54px\\]{min-height:54px}.min-h-\\[86px\\]{min-height:86px}.w-11{width:2.75rem}.w-2{width:0.5rem}.w-2\\/4{width:50%}.w-4{width:1rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-8{width:2rem}.w-8\\.5{width:2.125rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-\\[44px\\]{min-width:44px}.min-w-\\[85px\\]{min-width:85px}.max-w-\\[400px\\]{max-width:400px}.grow{flex-grow:1}.basis-0{flex-basis:0px}.\\!cursor-default{cursor:default !important}.\\!cursor-pointer{cursor:pointer !important}.cursor-pointer{cursor:pointer}.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-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:0.5rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0.5rem * var(--tw-space-y-reverse));margin-top:calc(0.5rem * (1 - var(--tw-space-y-reverse)))}.space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:0.25rem}.rounded-\\[32px\\]{border-radius:32px}.rounded-lg{border-radius:0.5rem}.rounded-md{border-radius:0.375rem}.rounded-b-lg{border-bottom-right-radius:0.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:0.5rem}.rounded-l-lg,.rounded-t-lg{border-top-left-radius:0.5rem}.rounded-t-lg{border-top-right-radius:0.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-6,.border-l-\\[6px\\]{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)) !important}.border-blue-1000{--tw-border-opacity:1;border-color:rgb(40 44 135/var(--tw-border-opacity))}.border-charcoal{--tw-border-opacity:1;border-color:rgb(33 37 41/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(196 201 204/var(--tw-border-opacity))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(93 99 107/var(--tw-border-opacity))}.border-green-800{--tw-border-opacity:1;border-color:rgb(0 102 5/var(--tw-border-opacity))}.border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity))}.border-red-800{--tw-border-opacity:1;border-color:rgb(217 12 85/var(--tw-border-opacity))}.border-soft-blue{--tw-border-opacity:1;border-color:rgb(84 101 251/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.\\!bg-violet-100{--tw-bg-opacity:1!important;background-color:rgb(235 235 255/var(--tw-bg-opacity)) !important}.\\!bg-violet-150{--tw-bg-opacity:1!important;background-color:rgb(205 208 254/var(--tw-bg-opacity)) !important}.\\!bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity)) !important}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-blue-1000{--tw-bg-opacity:1;background-color:rgb(40 44 135/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(247 250 250/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(244 244 244/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(241 254 241/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(253 243 247/var(--tw-bg-opacity))}.bg-soft-blue{--tw-bg-opacity:1;background-color:rgb(84 101 251/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-violet-100{--tw-bg-opacity:1;background-color:rgb(235 235 255/var(--tw-bg-opacity))}.bg-violet-150{--tw-bg-opacity:1;background-color:rgb(205 208 254/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-1000{--tw-bg-opacity:1;background-color:rgb(251 217 27/var(--tw-bg-opacity))}.p-0{padding:0}.p-0\\.5{padding:0.125rem}.p-1{padding:0.25rem}.p-1\\.5{padding:0.375rem}.p-2{padding:0.5rem}.p-3{padding:0.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-bottom:0.25rem;padding-top:0.25rem}.py-1\\.5{padding-bottom:0.375rem;padding-top:0.375rem}.py-2{padding-bottom:0.5rem;padding-top:0.5rem}.py-\\[9px\\]{padding-bottom:9px;padding-top:9px}.pb-0{padding-bottom:0}.pb-10{padding-bottom:2.5rem}.pb-2{padding-bottom:0.5rem}.pb-3{padding-bottom:0.75rem}.pl-13\\.2{padding-left:3.125rem}.pl-24{padding-left:6rem}.pl-3{padding-left:0.75rem}.pl-4{padding-left:1rem}.pr-3{padding-right:0.75rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.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}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.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)) !important}.text-blue-1000{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity))}.text-charcoal{--tw-text-opacity:1;color:rgb(33 37 41/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(93 99 107/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(0 102 5/var(--tw-text-opacity))}.text-inherit{color:inherit}.text-red-800{--tw-text-opacity:1;color:rgb(217 12 85/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-5{opacity:0.05}.opacity-50{opacity:0.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 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), 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}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:0.15s;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.duration-300{transition-duration:0.3s}.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));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}@media(min-width: 732px){.md\\:item-heading{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity));font-size:1.25rem;letter-spacing:-0.025em;line-height:1.5rem}.category-content>.md\\:missing-answer-label{display:block}.category-content>.md\\:missing-answer-label~.md\\:missing-answer-label{display:none}}@media(hover: hover) and (pointer: fine){.td\\:hover-focus-ring:hover{--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));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset: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, 0.0509803922)}.hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity))}.hover\\:bg-violet-100:hover{--tw-bg-opacity:1;background-color:rgb(235 235 255/var(--tw-bg-opacity))}.hover\\:bg-yellow-1000:hover{--tw-bg-opacity:1;background-color:rgb(251 217 27/var(--tw-bg-opacity))}.hover\\:text-charcoal:hover{--tw-text-opacity:1;color:rgb(33 37 41/var(--tw-text-opacity))}.focus\\:outline-transparent:focus{outline-color:transparent}.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))}.focus-visible\\:border-gray-400:focus-visible{--tw-border-opacity:1;border-color:rgb(196 201 204/var(--tw-border-opacity))}.focus-visible\\:border-gray-800:focus-visible{--tw-border-opacity:1;border-color:rgb(93 99 107/var(--tw-border-opacity))}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.active\\:bg-black-55:active,.active\\:bg-black-60:active{background-color:rgba(0, 0, 0, 0.1019607843)}.active\\:bg-yellow-1100:active{--tw-bg-opacity:1;background-color:rgb(238 206 26/var(--tw-bg-opacity))}.active\\:text-charcoal:active{--tw-text-opacity:1;color:rgb(33 37 41/var(--tw-text-opacity))}.disabled\\:text-gray-40:disabled{--tw-text-opacity:1;color:rgb(142 147 153/var(--tw-text-opacity))}.disabled\\:hover\\:bg-white:hover:disabled{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.group\\/itemContainer:hover .group-hover\\/itemContainer\\:bg-violet-100{--tw-bg-opacity:1;background-color:rgb(235 235 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:active .group-active\\:border-2{border-width:2px}.group:active .group-active\\:border-blue-1000{--tw-border-opacity:1;border-color:rgb(40 44 135/var(--tw-border-opacity))}.group:active .group-active\\:p-\\[7px\\]{padding:7px}@media(min-width: 732px){.md\\:inset-0{inset:0}.md\\:top-20{top:5rem}.md\\:mb-2{margin-bottom:0.5rem}.md\\:mb-4{margin-bottom:1rem}.md\\:mb-8{margin-bottom:2rem}.md\\:mt-14{margin-top:3.5rem}.md\\:block{display:block}.md\\:inline-block{display:inline-block}.md\\:flex{display:flex}.md\\:hidden{display:none}.md\\:h-fit{height:-moz-fit-content;height:fit-content}.md\\:min-h-0{min-height:0}.md\\:min-h-\\[140px\\]{min-height:140px}.md\\:min-h-\\[164px\\]{min-height:164px}.md\\:w-fit{width:-moz-fit-content;width:fit-content}.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-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-6{gap:1.5rem}.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-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))}.md\\:\\!bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity)) !important}.md\\:p-4{padding:1rem}.md\\:px-0{padding-left:0;padding-right:0}.md\\:pb-0{padding-bottom:0}.md\\:pt-20{padding-top:5rem}.md\\:pt-20\\.5{padding-top:5.125rem}.md\\:text-center{text-align:center}.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 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow)}.group\\/itemContainer:hover .md\\:group-hover\\/itemContainer\\:bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}}@media(min-width: 1196px){.lg\\:mr-6{margin-right:1.5rem}.lg\\:flex{display:flex}.lg\\:hidden{display:none}.lg\\:min-h-\\[224px\\]{min-height:224px}.lg\\:w-full{width:100%}.lg\\:max-w-\\[50\\%\\]{max-width:50%}.lg\\:grow{flex-grow:1}.lg\\:basis-1\\/2{flex-basis:50%}.lg\\:items-center{align-items:center}.lg\\:justify-between{justify-content:space-between}.lg\\:gap-0{gap:0}.lg\\:last\\:mr-0:last-child{margin-right:0}}@media(hover: hover) and (pointer: fine){.td\\:hover\\:cursor-grab:hover{cursor:grab}.td\\:hover\\:border-gray-800:hover{--tw-border-opacity:1;border-color:rgb(93 99 107/var(--tw-border-opacity))}.td\\:hover\\:bg-black-50:hover{background-color:rgba(0, 0, 0, 0.0509803922)}.td\\:hover\\:bg-violet-100:hover{--tw-bg-opacity:1;background-color:rgb(235 235 255/var(--tw-bg-opacity))}.td\\:hover\\:text-soft-blue:hover{--tw-text-opacity:1;color:rgb(84 101 251/var(--tw-text-opacity))}.group:hover .td\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.group:hover .td\\:group-hover\\:opacity-5{opacity:0.05}}');
13649
+ append_styles(target, "svelte-1t1plzj", '*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:Mulish, sans-serif;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}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-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-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]{display:none}*{font-family:Mulish, sans-serif}input::-moz-selection,textarea::-moz-selection{background-color:hsla(0, 0%, 85%, 0.4)}input::selection,textarea::selection{background-color:hsla(0, 0%, 85%, 0.4)}*,: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: }::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: }.p2{font-size:0.875rem;font-weight:600;line-height:1.25rem;line-height:1.5}.blanket-overlay{--tw-bg-opacity:1;background-color:rgb(33 37 41/var(--tw-bg-opacity));inset:0;opacity:0.3;position:absolute}.item-heading{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity));font-size:1.25rem;letter-spacing:-0.025em;line-height:1.5rem}.focus-ring: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);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.hover-focus-ring:hover,.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));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.divider{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(218 224 224/var(--tw-border-opacity))}@keyframes svelte-1t1plzj-pulse{50%{opacity:0.5}}.animate-skeleton{--tw-bg-opacity:1;animation:svelte-1t1plzj-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.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(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));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.btn-mcq-option{--tw-text-opacity:1;--tw-border-opacity:1;--tw-bg-opacity:1;align-items:center;background-color:rgb(247 250 250/var(--tw-bg-opacity));border-color:rgb(113 115 119/var(--tw-border-opacity));border-radius:0.5rem;border-width:1px;color:rgb(33 37 41/var(--tw-text-opacity));display:flex;font-size:1rem;justify-content:space-between;line-height:1.5rem;margin-bottom:1rem;min-height:48px;padding:0.5rem 0.75rem 0.5rem 0.5rem;width:100%}.btn-mcq-option:active{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity));border-color:rgb(40 44 135/var(--tw-border-opacity));border-width:2px}@media(hover: hover) and (pointer: fine){.btn-mcq-option:hover{--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity))}}.btn-mcq-option>span>.choice{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(113 115 119/var(--tw-border-opacity));border-radius:1rem;border-width:1px;color:rgb(93 99 107/var(--tw-text-opacity));display:flex;font-size:1rem;font-weight:700;height:2rem;justify-content:center;letter-spacing:0.05em;line-height:1rem;margin-right:1rem;padding:0.5rem;width:2rem}.btn-mcq-option.selected{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity))}.btn-mcq-option.selected,.btn-mcq-option.selected>span>.choice{border-color:rgb(40 44 135/var(--tw-border-opacity));border-width:2px}.btn-mcq-option.selected>span>.choice{--tw-border-opacity:1}.btn-mcq-option.selected.correct{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(241 254 241/var(--tw-bg-opacity));border-color:rgb(0 102 5/var(--tw-border-opacity));border-width:1px}.btn-mcq-option.selected.incorrect{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(253 243 247/var(--tw-bg-opacity));border-color:rgb(217 12 85/var(--tw-border-opacity));border-width:1px}.btn-mcq-option.selected.correct>span>.choice,.btn-mcq-option.selected.incorrect>span>.choice{--tw-border-opacity:1;border-color:rgb(113 115 119/var(--tw-border-opacity));border-width:1px}.typein-textbox: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);--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.typein-textbox{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(75 85 99/var(--tw-border-opacity));border-radius:0.5rem;border-width:1px;color:rgb(33 37 41/var(--tw-text-opacity));font-size:1rem;line-height:1.5rem;padding:0.75rem 1rem;width:100%}.typein-textbox::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(55 65 81/var(--tw-placeholder-opacity))}.typein-textbox::placeholder{--tw-placeholder-opacity:1;color:rgb(55 65 81/var(--tw-placeholder-opacity))}.typein-textbox:focus{--tw-border-opacity:1;border-color:rgb(59 64 240/var(--tw-border-opacity));border-width:2px}@media(hover: hover) and (pointer: fine){.typein-textbox:hover{--tw-border-opacity:1;border-color:rgb(59 64 240/var(--tw-border-opacity));border-width:2px}}.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 rgba(0, 0, 0, 0)) !important}@media(hover: hover) and (pointer: fine){.typein-textbox:hover{transition-duration:50ms}}.typein-textbox:focus-visible{outline-color:#212529;outline-width:2px}@media(hover: hover) and (pointer: fine){.typein-textbox:hover{outline-color:#212529;outline-width:2px}}.typein-textbox:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(253 224 71/var(--tw-ring-opacity))}.inline-typein-container>p{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity));font-size:1.25rem;font-weight:600;line-height:3rem}#dnd-action-dragged-el{--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));--tw-ring-offset-width:2px;--tw-border-opacity:1!important;--tw-bg-opacity:1!important;background-color:rgb(205 208 254/var(--tw-bg-opacity)) !important;border-color:rgb(93 99 107/var(--tw-border-opacity)) !important;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));cursor:grabbing !important;outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}#dnd-action-dragged-el .btn-vertical-icon{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity));cursor:grabbing !important}#dnd-action-dragged-el .preview-icon{display:none !important}#dnd-action-dragged-el .preview-vertical{display:block !important}.category-content>.missing-answer-label{display:block}.category-content>.missing-answer-label~.missing-answer-label{display:none}.text-stimulus{padding-bottom:1rem;padding-top:1rem}.text-stimulus p{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity));font-size:1.25rem;line-height:1.75rem;padding-bottom:0.5rem}.text-stimulus ol,.text-stimulus ul{font-size:1rem;line-height:1.5rem;list-style-position:inside;padding-bottom:0.5rem;padding-left:0.5rem}.text-stimulus ol ::marker,.text-stimulus ul ::marker{color:#282c87}.text-stimulus ol::marker,.text-stimulus ul::marker{color:#282c87}.text-stimulus ul{list-style-type:disc}.text-stimulus ol{list-style-type:decimal}.text-stimulus ul li>p{margin-left:-0.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}.text-stimulus div.table-container: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);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.text-stimulus div.table-container{border-radius:0.5rem;overflow:auto;padding-left:0.125rem;padding-right:0.125rem}.text-stimulus table{--tw-border-spacing-x:0.75rem;--tw-border-spacing-y:0.75rem;--tw-shadow:0 0 0 1px #9ca3af;--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);border-radius:0.5rem;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);margin-bottom:1rem;margin-top:0.5rem;overflow-x:auto;width:100%}.text-stimulus table tr{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(156 163 175/var(--tw-border-opacity))}.text-stimulus table tr:last-child{border-color:transparent}.text-stimulus table td,.text-stimulus table th{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity));border-left-width:1px;min-width:140px}.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{--tw-text-opacity:1;color:rgb(33 37 41/var(--tw-text-opacity));font-size:1rem;line-height:1.5rem;padding:0.75rem;text-align:left}.text-stimulus table th>p{font-weight:400}.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}.sr-only{clip:rect(0, 0, 0, 0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-y-0{bottom:0;top:0}.-top-2{top:-0.5rem}.-top-2\\.5{top:-0.625rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-\\[7px\\]{bottom:7px}.left-0{left:0}.left-4{left:1rem}.left-\\[-9999px\\]{left:-9999px}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-1{top:0.25rem}.top-1\\/2{top:50%}.top-12{top:3rem}.top-3{top:0.75rem}.top-3\\.5{top:0.875rem}.top-\\[13px\\]{top:13px}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.m-auto{margin:auto}.mx-0{margin-left:0;margin-right:0}.mx-0\\.5{margin-left:0.125rem;margin-right:0.125rem}.my-2{margin-bottom:0.5rem;margin-top:0.5rem}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.my-auto{margin-bottom:auto;margin-top:auto}.-mt-0{margin-top:0}.-mt-0\\.5{margin-top:-0.125rem}.mb-1{margin-bottom:0.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:0.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:0.25rem}.ml-3{margin-left:0.75rem}.ml-8{margin-left:2rem}.ml-8\\.5{margin-left:2.125rem}.ml-\\[3px\\]{margin-left:3px}.mr-1{margin-right:0.25rem}.mr-2{margin-right:0.5rem}.mr-4{margin-right:1rem}.mt-0{margin-top:0}.mt-0\\.5{margin-top:0.125rem}.mt-1{margin-top:0.25rem}.mt-2{margin-top:0.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-7\\.5{margin-top:1.875}.mt-9{margin-top:2.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-10\\.5{height:2.625rem}.h-11{height:2.75rem}.h-4{height:1rem}.h-52{height:13rem}.h-6{height:1.5rem}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.max-h-\\[470px\\]{max-height:470px}.max-h-\\[660px\\]{max-height:660px}.min-h-\\[133px\\]{min-height:133px}.min-h-\\[140px\\]{min-height:140px}.min-h-\\[54px\\]{min-height:54px}.min-h-\\[86px\\]{min-height:86px}.w-11{width:2.75rem}.w-2{width:0.5rem}.w-2\\/4{width:50%}.w-4{width:1rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-8{width:2rem}.w-8\\.5{width:2.125rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-\\[44px\\]{min-width:44px}.min-w-\\[85px\\]{min-width:85px}.max-w-\\[400px\\]{max-width:400px}.grow{flex-grow:1}.basis-0{flex-basis:0px}.-translate-y-1\\/2{--tw-translate-y:-50%;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-pointer{cursor:pointer}.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-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:0.5rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0.5rem * var(--tw-space-y-reverse));margin-top:calc(0.5rem * (1 - var(--tw-space-y-reverse)))}.space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:0.25rem}.rounded-\\[32px\\]{border-radius:32px}.rounded-lg{border-radius:0.5rem}.rounded-md{border-radius:0.375rem}.rounded-b-lg{border-bottom-right-radius:0.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:0.5rem}.rounded-l-lg,.rounded-t-lg{border-top-left-radius:0.5rem}.rounded-t-lg{border-top-right-radius:0.5rem}.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-l-\\[6px\\]{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)) !important}.border-blue-1000{--tw-border-opacity:1;border-color:rgb(40 44 135/var(--tw-border-opacity))}.border-blue-950{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity))}.border-charcoal{--tw-border-opacity:1;border-color:rgb(33 37 41/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(196 201 204/var(--tw-border-opacity))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(93 99 107/var(--tw-border-opacity))}.border-green-800{--tw-border-opacity:1;border-color:rgb(0 102 5/var(--tw-border-opacity))}.border-green-900{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity))}.border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity))}.border-red-800{--tw-border-opacity:1;border-color:rgb(217 12 85/var(--tw-border-opacity))}.border-red-900{--tw-border-opacity:1;border-color:rgb(190 24 93/var(--tw-border-opacity))}.border-soft-blue{--tw-border-opacity:1;border-color:rgb(84 101 251/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.\\!bg-violet-100{--tw-bg-opacity:1!important;background-color:rgb(235 235 255/var(--tw-bg-opacity)) !important}.\\!bg-violet-150{--tw-bg-opacity:1!important;background-color:rgb(205 208 254/var(--tw-bg-opacity)) !important}.\\!bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity)) !important}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-blue-1000{--tw-bg-opacity:1;background-color:rgb(40 44 135/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(247 250 250/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(244 244 244/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(241 254 241/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(253 243 247/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity))}.bg-soft-blue{--tw-bg-opacity:1;background-color:rgb(84 101 251/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-violet-100{--tw-bg-opacity:1;background-color:rgb(235 235 255/var(--tw-bg-opacity))}.bg-violet-150{--tw-bg-opacity:1;background-color:rgb(205 208 254/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-1000{--tw-bg-opacity:1;background-color:rgb(251 217 27/var(--tw-bg-opacity))}.p-0{padding:0}.p-0\\.5{padding:0.125rem}.p-1{padding:0.25rem}.p-1\\.5{padding:0.375rem}.p-2{padding:0.5rem}.p-3{padding:0.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-bottom:0.25rem;padding-top:0.25rem}.py-1\\.5{padding-bottom:0.375rem;padding-top:0.375rem}.py-2{padding-bottom:0.5rem;padding-top:0.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:0.5rem}.pb-3{padding-bottom:0.75rem}.pl-13\\.2{padding-left:3.125rem}.pl-24{padding-left:6rem}.pl-3{padding-left:0.75rem}.pl-4{padding-left:1rem}.pr-3{padding-right:0.75rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-0\\.5{padding-top:0.125rem}.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}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.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)) !important}.text-blue-1000{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity))}.text-blue-950{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.text-charcoal{--tw-text-opacity:1;color:rgb(33 37 41/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(93 99 107/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(0 102 5/var(--tw-text-opacity))}.text-green-900{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity))}.text-inherit{color:inherit}.text-red-800{--tw-text-opacity:1;color:rgb(217 12 85/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(190 24 93/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-5{opacity:0.05}.opacity-50{opacity:0.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 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), 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)}.transition{transition-duration:0.15s;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.duration-300{transition-duration:0.3s}.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));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}@media(min-width: 732px){.md\\:item-heading{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity));font-size:1.25rem;letter-spacing:-0.025em;line-height:1.5rem}.category-content>.md\\:missing-answer-label{display:block}.category-content>.md\\:missing-answer-label~.md\\:missing-answer-label{display:none}}@media(hover: hover) and (pointer: fine){.td\\:hover-focus-ring:hover{--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));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset: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, 0.0509803922)}.hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity))}.hover\\:bg-violet-100:hover{--tw-bg-opacity:1;background-color:rgb(235 235 255/var(--tw-bg-opacity))}.hover\\:bg-yellow-1000:hover{--tw-bg-opacity:1;background-color:rgb(251 217 27/var(--tw-bg-opacity))}.hover\\:text-charcoal:hover{--tw-text-opacity:1;color:rgb(33 37 41/var(--tw-text-opacity))}.focus\\:outline-transparent:focus{outline-color:transparent}.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))}.focus-visible\\:border-gray-400:focus-visible{--tw-border-opacity:1;border-color:rgb(196 201 204/var(--tw-border-opacity))}.focus-visible\\:border-gray-800:focus-visible{--tw-border-opacity:1;border-color:rgb(93 99 107/var(--tw-border-opacity))}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.active\\:bg-black-55:active,.active\\:bg-black-60:active{background-color:rgba(0, 0, 0, 0.1019607843)}.active\\:bg-yellow-1100:active{--tw-bg-opacity:1;background-color:rgb(238 206 26/var(--tw-bg-opacity))}.active\\:text-charcoal:active{--tw-text-opacity:1;color:rgb(33 37 41/var(--tw-text-opacity))}.disabled\\:text-gray-40:disabled{--tw-text-opacity:1;color:rgb(142 147 153/var(--tw-text-opacity))}.disabled\\:hover\\:bg-white:hover:disabled{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.group\\/itemContainer:hover .group-hover\\/itemContainer\\:bg-violet-100{--tw-bg-opacity:1;background-color:rgb(235 235 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:active .group-active\\:border-2{border-width:2px}.group:active .group-active\\:border-blue-1000{--tw-border-opacity:1;border-color:rgb(40 44 135/var(--tw-border-opacity))}.group:active .group-active\\:p-\\[7px\\]{padding:7px}@media(min-width: 732px){.md\\:inset-0{inset:0}.md\\:top-20{top:5rem}.md\\:mb-2{margin-bottom:0.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\\:hidden{display:none}.md\\:h-fit{height:-moz-fit-content;height:fit-content}.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-fit{width:-moz-fit-content;width:fit-content}.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-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-6{gap:1.5rem}.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-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))}.md\\:\\!bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity)) !important}.md\\:p-4{padding:1rem}.md\\:px-0{padding-left:0;padding-right:0}.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{padding-top:5rem}.md\\:pt-20\\.5{padding-top:5.125rem}.md\\:text-center{text-align:center}.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 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow)}.group\\/itemContainer:hover .md\\:group-hover\\/itemContainer\\:bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}}@media(min-width: 1196px){.lg\\:mr-6{margin-right:1.5rem}.lg\\:flex{display:flex}.lg\\:hidden{display:none}.lg\\:min-h-\\[224px\\]{min-height:224px}.lg\\:w-full{width:100%}.lg\\:max-w-\\[50\\%\\]{max-width:50%}.lg\\:grow{flex-grow:1}.lg\\:basis-1\\/2{flex-basis:50%}.lg\\:items-center{align-items:center}.lg\\:justify-between{justify-content:space-between}.lg\\:gap-0{gap:0}.lg\\:last\\:mr-0:last-child{margin-right:0}}@media(hover: hover) and (pointer: fine){.td\\:hover\\:cursor-grab:hover{cursor:grab}.td\\:hover\\:border-gray-800:hover{--tw-border-opacity:1;border-color:rgb(93 99 107/var(--tw-border-opacity))}.td\\:hover\\:bg-black-50:hover{background-color:rgba(0, 0, 0, 0.0509803922)}.td\\:hover\\:bg-violet-100:hover{--tw-bg-opacity:1;background-color:rgb(235 235 255/var(--tw-bg-opacity))}.td\\:hover\\:text-soft-blue:hover{--tw-text-opacity:1;color:rgb(84 101 251/var(--tw-text-opacity))}.group:hover .td\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.group:hover .td\\:group-hover\\:opacity-5{opacity:0.05}}');
12213
13650
  }
12214
13651
  function create_else_block_12(ctx) {
12215
13652
  let invalidbanner;
@@ -12239,12 +13676,12 @@
12239
13676
  }
12240
13677
  };
12241
13678
  }
12242
- function create_if_block_19(ctx) {
13679
+ function create_if_block_110(ctx) {
12243
13680
  let current_block_type_index;
12244
13681
  let if_block;
12245
13682
  let if_block_anchor;
12246
13683
  let current;
12247
- const if_block_creators = [create_if_block_28, create_if_block_36, create_if_block_45, create_else_block5];
13684
+ const if_block_creators = [create_if_block_29, create_if_block_36, create_if_block_45, create_else_block5];
12248
13685
  const if_blocks = [];
12249
13686
  function select_block_type_1(ctx2, dirty) {
12250
13687
  if (
@@ -12316,7 +13753,7 @@
12316
13753
  }
12317
13754
  };
12318
13755
  }
12319
- function create_if_block10(ctx) {
13756
+ function create_if_block11(ctx) {
12320
13757
  let promptskeleton;
12321
13758
  let current;
12322
13759
  promptskeleton = new PromptSkeleton_default({});
@@ -12391,18 +13828,18 @@
12391
13828
  ),
12392
13829
  isPreviewMode: (
12393
13830
  /*isPreviewMode*/
12394
- ctx[7]
13831
+ ctx[9]
12395
13832
  ),
12396
13833
  isPreviewModeInteractive: (
12397
13834
  /*isPreviewModeInteractive*/
12398
- ctx[6]
13835
+ ctx[8]
12399
13836
  )
12400
13837
  }
12401
13838
  });
12402
13839
  promptcategorise.$on(
12403
13840
  "saveCategory",
12404
13841
  /*saveEvent*/
12405
- ctx[8]
13842
+ ctx[10]
12406
13843
  );
12407
13844
  return {
12408
13845
  c() {
@@ -12466,10 +13903,18 @@
12466
13903
  ),
12467
13904
  isPreviewMode: (
12468
13905
  /*isPreviewMode*/
12469
- ctx[7]
13906
+ ctx[9]
12470
13907
  ),
12471
13908
  isPreviewModeInteractive: (
12472
13909
  /*isPreviewModeInteractive*/
13910
+ ctx[8]
13911
+ ),
13912
+ sessionId: (
13913
+ /*sessionId*/
13914
+ ctx[7]
13915
+ ),
13916
+ isPreviewCheckedAnswer: (
13917
+ /*isPreviewCheckedAnswer*/
12473
13918
  ctx[6]
12474
13919
  )
12475
13920
  }
@@ -12477,7 +13922,7 @@
12477
13922
  prompttypein.$on(
12478
13923
  "saveAnswer",
12479
13924
  /*saveEvent*/
12480
- ctx[8]
13925
+ ctx[10]
12481
13926
  );
12482
13927
  return {
12483
13928
  c() {
@@ -12505,6 +13950,10 @@
12505
13950
  32)
12506
13951
  prompttypein_changes.isResultCorrect = /*isResultCorrect*/
12507
13952
  ctx2[5];
13953
+ if (dirty & /*isPreviewCheckedAnswer*/
13954
+ 64)
13955
+ prompttypein_changes.isPreviewCheckedAnswer = /*isPreviewCheckedAnswer*/
13956
+ ctx2[6];
12508
13957
  prompttypein.$set(prompttypein_changes);
12509
13958
  },
12510
13959
  i(local) {
@@ -12522,7 +13971,7 @@
12522
13971
  }
12523
13972
  };
12524
13973
  }
12525
- function create_if_block_28(ctx) {
13974
+ function create_if_block_29(ctx) {
12526
13975
  let promptmcq;
12527
13976
  let current;
12528
13977
  promptmcq = new PromptMCQ_default({
@@ -12545,14 +13994,14 @@
12545
13994
  ),
12546
13995
  isPreviewModeInteractive: (
12547
13996
  /*isPreviewModeInteractive*/
12548
- ctx[6]
13997
+ ctx[8]
12549
13998
  )
12550
13999
  }
12551
14000
  });
12552
14001
  promptmcq.$on(
12553
14002
  "saveOption",
12554
14003
  /*saveEvent*/
12555
- ctx[8]
14004
+ ctx[10]
12556
14005
  );
12557
14006
  return {
12558
14007
  c() {
@@ -12597,7 +14046,7 @@
12597
14046
  }
12598
14047
  };
12599
14048
  }
12600
- function create_fragment26(ctx) {
14049
+ function create_fragment28(ctx) {
12601
14050
  let current_block_type_index;
12602
14051
  let if_block;
12603
14052
  let t2;
@@ -12605,7 +14054,7 @@
12605
14054
  let link1;
12606
14055
  let link2;
12607
14056
  let current;
12608
- const if_block_creators = [create_if_block10, create_if_block_19, create_else_block_12];
14057
+ const if_block_creators = [create_if_block11, create_if_block_110, create_else_block_12];
12609
14058
  const if_blocks = [];
12610
14059
  function select_block_type(ctx2, dirty) {
12611
14060
  if (
@@ -12689,7 +14138,7 @@
12689
14138
  };
12690
14139
  }
12691
14140
  var bannerLabel = "Invalid session id.";
12692
- function instance13($$self, $$props, $$invalidate) {
14141
+ function instance14($$self, $$props, $$invalidate) {
12693
14142
  const { "session-id": sessionId, "preview-mode": previewMode, "item-id": itemId, "preview-contentful": previewContentful } = $$props;
12694
14143
  const previewModeType = ["true", "interactive"];
12695
14144
  const isPreviewModeInteractive = Boolean(previewMode === "interactive" && itemId);
@@ -12705,6 +14154,7 @@
12705
14154
  let isResultCorrect = false;
12706
14155
  let previewMcqCorrectAnswerId = null;
12707
14156
  let previewTypeinCorrectAnswers = [];
14157
+ let isPreviewCheckedAnswer = false;
12708
14158
  const skipUserValidationStr = get_store_value(skipUserValidation) ? "?skip_user_validation=true" : "";
12709
14159
  const getSessionData = async (sessionId2) => {
12710
14160
  try {
@@ -12764,7 +14214,11 @@
12764
14214
  break;
12765
14215
  case INTERACTION_TYPE_TYPEIN:
12766
14216
  default:
12767
- scoringMetadata = { ...scoringMetadata, answer: answer[0] };
14217
+ const { type } = metadata;
14218
+ scoringMetadata = {
14219
+ ...scoringMetadata,
14220
+ answer: type === TYPEIN_TYPE_INLINE ? answer : answer[0]
14221
+ };
12768
14222
  }
12769
14223
  $$invalidate(0, sessionData = { ...sessionData, scoringMetadata });
12770
14224
  $$invalidate(5, isResultCorrect = scoring.score_earned);
@@ -12799,7 +14253,7 @@
12799
14253
  const { correct_answer: correctAnswer, typein_type: typeinType } = data.interaction;
12800
14254
  scoringMetadata = {
12801
14255
  hasAnswer: true,
12802
- answer: typeinType === TYPEIN_TYPE_SHORT ? correctAnswer[0][0] : correctAnswer[0][0].answer[0]
14256
+ answer: typeinType === TYPEIN_TYPE_SHORT ? correctAnswer[0][0] : typeinType === TYPEIN_TYPE_INLINE ? correctAnswer : correctAnswer[0][0].answer[0]
12803
14257
  };
12804
14258
  $$invalidate(0, sessionData = { ...sessionData, scoringMetadata });
12805
14259
  if (isPreviewModeInteractive) {
@@ -12827,7 +14281,23 @@
12827
14281
  answerList: correctAnswerList
12828
14282
  };
12829
14283
  };
12830
- const updatePreviewData = (data) => {
14284
+ const checkLongTypeinAnswer = async (itemId2, answer) => {
14285
+ let isCorrect = false;
14286
+ try {
14287
+ $$invalidate(2, isDataSaving = true);
14288
+ $$invalidate(6, isPreviewCheckedAnswer = false);
14289
+ const { data } = await usePost(`items/${itemId2}/answer/check`, { answer });
14290
+ const { is_correct: resultIsCorrect } = data;
14291
+ isCorrect = resultIsCorrect;
14292
+ } catch (error) {
14293
+ isCorrect = false;
14294
+ $$invalidate(2, isDataSaving = false);
14295
+ } finally {
14296
+ $$invalidate(2, isDataSaving = false);
14297
+ }
14298
+ return isCorrect;
14299
+ };
14300
+ const updatePreviewData = async (data) => {
12831
14301
  const { scoringMetadata: metadata, interaction } = sessionData;
12832
14302
  let scoringMetadata;
12833
14303
  $$invalidate(4, isFinished = true);
@@ -12840,7 +14310,7 @@
12840
14310
  return;
12841
14311
  case INTERACTION_TYPE_TYPEIN:
12842
14312
  default:
12843
- const { allow_non_macrons_as_correct_answer: allowNonMacrons, ignore_punctuation: ignorePunctuation } = interaction;
14313
+ const { allow_non_macrons_as_correct_answer: allowNonMacrons, ignore_punctuation: ignorePunctuation, typein_type: typeinType } = interaction;
12844
14314
  const { answer } = data;
12845
14315
  let typeinAnswer = answer[0];
12846
14316
  scoringMetadata = { ...metadata, answer: typeinAnswer };
@@ -12851,13 +14321,20 @@
12851
14321
  if (ignorePunctuation) {
12852
14322
  typeinAnswer = useRemovePunctuation(typeinAnswer);
12853
14323
  }
12854
- $$invalidate(5, isResultCorrect = previewTypeinCorrectAnswers.includes(typeinAnswer.toLowerCase().trim().replace(/\s+/g, " ")));
14324
+ if (typeinType === TYPEIN_TYPE_LONG) {
14325
+ $$invalidate(4, isFinished = false);
14326
+ $$invalidate(5, isResultCorrect = await checkLongTypeinAnswer(itemId, typeinAnswer));
14327
+ $$invalidate(6, isPreviewCheckedAnswer = true);
14328
+ $$invalidate(4, isFinished = true);
14329
+ } else {
14330
+ $$invalidate(5, isResultCorrect = previewTypeinCorrectAnswers.includes(typeinAnswer.toLowerCase().trim().replace(/\s+/g, " ")));
14331
+ }
12855
14332
  return;
12856
14333
  }
12857
14334
  };
12858
14335
  const saveEvent = async ({ detail }) => {
12859
14336
  if (isPreviewModeInteractive && isPreviewMode) {
12860
- updatePreviewData(detail);
14337
+ await updatePreviewData(detail);
12861
14338
  }
12862
14339
  if (isLocked || isFinished)
12863
14340
  return;
@@ -12883,7 +14360,7 @@
12883
14360
  getSessionData(sessionId);
12884
14361
  }
12885
14362
  $$self.$$set = ($$new_props) => {
12886
- $$invalidate(27, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props)));
14363
+ $$invalidate(29, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props)));
12887
14364
  };
12888
14365
  $$props = exclude_internal_props($$props);
12889
14366
  return [
@@ -12893,6 +14370,8 @@
12893
14370
  interactionType,
12894
14371
  isFinished,
12895
14372
  isResultCorrect,
14373
+ isPreviewCheckedAnswer,
14374
+ sessionId,
12896
14375
  isPreviewModeInteractive,
12897
14376
  isPreviewMode,
12898
14377
  saveEvent
@@ -12901,7 +14380,7 @@
12901
14380
  var PromptBuilder = class extends SvelteComponent {
12902
14381
  constructor(options) {
12903
14382
  super();
12904
- init(this, options, instance13, create_fragment26, safe_not_equal, {}, add_css2);
14383
+ init(this, options, instance14, create_fragment28, safe_not_equal, {}, add_css2);
12905
14384
  }
12906
14385
  };
12907
14386
  customElements.define("prompt-builder", create_custom_element(PromptBuilder, {}, [], [], true));