@citolab/qti-components 7.3.23 → 7.4.1

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.
Files changed (293) hide show
  1. package/cdn/index.global.js +1 -1
  2. package/cdn/index.js +5485 -1
  3. package/custom-elements.json +29837 -0
  4. package/dist/chunks/chunk-4BDOB6KY.js +365 -0
  5. package/dist/chunks/chunk-4BDOB6KY.js.map +1 -0
  6. package/dist/chunks/{chunk-LF6SO3JU.js → chunk-7RW7LCEJ.js} +459 -587
  7. package/dist/chunks/chunk-7RW7LCEJ.js.map +1 -0
  8. package/dist/chunks/chunk-APBAIN6D.js +2237 -0
  9. package/dist/chunks/chunk-APBAIN6D.js.map +1 -0
  10. package/dist/chunks/{chunk-22IRJWWY.js → chunk-C5RLRG3L.js} +1 -1
  11. package/dist/chunks/chunk-C5RLRG3L.js.map +1 -0
  12. package/dist/chunks/{chunk-AZIKAG7K.js → chunk-DVQQ7I6Y.js} +1 -1
  13. package/dist/chunks/chunk-DVQQ7I6Y.js.map +1 -0
  14. package/dist/chunks/{chunk-QCB6P7DH.js → chunk-GAAFN7QF.js} +1 -1
  15. package/dist/chunks/{chunk-QCB6P7DH.js.map → chunk-GAAFN7QF.js.map} +1 -1
  16. package/dist/chunks/chunk-K47QFOQX.js +175 -0
  17. package/dist/chunks/chunk-K47QFOQX.js.map +1 -0
  18. package/dist/chunks/{chunk-FL72PF4D.js → chunk-SV4K25ZI.js} +2 -2
  19. package/dist/custom-elements.json +29837 -0
  20. package/dist/exports/computed-item.context.d.ts +1 -7
  21. package/dist/exports/computed.context.d.ts +2 -10
  22. package/dist/exports/computed.context.js +1 -1
  23. package/dist/exports/interaction.d.ts +45 -7
  24. package/dist/exports/item.context.d.ts +10 -7
  25. package/dist/exports/qti-assessment-item.context.d.ts +2 -7
  26. package/dist/exports/qti-condition-expression.d.ts +4 -5
  27. package/dist/exports/qti-condition-expression.js +2 -2
  28. package/dist/exports/qti-expression.d.ts +22 -7
  29. package/dist/exports/qti-expression.js +1 -1
  30. package/dist/exports/qti-test.d.ts +10 -38
  31. package/dist/exports/session.context.d.ts +2 -13
  32. package/dist/exports/session.context.js +1 -1
  33. package/dist/exports/test.context.d.ts +2 -7
  34. package/dist/exports/variables.d.ts +1 -7
  35. package/dist/index.d.ts +12 -31
  36. package/dist/index.js +38 -95
  37. package/{cdn/chunks/chunk-5TDBMEY5.js → dist/item.css} +7 -24
  38. package/dist/qti-assessment-item-l-mN3teH.d.ts +105 -0
  39. package/dist/qti-components/index.d.ts +1173 -16
  40. package/dist/qti-components/index.js +6 -5
  41. package/dist/qti-components-jsx.d.ts +4463 -0
  42. package/dist/qti-item/index.d.ts +114 -0
  43. package/dist/qti-item/index.js +19 -0
  44. package/dist/qti-loader/index.d.ts +2 -5
  45. package/dist/qti-loader/index.js +24 -4
  46. package/dist/qti-loader/index.js.map +1 -1
  47. package/dist/qti-modal-feedback-PKbhO-3w.d.ts +30 -0
  48. package/dist/qti-test/index.d.ts +480 -0
  49. package/dist/qti-test/index.js +69 -0
  50. package/dist/{qti-test-feedback-CZsbp6z4.d.ts → qti-test-BwvOhz_-.d.ts} +45 -18
  51. package/dist/variables-BCkyLoXK.d.ts +55 -0
  52. package/dist/vscode.css-custom-data.json +11 -0
  53. package/dist/vscode.html-custom-data.json +1135 -0
  54. package/package.json +74 -116
  55. package/cdn/chunks/chunk-2BSPQRNR.js +0 -6
  56. package/cdn/chunks/chunk-3CVBBZDT.js +0 -17
  57. package/cdn/chunks/chunk-3IBGLVHA.js +0 -1
  58. package/cdn/chunks/chunk-3YQMAZEO.js +0 -29
  59. package/cdn/chunks/chunk-5UQLGV7F.js +0 -5
  60. package/cdn/chunks/chunk-5WLHU3FH.js +0 -8
  61. package/cdn/chunks/chunk-6SGFGN34.js +0 -8
  62. package/cdn/chunks/chunk-6XVY32RS.js +0 -1
  63. package/cdn/chunks/chunk-7ME56ODO.js +0 -1
  64. package/cdn/chunks/chunk-CZDMOYYF.js +0 -1
  65. package/cdn/chunks/chunk-DNBBQ7LY.js +0 -1
  66. package/cdn/chunks/chunk-DP5FVJRS.js +0 -21
  67. package/cdn/chunks/chunk-E6IOJ4MV.js +0 -23
  68. package/cdn/chunks/chunk-G76Y52EL.js +0 -1471
  69. package/cdn/chunks/chunk-HCXHHI6V.js +0 -18
  70. package/cdn/chunks/chunk-HDMF4QZO.js +0 -48
  71. package/cdn/chunks/chunk-HKWYQB5Z.js +0 -37
  72. package/cdn/chunks/chunk-J5P2GBPV.js +0 -1
  73. package/cdn/chunks/chunk-KWPDTFYH.js +0 -1
  74. package/cdn/chunks/chunk-LIUOA3YV.js +0 -1
  75. package/cdn/chunks/chunk-LO2NM3CE.js +0 -1
  76. package/cdn/chunks/chunk-MD33BNWM.js +0 -1
  77. package/cdn/chunks/chunk-MRQ46JRY.js +0 -8
  78. package/cdn/chunks/chunk-NJP4VZB3.js +0 -8
  79. package/cdn/chunks/chunk-O4RAJ3LM.js +0 -25
  80. package/cdn/chunks/chunk-OSLUHYFD.js +0 -8
  81. package/cdn/chunks/chunk-P6SSTAJ2.js +0 -1
  82. package/cdn/chunks/chunk-PP62N3C4.js +0 -8
  83. package/cdn/chunks/chunk-PU7OABT3.js +0 -1
  84. package/cdn/chunks/chunk-PUI3LIFH.js +0 -0
  85. package/cdn/chunks/chunk-QBAXWCYQ.js +0 -5
  86. package/cdn/chunks/chunk-QEFO63QX.js +0 -8
  87. package/cdn/chunks/chunk-QQCGUVEV.js +0 -1
  88. package/cdn/chunks/chunk-QQR6POPY.js +0 -1
  89. package/cdn/chunks/chunk-RGNFAPWY.js +0 -2
  90. package/cdn/chunks/chunk-S5QDLZ6J.js +0 -1
  91. package/cdn/chunks/chunk-SEM2PEP6.js +0 -5
  92. package/cdn/chunks/chunk-SVVO2SFS.js +0 -1
  93. package/cdn/chunks/chunk-TCHROQU3.js +0 -1
  94. package/cdn/chunks/chunk-UMDZKG6K.js +0 -1
  95. package/cdn/chunks/chunk-VEG7LKS3.js +0 -48
  96. package/cdn/chunks/chunk-WCCTDLQ4.js +0 -8
  97. package/cdn/chunks/chunk-X4FA36TC.js +0 -1
  98. package/cdn/chunks/chunk-XJ2CFTZP.js +0 -1
  99. package/cdn/chunks/chunk-XUJ7TXHW.js +0 -1
  100. package/cdn/chunks/chunk-YCBNF5QU.js +0 -17
  101. package/cdn/chunks/chunk-YHLQ2JQ2.js +0 -1
  102. package/cdn/chunks/chunk-ZPCQH3EY.js +0 -10
  103. package/cdn/exports/computed-item.context.js +0 -1
  104. package/cdn/exports/computed.context.js +0 -1
  105. package/cdn/exports/config.context.js +0 -1
  106. package/cdn/exports/expression-result.js +0 -0
  107. package/cdn/exports/interaction.interface.js +0 -0
  108. package/cdn/exports/interaction.js +0 -1
  109. package/cdn/exports/item.context.js +0 -1
  110. package/cdn/exports/qti-assessment-item.context.js +0 -1
  111. package/cdn/exports/qti-condition-expression.js +0 -1
  112. package/cdn/exports/qti-expression.js +0 -1
  113. package/cdn/exports/qti-test.js +0 -0
  114. package/cdn/exports/qti.context.js +0 -1
  115. package/cdn/exports/session.context.js +0 -1
  116. package/cdn/exports/test.context.js +0 -1
  117. package/cdn/exports/variables.js +0 -0
  118. package/cdn/qti-components/index.js +0 -1
  119. package/cdn/qti-item/components/item-container.js +0 -1
  120. package/cdn/qti-item/components/item-correct-response-mode.js +0 -10
  121. package/cdn/qti-item/components/item-show-candidate-correction.js +0 -8
  122. package/cdn/qti-item/components/item-show-correct-response.js +0 -1
  123. package/cdn/qti-item/components/print-item-variables.js +0 -1
  124. package/cdn/qti-item/components/styles.js +0 -1
  125. package/cdn/qti-item/core/index.js +0 -1
  126. package/cdn/qti-loader/index.js +0 -1
  127. package/cdn/qti-test/components/index.js +0 -1
  128. package/cdn/qti-test/components/styles.js +0 -1
  129. package/cdn/qti-test/components/test-check-item.js +0 -1
  130. package/cdn/qti-test/components/test-container.js +0 -1
  131. package/cdn/qti-test/components/test-end-attempt.js +0 -1
  132. package/cdn/qti-test/components/test-item-link.js +0 -1
  133. package/cdn/qti-test/components/test-navigation.js +0 -1
  134. package/cdn/qti-test/components/test-next.js +0 -1
  135. package/cdn/qti-test/components/test-paging-buttons-stamp.js +0 -1
  136. package/cdn/qti-test/components/test-prev.js +0 -1
  137. package/cdn/qti-test/components/test-print-context.js +0 -1
  138. package/cdn/qti-test/components/test-print-item-variables.js +0 -1
  139. package/cdn/qti-test/components/test-scoring-buttons.js +0 -1
  140. package/cdn/qti-test/components/test-scoring-feedback.js +0 -1
  141. package/cdn/qti-test/components/test-section-buttons-stamp.js +0 -1
  142. package/cdn/qti-test/components/test-section-link.js +0 -1
  143. package/cdn/qti-test/components/test-show-correct-response.js +0 -1
  144. package/cdn/qti-test/components/test-stamp.js +0 -1
  145. package/cdn/qti-test/components/test-view-toggle.js +0 -1
  146. package/cdn/qti-test/components/test-view.js +0 -1
  147. package/cdn/qti-test/core/index.js +0 -1
  148. package/cdn/qti-transformers/index.js +0 -1
  149. package/dist/chunks/chunk-22IRJWWY.js.map +0 -1
  150. package/dist/chunks/chunk-36G5MQKR.js +0 -85
  151. package/dist/chunks/chunk-36G5MQKR.js.map +0 -1
  152. package/dist/chunks/chunk-5KCXO2RP.js +0 -36
  153. package/dist/chunks/chunk-5KCXO2RP.js.map +0 -1
  154. package/dist/chunks/chunk-5ZHHNEDA.js +0 -30
  155. package/dist/chunks/chunk-5ZHHNEDA.js.map +0 -1
  156. package/dist/chunks/chunk-7K44TDQO.js +0 -91
  157. package/dist/chunks/chunk-7K44TDQO.js.map +0 -1
  158. package/dist/chunks/chunk-7OMJMXHK.js +0 -50
  159. package/dist/chunks/chunk-7OMJMXHK.js.map +0 -1
  160. package/dist/chunks/chunk-AZIKAG7K.js.map +0 -1
  161. package/dist/chunks/chunk-BLBSZDQ4.js +0 -52
  162. package/dist/chunks/chunk-BLBSZDQ4.js.map +0 -1
  163. package/dist/chunks/chunk-CP34TICQ.js +0 -45
  164. package/dist/chunks/chunk-CP34TICQ.js.map +0 -1
  165. package/dist/chunks/chunk-CTESMSQO.js +0 -56
  166. package/dist/chunks/chunk-CTESMSQO.js.map +0 -1
  167. package/dist/chunks/chunk-DZAMXOSC.js +0 -30
  168. package/dist/chunks/chunk-DZAMXOSC.js.map +0 -1
  169. package/dist/chunks/chunk-E6V3JHVT.js +0 -31
  170. package/dist/chunks/chunk-E6V3JHVT.js.map +0 -1
  171. package/dist/chunks/chunk-EJZQSOHU.js +0 -85
  172. package/dist/chunks/chunk-EJZQSOHU.js.map +0 -1
  173. package/dist/chunks/chunk-EMVOKXSA.js +0 -84
  174. package/dist/chunks/chunk-EMVOKXSA.js.map +0 -1
  175. package/dist/chunks/chunk-ETLOKJAG.js +0 -94
  176. package/dist/chunks/chunk-ETLOKJAG.js.map +0 -1
  177. package/dist/chunks/chunk-GAHXUFMQ.js +0 -93
  178. package/dist/chunks/chunk-GAHXUFMQ.js.map +0 -1
  179. package/dist/chunks/chunk-KG5Z2CKO.js +0 -86
  180. package/dist/chunks/chunk-KG5Z2CKO.js.map +0 -1
  181. package/dist/chunks/chunk-KSXNC564.js +0 -43
  182. package/dist/chunks/chunk-KSXNC564.js.map +0 -1
  183. package/dist/chunks/chunk-LF6SO3JU.js.map +0 -1
  184. package/dist/chunks/chunk-ODHS7HDB.js +0 -94
  185. package/dist/chunks/chunk-ODHS7HDB.js.map +0 -1
  186. package/dist/chunks/chunk-QU7KR7VX.js +0 -367
  187. package/dist/chunks/chunk-QU7KR7VX.js.map +0 -1
  188. package/dist/chunks/chunk-TU6COU44.js +0 -82
  189. package/dist/chunks/chunk-TU6COU44.js.map +0 -1
  190. package/dist/chunks/chunk-TUKEQ36K.js +0 -60
  191. package/dist/chunks/chunk-TUKEQ36K.js.map +0 -1
  192. package/dist/chunks/chunk-TWYN56XO.js +0 -92
  193. package/dist/chunks/chunk-TWYN56XO.js.map +0 -1
  194. package/dist/chunks/chunk-UHQVQBCL.js +0 -89
  195. package/dist/chunks/chunk-UHQVQBCL.js.map +0 -1
  196. package/dist/chunks/chunk-WFFIUFJJ.js +0 -28
  197. package/dist/chunks/chunk-WFFIUFJJ.js.map +0 -1
  198. package/dist/chunks/chunk-WN6TJQI2.js +0 -103
  199. package/dist/chunks/chunk-WN6TJQI2.js.map +0 -1
  200. package/dist/chunks/chunk-WPEFNKMC.js +0 -923
  201. package/dist/chunks/chunk-WPEFNKMC.js.map +0 -1
  202. package/dist/chunks/chunk-YPMZLHGG.js +0 -52
  203. package/dist/chunks/chunk-YPMZLHGG.js.map +0 -1
  204. package/dist/chunks/chunk-YWEWSQJR.js +0 -40
  205. package/dist/chunks/chunk-YWEWSQJR.js.map +0 -1
  206. package/dist/chunks/chunk-ZGSNDSK3.js +0 -1
  207. package/dist/chunks/chunk-ZGSNDSK3.js.map +0 -1
  208. package/dist/qti-item/components/item-container.d.ts +0 -40
  209. package/dist/qti-item/components/item-container.js +0 -11
  210. package/dist/qti-item/components/item-container.js.map +0 -1
  211. package/dist/qti-item/components/item-correct-response-mode.d.ts +0 -17
  212. package/dist/qti-item/components/item-correct-response-mode.js +0 -62
  213. package/dist/qti-item/components/item-correct-response-mode.js.map +0 -1
  214. package/dist/qti-item/components/item-show-candidate-correction.d.ts +0 -34
  215. package/dist/qti-item/components/item-show-candidate-correction.js +0 -88
  216. package/dist/qti-item/components/item-show-candidate-correction.js.map +0 -1
  217. package/dist/qti-item/components/item-show-correct-response.d.ts +0 -33
  218. package/dist/qti-item/components/item-show-correct-response.js +0 -10
  219. package/dist/qti-item/components/item-show-correct-response.js.map +0 -1
  220. package/dist/qti-item/components/print-item-variables.d.ts +0 -23
  221. package/dist/qti-item/components/print-item-variables.js +0 -9
  222. package/dist/qti-item/components/print-item-variables.js.map +0 -1
  223. package/dist/qti-item/components/styles.d.ts +0 -8
  224. package/dist/qti-item/components/styles.js +0 -14
  225. package/dist/qti-item/components/styles.js.map +0 -1
  226. package/dist/qti-item/core/index.d.ts +0 -51
  227. package/dist/qti-item/core/index.js +0 -26
  228. package/dist/qti-response-declaration-DKr08ANy.d.ts +0 -1397
  229. package/dist/qti-test/components/index.d.ts +0 -33
  230. package/dist/qti-test/components/index.js +0 -87
  231. package/dist/qti-test/components/styles.d.ts +0 -8
  232. package/dist/qti-test/components/styles.js +0 -14
  233. package/dist/qti-test/components/styles.js.map +0 -1
  234. package/dist/qti-test/components/test-check-item.d.ts +0 -16
  235. package/dist/qti-test/components/test-check-item.js +0 -9
  236. package/dist/qti-test/components/test-check-item.js.map +0 -1
  237. package/dist/qti-test/components/test-container.d.ts +0 -39
  238. package/dist/qti-test/components/test-container.js +0 -11
  239. package/dist/qti-test/components/test-container.js.map +0 -1
  240. package/dist/qti-test/components/test-end-attempt.d.ts +0 -16
  241. package/dist/qti-test/components/test-end-attempt.js +0 -9
  242. package/dist/qti-test/components/test-end-attempt.js.map +0 -1
  243. package/dist/qti-test/components/test-item-link.d.ts +0 -18
  244. package/dist/qti-test/components/test-item-link.js +0 -9
  245. package/dist/qti-test/components/test-item-link.js.map +0 -1
  246. package/dist/qti-test/components/test-navigation.d.ts +0 -73
  247. package/dist/qti-test/components/test-navigation.js +0 -13
  248. package/dist/qti-test/components/test-navigation.js.map +0 -1
  249. package/dist/qti-test/components/test-next.d.ts +0 -48
  250. package/dist/qti-test/components/test-next.js +0 -12
  251. package/dist/qti-test/components/test-next.js.map +0 -1
  252. package/dist/qti-test/components/test-paging-buttons-stamp.d.ts +0 -23
  253. package/dist/qti-test/components/test-paging-buttons-stamp.js +0 -9
  254. package/dist/qti-test/components/test-paging-buttons-stamp.js.map +0 -1
  255. package/dist/qti-test/components/test-prev.d.ts +0 -46
  256. package/dist/qti-test/components/test-prev.js +0 -12
  257. package/dist/qti-test/components/test-prev.js.map +0 -1
  258. package/dist/qti-test/components/test-print-context.d.ts +0 -25
  259. package/dist/qti-test/components/test-print-context.js +0 -9
  260. package/dist/qti-test/components/test-print-context.js.map +0 -1
  261. package/dist/qti-test/components/test-print-item-variables.d.ts +0 -27
  262. package/dist/qti-test/components/test-print-item-variables.js +0 -9
  263. package/dist/qti-test/components/test-print-item-variables.js.map +0 -1
  264. package/dist/qti-test/components/test-scoring-buttons.d.ts +0 -32
  265. package/dist/qti-test/components/test-scoring-buttons.js +0 -9
  266. package/dist/qti-test/components/test-scoring-buttons.js.map +0 -1
  267. package/dist/qti-test/components/test-scoring-feedback.d.ts +0 -27
  268. package/dist/qti-test/components/test-scoring-feedback.js +0 -9
  269. package/dist/qti-test/components/test-scoring-feedback.js.map +0 -1
  270. package/dist/qti-test/components/test-section-buttons-stamp.d.ts +0 -23
  271. package/dist/qti-test/components/test-section-buttons-stamp.js +0 -9
  272. package/dist/qti-test/components/test-section-buttons-stamp.js.map +0 -1
  273. package/dist/qti-test/components/test-section-link.d.ts +0 -18
  274. package/dist/qti-test/components/test-section-link.js +0 -9
  275. package/dist/qti-test/components/test-section-link.js.map +0 -1
  276. package/dist/qti-test/components/test-show-correct-response.d.ts +0 -39
  277. package/dist/qti-test/components/test-show-correct-response.js +0 -10
  278. package/dist/qti-test/components/test-show-correct-response.js.map +0 -1
  279. package/dist/qti-test/components/test-stamp.d.ts +0 -31
  280. package/dist/qti-test/components/test-stamp.js +0 -9
  281. package/dist/qti-test/components/test-stamp.js.map +0 -1
  282. package/dist/qti-test/components/test-view-toggle.d.ts +0 -19
  283. package/dist/qti-test/components/test-view-toggle.js +0 -9
  284. package/dist/qti-test/components/test-view-toggle.js.map +0 -1
  285. package/dist/qti-test/components/test-view.d.ts +0 -24
  286. package/dist/qti-test/components/test-view.js +0 -10
  287. package/dist/qti-test/components/test-view.js.map +0 -1
  288. package/dist/qti-test/core/index.d.ts +0 -105
  289. package/dist/qti-test/core/index.js +0 -36
  290. package/dist/qti-test/core/index.js.map +0 -1
  291. /package/dist/chunks/{chunk-FL72PF4D.js.map → chunk-SV4K25ZI.js.map} +0 -0
  292. /package/dist/qti-item/{core/index.js.map → index.js.map} +0 -0
  293. /package/dist/qti-test/{components/index.js.map → index.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/qti-components/qti-feedback/qti-modal-feedback/qti-modal-feedback.ts","../../src/lib/qti-components/qti-feedback/qti-feedback.ts","../../src/lib/qti-components/internal/utils.ts"],"sourcesContent":["import { css, html } from 'lit';\nimport { customElement } from 'lit/decorators.js';\n\nimport { QtiFeedback } from '../qti-feedback';\n\n@customElement('qti-modal-feedback')\nexport class QtiModalFeedback extends QtiFeedback {\n static override styles = css`\n .qti-dialog {\n background: var(--qti-bg);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n border-radius: var(--qti-border-radius);\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 1000;\n width: auto;\n max-width: 90%;\n }\n\n .button {\n border-radius: var(--qti-border-radius);\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n background-color: var(--qti-bg-active);\n border: var(--qti-border-active);\n cursor: pointer;\n position: relative;\n display: inline-block;\n }\n\n .button:hover {\n background-color: var(--qti-hover-bg);\n }\n\n .button:disabled {\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n cursor: not-allowed;\n }\n\n .button:focus {\n outline: var(--qti-focus-border-width) solid var(--qti-focus-color);\n }\n `;\n\n override render() {\n return html`\n <dialog class=\"qti-dialog\" part=\"feedback\" ?open=\"${this.showStatus === 'on'}\">\n <slot></slot>\n <div style=\"margin-top: var(--qti-gap-size); text-align: center;\">\n <button class=\"button close-button\" @click=\"${this.closeFeedback}\">Close</button>\n </div>\n </dialog>\n `;\n }\n\n openFeedback() {\n const dialog = this.shadowRoot?.querySelector('dialog') as HTMLDialogElement | null;\n if (dialog && !dialog.open) {\n dialog.showModal();\n }\n }\n\n closeFeedback() {\n const dialog = this.shadowRoot?.querySelector('dialog') as HTMLDialogElement | null;\n if (dialog && dialog.open) {\n dialog.close();\n this.showStatus = 'off';\n }\n }\n\n public connectedCallback(): void {\n super.connectedCallback();\n if (this.showStatus === 'on') {\n this.openFeedback();\n }\n }\n\n protected updated(changedProperties: Map<string | number | symbol, unknown>): void {\n if (changedProperties.has('showStatus')) {\n if (this.showStatus === 'on') {\n this.openFeedback();\n } else {\n this.closeFeedback();\n }\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'qti-modal-feedback': QtiModalFeedback;\n }\n}\n","import { consume } from '@lit/context';\nimport { LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\n\nimport { IsNullOrUndefined } from '../internal/utils';\nimport { itemContext } from '../../exports/qti-assessment-item.context';\n\nimport type { ItemContext } from '../../exports/item.context';\n\nexport abstract class QtiFeedback extends LitElement {\n @property({ type: String, attribute: 'show-hide' })\n protected showHide: string;\n\n @property({ type: String, attribute: 'outcome-identifier' })\n public outcomeIdentifier: string;\n\n @property({ type: String })\n protected identifier: string;\n\n @property({ type: String, attribute: false })\n public showStatus: string;\n\n @consume({ context: itemContext, subscribe: true })\n @state()\n private _context?: ItemContext;\n\n public override connectedCallback() {\n super.connectedCallback();\n this.dispatchEvent(\n new CustomEvent<QtiFeedback>('qti-register-feedback', {\n bubbles: true,\n composed: true,\n detail: this\n })\n );\n }\n\n public checkShowFeedback(outcomeIdentifier: string) {\n const outcomeVariable = this._context.variables.find(v => v.identifier === outcomeIdentifier) || null;\n if (this.outcomeIdentifier !== outcomeIdentifier || !outcomeVariable) return;\n let isFound = false;\n if (Array.isArray(outcomeVariable.value)) {\n isFound = outcomeVariable.value.includes(this.identifier);\n } else {\n isFound =\n (!IsNullOrUndefined(this.identifier) &&\n !IsNullOrUndefined(outcomeVariable?.value) &&\n this.identifier === outcomeVariable.value) ||\n false;\n }\n\n this.showFeedback(isFound);\n }\n\n private showFeedback(value: boolean) {\n this.showStatus = (value && this.showHide === 'show') || (!value && this.showHide === 'hide') ? 'on' : 'off';\n }\n}\n","export const decimalSeparator = () => {\n return new Intl.NumberFormat().format(0.1).replace(/\\d/g, '');\n};\n\nexport const convertNumberToUniversalFormat = (number: number | string) => {\n // check if type is string\n if (typeof number === 'string') {\n return number;\n }\n const dSep = decimalSeparator();\n if (dSep === '.') {\n return number.toLocaleString();\n } else {\n return number.toString().replace('.', '').replace(dSep, '.');\n }\n};\n\nexport function IsNullOrUndefined(value: unknown) {\n return value === null || value === undefined;\n}\n\nexport function removeDoubleSlashes(str: string) {\n const singleForwardSlashes = str\n .replace(/([^:]\\/)\\/+/g, '$1')\n .replace(/\\/\\//g, '/')\n .replace('http:/', 'http://')\n .replace('https:/', 'https://');\n return singleForwardSlashes;\n}\n"],"mappings":"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","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  QtiExpression
3
- } from "./chunk-QCB6P7DH.js";
3
+ } from "./chunk-GAAFN7QF.js";
4
4
 
5
5
  // src/lib/exports/qti-condition-expression.ts
6
6
  var QtiConditionExpression = class extends QtiExpression {
@@ -16,4 +16,4 @@ var QtiConditionExpression = class extends QtiExpression {
16
16
  export {
17
17
  QtiConditionExpression
18
18
  };
19
- //# sourceMappingURL=chunk-FL72PF4D.js.map
19
+ //# sourceMappingURL=chunk-SV4K25ZI.js.map