@citolab/qti-components 7.3.22 → 7.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cdn/index.global.js +1 -1
- package/cdn/index.js +5485 -1
- package/custom-elements.json +29837 -0
- package/dist/chunks/chunk-6K4ROGDD.js +364 -0
- package/dist/chunks/chunk-6K4ROGDD.js.map +1 -0
- package/dist/chunks/chunk-GUDRSXIP.js +189 -0
- package/dist/chunks/chunk-GUDRSXIP.js.map +1 -0
- package/dist/chunks/{chunk-WFUXZ4UT.js → chunk-JDY5GL7E.js} +13 -1
- package/dist/chunks/{chunk-WFUXZ4UT.js.map → chunk-JDY5GL7E.js.map} +1 -1
- package/dist/chunks/{chunk-LF6SO3JU.js → chunk-LN74Z5QM.js} +653 -450
- package/dist/chunks/chunk-LN74Z5QM.js.map +1 -0
- package/dist/chunks/{chunk-ELDMXTUQ.js → chunk-O5N4DCU6.js} +7 -2
- package/dist/chunks/chunk-O5N4DCU6.js.map +1 -0
- package/dist/chunks/chunk-TJ6ZOT7A.js +2235 -0
- package/dist/chunks/chunk-TJ6ZOT7A.js.map +1 -0
- package/dist/computed-item.context-DpK-sS0T.d.ts +19 -0
- package/dist/{exports/config.context.d.ts → config.context-CmQ9L62n.d.ts} +1 -4
- package/dist/custom-elements.json +29837 -0
- package/dist/index.d.ts +8 -39
- package/dist/index.js +34 -104
- package/{cdn/chunks/chunk-5TDBMEY5.js → dist/item.css} +7 -24
- package/dist/qti-assessment-item-D77dJ1Ot.d.ts +104 -0
- package/dist/qti-components/index.d.ts +1238 -19
- package/dist/qti-components/index.js +6 -14
- package/dist/qti-components-jsx.d.ts +4463 -0
- package/dist/qti-item/index.d.ts +113 -0
- package/dist/qti-item/index.js +16 -0
- package/dist/qti-loader/index.d.ts +2 -6
- package/dist/qti-loader/index.js +24 -5
- package/dist/qti-loader/index.js.map +1 -1
- package/dist/qti-test/index.d.ts +593 -0
- package/dist/qti-test/index.js +62 -0
- package/dist/qti-transformers/index.d.ts +38 -2
- package/dist/qti-transformers/index.js +1 -2
- package/dist/test.context-L609DNAz.d.ts +58 -0
- package/dist/variables-Vgyr6yyW.d.ts +58 -0
- package/dist/vscode.css-custom-data.json +11 -0
- package/dist/vscode.html-custom-data.json +1135 -0
- package/package.json +74 -113
- package/cdn/chunks/chunk-2BSPQRNR.js +0 -6
- package/cdn/chunks/chunk-3CVBBZDT.js +0 -17
- package/cdn/chunks/chunk-3IBGLVHA.js +0 -1
- package/cdn/chunks/chunk-3YQMAZEO.js +0 -29
- package/cdn/chunks/chunk-5UQLGV7F.js +0 -5
- package/cdn/chunks/chunk-5WLHU3FH.js +0 -8
- package/cdn/chunks/chunk-6SGFGN34.js +0 -8
- package/cdn/chunks/chunk-6XVY32RS.js +0 -1
- package/cdn/chunks/chunk-7ME56ODO.js +0 -1
- package/cdn/chunks/chunk-CZDMOYYF.js +0 -1
- package/cdn/chunks/chunk-DNBBQ7LY.js +0 -1
- package/cdn/chunks/chunk-DP5FVJRS.js +0 -21
- package/cdn/chunks/chunk-E6IOJ4MV.js +0 -23
- package/cdn/chunks/chunk-G76Y52EL.js +0 -1471
- package/cdn/chunks/chunk-HCXHHI6V.js +0 -18
- package/cdn/chunks/chunk-HDMF4QZO.js +0 -48
- package/cdn/chunks/chunk-HKWYQB5Z.js +0 -37
- package/cdn/chunks/chunk-J5P2GBPV.js +0 -1
- package/cdn/chunks/chunk-KWPDTFYH.js +0 -1
- package/cdn/chunks/chunk-LIUOA3YV.js +0 -1
- package/cdn/chunks/chunk-LO2NM3CE.js +0 -1
- package/cdn/chunks/chunk-MD33BNWM.js +0 -1
- package/cdn/chunks/chunk-MRQ46JRY.js +0 -8
- package/cdn/chunks/chunk-NJP4VZB3.js +0 -8
- package/cdn/chunks/chunk-O4RAJ3LM.js +0 -25
- package/cdn/chunks/chunk-OSLUHYFD.js +0 -8
- package/cdn/chunks/chunk-P6SSTAJ2.js +0 -1
- package/cdn/chunks/chunk-PP62N3C4.js +0 -8
- package/cdn/chunks/chunk-PU7OABT3.js +0 -1
- package/cdn/chunks/chunk-PUI3LIFH.js +0 -0
- package/cdn/chunks/chunk-QBAXWCYQ.js +0 -5
- package/cdn/chunks/chunk-QEFO63QX.js +0 -8
- package/cdn/chunks/chunk-QQCGUVEV.js +0 -1
- package/cdn/chunks/chunk-QQR6POPY.js +0 -1
- package/cdn/chunks/chunk-RGNFAPWY.js +0 -2
- package/cdn/chunks/chunk-S5QDLZ6J.js +0 -1
- package/cdn/chunks/chunk-SEM2PEP6.js +0 -5
- package/cdn/chunks/chunk-SVVO2SFS.js +0 -1
- package/cdn/chunks/chunk-TCHROQU3.js +0 -1
- package/cdn/chunks/chunk-UMDZKG6K.js +0 -1
- package/cdn/chunks/chunk-VEG7LKS3.js +0 -48
- package/cdn/chunks/chunk-WCCTDLQ4.js +0 -8
- package/cdn/chunks/chunk-X4FA36TC.js +0 -1
- package/cdn/chunks/chunk-XJ2CFTZP.js +0 -1
- package/cdn/chunks/chunk-XUJ7TXHW.js +0 -1
- package/cdn/chunks/chunk-YCBNF5QU.js +0 -17
- package/cdn/chunks/chunk-YHLQ2JQ2.js +0 -1
- package/cdn/chunks/chunk-ZPCQH3EY.js +0 -10
- package/cdn/exports/computed-item.context.js +0 -1
- package/cdn/exports/computed.context.js +0 -1
- package/cdn/exports/config.context.js +0 -1
- package/cdn/exports/expression-result.js +0 -0
- package/cdn/exports/interaction.interface.js +0 -0
- package/cdn/exports/interaction.js +0 -1
- package/cdn/exports/item.context.js +0 -1
- package/cdn/exports/qti-assessment-item.context.js +0 -1
- package/cdn/exports/qti-condition-expression.js +0 -1
- package/cdn/exports/qti-expression.js +0 -1
- package/cdn/exports/qti-test.js +0 -0
- package/cdn/exports/qti.context.js +0 -1
- package/cdn/exports/session.context.js +0 -1
- package/cdn/exports/test.context.js +0 -1
- package/cdn/exports/variables.js +0 -0
- package/cdn/qti-components/index.js +0 -1
- package/cdn/qti-item/components/item-container.js +0 -1
- package/cdn/qti-item/components/item-correct-response-mode.js +0 -10
- package/cdn/qti-item/components/item-show-candidate-correction.js +0 -8
- package/cdn/qti-item/components/item-show-correct-response.js +0 -1
- package/cdn/qti-item/components/print-item-variables.js +0 -1
- package/cdn/qti-item/components/styles.js +0 -1
- package/cdn/qti-item/core/index.js +0 -1
- package/cdn/qti-loader/index.js +0 -1
- package/cdn/qti-test/components/index.js +0 -1
- package/cdn/qti-test/components/styles.js +0 -1
- package/cdn/qti-test/components/test-check-item.js +0 -1
- package/cdn/qti-test/components/test-container.js +0 -1
- package/cdn/qti-test/components/test-end-attempt.js +0 -1
- package/cdn/qti-test/components/test-item-link.js +0 -1
- package/cdn/qti-test/components/test-navigation.js +0 -1
- package/cdn/qti-test/components/test-next.js +0 -1
- package/cdn/qti-test/components/test-paging-buttons-stamp.js +0 -1
- package/cdn/qti-test/components/test-prev.js +0 -1
- package/cdn/qti-test/components/test-print-context.js +0 -1
- package/cdn/qti-test/components/test-print-item-variables.js +0 -1
- package/cdn/qti-test/components/test-scoring-buttons.js +0 -1
- package/cdn/qti-test/components/test-scoring-feedback.js +0 -1
- package/cdn/qti-test/components/test-section-buttons-stamp.js +0 -1
- package/cdn/qti-test/components/test-section-link.js +0 -1
- package/cdn/qti-test/components/test-show-correct-response.js +0 -1
- package/cdn/qti-test/components/test-stamp.js +0 -1
- package/cdn/qti-test/components/test-view-toggle.js +0 -1
- package/cdn/qti-test/components/test-view.js +0 -1
- package/cdn/qti-test/core/index.js +0 -1
- package/cdn/qti-transformers/index.js +0 -1
- package/dist/chunks/chunk-22IRJWWY.js +0 -10
- package/dist/chunks/chunk-22IRJWWY.js.map +0 -1
- package/dist/chunks/chunk-36G5MQKR.js +0 -85
- package/dist/chunks/chunk-36G5MQKR.js.map +0 -1
- package/dist/chunks/chunk-4OGJBG35.js +0 -8
- package/dist/chunks/chunk-4OGJBG35.js.map +0 -1
- package/dist/chunks/chunk-5KCXO2RP.js +0 -36
- package/dist/chunks/chunk-5KCXO2RP.js.map +0 -1
- package/dist/chunks/chunk-5ZHHNEDA.js +0 -30
- package/dist/chunks/chunk-5ZHHNEDA.js.map +0 -1
- package/dist/chunks/chunk-7K44TDQO.js +0 -91
- package/dist/chunks/chunk-7K44TDQO.js.map +0 -1
- package/dist/chunks/chunk-7OMJMXHK.js +0 -50
- package/dist/chunks/chunk-7OMJMXHK.js.map +0 -1
- package/dist/chunks/chunk-AZIKAG7K.js +0 -8
- package/dist/chunks/chunk-AZIKAG7K.js.map +0 -1
- package/dist/chunks/chunk-BLBSZDQ4.js +0 -52
- package/dist/chunks/chunk-BLBSZDQ4.js.map +0 -1
- package/dist/chunks/chunk-CJADUWEC.js +0 -10
- package/dist/chunks/chunk-CJADUWEC.js.map +0 -1
- package/dist/chunks/chunk-CP34TICQ.js +0 -45
- package/dist/chunks/chunk-CP34TICQ.js.map +0 -1
- package/dist/chunks/chunk-CTESMSQO.js +0 -56
- package/dist/chunks/chunk-CTESMSQO.js.map +0 -1
- package/dist/chunks/chunk-DZAMXOSC.js +0 -30
- package/dist/chunks/chunk-DZAMXOSC.js.map +0 -1
- package/dist/chunks/chunk-E6V3JHVT.js +0 -31
- package/dist/chunks/chunk-E6V3JHVT.js.map +0 -1
- package/dist/chunks/chunk-EJZQSOHU.js +0 -85
- package/dist/chunks/chunk-EJZQSOHU.js.map +0 -1
- package/dist/chunks/chunk-ELDMXTUQ.js.map +0 -1
- package/dist/chunks/chunk-EMVOKXSA.js +0 -84
- package/dist/chunks/chunk-EMVOKXSA.js.map +0 -1
- package/dist/chunks/chunk-ERYHQVOT.js +0 -8
- package/dist/chunks/chunk-ERYHQVOT.js.map +0 -1
- package/dist/chunks/chunk-ETLOKJAG.js +0 -94
- package/dist/chunks/chunk-ETLOKJAG.js.map +0 -1
- package/dist/chunks/chunk-FL72PF4D.js +0 -19
- package/dist/chunks/chunk-FL72PF4D.js.map +0 -1
- package/dist/chunks/chunk-GAHXUFMQ.js +0 -93
- package/dist/chunks/chunk-GAHXUFMQ.js.map +0 -1
- package/dist/chunks/chunk-H2JE6IVU.js +0 -15
- package/dist/chunks/chunk-H2JE6IVU.js.map +0 -1
- package/dist/chunks/chunk-H6KHXSIO.js +0 -8
- package/dist/chunks/chunk-H6KHXSIO.js.map +0 -1
- package/dist/chunks/chunk-HFAUM56X.js +0 -208
- package/dist/chunks/chunk-HFAUM56X.js.map +0 -1
- package/dist/chunks/chunk-JQ6HWGRY.js +0 -22
- package/dist/chunks/chunk-JQ6HWGRY.js.map +0 -1
- package/dist/chunks/chunk-KG5Z2CKO.js +0 -86
- package/dist/chunks/chunk-KG5Z2CKO.js.map +0 -1
- package/dist/chunks/chunk-KSXNC564.js +0 -43
- package/dist/chunks/chunk-KSXNC564.js.map +0 -1
- package/dist/chunks/chunk-LF6SO3JU.js.map +0 -1
- package/dist/chunks/chunk-NJNQOQUU.js +0 -8
- package/dist/chunks/chunk-NJNQOQUU.js.map +0 -1
- package/dist/chunks/chunk-ODHS7HDB.js +0 -94
- package/dist/chunks/chunk-ODHS7HDB.js.map +0 -1
- package/dist/chunks/chunk-QCB6P7DH.js +0 -146
- package/dist/chunks/chunk-QCB6P7DH.js.map +0 -1
- package/dist/chunks/chunk-QU7KR7VX.js +0 -367
- package/dist/chunks/chunk-QU7KR7VX.js.map +0 -1
- package/dist/chunks/chunk-TU6COU44.js +0 -82
- package/dist/chunks/chunk-TU6COU44.js.map +0 -1
- package/dist/chunks/chunk-TUKEQ36K.js +0 -60
- package/dist/chunks/chunk-TUKEQ36K.js.map +0 -1
- package/dist/chunks/chunk-TWYN56XO.js +0 -92
- package/dist/chunks/chunk-TWYN56XO.js.map +0 -1
- package/dist/chunks/chunk-UHQVQBCL.js +0 -89
- package/dist/chunks/chunk-UHQVQBCL.js.map +0 -1
- package/dist/chunks/chunk-WFFIUFJJ.js +0 -28
- package/dist/chunks/chunk-WFFIUFJJ.js.map +0 -1
- package/dist/chunks/chunk-WN6TJQI2.js +0 -103
- package/dist/chunks/chunk-WN6TJQI2.js.map +0 -1
- package/dist/chunks/chunk-WPEFNKMC.js +0 -923
- package/dist/chunks/chunk-WPEFNKMC.js.map +0 -1
- package/dist/chunks/chunk-YPMZLHGG.js +0 -52
- package/dist/chunks/chunk-YPMZLHGG.js.map +0 -1
- package/dist/chunks/chunk-YWEWSQJR.js +0 -40
- package/dist/chunks/chunk-YWEWSQJR.js.map +0 -1
- package/dist/chunks/chunk-ZGSNDSK3.js +0 -1
- package/dist/chunks/chunk-ZGSNDSK3.js.map +0 -1
- package/dist/exports/computed-item.context.d.ts +0 -29
- package/dist/exports/computed-item.context.js +0 -8
- package/dist/exports/computed-item.context.js.map +0 -1
- package/dist/exports/computed.context.d.ts +0 -42
- package/dist/exports/computed.context.js +0 -8
- package/dist/exports/computed.context.js.map +0 -1
- package/dist/exports/config.context.js +0 -8
- package/dist/exports/config.context.js.map +0 -1
- package/dist/exports/expression-result.d.ts +0 -19
- package/dist/exports/expression-result.js +0 -1
- package/dist/exports/expression-result.js.map +0 -1
- package/dist/exports/interaction.d.ts +0 -8
- package/dist/exports/interaction.interface.d.ts +0 -13
- package/dist/exports/interaction.interface.js +0 -1
- package/dist/exports/interaction.interface.js.map +0 -1
- package/dist/exports/interaction.js +0 -12
- package/dist/exports/interaction.js.map +0 -1
- package/dist/exports/item.context.d.ts +0 -8
- package/dist/exports/item.context.js +0 -8
- package/dist/exports/item.context.js.map +0 -1
- package/dist/exports/qti-assessment-item.context.d.ts +0 -14
- package/dist/exports/qti-assessment-item.context.js +0 -8
- package/dist/exports/qti-assessment-item.context.js.map +0 -1
- package/dist/exports/qti-condition-expression.d.ts +0 -15
- package/dist/exports/qti-condition-expression.js +0 -11
- package/dist/exports/qti-condition-expression.js.map +0 -1
- package/dist/exports/qti-expression.d.ts +0 -8
- package/dist/exports/qti-expression.js +0 -10
- package/dist/exports/qti-expression.js.map +0 -1
- package/dist/exports/qti-test.d.ts +0 -40
- package/dist/exports/qti-test.js +0 -1
- package/dist/exports/qti-test.js.map +0 -1
- package/dist/exports/qti.context.d.ts +0 -14
- package/dist/exports/qti.context.js +0 -8
- package/dist/exports/qti.context.js.map +0 -1
- package/dist/exports/session.context.d.ts +0 -26
- package/dist/exports/session.context.js +0 -10
- package/dist/exports/session.context.js.map +0 -1
- package/dist/exports/test.context.d.ts +0 -21
- package/dist/exports/test.context.js +0 -10
- package/dist/exports/test.context.js.map +0 -1
- package/dist/exports/variables.d.ts +0 -8
- package/dist/exports/variables.js +0 -1
- package/dist/exports/variables.js.map +0 -1
- package/dist/qti-item/components/item-container.d.ts +0 -40
- package/dist/qti-item/components/item-container.js +0 -11
- package/dist/qti-item/components/item-container.js.map +0 -1
- package/dist/qti-item/components/item-correct-response-mode.d.ts +0 -17
- package/dist/qti-item/components/item-correct-response-mode.js +0 -62
- package/dist/qti-item/components/item-correct-response-mode.js.map +0 -1
- package/dist/qti-item/components/item-show-candidate-correction.d.ts +0 -34
- package/dist/qti-item/components/item-show-candidate-correction.js +0 -88
- package/dist/qti-item/components/item-show-candidate-correction.js.map +0 -1
- package/dist/qti-item/components/item-show-correct-response.d.ts +0 -33
- package/dist/qti-item/components/item-show-correct-response.js +0 -10
- package/dist/qti-item/components/item-show-correct-response.js.map +0 -1
- package/dist/qti-item/components/print-item-variables.d.ts +0 -23
- package/dist/qti-item/components/print-item-variables.js +0 -9
- package/dist/qti-item/components/print-item-variables.js.map +0 -1
- package/dist/qti-item/components/styles.d.ts +0 -8
- package/dist/qti-item/components/styles.js +0 -14
- package/dist/qti-item/components/styles.js.map +0 -1
- package/dist/qti-item/core/index.d.ts +0 -51
- package/dist/qti-item/core/index.js +0 -26
- package/dist/qti-response-declaration-DKr08ANy.d.ts +0 -1397
- package/dist/qti-test/components/index.d.ts +0 -33
- package/dist/qti-test/components/index.js +0 -87
- package/dist/qti-test/components/styles.d.ts +0 -8
- package/dist/qti-test/components/styles.js +0 -14
- package/dist/qti-test/components/styles.js.map +0 -1
- package/dist/qti-test/components/test-check-item.d.ts +0 -16
- package/dist/qti-test/components/test-check-item.js +0 -9
- package/dist/qti-test/components/test-check-item.js.map +0 -1
- package/dist/qti-test/components/test-container.d.ts +0 -39
- package/dist/qti-test/components/test-container.js +0 -11
- package/dist/qti-test/components/test-container.js.map +0 -1
- package/dist/qti-test/components/test-end-attempt.d.ts +0 -16
- package/dist/qti-test/components/test-end-attempt.js +0 -9
- package/dist/qti-test/components/test-end-attempt.js.map +0 -1
- package/dist/qti-test/components/test-item-link.d.ts +0 -18
- package/dist/qti-test/components/test-item-link.js +0 -9
- package/dist/qti-test/components/test-item-link.js.map +0 -1
- package/dist/qti-test/components/test-navigation.d.ts +0 -73
- package/dist/qti-test/components/test-navigation.js +0 -13
- package/dist/qti-test/components/test-navigation.js.map +0 -1
- package/dist/qti-test/components/test-next.d.ts +0 -48
- package/dist/qti-test/components/test-next.js +0 -12
- package/dist/qti-test/components/test-next.js.map +0 -1
- package/dist/qti-test/components/test-paging-buttons-stamp.d.ts +0 -23
- package/dist/qti-test/components/test-paging-buttons-stamp.js +0 -9
- package/dist/qti-test/components/test-paging-buttons-stamp.js.map +0 -1
- package/dist/qti-test/components/test-prev.d.ts +0 -46
- package/dist/qti-test/components/test-prev.js +0 -12
- package/dist/qti-test/components/test-prev.js.map +0 -1
- package/dist/qti-test/components/test-print-context.d.ts +0 -25
- package/dist/qti-test/components/test-print-context.js +0 -9
- package/dist/qti-test/components/test-print-context.js.map +0 -1
- package/dist/qti-test/components/test-print-item-variables.d.ts +0 -27
- package/dist/qti-test/components/test-print-item-variables.js +0 -9
- package/dist/qti-test/components/test-print-item-variables.js.map +0 -1
- package/dist/qti-test/components/test-scoring-buttons.d.ts +0 -32
- package/dist/qti-test/components/test-scoring-buttons.js +0 -9
- package/dist/qti-test/components/test-scoring-buttons.js.map +0 -1
- package/dist/qti-test/components/test-scoring-feedback.d.ts +0 -27
- package/dist/qti-test/components/test-scoring-feedback.js +0 -9
- package/dist/qti-test/components/test-scoring-feedback.js.map +0 -1
- package/dist/qti-test/components/test-section-buttons-stamp.d.ts +0 -23
- package/dist/qti-test/components/test-section-buttons-stamp.js +0 -9
- package/dist/qti-test/components/test-section-buttons-stamp.js.map +0 -1
- package/dist/qti-test/components/test-section-link.d.ts +0 -18
- package/dist/qti-test/components/test-section-link.js +0 -9
- package/dist/qti-test/components/test-section-link.js.map +0 -1
- package/dist/qti-test/components/test-show-correct-response.d.ts +0 -39
- package/dist/qti-test/components/test-show-correct-response.js +0 -10
- package/dist/qti-test/components/test-show-correct-response.js.map +0 -1
- package/dist/qti-test/components/test-stamp.d.ts +0 -31
- package/dist/qti-test/components/test-stamp.js +0 -9
- package/dist/qti-test/components/test-stamp.js.map +0 -1
- package/dist/qti-test/components/test-view-toggle.d.ts +0 -19
- package/dist/qti-test/components/test-view-toggle.js +0 -9
- package/dist/qti-test/components/test-view-toggle.js.map +0 -1
- package/dist/qti-test/components/test-view.d.ts +0 -24
- package/dist/qti-test/components/test-view.js +0 -10
- package/dist/qti-test/components/test-view.js.map +0 -1
- package/dist/qti-test/core/index.d.ts +0 -105
- package/dist/qti-test/core/index.js +0 -36
- package/dist/qti-test/core/index.js.map +0 -1
- package/dist/qti-test-feedback-CZsbp6z4.d.ts +0 -91
- package/dist/qti-transform-item-C9WtMeDR.d.ts +0 -39
- /package/dist/qti-item/{core/index.js.map → index.js.map} +0 -0
- /package/dist/qti-test/{components/index.js.map → index.js.map} +0 -0
|
@@ -1,41 +1,77 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
QtiFeedback,
|
|
3
|
+
convertNumberToUniversalFormat,
|
|
4
|
+
itemContext,
|
|
5
|
+
qtiContext,
|
|
6
|
+
removeDoubleSlashes,
|
|
7
|
+
testContext
|
|
8
|
+
} from "./chunk-GUDRSXIP.js";
|
|
4
9
|
import {
|
|
10
|
+
configContext,
|
|
5
11
|
watch
|
|
6
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-O5N4DCU6.js";
|
|
7
13
|
import {
|
|
14
|
+
__decorateClass,
|
|
8
15
|
qtiTransformItem
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import {
|
|
11
|
-
QtiConditionExpression
|
|
12
|
-
} from "./chunk-FL72PF4D.js";
|
|
13
|
-
import {
|
|
14
|
-
QtiExpression
|
|
15
|
-
} from "./chunk-QCB6P7DH.js";
|
|
16
|
-
import {
|
|
17
|
-
testContext
|
|
18
|
-
} from "./chunk-CJADUWEC.js";
|
|
19
|
-
import {
|
|
20
|
-
Interaction
|
|
21
|
-
} from "./chunk-HFAUM56X.js";
|
|
22
|
-
import {
|
|
23
|
-
itemContext
|
|
24
|
-
} from "./chunk-NJNQOQUU.js";
|
|
25
|
-
import {
|
|
26
|
-
configContext
|
|
27
|
-
} from "./chunk-ERYHQVOT.js";
|
|
28
|
-
import {
|
|
29
|
-
itemContextVariables
|
|
30
|
-
} from "./chunk-JQ6HWGRY.js";
|
|
31
|
-
import {
|
|
32
|
-
__decorateClass
|
|
33
|
-
} from "./chunk-H2JE6IVU.js";
|
|
16
|
+
} from "./chunk-JDY5GL7E.js";
|
|
34
17
|
|
|
35
18
|
// src/lib/qti-components/qti-assessment-item/qti-assessment-item.ts
|
|
36
19
|
import { provide } from "@lit/context";
|
|
37
20
|
import { LitElement, html } from "lit";
|
|
38
21
|
import { customElement, property } from "lit/decorators.js";
|
|
22
|
+
|
|
23
|
+
// src/lib/decorators/live-query.ts
|
|
24
|
+
function liveQuery(querySelector, _options) {
|
|
25
|
+
let observer;
|
|
26
|
+
return (proto, decoratedFnName) => {
|
|
27
|
+
const { connectedCallback, disconnectedCallback } = proto;
|
|
28
|
+
proto.connectedCallback = function() {
|
|
29
|
+
connectedCallback.call(this);
|
|
30
|
+
const callback = (mutationList) => {
|
|
31
|
+
const elementsToWatch = Array.from(this.querySelectorAll(querySelector)).concat(
|
|
32
|
+
Array.from(this.shadowRoot?.querySelectorAll(querySelector) || [])
|
|
33
|
+
);
|
|
34
|
+
for (const mutation of mutationList) {
|
|
35
|
+
const addedNodes = Array.from(mutation.addedNodes).map((e) => e);
|
|
36
|
+
const removedNodes = Array.from(mutation.addedNodes).map((e) => e);
|
|
37
|
+
if (mutation.type === "childList" && addedNodes.find((n) => elementsToWatch.includes(n))) {
|
|
38
|
+
this[decoratedFnName](addedNodes, removedNodes);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
observer = new MutationObserver(callback);
|
|
43
|
+
observer.observe(this, { childList: true, subtree: true });
|
|
44
|
+
const elementsAdded = Array.from(this.querySelectorAll(querySelector)).concat(
|
|
45
|
+
Array.from(this.shadowRoot?.querySelectorAll(querySelector) || [])
|
|
46
|
+
);
|
|
47
|
+
this[decoratedFnName](Array.from(elementsAdded), []);
|
|
48
|
+
};
|
|
49
|
+
proto.disconnectedCallback = function() {
|
|
50
|
+
disconnectedCallback.call(this);
|
|
51
|
+
observer.disconnect();
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// src/lib/exports/item.context.ts
|
|
57
|
+
var itemContextVariables = [
|
|
58
|
+
{
|
|
59
|
+
identifier: "completionStatus",
|
|
60
|
+
cardinality: "single",
|
|
61
|
+
baseType: "string",
|
|
62
|
+
value: "unknown",
|
|
63
|
+
type: "outcome"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
identifier: "numAttempts",
|
|
67
|
+
cardinality: "single",
|
|
68
|
+
baseType: "integer",
|
|
69
|
+
value: "0",
|
|
70
|
+
type: "response"
|
|
71
|
+
}
|
|
72
|
+
];
|
|
73
|
+
|
|
74
|
+
// src/lib/qti-components/qti-assessment-item/qti-assessment-item.ts
|
|
39
75
|
var QtiAssessmentItem = class extends LitElement {
|
|
40
76
|
constructor() {
|
|
41
77
|
super(...arguments);
|
|
@@ -555,80 +591,6 @@ QtiCustomOperator = __decorateClass([
|
|
|
555
591
|
// src/lib/qti-components/qti-feedback/qti-feedback-block/qti-feedback-block.ts
|
|
556
592
|
import { css, html as html3 } from "lit";
|
|
557
593
|
import { customElement as customElement5 } from "lit/decorators.js";
|
|
558
|
-
|
|
559
|
-
// src/lib/qti-components/qti-feedback/qti-feedback.ts
|
|
560
|
-
import { consume as consume2 } from "@lit/context";
|
|
561
|
-
import { LitElement as LitElement5 } from "lit";
|
|
562
|
-
import { property as property3, state as state2 } from "lit/decorators.js";
|
|
563
|
-
|
|
564
|
-
// src/lib/qti-components/internal/utils.ts
|
|
565
|
-
var decimalSeparator = () => {
|
|
566
|
-
return new Intl.NumberFormat().format(0.1).replace(/\d/g, "");
|
|
567
|
-
};
|
|
568
|
-
var convertNumberToUniversalFormat = (number) => {
|
|
569
|
-
if (typeof number === "string") {
|
|
570
|
-
return number;
|
|
571
|
-
}
|
|
572
|
-
const dSep = decimalSeparator();
|
|
573
|
-
if (dSep === ".") {
|
|
574
|
-
return number.toLocaleString();
|
|
575
|
-
} else {
|
|
576
|
-
return number.toString().replace(".", "").replace(dSep, ".");
|
|
577
|
-
}
|
|
578
|
-
};
|
|
579
|
-
function IsNullOrUndefined(value) {
|
|
580
|
-
return value === null || value === void 0;
|
|
581
|
-
}
|
|
582
|
-
function removeDoubleSlashes(str) {
|
|
583
|
-
const singleForwardSlashes = str.replace(/([^:]\/)\/+/g, "$1").replace(/\/\//g, "/").replace("http:/", "http://").replace("https:/", "https://");
|
|
584
|
-
return singleForwardSlashes;
|
|
585
|
-
}
|
|
586
|
-
|
|
587
|
-
// src/lib/qti-components/qti-feedback/qti-feedback.ts
|
|
588
|
-
var QtiFeedback = class extends LitElement5 {
|
|
589
|
-
connectedCallback() {
|
|
590
|
-
super.connectedCallback();
|
|
591
|
-
this.dispatchEvent(
|
|
592
|
-
new CustomEvent("qti-register-feedback", {
|
|
593
|
-
bubbles: true,
|
|
594
|
-
composed: true,
|
|
595
|
-
detail: this
|
|
596
|
-
})
|
|
597
|
-
);
|
|
598
|
-
}
|
|
599
|
-
checkShowFeedback(outcomeIdentifier) {
|
|
600
|
-
const outcomeVariable = this._context.variables.find((v) => v.identifier === outcomeIdentifier) || null;
|
|
601
|
-
if (this.outcomeIdentifier !== outcomeIdentifier || !outcomeVariable) return;
|
|
602
|
-
let isFound = false;
|
|
603
|
-
if (Array.isArray(outcomeVariable.value)) {
|
|
604
|
-
isFound = outcomeVariable.value.includes(this.identifier);
|
|
605
|
-
} else {
|
|
606
|
-
isFound = !IsNullOrUndefined(this.identifier) && !IsNullOrUndefined(outcomeVariable?.value) && this.identifier === outcomeVariable.value || false;
|
|
607
|
-
}
|
|
608
|
-
this.showFeedback(isFound);
|
|
609
|
-
}
|
|
610
|
-
showFeedback(value) {
|
|
611
|
-
this.showStatus = value && this.showHide === "show" || !value && this.showHide === "hide" ? "on" : "off";
|
|
612
|
-
}
|
|
613
|
-
};
|
|
614
|
-
__decorateClass([
|
|
615
|
-
property3({ type: String, attribute: "show-hide" })
|
|
616
|
-
], QtiFeedback.prototype, "showHide", 2);
|
|
617
|
-
__decorateClass([
|
|
618
|
-
property3({ type: String, attribute: "outcome-identifier" })
|
|
619
|
-
], QtiFeedback.prototype, "outcomeIdentifier", 2);
|
|
620
|
-
__decorateClass([
|
|
621
|
-
property3({ type: String })
|
|
622
|
-
], QtiFeedback.prototype, "identifier", 2);
|
|
623
|
-
__decorateClass([
|
|
624
|
-
property3({ type: String, attribute: false })
|
|
625
|
-
], QtiFeedback.prototype, "showStatus", 2);
|
|
626
|
-
__decorateClass([
|
|
627
|
-
consume2({ context: itemContext, subscribe: true }),
|
|
628
|
-
state2()
|
|
629
|
-
], QtiFeedback.prototype, "_context", 2);
|
|
630
|
-
|
|
631
|
-
// src/lib/qti-components/qti-feedback/qti-feedback-block/qti-feedback-block.ts
|
|
632
594
|
var QtiFeedbackBlock = class extends QtiFeedback {
|
|
633
595
|
render() {
|
|
634
596
|
return html3` <slot part="feedback" class="feedback ${this.showStatus}"></slot> `;
|
|
@@ -679,97 +641,10 @@ QtiFeedbackInline = __decorateClass([
|
|
|
679
641
|
customElement6("qti-feedback-inline")
|
|
680
642
|
], QtiFeedbackInline);
|
|
681
643
|
|
|
682
|
-
// src/lib/qti-components/qti-feedback/qti-modal-feedback/qti-modal-feedback.ts
|
|
683
|
-
import { css as css3, html as html5 } from "lit";
|
|
684
|
-
import { customElement as customElement7 } from "lit/decorators.js";
|
|
685
|
-
var QtiModalFeedback = class extends QtiFeedback {
|
|
686
|
-
render() {
|
|
687
|
-
return html5`
|
|
688
|
-
<dialog class="qti-dialog" part="feedback" ?open="${this.showStatus === "on"}">
|
|
689
|
-
<slot></slot>
|
|
690
|
-
<div style="margin-top: var(--qti-gap-size); text-align: center;">
|
|
691
|
-
<button class="button close-button" @click="${this.closeFeedback}">Close</button>
|
|
692
|
-
</div>
|
|
693
|
-
</dialog>
|
|
694
|
-
`;
|
|
695
|
-
}
|
|
696
|
-
openFeedback() {
|
|
697
|
-
const dialog = this.shadowRoot?.querySelector("dialog");
|
|
698
|
-
if (dialog && !dialog.open) {
|
|
699
|
-
dialog.showModal();
|
|
700
|
-
}
|
|
701
|
-
}
|
|
702
|
-
closeFeedback() {
|
|
703
|
-
const dialog = this.shadowRoot?.querySelector("dialog");
|
|
704
|
-
if (dialog && dialog.open) {
|
|
705
|
-
dialog.close();
|
|
706
|
-
this.showStatus = "off";
|
|
707
|
-
}
|
|
708
|
-
}
|
|
709
|
-
connectedCallback() {
|
|
710
|
-
super.connectedCallback();
|
|
711
|
-
if (this.showStatus === "on") {
|
|
712
|
-
this.openFeedback();
|
|
713
|
-
}
|
|
714
|
-
}
|
|
715
|
-
updated(changedProperties) {
|
|
716
|
-
if (changedProperties.has("showStatus")) {
|
|
717
|
-
if (this.showStatus === "on") {
|
|
718
|
-
this.openFeedback();
|
|
719
|
-
} else {
|
|
720
|
-
this.closeFeedback();
|
|
721
|
-
}
|
|
722
|
-
}
|
|
723
|
-
}
|
|
724
|
-
};
|
|
725
|
-
QtiModalFeedback.styles = css3`
|
|
726
|
-
.qti-dialog {
|
|
727
|
-
background: var(--qti-bg);
|
|
728
|
-
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
|
|
729
|
-
border-radius: var(--qti-border-radius);
|
|
730
|
-
padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
|
|
731
|
-
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
|
732
|
-
position: fixed;
|
|
733
|
-
top: 50%;
|
|
734
|
-
left: 50%;
|
|
735
|
-
transform: translate(-50%, -50%);
|
|
736
|
-
z-index: 1000;
|
|
737
|
-
width: auto;
|
|
738
|
-
max-width: 90%;
|
|
739
|
-
}
|
|
740
|
-
|
|
741
|
-
.button {
|
|
742
|
-
border-radius: var(--qti-border-radius);
|
|
743
|
-
padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
|
|
744
|
-
background-color: var(--qti-bg-active);
|
|
745
|
-
border: var(--qti-border-active);
|
|
746
|
-
cursor: pointer;
|
|
747
|
-
position: relative;
|
|
748
|
-
display: inline-block;
|
|
749
|
-
}
|
|
750
|
-
|
|
751
|
-
.button:hover {
|
|
752
|
-
background-color: var(--qti-hover-bg);
|
|
753
|
-
}
|
|
754
|
-
|
|
755
|
-
.button:disabled {
|
|
756
|
-
background-color: var(--qti-disabled-bg);
|
|
757
|
-
color: var(--qti-disabled-color);
|
|
758
|
-
cursor: not-allowed;
|
|
759
|
-
}
|
|
760
|
-
|
|
761
|
-
.button:focus {
|
|
762
|
-
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
763
|
-
}
|
|
764
|
-
`;
|
|
765
|
-
QtiModalFeedback = __decorateClass([
|
|
766
|
-
customElement7("qti-modal-feedback")
|
|
767
|
-
], QtiModalFeedback);
|
|
768
|
-
|
|
769
644
|
// src/lib/qti-components/qti-interaction/qti-associable-hotspot.ts
|
|
770
|
-
import { LitElement as
|
|
771
|
-
import { customElement as
|
|
772
|
-
var QtiAssociableHotspot = class extends
|
|
645
|
+
import { LitElement as LitElement5, css as css3, html as html5 } from "lit";
|
|
646
|
+
import { customElement as customElement7 } from "lit/decorators.js";
|
|
647
|
+
var QtiAssociableHotspot = class extends LitElement5 {
|
|
773
648
|
connectedCallback() {
|
|
774
649
|
super.connectedCallback();
|
|
775
650
|
this.dispatchEvent(
|
|
@@ -781,10 +656,10 @@ var QtiAssociableHotspot = class extends LitElement6 {
|
|
|
781
656
|
);
|
|
782
657
|
}
|
|
783
658
|
render() {
|
|
784
|
-
return
|
|
659
|
+
return html5` <slot name="drags"></slot> `;
|
|
785
660
|
}
|
|
786
661
|
};
|
|
787
|
-
QtiAssociableHotspot.styles =
|
|
662
|
+
QtiAssociableHotspot.styles = css3`
|
|
788
663
|
:host {
|
|
789
664
|
display: flex;
|
|
790
665
|
user-select: none;
|
|
@@ -792,15 +667,15 @@ QtiAssociableHotspot.styles = css4`
|
|
|
792
667
|
}
|
|
793
668
|
`;
|
|
794
669
|
QtiAssociableHotspot = __decorateClass([
|
|
795
|
-
|
|
670
|
+
customElement7("qti-associable-hotspot")
|
|
796
671
|
], QtiAssociableHotspot);
|
|
797
672
|
|
|
798
673
|
// src/lib/qti-components/qti-interaction/qti-associate-interaction/qti-associate-interaction.ts
|
|
799
|
-
import { html as
|
|
800
|
-
import { customElement as
|
|
674
|
+
import { html as html6 } from "lit";
|
|
675
|
+
import { customElement as customElement8, state as state3 } from "lit/decorators.js";
|
|
801
676
|
|
|
802
677
|
// src/lib/qti-components/qti-interaction/internal/drag-drop/drag-drop-interaction-mixin.ts
|
|
803
|
-
import { property as
|
|
678
|
+
import { property as property3 } from "lit/decorators.js";
|
|
804
679
|
|
|
805
680
|
// src/lib/qti-components/qti-interaction/internal/drag-drop/flippables-mixin.ts
|
|
806
681
|
var FlippablesMixin = (superClass, _droppablesSel, _draggablesSel) => {
|
|
@@ -1575,13 +1450,13 @@ var DragDropInteractionMixin = (superClass, draggablesSelector, droppablesSelect
|
|
|
1575
1450
|
}
|
|
1576
1451
|
}
|
|
1577
1452
|
__decorateClass([
|
|
1578
|
-
|
|
1453
|
+
property3({ attribute: false, type: Object })
|
|
1579
1454
|
], DragDropInteractionElement.prototype, "configuration", 2);
|
|
1580
1455
|
__decorateClass([
|
|
1581
|
-
|
|
1456
|
+
property3({ type: Number, reflect: true, attribute: "min-associations" })
|
|
1582
1457
|
], DragDropInteractionElement.prototype, "minAssociations", 2);
|
|
1583
1458
|
__decorateClass([
|
|
1584
|
-
|
|
1459
|
+
property3({ type: Number, reflect: true, attribute: "max-associations" })
|
|
1585
1460
|
], DragDropInteractionElement.prototype, "maxAssociations", 2);
|
|
1586
1461
|
__decorateClass([
|
|
1587
1462
|
liveQuery(dragContainersSelector)
|
|
@@ -1596,8 +1471,8 @@ var DragDropInteractionMixin = (superClass, draggablesSelector, droppablesSelect
|
|
|
1596
1471
|
};
|
|
1597
1472
|
|
|
1598
1473
|
// src/lib/qti-components/qti-interaction/qti-associate-interaction/qti-associate-interaction.styles.ts
|
|
1599
|
-
import { css as
|
|
1600
|
-
var qti_associate_interaction_styles_default =
|
|
1474
|
+
import { css as css4 } from "lit";
|
|
1475
|
+
var qti_associate_interaction_styles_default = css4`
|
|
1601
1476
|
:host {
|
|
1602
1477
|
display: block; /* necessary to calculate scaling position */
|
|
1603
1478
|
}
|
|
@@ -1624,6 +1499,193 @@ var qti_associate_interaction_styles_default = css5`
|
|
|
1624
1499
|
}
|
|
1625
1500
|
`;
|
|
1626
1501
|
|
|
1502
|
+
// src/lib/exports/interaction.ts
|
|
1503
|
+
import { property as property4, state as state2 } from "lit/decorators.js";
|
|
1504
|
+
import { LitElement as LitElement6 } from "lit";
|
|
1505
|
+
import { consume as consume2 } from "@lit/context";
|
|
1506
|
+
var Interaction = class extends LitElement6 {
|
|
1507
|
+
constructor() {
|
|
1508
|
+
super();
|
|
1509
|
+
this.disabled = false;
|
|
1510
|
+
this.readonly = false;
|
|
1511
|
+
this._internals = this.attachInternals();
|
|
1512
|
+
}
|
|
1513
|
+
static {
|
|
1514
|
+
this.formAssociated = true;
|
|
1515
|
+
}
|
|
1516
|
+
get internals() {
|
|
1517
|
+
return this._internals;
|
|
1518
|
+
}
|
|
1519
|
+
get isFullCorrectResponse() {
|
|
1520
|
+
return this._isFullCorrectResponse;
|
|
1521
|
+
}
|
|
1522
|
+
set isFullCorrectResponse(val) {
|
|
1523
|
+
this._isFullCorrectResponse = val;
|
|
1524
|
+
if (val) {
|
|
1525
|
+
this.disabled = true;
|
|
1526
|
+
this.setAttribute("response-identifier", this.responseIdentifier + "_cr");
|
|
1527
|
+
}
|
|
1528
|
+
}
|
|
1529
|
+
get correctResponse() {
|
|
1530
|
+
return this._correctResponse;
|
|
1531
|
+
}
|
|
1532
|
+
set correctResponse(val) {
|
|
1533
|
+
this._correctResponse = val;
|
|
1534
|
+
}
|
|
1535
|
+
get correctness() {
|
|
1536
|
+
const responseVariable = this.responseVariable;
|
|
1537
|
+
if (!responseVariable || responseVariable.correctResponse === null) return null;
|
|
1538
|
+
return responseVariable.correctResponse === responseVariable.value ? "correct" /* Correct */ : "incorrect" /* Incorrect */;
|
|
1539
|
+
}
|
|
1540
|
+
get isInline() {
|
|
1541
|
+
return false;
|
|
1542
|
+
}
|
|
1543
|
+
get responseVariable() {
|
|
1544
|
+
const responseVariables = this._context.variables.filter((v) => v.type === "response");
|
|
1545
|
+
const responseIdentifier = this.getAttribute("response-identifier");
|
|
1546
|
+
return responseVariables.find((v) => v.identifier === responseIdentifier);
|
|
1547
|
+
}
|
|
1548
|
+
toggleCorrectResponse(show) {
|
|
1549
|
+
const correctResponseMode = this?.configContext?.correctResponseMode || "internal";
|
|
1550
|
+
if (correctResponseMode === "full") {
|
|
1551
|
+
this.toggleFullCorrectResponse(show);
|
|
1552
|
+
} else {
|
|
1553
|
+
this.toggleInternalCorrectResponse(show);
|
|
1554
|
+
}
|
|
1555
|
+
}
|
|
1556
|
+
async toggleFullCorrectResponse(show) {
|
|
1557
|
+
const nextSibling = this.nextSibling;
|
|
1558
|
+
const nextSiblingIsFullCorrectResponse = nextSibling instanceof HTMLDivElement && nextSibling?.classList.contains("full-correct-response");
|
|
1559
|
+
const responseVariable = this.responseVariable;
|
|
1560
|
+
if (!responseVariable) {
|
|
1561
|
+
return;
|
|
1562
|
+
}
|
|
1563
|
+
if (!show || this.correctness === "correct" /* Correct */) {
|
|
1564
|
+
if (!nextSiblingIsFullCorrectResponse) {
|
|
1565
|
+
return;
|
|
1566
|
+
}
|
|
1567
|
+
this.parentElement?.removeChild(nextSibling);
|
|
1568
|
+
}
|
|
1569
|
+
if (nextSiblingIsFullCorrectResponse) {
|
|
1570
|
+
return;
|
|
1571
|
+
}
|
|
1572
|
+
if (this.correctness === "correct" /* Correct */) {
|
|
1573
|
+
return;
|
|
1574
|
+
}
|
|
1575
|
+
const clone = this.cloneNode(true);
|
|
1576
|
+
const containerDiv = document.createElement("div");
|
|
1577
|
+
containerDiv.classList.add("full-correct-response");
|
|
1578
|
+
if (this.isInline) {
|
|
1579
|
+
containerDiv.classList.add("full-correct-response-inline");
|
|
1580
|
+
} else {
|
|
1581
|
+
containerDiv.classList.add("full-correct-response-block");
|
|
1582
|
+
}
|
|
1583
|
+
containerDiv.role = "full-correct-response";
|
|
1584
|
+
containerDiv.appendChild(clone);
|
|
1585
|
+
clone.isFullCorrectResponse = true;
|
|
1586
|
+
this.parentElement?.insertBefore(containerDiv, this.nextSibling);
|
|
1587
|
+
await clone.updateComplete;
|
|
1588
|
+
clone.response = Array.isArray(responseVariable.correctResponse) ? [...responseVariable.correctResponse] : responseVariable.correctResponse;
|
|
1589
|
+
}
|
|
1590
|
+
toggleInternalCorrectResponse(show) {
|
|
1591
|
+
const responseVariable = this.responseVariable;
|
|
1592
|
+
this.correctResponse = show ? responseVariable?.correctResponse : responseVariable?.cardinality === "single" ? "" : [];
|
|
1593
|
+
}
|
|
1594
|
+
toggleCandidateCorrection(show) {
|
|
1595
|
+
const responseVariable = this.responseVariable;
|
|
1596
|
+
if (!responseVariable) return;
|
|
1597
|
+
this._internals.states.delete("candidate-correct");
|
|
1598
|
+
this._internals.states.delete("candidate-partially-correct");
|
|
1599
|
+
this._internals.states.delete("candidate-incorrect");
|
|
1600
|
+
if (!show) {
|
|
1601
|
+
return;
|
|
1602
|
+
}
|
|
1603
|
+
if (this.correctness === "correct" /* Correct */) {
|
|
1604
|
+
this._internals.states.add("candidate-correct");
|
|
1605
|
+
}
|
|
1606
|
+
if (this.correctness === "partially-correct" /* PartiallyCorrect */) {
|
|
1607
|
+
this._internals.states.add("candidate-partially-correct");
|
|
1608
|
+
}
|
|
1609
|
+
if (this.correctness === "incorrect" /* Incorrect */) {
|
|
1610
|
+
this._internals.states.add("candidate-incorrect");
|
|
1611
|
+
}
|
|
1612
|
+
}
|
|
1613
|
+
get value() {
|
|
1614
|
+
return JSON.stringify(this.response);
|
|
1615
|
+
}
|
|
1616
|
+
set value(val) {
|
|
1617
|
+
this.response = val ? JSON.parse(val) : null;
|
|
1618
|
+
}
|
|
1619
|
+
reportValidity() {
|
|
1620
|
+
return this._internals.reportValidity();
|
|
1621
|
+
}
|
|
1622
|
+
reset() {
|
|
1623
|
+
this.response = null;
|
|
1624
|
+
}
|
|
1625
|
+
// attributeChangedCallback(name: string, _old: string | null, value: string | null): void {
|
|
1626
|
+
// super.attributeChangedCallback(name, _old, value);
|
|
1627
|
+
// // changing attributes in lit is not a thing, they are defined in the QTI XML and will never change
|
|
1628
|
+
// // except in storybook where we can change the value of the attribute
|
|
1629
|
+
// // this can make the internal state out of sync with the attribute
|
|
1630
|
+
// // so we reset the value to null to force the internal state to be reset
|
|
1631
|
+
// const attributeNamesToExclude = ['style', 'class'];
|
|
1632
|
+
// if (!attributeNamesToExclude.includes(name)) {
|
|
1633
|
+
// this.reset();
|
|
1634
|
+
// }
|
|
1635
|
+
// }
|
|
1636
|
+
connectedCallback() {
|
|
1637
|
+
super.connectedCallback();
|
|
1638
|
+
if (this.isFullCorrectResponse) {
|
|
1639
|
+
return;
|
|
1640
|
+
}
|
|
1641
|
+
this.dispatchEvent(
|
|
1642
|
+
new CustomEvent("qti-register-interaction", {
|
|
1643
|
+
bubbles: true,
|
|
1644
|
+
composed: true,
|
|
1645
|
+
cancelable: false,
|
|
1646
|
+
detail: {
|
|
1647
|
+
interactionElement: this,
|
|
1648
|
+
responseIdentifier: this.responseIdentifier
|
|
1649
|
+
}
|
|
1650
|
+
})
|
|
1651
|
+
);
|
|
1652
|
+
}
|
|
1653
|
+
saveResponse(value) {
|
|
1654
|
+
this.dispatchEvent(
|
|
1655
|
+
new CustomEvent("qti-interaction-response", {
|
|
1656
|
+
bubbles: true,
|
|
1657
|
+
composed: true,
|
|
1658
|
+
cancelable: false,
|
|
1659
|
+
detail: {
|
|
1660
|
+
responseIdentifier: this.responseIdentifier,
|
|
1661
|
+
response: Array.isArray(value) ? [...value] : value
|
|
1662
|
+
}
|
|
1663
|
+
})
|
|
1664
|
+
);
|
|
1665
|
+
}
|
|
1666
|
+
};
|
|
1667
|
+
__decorateClass([
|
|
1668
|
+
consume2({ context: itemContext, subscribe: true })
|
|
1669
|
+
], Interaction.prototype, "_context", 2);
|
|
1670
|
+
__decorateClass([
|
|
1671
|
+
consume2({ context: configContext, subscribe: true })
|
|
1672
|
+
], Interaction.prototype, "configContext", 2);
|
|
1673
|
+
__decorateClass([
|
|
1674
|
+
property4({ type: String, attribute: "response-identifier" })
|
|
1675
|
+
], Interaction.prototype, "responseIdentifier", 2);
|
|
1676
|
+
__decorateClass([
|
|
1677
|
+
property4({ reflect: true, type: Boolean })
|
|
1678
|
+
], Interaction.prototype, "disabled", 2);
|
|
1679
|
+
__decorateClass([
|
|
1680
|
+
property4({ reflect: true, type: Boolean })
|
|
1681
|
+
], Interaction.prototype, "readonly", 2);
|
|
1682
|
+
__decorateClass([
|
|
1683
|
+
state2()
|
|
1684
|
+
], Interaction.prototype, "_isFullCorrectResponse", 2);
|
|
1685
|
+
__decorateClass([
|
|
1686
|
+
state2()
|
|
1687
|
+
], Interaction.prototype, "_correctResponse", 2);
|
|
1688
|
+
|
|
1627
1689
|
// src/lib/qti-components/qti-interaction/qti-associate-interaction/qti-associate-interaction.ts
|
|
1628
1690
|
var QtiAssociateInteraction = class extends DragDropInteractionMixin(
|
|
1629
1691
|
Interaction,
|
|
@@ -1642,11 +1704,11 @@ var QtiAssociateInteraction = class extends DragDropInteractionMixin(
|
|
|
1642
1704
|
this._childrenMap.push(choice);
|
|
1643
1705
|
}
|
|
1644
1706
|
render() {
|
|
1645
|
-
return
|
|
1707
|
+
return html6` <slot name="prompt"></slot>
|
|
1646
1708
|
<slot name="qti-simple-associable-choice"></slot>
|
|
1647
1709
|
<div part="drop-container">
|
|
1648
1710
|
${this._childrenMap.length > 0 && Array.from(Array(Math.ceil(this._childrenMap.length / 2)).keys()).map(
|
|
1649
|
-
(_, index) =>
|
|
1711
|
+
(_, index) => html6`<div part="associables-container">
|
|
1650
1712
|
<div name="left${index}" part="drop-list" class="dl" identifier="droplist${index}_left"></div>
|
|
1651
1713
|
<div name="right${index}" part="drop-list" class="dl" identifier="droplist${index}_right"></div>
|
|
1652
1714
|
</div>`
|
|
@@ -1665,12 +1727,12 @@ __decorateClass([
|
|
|
1665
1727
|
state3()
|
|
1666
1728
|
], QtiAssociateInteraction.prototype, "_childrenMap", 2);
|
|
1667
1729
|
QtiAssociateInteraction = __decorateClass([
|
|
1668
|
-
|
|
1730
|
+
customElement8("qti-associate-interaction")
|
|
1669
1731
|
], QtiAssociateInteraction);
|
|
1670
1732
|
|
|
1671
1733
|
// src/lib/qti-components/qti-interaction/qti-choice-interaction/qti-choice-interaction.ts
|
|
1672
|
-
import { html as
|
|
1673
|
-
import { customElement as
|
|
1734
|
+
import { html as html7 } from "lit";
|
|
1735
|
+
import { customElement as customElement9, property as property7 } from "lit/decorators.js";
|
|
1674
1736
|
|
|
1675
1737
|
// src/lib/qti-components/qti-interaction/internal/choices/choices.mixin.ts
|
|
1676
1738
|
import { property as property5, query, state as state4 } from "lit/decorators.js";
|
|
@@ -1988,8 +2050,8 @@ var VocabularyMixin = (superClass, _selector) => {
|
|
|
1988
2050
|
};
|
|
1989
2051
|
|
|
1990
2052
|
// src/lib/qti-components/qti-interaction/qti-choice-interaction/qti-choice-interaction.styles.ts
|
|
1991
|
-
import { css as
|
|
1992
|
-
var qti_choice_interaction_styles_default =
|
|
2053
|
+
import { css as css5 } from "lit";
|
|
2054
|
+
var qti_choice_interaction_styles_default = css5`
|
|
1993
2055
|
:host {
|
|
1994
2056
|
display: block;
|
|
1995
2057
|
}
|
|
@@ -2072,7 +2134,7 @@ var QtiChoiceInteraction = class extends VocabularyMixin(ChoicesMixin(Interactio
|
|
|
2072
2134
|
this.style.setProperty("--item-count", choices.length.toString());
|
|
2073
2135
|
}
|
|
2074
2136
|
render() {
|
|
2075
|
-
return
|
|
2137
|
+
return html7`
|
|
2076
2138
|
<slot part="prompt" name="prompt"></slot>
|
|
2077
2139
|
<slot part="slot" @slotchange=${this._handleSlotChange}></slot>
|
|
2078
2140
|
<div part="message" role="alert" id="validation-message"></div>
|
|
@@ -2084,12 +2146,12 @@ __decorateClass([
|
|
|
2084
2146
|
property7({ type: String })
|
|
2085
2147
|
], QtiChoiceInteraction.prototype, "orientation", 2);
|
|
2086
2148
|
QtiChoiceInteraction = __decorateClass([
|
|
2087
|
-
|
|
2149
|
+
customElement9("qti-choice-interaction")
|
|
2088
2150
|
], QtiChoiceInteraction);
|
|
2089
2151
|
|
|
2090
2152
|
// src/lib/qti-components/qti-interaction/qti-custom-interaction/qti-custom-interaction.ts
|
|
2091
|
-
import { html as
|
|
2092
|
-
import { customElement as
|
|
2153
|
+
import { html as html8 } from "lit";
|
|
2154
|
+
import { customElement as customElement10, property as property8, state as state5 } from "lit/decorators.js";
|
|
2093
2155
|
var QtiCustomInteraction = class extends Interaction {
|
|
2094
2156
|
constructor() {
|
|
2095
2157
|
super();
|
|
@@ -2265,7 +2327,7 @@ var QtiCustomInteraction = class extends Interaction {
|
|
|
2265
2327
|
super.disconnectedCallback();
|
|
2266
2328
|
}
|
|
2267
2329
|
render() {
|
|
2268
|
-
return
|
|
2330
|
+
return html8`<iframe
|
|
2269
2331
|
width=${this.getAttribute("width")}
|
|
2270
2332
|
height=${this.getAttribute("height")}
|
|
2271
2333
|
frameborder="0"
|
|
@@ -2273,7 +2335,7 @@ var QtiCustomInteraction = class extends Interaction {
|
|
|
2273
2335
|
id="pciContainer"
|
|
2274
2336
|
>
|
|
2275
2337
|
</iframe>
|
|
2276
|
-
${this._errorMessage &&
|
|
2338
|
+
${this._errorMessage && html8`<div style="color:red">
|
|
2277
2339
|
<h1>Error</h1>
|
|
2278
2340
|
${this._errorMessage}
|
|
2279
2341
|
</div>`}`;
|
|
@@ -2295,12 +2357,12 @@ __decorateClass([
|
|
|
2295
2357
|
state5()
|
|
2296
2358
|
], QtiCustomInteraction.prototype, "_errorMessage", 2);
|
|
2297
2359
|
QtiCustomInteraction = __decorateClass([
|
|
2298
|
-
|
|
2360
|
+
customElement10("qti-custom-interaction")
|
|
2299
2361
|
], QtiCustomInteraction);
|
|
2300
2362
|
|
|
2301
2363
|
// src/lib/qti-components/qti-interaction/qti-end-attempt-interaction/qti-end-attempt-interaction.ts
|
|
2302
|
-
import { html as
|
|
2303
|
-
import { customElement as
|
|
2364
|
+
import { html as html9, LitElement as LitElement7 } from "lit";
|
|
2365
|
+
import { customElement as customElement11, property as property9 } from "lit/decorators.js";
|
|
2304
2366
|
var QtiEndAttemptInteraction = class extends LitElement7 {
|
|
2305
2367
|
constructor() {
|
|
2306
2368
|
super(...arguments);
|
|
@@ -2309,7 +2371,7 @@ var QtiEndAttemptInteraction = class extends LitElement7 {
|
|
|
2309
2371
|
this.title = "end attempt";
|
|
2310
2372
|
}
|
|
2311
2373
|
render() {
|
|
2312
|
-
return
|
|
2374
|
+
return html9`<button ?disabled=${this.disabled} part="button" @click=${this.endAttempt}>${this.title}</button>`;
|
|
2313
2375
|
}
|
|
2314
2376
|
endAttempt(_) {
|
|
2315
2377
|
this.dispatchEvent(
|
|
@@ -2334,17 +2396,17 @@ __decorateClass([
|
|
|
2334
2396
|
property9({ type: String })
|
|
2335
2397
|
], QtiEndAttemptInteraction.prototype, "title", 2);
|
|
2336
2398
|
QtiEndAttemptInteraction = __decorateClass([
|
|
2337
|
-
|
|
2399
|
+
customElement11("qti-end-attempt-interaction")
|
|
2338
2400
|
], QtiEndAttemptInteraction);
|
|
2339
2401
|
|
|
2340
2402
|
// src/lib/qti-components/qti-interaction/qti-extended-text-interaction/qti-extended-text-interaction.ts
|
|
2341
|
-
import { html as
|
|
2403
|
+
import { html as html10 } from "lit";
|
|
2342
2404
|
import { ifDefined as ifDefined2 } from "lit/directives/if-defined.js";
|
|
2343
|
-
import { customElement as
|
|
2405
|
+
import { customElement as customElement12, property as property10, state as state6 } from "lit/decorators.js";
|
|
2344
2406
|
|
|
2345
2407
|
// src/lib/qti-components/qti-interaction/qti-extended-text-interaction/qti-extended-text-interaction.styles.ts
|
|
2346
|
-
import { css as
|
|
2347
|
-
var qti_extended_text_interaction_styles_default =
|
|
2408
|
+
import { css as css6 } from "lit";
|
|
2409
|
+
var qti_extended_text_interaction_styles_default = css6`
|
|
2348
2410
|
/* PK: display host as block, else design will be collapsed */
|
|
2349
2411
|
:host {
|
|
2350
2412
|
display: block;
|
|
@@ -2420,7 +2482,7 @@ var QtiExtendedTextInteraction = class extends Interaction {
|
|
|
2420
2482
|
return isValid;
|
|
2421
2483
|
}
|
|
2422
2484
|
render() {
|
|
2423
|
-
return
|
|
2485
|
+
return html10`<slot name="prompt"></slot
|
|
2424
2486
|
><textarea
|
|
2425
2487
|
part="textarea"
|
|
2426
2488
|
name="${this.responseIdentifier}"
|
|
@@ -2482,12 +2544,12 @@ __decorateClass([
|
|
|
2482
2544
|
watch("response", { waitUntilFirstUpdate: true })
|
|
2483
2545
|
], QtiExtendedTextInteraction.prototype, "_handleResponseChange", 2);
|
|
2484
2546
|
QtiExtendedTextInteraction = __decorateClass([
|
|
2485
|
-
|
|
2547
|
+
customElement12("qti-extended-text-interaction")
|
|
2486
2548
|
], QtiExtendedTextInteraction);
|
|
2487
2549
|
|
|
2488
2550
|
// src/lib/qti-components/qti-interaction/qti-gap-img.ts
|
|
2489
|
-
import { css as
|
|
2490
|
-
import { customElement as
|
|
2551
|
+
import { css as css7, LitElement as LitElement8 } from "lit";
|
|
2552
|
+
import { customElement as customElement13, property as property11 } from "lit/decorators.js";
|
|
2491
2553
|
var QtiGapImg = class extends LitElement8 {
|
|
2492
2554
|
constructor() {
|
|
2493
2555
|
super(...arguments);
|
|
@@ -2497,7 +2559,7 @@ var QtiGapImg = class extends LitElement8 {
|
|
|
2497
2559
|
this.setAttribute("slot", "drags");
|
|
2498
2560
|
}
|
|
2499
2561
|
};
|
|
2500
|
-
QtiGapImg.styles =
|
|
2562
|
+
QtiGapImg.styles = css7`
|
|
2501
2563
|
:host {
|
|
2502
2564
|
display: flex;
|
|
2503
2565
|
user-select: none;
|
|
@@ -2507,16 +2569,16 @@ __decorateClass([
|
|
|
2507
2569
|
property11({ type: Number, reflect: true })
|
|
2508
2570
|
], QtiGapImg.prototype, "tabindex", 2);
|
|
2509
2571
|
QtiGapImg = __decorateClass([
|
|
2510
|
-
|
|
2572
|
+
customElement13("qti-gap-img")
|
|
2511
2573
|
], QtiGapImg);
|
|
2512
2574
|
|
|
2513
2575
|
// src/lib/qti-components/qti-interaction/qti-gap-match-interaction/qti-gap-match-interaction.ts
|
|
2514
|
-
import { html as
|
|
2515
|
-
import { customElement as
|
|
2576
|
+
import { html as html11 } from "lit";
|
|
2577
|
+
import { customElement as customElement14 } from "lit/decorators.js";
|
|
2516
2578
|
|
|
2517
2579
|
// src/lib/qti-components/qti-interaction/qti-gap-match-interaction/qti-gap-match-interaction.styles.ts
|
|
2518
|
-
import { css as
|
|
2519
|
-
var qti_gap_match_interaction_styles_default =
|
|
2580
|
+
import { css as css8 } from "lit";
|
|
2581
|
+
var qti_gap_match_interaction_styles_default = css8`
|
|
2520
2582
|
:host {
|
|
2521
2583
|
display: flex;
|
|
2522
2584
|
align-items: flex-start;
|
|
@@ -2560,7 +2622,7 @@ var QtiGapMatchInteraction = class extends DragDropInteractionMixin(
|
|
|
2560
2622
|
`slot[part='drags']`
|
|
2561
2623
|
) {
|
|
2562
2624
|
render() {
|
|
2563
|
-
return
|
|
2625
|
+
return html11`<slot name="prompt"> </slot>
|
|
2564
2626
|
<slot part="drags" name="drags"></slot>
|
|
2565
2627
|
<slot part="drops"></slot>
|
|
2566
2628
|
<div role="alert" part="message" id="validation-message"></div>`;
|
|
@@ -2606,15 +2668,15 @@ var QtiGapMatchInteraction = class extends DragDropInteractionMixin(
|
|
|
2606
2668
|
};
|
|
2607
2669
|
QtiGapMatchInteraction.styles = qti_gap_match_interaction_styles_default;
|
|
2608
2670
|
QtiGapMatchInteraction = __decorateClass([
|
|
2609
|
-
|
|
2671
|
+
customElement14("qti-gap-match-interaction")
|
|
2610
2672
|
], QtiGapMatchInteraction);
|
|
2611
2673
|
|
|
2612
2674
|
// src/lib/qti-components/qti-interaction/qti-gap-text.ts
|
|
2613
|
-
import { css as
|
|
2614
|
-
import { customElement as
|
|
2675
|
+
import { css as css9, html as html13, LitElement as LitElement9 } from "lit";
|
|
2676
|
+
import { customElement as customElement15, property as property13 } from "lit/decorators.js";
|
|
2615
2677
|
|
|
2616
2678
|
// src/lib/qti-components/qti-interaction/internal/active-element/active-element.mixin.ts
|
|
2617
|
-
import { html as
|
|
2679
|
+
import { html as html12 } from "lit";
|
|
2618
2680
|
import { property as property12 } from "lit/decorators.js";
|
|
2619
2681
|
var ariaBooleanConverter = {
|
|
2620
2682
|
toAttribute: (value) => value ? "true" : "false",
|
|
@@ -2681,7 +2743,7 @@ function ActiveElementMixin(Base, type) {
|
|
|
2681
2743
|
);
|
|
2682
2744
|
}
|
|
2683
2745
|
render() {
|
|
2684
|
-
return
|
|
2746
|
+
return html12`<slot></slot>`;
|
|
2685
2747
|
}
|
|
2686
2748
|
}
|
|
2687
2749
|
__decorateClass([
|
|
@@ -2723,10 +2785,10 @@ var QtiGapText = class extends ActiveElementMixin(LitElement9, "qti-gap-text") {
|
|
|
2723
2785
|
this.setAttribute("slot", "drags");
|
|
2724
2786
|
}
|
|
2725
2787
|
render() {
|
|
2726
|
-
return
|
|
2788
|
+
return html13`<slot></slot>`;
|
|
2727
2789
|
}
|
|
2728
2790
|
};
|
|
2729
|
-
QtiGapText.styles =
|
|
2791
|
+
QtiGapText.styles = css9`
|
|
2730
2792
|
:host {
|
|
2731
2793
|
display: inline-flex;
|
|
2732
2794
|
user-select: none;
|
|
@@ -2736,22 +2798,22 @@ __decorateClass([
|
|
|
2736
2798
|
property13({ type: Number, reflect: true })
|
|
2737
2799
|
], QtiGapText.prototype, "tabindex", 2);
|
|
2738
2800
|
QtiGapText = __decorateClass([
|
|
2739
|
-
|
|
2801
|
+
customElement15("qti-gap-text")
|
|
2740
2802
|
], QtiGapText);
|
|
2741
2803
|
|
|
2742
2804
|
// src/lib/qti-components/qti-interaction/qti-gap.ts
|
|
2743
|
-
import { css as
|
|
2744
|
-
import { customElement as
|
|
2805
|
+
import { css as css10, html as html14, LitElement as LitElement10 } from "lit";
|
|
2806
|
+
import { customElement as customElement16, property as property14 } from "lit/decorators.js";
|
|
2745
2807
|
var QtiGap = class extends LitElement10 {
|
|
2746
2808
|
constructor() {
|
|
2747
2809
|
super(...arguments);
|
|
2748
2810
|
this.tabindex = 0;
|
|
2749
2811
|
}
|
|
2750
2812
|
render() {
|
|
2751
|
-
return
|
|
2813
|
+
return html14` <slot name="drags"></slot>`;
|
|
2752
2814
|
}
|
|
2753
2815
|
};
|
|
2754
|
-
QtiGap.styles =
|
|
2816
|
+
QtiGap.styles = css10`
|
|
2755
2817
|
:host {
|
|
2756
2818
|
display: flex;
|
|
2757
2819
|
user-select: none;
|
|
@@ -2761,12 +2823,12 @@ __decorateClass([
|
|
|
2761
2823
|
property14({ type: Number, reflect: true })
|
|
2762
2824
|
], QtiGap.prototype, "tabindex", 2);
|
|
2763
2825
|
QtiGap = __decorateClass([
|
|
2764
|
-
|
|
2826
|
+
customElement16("qti-gap")
|
|
2765
2827
|
], QtiGap);
|
|
2766
2828
|
|
|
2767
2829
|
// src/lib/qti-components/qti-interaction/qti-graphic-associate-interaction/qti-graphic-associate-interaction.ts
|
|
2768
|
-
import { html as
|
|
2769
|
-
import { customElement as
|
|
2830
|
+
import { html as html15, svg } from "lit";
|
|
2831
|
+
import { customElement as customElement17, queryAssignedElements, state as state7 } from "lit/decorators.js";
|
|
2770
2832
|
import { ifDefined as ifDefined3 } from "lit/directives/if-defined.js";
|
|
2771
2833
|
import { repeat } from "lit/directives/repeat.js";
|
|
2772
2834
|
|
|
@@ -2865,8 +2927,8 @@ function positionShapes(shape, coordsNumber, img, hotspot) {
|
|
|
2865
2927
|
}
|
|
2866
2928
|
|
|
2867
2929
|
// src/lib/qti-components/qti-interaction/qti-graphic-associate-interaction/qti-graphic-associate-interaction.styles.ts
|
|
2868
|
-
import { css as
|
|
2869
|
-
var qti_graphic_associate_interaction_styles_default =
|
|
2930
|
+
import { css as css11 } from "lit";
|
|
2931
|
+
var qti_graphic_associate_interaction_styles_default = css11`
|
|
2870
2932
|
slot:not([name='prompt']) {
|
|
2871
2933
|
// position: relative; /* qti-hotspot-choice relative to the slot */
|
|
2872
2934
|
display: block;
|
|
@@ -2929,7 +2991,7 @@ var QtiGraphicAssociateInteraction = class extends Interaction {
|
|
|
2929
2991
|
this._correctLines = correctResponses;
|
|
2930
2992
|
}
|
|
2931
2993
|
render() {
|
|
2932
|
-
return
|
|
2994
|
+
return html15`<slot name="prompt"></slot>
|
|
2933
2995
|
<line-container>
|
|
2934
2996
|
<svg
|
|
2935
2997
|
width=${ifDefined3(this.grImage[0]?.width)}
|
|
@@ -3052,16 +3114,16 @@ __decorateClass([
|
|
|
3052
3114
|
state7()
|
|
3053
3115
|
], QtiGraphicAssociateInteraction.prototype, "_response", 2);
|
|
3054
3116
|
QtiGraphicAssociateInteraction = __decorateClass([
|
|
3055
|
-
|
|
3117
|
+
customElement17("qti-graphic-associate-interaction")
|
|
3056
3118
|
], QtiGraphicAssociateInteraction);
|
|
3057
3119
|
|
|
3058
3120
|
// src/lib/qti-components/qti-interaction/qti-graphic-gap-match-interaction/qti-graphic-gap-match-interaction.ts
|
|
3059
|
-
import { html as
|
|
3060
|
-
import { customElement as
|
|
3121
|
+
import { html as html16 } from "lit";
|
|
3122
|
+
import { customElement as customElement18 } from "lit/decorators.js";
|
|
3061
3123
|
|
|
3062
3124
|
// src/lib/qti-components/qti-interaction/qti-graphic-gap-match-interaction/qti-graphic-gap-match-interaction.styles.ts
|
|
3063
|
-
import { css as
|
|
3064
|
-
var qti_graphic_gap_match_interaction_styles_default =
|
|
3125
|
+
import { css as css12 } from "lit";
|
|
3126
|
+
var qti_graphic_gap_match_interaction_styles_default = css12`
|
|
3065
3127
|
:host {
|
|
3066
3128
|
display: flex;
|
|
3067
3129
|
align-items: flex-start;
|
|
@@ -3125,7 +3187,7 @@ var QtiGraphicGapMatchInteraction = class extends DragDropInteractionMixin(
|
|
|
3125
3187
|
`slot[part='drags']`
|
|
3126
3188
|
) {
|
|
3127
3189
|
render() {
|
|
3128
|
-
return
|
|
3190
|
+
return html16` <slot name="prompt"></slot>
|
|
3129
3191
|
<slot part="image"></slot>
|
|
3130
3192
|
<slot part="drags" name="drags" class="hover-border"></slot>
|
|
3131
3193
|
<div role="alert" part="message" id="validation-message"></div>`;
|
|
@@ -3168,16 +3230,16 @@ var QtiGraphicGapMatchInteraction = class extends DragDropInteractionMixin(
|
|
|
3168
3230
|
};
|
|
3169
3231
|
QtiGraphicGapMatchInteraction.styles = qti_graphic_gap_match_interaction_styles_default;
|
|
3170
3232
|
QtiGraphicGapMatchInteraction = __decorateClass([
|
|
3171
|
-
|
|
3233
|
+
customElement18("qti-graphic-gap-match-interaction")
|
|
3172
3234
|
], QtiGraphicGapMatchInteraction);
|
|
3173
3235
|
|
|
3174
3236
|
// src/lib/qti-components/qti-interaction/qti-graphic-order-interaction/qti-graphic-order-interaction.ts
|
|
3175
|
-
import { html as
|
|
3176
|
-
import { customElement as
|
|
3237
|
+
import { html as html17 } from "lit";
|
|
3238
|
+
import { customElement as customElement19 } from "lit/decorators.js";
|
|
3177
3239
|
|
|
3178
3240
|
// src/lib/qti-components/qti-interaction/qti-graphic-order-interaction/qti-graphic-order-interaction.styles.ts
|
|
3179
|
-
import { css as
|
|
3180
|
-
var qti_graphic_order_interaction_styles_default =
|
|
3241
|
+
import { css as css13 } from "lit";
|
|
3242
|
+
var qti_graphic_order_interaction_styles_default = css13`
|
|
3181
3243
|
slot:not([name='prompt']) {
|
|
3182
3244
|
position: relative; /* qti-hotspot-choice relative to the slot */
|
|
3183
3245
|
display: block;
|
|
@@ -3197,7 +3259,7 @@ var QtiGraphicOrderInteraction = class extends ChoicesMixin(Interaction, "qti-ho
|
|
|
3197
3259
|
this._choiceElements = [];
|
|
3198
3260
|
}
|
|
3199
3261
|
render() {
|
|
3200
|
-
return
|
|
3262
|
+
return html17`
|
|
3201
3263
|
<slot name="prompt"></slot>
|
|
3202
3264
|
<slot></slot>
|
|
3203
3265
|
<div role="alert" part="message" id="validation-message"></div>
|
|
@@ -3266,15 +3328,15 @@ var QtiGraphicOrderInteraction = class extends ChoicesMixin(Interaction, "qti-ho
|
|
|
3266
3328
|
};
|
|
3267
3329
|
QtiGraphicOrderInteraction.styles = qti_graphic_order_interaction_styles_default;
|
|
3268
3330
|
QtiGraphicOrderInteraction = __decorateClass([
|
|
3269
|
-
|
|
3331
|
+
customElement19("qti-graphic-order-interaction")
|
|
3270
3332
|
], QtiGraphicOrderInteraction);
|
|
3271
3333
|
|
|
3272
3334
|
// src/lib/qti-components/qti-interaction/qti-hotspot-choice.ts
|
|
3273
|
-
import { css as
|
|
3274
|
-
import { customElement as
|
|
3335
|
+
import { css as css14, LitElement as LitElement11 } from "lit";
|
|
3336
|
+
import { customElement as customElement20, property as property15 } from "lit/decorators.js";
|
|
3275
3337
|
var QtiHotspotChoice = class extends ActiveElementMixin(LitElement11, "qti-hotspot-choice") {
|
|
3276
3338
|
};
|
|
3277
|
-
QtiHotspotChoice.styles =
|
|
3339
|
+
QtiHotspotChoice.styles = css14`
|
|
3278
3340
|
:host {
|
|
3279
3341
|
display: flex;
|
|
3280
3342
|
user-select: none;
|
|
@@ -3288,16 +3350,16 @@ __decorateClass([
|
|
|
3288
3350
|
property15({ attribute: "aria-ordercorrectvalue", type: Number, reflect: true })
|
|
3289
3351
|
], QtiHotspotChoice.prototype, "orderCorrect", 2);
|
|
3290
3352
|
QtiHotspotChoice = __decorateClass([
|
|
3291
|
-
|
|
3353
|
+
customElement20("qti-hotspot-choice")
|
|
3292
3354
|
], QtiHotspotChoice);
|
|
3293
3355
|
|
|
3294
3356
|
// src/lib/qti-components/qti-interaction/qti-hotspot-interaction/qti-hotspot-interaction.ts
|
|
3295
|
-
import { html as
|
|
3296
|
-
import { customElement as
|
|
3357
|
+
import { html as html18 } from "lit";
|
|
3358
|
+
import { customElement as customElement21 } from "lit/decorators.js";
|
|
3297
3359
|
|
|
3298
3360
|
// src/lib/qti-components/qti-interaction/qti-hotspot-interaction/qti-hotspot-interaction.styles.ts
|
|
3299
|
-
import { css as
|
|
3300
|
-
var qti_hotspot_interaction_styles_default =
|
|
3361
|
+
import { css as css15 } from "lit";
|
|
3362
|
+
var qti_hotspot_interaction_styles_default = css15`
|
|
3301
3363
|
slot:not([name='prompt']) {
|
|
3302
3364
|
position: relative; /* qti-hotspot-choice relative to the slot */
|
|
3303
3365
|
display: block;
|
|
@@ -3314,7 +3376,7 @@ var qti_hotspot_interaction_styles_default = css16`
|
|
|
3314
3376
|
// src/lib/qti-components/qti-interaction/qti-hotspot-interaction/qti-hotspot-interaction.ts
|
|
3315
3377
|
var QtiHotspotInteraction = class extends ChoicesMixin(Interaction, "qti-hotspot-choice") {
|
|
3316
3378
|
render() {
|
|
3317
|
-
return
|
|
3379
|
+
return html18`
|
|
3318
3380
|
<slot name="prompt"></slot>
|
|
3319
3381
|
<slot></slot>
|
|
3320
3382
|
`;
|
|
@@ -3338,17 +3400,17 @@ var QtiHotspotInteraction = class extends ChoicesMixin(Interaction, "qti-hotspot
|
|
|
3338
3400
|
};
|
|
3339
3401
|
QtiHotspotInteraction.styles = qti_hotspot_interaction_styles_default;
|
|
3340
3402
|
QtiHotspotInteraction = __decorateClass([
|
|
3341
|
-
|
|
3403
|
+
customElement21("qti-hotspot-interaction")
|
|
3342
3404
|
], QtiHotspotInteraction);
|
|
3343
3405
|
|
|
3344
3406
|
// src/lib/qti-components/qti-interaction/qti-hottext-interaction/qti-hottext-interaction.ts
|
|
3345
|
-
import { html as
|
|
3346
|
-
import { customElement as
|
|
3407
|
+
import { html as html19 } from "lit";
|
|
3408
|
+
import { customElement as customElement22, property as property16 } from "lit/decorators.js";
|
|
3347
3409
|
var QtiHottextInteraction = class extends ChoicesMixin(Interaction, "qti-hottext") {
|
|
3348
3410
|
constructor() {
|
|
3349
3411
|
super(...arguments);
|
|
3350
3412
|
this.class = "";
|
|
3351
|
-
this.render = () =>
|
|
3413
|
+
this.render = () => html19`<slot></slot>
|
|
3352
3414
|
<div part="message" role="alert" id="validation-message"></div>`;
|
|
3353
3415
|
}
|
|
3354
3416
|
// NOTE: there is no way to get the variant with radiobuttons or checkboxes
|
|
@@ -3385,31 +3447,31 @@ __decorateClass([
|
|
|
3385
3447
|
property16({ type: String, reflect: true })
|
|
3386
3448
|
], QtiHottextInteraction.prototype, "class", 2);
|
|
3387
3449
|
QtiHottextInteraction = __decorateClass([
|
|
3388
|
-
|
|
3450
|
+
customElement22("qti-hottext-interaction")
|
|
3389
3451
|
], QtiHottextInteraction);
|
|
3390
3452
|
|
|
3391
3453
|
// src/lib/qti-components/qti-interaction/qti-hottext.ts
|
|
3392
|
-
import { css as
|
|
3393
|
-
import { customElement as
|
|
3454
|
+
import { css as css16, html as html20, LitElement as LitElement12 } from "lit";
|
|
3455
|
+
import { customElement as customElement23 } from "lit/decorators.js";
|
|
3394
3456
|
var QtiHottext = class extends ActiveElementMixin(LitElement12, "qti-hottext") {
|
|
3395
3457
|
render() {
|
|
3396
|
-
return
|
|
3458
|
+
return html20`<div part="ch"><div part="cha"></div></div>
|
|
3397
3459
|
<slot></slot> `;
|
|
3398
3460
|
}
|
|
3399
3461
|
};
|
|
3400
|
-
QtiHottext.styles =
|
|
3462
|
+
QtiHottext.styles = css16`
|
|
3401
3463
|
:host {
|
|
3402
3464
|
display: flex;
|
|
3403
3465
|
user-select: none;
|
|
3404
3466
|
}
|
|
3405
3467
|
`;
|
|
3406
3468
|
QtiHottext = __decorateClass([
|
|
3407
|
-
|
|
3469
|
+
customElement23("qti-hottext")
|
|
3408
3470
|
], QtiHottext);
|
|
3409
3471
|
|
|
3410
3472
|
// src/lib/qti-components/qti-interaction/qti-inline-choice-interaction/qti-inline-choice-interaction.ts
|
|
3411
|
-
import { css as
|
|
3412
|
-
import { customElement as
|
|
3473
|
+
import { css as css17, html as html21 } from "lit";
|
|
3474
|
+
import { customElement as customElement24, property as property17, state as state8 } from "lit/decorators.js";
|
|
3413
3475
|
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
|
3414
3476
|
import { consume as consume4 } from "@lit/context";
|
|
3415
3477
|
var QtiInlineChoiceInteraction = class extends Interaction {
|
|
@@ -3424,7 +3486,7 @@ var QtiInlineChoiceInteraction = class extends Interaction {
|
|
|
3424
3486
|
}
|
|
3425
3487
|
static get styles() {
|
|
3426
3488
|
return [
|
|
3427
|
-
|
|
3489
|
+
css17`
|
|
3428
3490
|
:host {
|
|
3429
3491
|
display: inline-block;
|
|
3430
3492
|
}
|
|
@@ -3450,10 +3512,10 @@ var QtiInlineChoiceInteraction = class extends Interaction {
|
|
|
3450
3512
|
];
|
|
3451
3513
|
}
|
|
3452
3514
|
render() {
|
|
3453
|
-
return
|
|
3515
|
+
return html21`
|
|
3454
3516
|
<select part="select" @change="${this.choiceSelected}" ?disabled="${this.disabled}" ?readonly="${this.readonly}">
|
|
3455
3517
|
${this.options.map(
|
|
3456
|
-
(option) =>
|
|
3518
|
+
(option) => html21`
|
|
3457
3519
|
<option value="${option.value}" ?selected="${option.selected}">${unsafeHTML(option.textContent)}</option>
|
|
3458
3520
|
`
|
|
3459
3521
|
)}
|
|
@@ -3549,16 +3611,16 @@ __decorateClass([
|
|
|
3549
3611
|
property17({ attribute: false })
|
|
3550
3612
|
], QtiInlineChoiceInteraction.prototype, "configContext", 2);
|
|
3551
3613
|
QtiInlineChoiceInteraction = __decorateClass([
|
|
3552
|
-
|
|
3614
|
+
customElement24("qti-inline-choice-interaction")
|
|
3553
3615
|
], QtiInlineChoiceInteraction);
|
|
3554
3616
|
|
|
3555
3617
|
// src/lib/qti-components/qti-interaction/qti-inline-choice.ts
|
|
3556
|
-
import { css as
|
|
3557
|
-
import { customElement as
|
|
3618
|
+
import { css as css18, html as html22, LitElement as LitElement13 } from "lit";
|
|
3619
|
+
import { customElement as customElement25, property as property18 } from "lit/decorators.js";
|
|
3558
3620
|
var QtiInlineChoice = class extends LitElement13 {
|
|
3559
3621
|
static get styles() {
|
|
3560
3622
|
return [
|
|
3561
|
-
|
|
3623
|
+
css18`
|
|
3562
3624
|
:host {
|
|
3563
3625
|
display: block;
|
|
3564
3626
|
cursor: pointer;
|
|
@@ -3581,7 +3643,7 @@ var QtiInlineChoice = class extends LitElement13 {
|
|
|
3581
3643
|
this.removeEventListener("click", this._onSelectInlineChoice);
|
|
3582
3644
|
}
|
|
3583
3645
|
render() {
|
|
3584
|
-
return
|
|
3646
|
+
return html22` <slot></slot> `;
|
|
3585
3647
|
}
|
|
3586
3648
|
_onSelectInlineChoice() {
|
|
3587
3649
|
this.dispatchEvent(
|
|
@@ -3598,12 +3660,12 @@ __decorateClass([
|
|
|
3598
3660
|
property18({ type: String })
|
|
3599
3661
|
], QtiInlineChoice.prototype, "identifier", 2);
|
|
3600
3662
|
QtiInlineChoice = __decorateClass([
|
|
3601
|
-
|
|
3663
|
+
customElement25("qti-inline-choice")
|
|
3602
3664
|
], QtiInlineChoice);
|
|
3603
3665
|
|
|
3604
3666
|
// src/lib/qti-components/qti-interaction/qti-simple-associable-choice.ts
|
|
3605
|
-
import { css as
|
|
3606
|
-
import { customElement as
|
|
3667
|
+
import { css as css19, html as html23, LitElement as LitElement14 } from "lit";
|
|
3668
|
+
import { customElement as customElement26, property as property19 } from "lit/decorators.js";
|
|
3607
3669
|
var QtiSimpleAssociableChoice = class extends ActiveElementMixin(LitElement14, "qti-simple-associable-choice") {
|
|
3608
3670
|
constructor() {
|
|
3609
3671
|
super(...arguments);
|
|
@@ -3624,13 +3686,13 @@ var QtiSimpleAssociableChoice = class extends ActiveElementMixin(LitElement14, "
|
|
|
3624
3686
|
// So we have a slot for whenever another qti-simple-associable-choice is dropped in here.
|
|
3625
3687
|
// And we have slot for content like in this associate interaction
|
|
3626
3688
|
render() {
|
|
3627
|
-
return
|
|
3689
|
+
return html23`
|
|
3628
3690
|
<slot part="slot"></slot>
|
|
3629
3691
|
<slot part="dropslot" name="qti-simple-associable-choice"></slot>
|
|
3630
3692
|
`;
|
|
3631
3693
|
}
|
|
3632
3694
|
};
|
|
3633
|
-
QtiSimpleAssociableChoice.styles =
|
|
3695
|
+
QtiSimpleAssociableChoice.styles = css19`
|
|
3634
3696
|
:host {
|
|
3635
3697
|
display: flex;
|
|
3636
3698
|
user-select: none;
|
|
@@ -3666,17 +3728,17 @@ __decorateClass([
|
|
|
3666
3728
|
})
|
|
3667
3729
|
], QtiSimpleAssociableChoice.prototype, "fixed", 2);
|
|
3668
3730
|
QtiSimpleAssociableChoice = __decorateClass([
|
|
3669
|
-
|
|
3731
|
+
customElement26("qti-simple-associable-choice")
|
|
3670
3732
|
], QtiSimpleAssociableChoice);
|
|
3671
3733
|
|
|
3672
3734
|
// src/lib/qti-components/qti-interaction/qti-match-interaction/qti-match-interaction.ts
|
|
3673
|
-
import { html as
|
|
3674
|
-
import { customElement as
|
|
3735
|
+
import { html as html24, nothing } from "lit";
|
|
3736
|
+
import { customElement as customElement27, property as property20, state as state9 } from "lit/decorators.js";
|
|
3675
3737
|
import { unsafeHTML as unsafeHTML2 } from "lit/directives/unsafe-html.js";
|
|
3676
3738
|
|
|
3677
3739
|
// src/lib/qti-components/qti-interaction/qti-match-interaction/qti-match-interaction.styles.ts
|
|
3678
|
-
import { css as
|
|
3679
|
-
var qti_match_interaction_styles_default =
|
|
3740
|
+
import { css as css20 } from "lit";
|
|
3741
|
+
var qti_match_interaction_styles_default = css20`
|
|
3680
3742
|
slot:not([hidden]) {
|
|
3681
3743
|
/* slot where the */
|
|
3682
3744
|
display: flex;
|
|
@@ -3867,19 +3929,19 @@ var QtiMatchInteraction = class extends DragDropInteractionMixin(
|
|
|
3867
3929
|
render() {
|
|
3868
3930
|
const isTabular = this.class.split(" ").includes("qti-match-tabular");
|
|
3869
3931
|
const hasCorrectResponse = this.correctOptions !== null;
|
|
3870
|
-
return
|
|
3932
|
+
return html24`
|
|
3871
3933
|
<slot name="prompt"></slot>
|
|
3872
3934
|
<slot ?hidden=${isTabular}></slot>
|
|
3873
3935
|
|
|
3874
|
-
${isTabular ?
|
|
3936
|
+
${isTabular ? html24`
|
|
3875
3937
|
<table part="table">
|
|
3876
3938
|
<tr part="r-header">
|
|
3877
3939
|
<td></td>
|
|
3878
|
-
${this.targetChoices.map((col) =>
|
|
3940
|
+
${this.targetChoices.map((col) => html24`<th part="r-header">${unsafeHTML2(col.innerHTML)}</th>`)}
|
|
3879
3941
|
</tr>
|
|
3880
3942
|
|
|
3881
3943
|
${this.sourceChoices.map(
|
|
3882
|
-
(row) =>
|
|
3944
|
+
(row) => html24`<tr part="row">
|
|
3883
3945
|
<td part="c-header">${unsafeHTML2(row.innerHTML)}</td>
|
|
3884
3946
|
${this.targetChoices.map((col) => {
|
|
3885
3947
|
const rowId = row.getAttribute("identifier");
|
|
@@ -3891,7 +3953,7 @@ var QtiMatchInteraction = class extends DragDropInteractionMixin(
|
|
|
3891
3953
|
const isCorrect = !!this.correctOptions?.find((option) => option.source === rowId && option.target === colId);
|
|
3892
3954
|
const part = type === "radio" ? `rb ${checked ? "rb-checked" : ""} ${hasCorrectResponse ? isCorrect ? "rb-correct" : "rb-incorrect" : ""}` : `cb ${checked ? "cb-checked" : ""} ${hasCorrectResponse ? isCorrect ? "cb-correct" : "cb-incorrect" : ""}`;
|
|
3893
3955
|
const disable = this.correctOptions?.length > 0 ? true : row.matchMax === 1 ? false : row.matchMax !== 0 && selectedInRowCount >= row.matchMax && !checked;
|
|
3894
|
-
return
|
|
3956
|
+
return html24`<td part="input-cell">
|
|
3895
3957
|
<div
|
|
3896
3958
|
class="input-container"
|
|
3897
3959
|
style="position: relative; width: 24px; height: 24px; margin: 0 auto;"
|
|
@@ -3905,7 +3967,7 @@ var QtiMatchInteraction = class extends DragDropInteractionMixin(
|
|
|
3905
3967
|
@change=${(e) => this.handleRadioChange(e)}
|
|
3906
3968
|
@click=${(e) => row.matchMax === 1 ? this.handleRadioClick(e) : null}
|
|
3907
3969
|
/>
|
|
3908
|
-
${type === "checkbox" && checked ?
|
|
3970
|
+
${type === "checkbox" && checked ? html24`
|
|
3909
3971
|
<svg
|
|
3910
3972
|
part="checkmark"
|
|
3911
3973
|
viewBox="0 0 24 24"
|
|
@@ -3940,12 +4002,12 @@ __decorateClass([
|
|
|
3940
4002
|
state9()
|
|
3941
4003
|
], QtiMatchInteraction.prototype, "correctOptions", 2);
|
|
3942
4004
|
QtiMatchInteraction = __decorateClass([
|
|
3943
|
-
|
|
4005
|
+
customElement27("qti-match-interaction")
|
|
3944
4006
|
], QtiMatchInteraction);
|
|
3945
4007
|
|
|
3946
4008
|
// src/lib/qti-components/qti-interaction/qti-media-interaction/qti-media-interaction.ts
|
|
3947
|
-
import { css as
|
|
3948
|
-
import { customElement as
|
|
4009
|
+
import { css as css21, html as html25 } from "lit";
|
|
4010
|
+
import { customElement as customElement28 } from "lit/decorators.js";
|
|
3949
4011
|
var QtiMediaInteraction = class extends Interaction {
|
|
3950
4012
|
constructor() {
|
|
3951
4013
|
super();
|
|
@@ -3982,7 +4044,7 @@ var QtiMediaInteraction = class extends Interaction {
|
|
|
3982
4044
|
};
|
|
3983
4045
|
}
|
|
3984
4046
|
render() {
|
|
3985
|
-
return
|
|
4047
|
+
return html25` <slot name="prompt"></slot>
|
|
3986
4048
|
<slot></slot>`;
|
|
3987
4049
|
}
|
|
3988
4050
|
connectedCallback() {
|
|
@@ -3996,18 +4058,18 @@ var QtiMediaInteraction = class extends Interaction {
|
|
|
3996
4058
|
}
|
|
3997
4059
|
}
|
|
3998
4060
|
};
|
|
3999
|
-
QtiMediaInteraction.styles = [
|
|
4061
|
+
QtiMediaInteraction.styles = [css21``];
|
|
4000
4062
|
QtiMediaInteraction = __decorateClass([
|
|
4001
|
-
|
|
4063
|
+
customElement28("qti-media-interaction")
|
|
4002
4064
|
], QtiMediaInteraction);
|
|
4003
4065
|
|
|
4004
4066
|
// src/lib/qti-components/qti-interaction/qti-order-interaction/qti-order-interaction.ts
|
|
4005
|
-
import { html as
|
|
4006
|
-
import { customElement as
|
|
4067
|
+
import { html as html26 } from "lit";
|
|
4068
|
+
import { customElement as customElement29, property as property21, state as state10 } from "lit/decorators.js";
|
|
4007
4069
|
|
|
4008
4070
|
// src/lib/qti-components/qti-interaction/qti-order-interaction/qti-order-interaction.styles.ts
|
|
4009
|
-
import { css as
|
|
4010
|
-
var qti_order_interaction_styles_default =
|
|
4071
|
+
import { css as css22 } from "lit";
|
|
4072
|
+
var qti_order_interaction_styles_default = css22`
|
|
4011
4073
|
[part='drags'] {
|
|
4012
4074
|
display: flex;
|
|
4013
4075
|
align-items: flex-start;
|
|
@@ -4076,12 +4138,12 @@ var QtiOrderInteraction = class extends DragDropInteractionMixin(
|
|
|
4076
4138
|
if (this.nrChoices < choices.length) {
|
|
4077
4139
|
this.nrChoices = choices.length;
|
|
4078
4140
|
}
|
|
4079
|
-
return
|
|
4141
|
+
return html26` <slot name="prompt"> </slot>
|
|
4080
4142
|
<div part="container">
|
|
4081
4143
|
<slot part="drags"> </slot>
|
|
4082
4144
|
<div part="drops">
|
|
4083
4145
|
${[...Array(this.nrChoices)].map(
|
|
4084
|
-
(_, i) =>
|
|
4146
|
+
(_, i) => html26`<drop-list role="region" part="drop-list" identifier="droplist${i}"></drop-list>`
|
|
4085
4147
|
)}
|
|
4086
4148
|
</div>
|
|
4087
4149
|
</div>`;
|
|
@@ -4156,17 +4218,17 @@ __decorateClass([
|
|
|
4156
4218
|
property21({ type: String })
|
|
4157
4219
|
], QtiOrderInteraction.prototype, "orientation", 2);
|
|
4158
4220
|
QtiOrderInteraction = __decorateClass([
|
|
4159
|
-
|
|
4221
|
+
customElement29("qti-order-interaction")
|
|
4160
4222
|
], QtiOrderInteraction);
|
|
4161
4223
|
|
|
4162
4224
|
// src/lib/qti-components/qti-interaction/qti-portable-custom-interaction/qti-portable-custom-interaction.ts
|
|
4163
|
-
import { css as
|
|
4164
|
-
import { customElement as
|
|
4225
|
+
import { css as css24, html as html27 } from "lit";
|
|
4226
|
+
import { customElement as customElement30, property as property22, state as state11 } from "lit/decorators.js";
|
|
4165
4227
|
import { consume as consume5 } from "@lit/context";
|
|
4166
4228
|
|
|
4167
4229
|
// src/lib/qti-components/qti-interaction/qti-portable-custom-interaction/qti-portable-custom-interaction.styles.ts
|
|
4168
|
-
import { css as
|
|
4169
|
-
var qti_portable_custom_interaction_styles_default =
|
|
4230
|
+
import { css as css23 } from "lit";
|
|
4231
|
+
var qti_portable_custom_interaction_styles_default = css23`
|
|
4170
4232
|
::slotted(qti-interaction-markup) {
|
|
4171
4233
|
display: none;
|
|
4172
4234
|
}
|
|
@@ -5420,9 +5482,9 @@ var QtiPortableCustomInteraction = class extends Interaction {
|
|
|
5420
5482
|
}
|
|
5421
5483
|
}
|
|
5422
5484
|
render() {
|
|
5423
|
-
return
|
|
5485
|
+
return html27`
|
|
5424
5486
|
<slot></slot>
|
|
5425
|
-
${this._errorMessage ?
|
|
5487
|
+
${this._errorMessage ? html27`<div style="color:red">
|
|
5426
5488
|
<h1>Error</h1>
|
|
5427
5489
|
${this._errorMessage}
|
|
5428
5490
|
</div>` : ""}
|
|
@@ -5433,7 +5495,7 @@ var QtiPortableCustomInteraction = class extends Interaction {
|
|
|
5433
5495
|
QtiPortableCustomInteraction.styles = [
|
|
5434
5496
|
qti_portable_custom_interaction_styles_default,
|
|
5435
5497
|
// Add default width/height for direct mode
|
|
5436
|
-
|
|
5498
|
+
css24`
|
|
5437
5499
|
:host {
|
|
5438
5500
|
display: block;
|
|
5439
5501
|
width: 100%;
|
|
@@ -5484,18 +5546,18 @@ __decorateClass([
|
|
|
5484
5546
|
state11()
|
|
5485
5547
|
], QtiPortableCustomInteraction.prototype, "response", 2);
|
|
5486
5548
|
QtiPortableCustomInteraction = __decorateClass([
|
|
5487
|
-
|
|
5549
|
+
customElement30("qti-portable-custom-interaction")
|
|
5488
5550
|
], QtiPortableCustomInteraction);
|
|
5489
5551
|
|
|
5490
5552
|
// src/lib/qti-components/qti-interaction/qti-position-object-interaction/qti-position-object-interaction.ts
|
|
5491
|
-
import { LitElement as LitElement15, css as
|
|
5553
|
+
import { LitElement as LitElement15, css as css25, html as html28 } from "lit";
|
|
5492
5554
|
var QtiPositionObjectInteraction = class extends LitElement15 {
|
|
5493
5555
|
render() {
|
|
5494
|
-
return
|
|
5556
|
+
return html28`<slot></slot>`;
|
|
5495
5557
|
}
|
|
5496
5558
|
static {
|
|
5497
5559
|
this.styles = [
|
|
5498
|
-
|
|
5560
|
+
css25`
|
|
5499
5561
|
:host {
|
|
5500
5562
|
display: block;
|
|
5501
5563
|
}
|
|
@@ -5513,11 +5575,11 @@ var QtiPositionObjectInteraction = class extends LitElement15 {
|
|
|
5513
5575
|
customElements.define("qti-position-object-interaction", QtiPositionObjectInteraction);
|
|
5514
5576
|
|
|
5515
5577
|
// src/lib/qti-components/qti-interaction/qti-position-object-interaction/qti-position-object-stage.ts
|
|
5516
|
-
import { LitElement as LitElement16, css as
|
|
5517
|
-
import { customElement as
|
|
5578
|
+
import { LitElement as LitElement16, css as css26, html as html29 } from "lit";
|
|
5579
|
+
import { customElement as customElement31 } from "lit/decorators.js";
|
|
5518
5580
|
var QtiPositionObjectStage = class extends LitElement16 {
|
|
5519
5581
|
render() {
|
|
5520
|
-
return
|
|
5582
|
+
return html29`<slot></slot>`;
|
|
5521
5583
|
}
|
|
5522
5584
|
constructor() {
|
|
5523
5585
|
super();
|
|
@@ -5556,7 +5618,7 @@ var QtiPositionObjectStage = class extends LitElement16 {
|
|
|
5556
5618
|
}
|
|
5557
5619
|
};
|
|
5558
5620
|
QtiPositionObjectStage.styles = [
|
|
5559
|
-
|
|
5621
|
+
css26`
|
|
5560
5622
|
:host {
|
|
5561
5623
|
display: inline-block;
|
|
5562
5624
|
position: relative;
|
|
@@ -5564,12 +5626,12 @@ QtiPositionObjectStage.styles = [
|
|
|
5564
5626
|
`
|
|
5565
5627
|
];
|
|
5566
5628
|
QtiPositionObjectStage = __decorateClass([
|
|
5567
|
-
|
|
5629
|
+
customElement31("qti-position-object-stage")
|
|
5568
5630
|
], QtiPositionObjectStage);
|
|
5569
5631
|
|
|
5570
5632
|
// src/lib/qti-components/qti-interaction/qti-select-point-interaction/qti-select-point-interaction.ts
|
|
5571
|
-
import { css as
|
|
5572
|
-
import { customElement as
|
|
5633
|
+
import { css as css27, html as html30 } from "lit";
|
|
5634
|
+
import { customElement as customElement32, property as property23, state as state12 } from "lit/decorators.js";
|
|
5573
5635
|
import { repeat as repeat2 } from "lit/directives/repeat.js";
|
|
5574
5636
|
import { styleMap } from "lit/directives/style-map.js";
|
|
5575
5637
|
|
|
@@ -5816,7 +5878,7 @@ var QtiSelectPointInteraction = class extends Interaction {
|
|
|
5816
5878
|
}
|
|
5817
5879
|
}
|
|
5818
5880
|
render() {
|
|
5819
|
-
return
|
|
5881
|
+
return html30` <slot name="prompt"></slot>
|
|
5820
5882
|
<point-container>
|
|
5821
5883
|
${repeat2(
|
|
5822
5884
|
(this.response || []).filter((point) => point),
|
|
@@ -5834,7 +5896,7 @@ var QtiSelectPointInteraction = class extends Interaction {
|
|
|
5834
5896
|
} else if (this._responseCorrection[index] === false) {
|
|
5835
5897
|
correctionPart = " incorrect";
|
|
5836
5898
|
}
|
|
5837
|
-
return
|
|
5899
|
+
return html30`
|
|
5838
5900
|
<button
|
|
5839
5901
|
part="point${correctionPart}"
|
|
5840
5902
|
style=${styleMap({
|
|
@@ -5866,7 +5928,7 @@ var QtiSelectPointInteraction = class extends Interaction {
|
|
|
5866
5928
|
${repeat2(
|
|
5867
5929
|
this._correctAreas?.filter((area) => area) || [],
|
|
5868
5930
|
(area) => area,
|
|
5869
|
-
(area, i) =>
|
|
5931
|
+
(area, i) => html30`<div
|
|
5870
5932
|
style=${styleMap({
|
|
5871
5933
|
position: "absolute",
|
|
5872
5934
|
pointerEvents: "none",
|
|
@@ -5909,7 +5971,7 @@ var QtiSelectPointInteraction = class extends Interaction {
|
|
|
5909
5971
|
}
|
|
5910
5972
|
};
|
|
5911
5973
|
QtiSelectPointInteraction.styles = [
|
|
5912
|
-
|
|
5974
|
+
css27`
|
|
5913
5975
|
:host {
|
|
5914
5976
|
display: block;
|
|
5915
5977
|
}
|
|
@@ -5948,12 +6010,12 @@ __decorateClass([
|
|
|
5948
6010
|
state12()
|
|
5949
6011
|
], QtiSelectPointInteraction.prototype, "_responseCorrection", 2);
|
|
5950
6012
|
QtiSelectPointInteraction = __decorateClass([
|
|
5951
|
-
|
|
6013
|
+
customElement32("qti-select-point-interaction")
|
|
5952
6014
|
], QtiSelectPointInteraction);
|
|
5953
6015
|
|
|
5954
6016
|
// src/lib/qti-components/qti-interaction/qti-simple-choice.ts
|
|
5955
|
-
import { css as
|
|
5956
|
-
import { customElement as
|
|
6017
|
+
import { css as css28, html as html31, LitElement as LitElement17, nothing as nothing2 } from "lit";
|
|
6018
|
+
import { customElement as customElement33, property as property24 } from "lit/decorators.js";
|
|
5957
6019
|
var QtiSimpleChoice = class extends ActiveElementMixin(LitElement17, "qti-simple-choice") {
|
|
5958
6020
|
constructor() {
|
|
5959
6021
|
super(...arguments);
|
|
@@ -5965,14 +6027,14 @@ var QtiSimpleChoice = class extends ActiveElementMixin(LitElement17, "qti-simple
|
|
|
5965
6027
|
return this["internals"].states.has("--checked");
|
|
5966
6028
|
}
|
|
5967
6029
|
render() {
|
|
5968
|
-
return
|
|
6030
|
+
return html31`<div part="ch">
|
|
5969
6031
|
<div part="cha"></div>
|
|
5970
6032
|
</div>
|
|
5971
|
-
${this.marker ?
|
|
6033
|
+
${this.marker ? html31`<div id="label">${this.marker}</div>` : nothing2}
|
|
5972
6034
|
<slot part="slot"></slot>`;
|
|
5973
6035
|
}
|
|
5974
6036
|
};
|
|
5975
|
-
QtiSimpleChoice.styles =
|
|
6037
|
+
QtiSimpleChoice.styles = css28`
|
|
5976
6038
|
:host {
|
|
5977
6039
|
display: flex;
|
|
5978
6040
|
align-items: center;
|
|
@@ -6009,16 +6071,16 @@ __decorateClass([
|
|
|
6009
6071
|
property24({ type: String, attribute: false })
|
|
6010
6072
|
], QtiSimpleChoice.prototype, "marker", 2);
|
|
6011
6073
|
QtiSimpleChoice = __decorateClass([
|
|
6012
|
-
|
|
6074
|
+
customElement33("qti-simple-choice")
|
|
6013
6075
|
], QtiSimpleChoice);
|
|
6014
6076
|
|
|
6015
6077
|
// src/lib/qti-components/qti-interaction/qti-slider-interaction/qti-slider-interaction.ts
|
|
6016
|
-
import { html as
|
|
6017
|
-
import { customElement as
|
|
6078
|
+
import { html as html32 } from "lit";
|
|
6079
|
+
import { customElement as customElement34, property as property25, query as query2 } from "lit/decorators.js";
|
|
6018
6080
|
|
|
6019
6081
|
// src/lib/qti-components/qti-interaction/qti-slider-interaction/qti-slider-interaction.styles.ts
|
|
6020
|
-
import { css as
|
|
6021
|
-
var qti_slider_interaction_styles_default =
|
|
6082
|
+
import { css as css29 } from "lit";
|
|
6083
|
+
var qti_slider_interaction_styles_default = css29`
|
|
6022
6084
|
:host {
|
|
6023
6085
|
display: block;
|
|
6024
6086
|
--show-bounds: true;
|
|
@@ -6159,7 +6221,7 @@ var QtiSliderInteraction = class extends Interaction {
|
|
|
6159
6221
|
this.requestUpdate();
|
|
6160
6222
|
}
|
|
6161
6223
|
render() {
|
|
6162
|
-
return
|
|
6224
|
+
return html32`
|
|
6163
6225
|
<slot name="prompt"></slot>
|
|
6164
6226
|
<div id="slider" part="slider">
|
|
6165
6227
|
<div id="bounds" part="bounds">
|
|
@@ -6174,7 +6236,7 @@ var QtiSliderInteraction = class extends Interaction {
|
|
|
6174
6236
|
<div id="value" part="value">${this.response}</div>
|
|
6175
6237
|
</div>
|
|
6176
6238
|
|
|
6177
|
-
${this._correctResponseNumber !== null ?
|
|
6239
|
+
${this._correctResponseNumber !== null ? html32`
|
|
6178
6240
|
<div id="knob-correct" part="knob-correct">
|
|
6179
6241
|
<div id="value" part="value">${this._correctResponseNumber}</div>
|
|
6180
6242
|
</div>
|
|
@@ -6233,18 +6295,18 @@ __decorateClass([
|
|
|
6233
6295
|
property25({ type: Number, attribute: "step" })
|
|
6234
6296
|
], QtiSliderInteraction.prototype, "step", 2);
|
|
6235
6297
|
QtiSliderInteraction = __decorateClass([
|
|
6236
|
-
|
|
6298
|
+
customElement34("qti-slider-interaction")
|
|
6237
6299
|
], QtiSliderInteraction);
|
|
6238
6300
|
|
|
6239
6301
|
// src/lib/qti-components/qti-interaction/qti-text-entry-interaction/qti-text-entry-interaction.ts
|
|
6240
|
-
import { html as
|
|
6241
|
-
import { customElement as
|
|
6302
|
+
import { html as html33, nothing as nothing3 } from "lit";
|
|
6303
|
+
import { customElement as customElement35, property as property26, query as query3, state as state13 } from "lit/decorators.js";
|
|
6242
6304
|
import { ifDefined as ifDefined4 } from "lit/directives/if-defined.js";
|
|
6243
6305
|
import { createRef } from "lit/directives/ref.js";
|
|
6244
6306
|
|
|
6245
6307
|
// src/lib/qti-components/qti-interaction/qti-text-entry-interaction/qti-text-entry-interaction.styles.ts
|
|
6246
|
-
import { css as
|
|
6247
|
-
var qti_text_entry_interaction_styles_default =
|
|
6308
|
+
import { css as css30 } from "lit";
|
|
6309
|
+
var qti_text_entry_interaction_styles_default = css30`
|
|
6248
6310
|
:host {
|
|
6249
6311
|
display: inline-block;
|
|
6250
6312
|
}
|
|
@@ -6430,7 +6492,7 @@ var QtiTextEntryInteraction = class extends Interaction {
|
|
|
6430
6492
|
}
|
|
6431
6493
|
}
|
|
6432
6494
|
render() {
|
|
6433
|
-
return
|
|
6495
|
+
return html33`
|
|
6434
6496
|
<input
|
|
6435
6497
|
part="input"
|
|
6436
6498
|
name="${this.responseIdentifier}"
|
|
@@ -6450,7 +6512,7 @@ var QtiTextEntryInteraction = class extends Interaction {
|
|
|
6450
6512
|
?disabled="${this.disabled}"
|
|
6451
6513
|
?readonly="${this.readonly}"
|
|
6452
6514
|
/>
|
|
6453
|
-
${this._correctResponse ?
|
|
6515
|
+
${this._correctResponse ? html33`<div part="correct">${this._correctResponse}</div>` : nothing3}
|
|
6454
6516
|
`;
|
|
6455
6517
|
}
|
|
6456
6518
|
// ${this._correctResponse ? html`<div popover part="correct">${this._correctResponse}</div>` : nothing}
|
|
@@ -6502,12 +6564,12 @@ __decorateClass([
|
|
|
6502
6564
|
watch("response", { waitUntilFirstUpdate: true })
|
|
6503
6565
|
], QtiTextEntryInteraction.prototype, "_handleValueChange", 2);
|
|
6504
6566
|
QtiTextEntryInteraction = __decorateClass([
|
|
6505
|
-
|
|
6567
|
+
customElement35("qti-text-entry-interaction")
|
|
6506
6568
|
], QtiTextEntryInteraction);
|
|
6507
6569
|
|
|
6508
6570
|
// src/lib/qti-components/qti-interaction/qti-upload-interaction/qti-upload-interaction.ts
|
|
6509
|
-
import { css as
|
|
6510
|
-
import { customElement as
|
|
6571
|
+
import { css as css31, html as html34 } from "lit";
|
|
6572
|
+
import { customElement as customElement36 } from "lit/decorators.js";
|
|
6511
6573
|
var QtiUploadInteraction = class extends Interaction {
|
|
6512
6574
|
constructor() {
|
|
6513
6575
|
super(...arguments);
|
|
@@ -6541,7 +6603,7 @@ var QtiUploadInteraction = class extends Interaction {
|
|
|
6541
6603
|
};
|
|
6542
6604
|
}
|
|
6543
6605
|
render() {
|
|
6544
|
-
return
|
|
6606
|
+
return html34`
|
|
6545
6607
|
<div>
|
|
6546
6608
|
<slot name="prompt"></slot>
|
|
6547
6609
|
<input type="file" @change="${this._onFileChange}" ?disabled="${this.disabled}" ?readonly="${this.readonly}" />
|
|
@@ -6571,7 +6633,7 @@ var QtiUploadInteraction = class extends Interaction {
|
|
|
6571
6633
|
}
|
|
6572
6634
|
};
|
|
6573
6635
|
QtiUploadInteraction.styles = [
|
|
6574
|
-
|
|
6636
|
+
css31`
|
|
6575
6637
|
:host {
|
|
6576
6638
|
display: block;
|
|
6577
6639
|
margin: 1em 0;
|
|
@@ -6583,16 +6645,16 @@ QtiUploadInteraction.styles = [
|
|
|
6583
6645
|
`
|
|
6584
6646
|
];
|
|
6585
6647
|
QtiUploadInteraction = __decorateClass([
|
|
6586
|
-
|
|
6648
|
+
customElement36("qti-upload-interaction")
|
|
6587
6649
|
], QtiUploadInteraction);
|
|
6588
6650
|
|
|
6589
6651
|
// src/lib/qti-components/qti-item-body/qti-item-body.ts
|
|
6590
|
-
import { customElement as
|
|
6591
|
-
import { html as
|
|
6652
|
+
import { customElement as customElement37 } from "lit/decorators.js";
|
|
6653
|
+
import { html as html35, LitElement as LitElement18 } from "lit";
|
|
6592
6654
|
|
|
6593
6655
|
// src/lib/qti-components/qti-item-body/qti-item-body.styles.ts
|
|
6594
|
-
import { css as
|
|
6595
|
-
var qti_item_body_styles_default =
|
|
6656
|
+
import { css as css32 } from "lit";
|
|
6657
|
+
var qti_item_body_styles_default = css32`
|
|
6596
6658
|
:host {
|
|
6597
6659
|
display: block;
|
|
6598
6660
|
}
|
|
@@ -6601,20 +6663,20 @@ var qti_item_body_styles_default = css33`
|
|
|
6601
6663
|
// src/lib/qti-components/qti-item-body/qti-item-body.ts
|
|
6602
6664
|
var QtiItemBody = class extends LitElement18 {
|
|
6603
6665
|
render() {
|
|
6604
|
-
return
|
|
6666
|
+
return html35`<slot part="qti-rubric-blocks" name="qti-rubric-block"></slot><slot></slot>`;
|
|
6605
6667
|
}
|
|
6606
6668
|
};
|
|
6607
6669
|
QtiItemBody.styles = qti_item_body_styles_default;
|
|
6608
6670
|
QtiItemBody = __decorateClass([
|
|
6609
|
-
|
|
6671
|
+
customElement37("qti-item-body")
|
|
6610
6672
|
], QtiItemBody);
|
|
6611
6673
|
|
|
6612
6674
|
// src/lib/qti-components/qti-outcome-processing/qti-outcome-processing.ts
|
|
6613
|
-
import { css as
|
|
6614
|
-
import { customElement as
|
|
6675
|
+
import { css as css33, html as html36, LitElement as LitElement19 } from "lit";
|
|
6676
|
+
import { customElement as customElement38 } from "lit/decorators.js";
|
|
6615
6677
|
var QtiOutcomeProcessing = class extends LitElement19 {
|
|
6616
6678
|
render() {
|
|
6617
|
-
return
|
|
6679
|
+
return html36`<slot></slot>`;
|
|
6618
6680
|
}
|
|
6619
6681
|
process() {
|
|
6620
6682
|
const logic = new QtiOutcomeProcessingProcessor();
|
|
@@ -6623,14 +6685,14 @@ var QtiOutcomeProcessing = class extends LitElement19 {
|
|
|
6623
6685
|
}
|
|
6624
6686
|
};
|
|
6625
6687
|
QtiOutcomeProcessing.styles = [
|
|
6626
|
-
|
|
6688
|
+
css33`
|
|
6627
6689
|
:host {
|
|
6628
6690
|
display: none;
|
|
6629
6691
|
}
|
|
6630
6692
|
`
|
|
6631
6693
|
];
|
|
6632
6694
|
QtiOutcomeProcessing = __decorateClass([
|
|
6633
|
-
|
|
6695
|
+
customElement38("qti-outcome-processing")
|
|
6634
6696
|
], QtiOutcomeProcessing);
|
|
6635
6697
|
var QtiOutcomeProcessingProcessor = class {
|
|
6636
6698
|
process(rules) {
|
|
@@ -6641,11 +6703,11 @@ var QtiOutcomeProcessingProcessor = class {
|
|
|
6641
6703
|
};
|
|
6642
6704
|
|
|
6643
6705
|
// src/lib/qti-components/qti-prompt/qti-prompt.ts
|
|
6644
|
-
import { html as
|
|
6645
|
-
import { customElement as
|
|
6706
|
+
import { html as html37, LitElement as LitElement20 } from "lit";
|
|
6707
|
+
import { customElement as customElement39 } from "lit/decorators.js";
|
|
6646
6708
|
var QtiPrompt = class extends LitElement20 {
|
|
6647
6709
|
render() {
|
|
6648
|
-
return
|
|
6710
|
+
return html37`<slot></slot>`;
|
|
6649
6711
|
}
|
|
6650
6712
|
connectedCallback() {
|
|
6651
6713
|
const inInteraction = this.parentElement.tagName.endsWith("INTERACTION");
|
|
@@ -6655,12 +6717,12 @@ var QtiPrompt = class extends LitElement20 {
|
|
|
6655
6717
|
}
|
|
6656
6718
|
};
|
|
6657
6719
|
QtiPrompt = __decorateClass([
|
|
6658
|
-
|
|
6720
|
+
customElement39("qti-prompt")
|
|
6659
6721
|
], QtiPrompt);
|
|
6660
6722
|
|
|
6661
6723
|
// src/lib/qti-components/qti-response-processing/qti-response-processing/qti-response-processing.ts
|
|
6662
|
-
import { css as
|
|
6663
|
-
import { customElement as
|
|
6724
|
+
import { css as css34, html as html38, LitElement as LitElement21 } from "lit";
|
|
6725
|
+
import { customElement as customElement40 } from "lit/decorators.js";
|
|
6664
6726
|
|
|
6665
6727
|
// src/lib/qti-components/internal/template-strings.ts
|
|
6666
6728
|
var matchCorrect = `<qti-response-processing>
|
|
@@ -6719,7 +6781,7 @@ var mapResponsePoint = `<qti-response-processing>
|
|
|
6719
6781
|
// src/lib/qti-components/qti-response-processing/qti-response-processing/qti-response-processing.ts
|
|
6720
6782
|
var QtiResponseProcessing = class extends LitElement21 {
|
|
6721
6783
|
render() {
|
|
6722
|
-
return
|
|
6784
|
+
return html38`<slot></slot>`;
|
|
6723
6785
|
}
|
|
6724
6786
|
process() {
|
|
6725
6787
|
const assessmentItem = this.closest("qti-assessment-item");
|
|
@@ -6754,14 +6816,14 @@ var QtiResponseProcessing = class extends LitElement21 {
|
|
|
6754
6816
|
}
|
|
6755
6817
|
};
|
|
6756
6818
|
QtiResponseProcessing.styles = [
|
|
6757
|
-
|
|
6819
|
+
css34`
|
|
6758
6820
|
:host {
|
|
6759
6821
|
display: none;
|
|
6760
6822
|
}
|
|
6761
6823
|
`
|
|
6762
6824
|
];
|
|
6763
6825
|
QtiResponseProcessing = __decorateClass([
|
|
6764
|
-
|
|
6826
|
+
customElement40("qti-response-processing")
|
|
6765
6827
|
], QtiResponseProcessing);
|
|
6766
6828
|
|
|
6767
6829
|
// src/lib/qti-components/qti-response-processing/qti-rule/qti-lookup-outcome-value/qti-lookup-outcome-value.ts
|
|
@@ -6769,18 +6831,18 @@ import { property as property27, state as state14 } from "lit/decorators.js";
|
|
|
6769
6831
|
import { consume as consume6 } from "@lit/context";
|
|
6770
6832
|
|
|
6771
6833
|
// src/lib/qti-components/qti-response-processing/qti-rule/qti-rule.ts
|
|
6772
|
-
import { customElement as
|
|
6773
|
-
import { html as
|
|
6834
|
+
import { customElement as customElement41 } from "lit/decorators.js";
|
|
6835
|
+
import { html as html39, LitElement as LitElement22 } from "lit";
|
|
6774
6836
|
var QtiRule = class extends LitElement22 {
|
|
6775
6837
|
render() {
|
|
6776
|
-
return
|
|
6838
|
+
return html39`<slot></slot>`;
|
|
6777
6839
|
}
|
|
6778
6840
|
process() {
|
|
6779
6841
|
throw new Error("Not implemented");
|
|
6780
6842
|
}
|
|
6781
6843
|
};
|
|
6782
6844
|
QtiRule = __decorateClass([
|
|
6783
|
-
|
|
6845
|
+
customElement41("qti-rule")
|
|
6784
6846
|
], QtiRule);
|
|
6785
6847
|
|
|
6786
6848
|
// src/lib/qti-components/qti-response-processing/qti-rule/qti-lookup-outcome-value/qti-lookup-outcome-value.ts
|
|
@@ -6822,10 +6884,10 @@ __decorateClass([
|
|
|
6822
6884
|
customElements.define("qti-lookup-outcome-value", QtiLookupOutcomeValue);
|
|
6823
6885
|
|
|
6824
6886
|
// src/lib/qti-components/qti-response-processing/qti-rule/qti-response-condition/qti-response-condition.ts
|
|
6825
|
-
import { html as
|
|
6887
|
+
import { html as html40 } from "lit";
|
|
6826
6888
|
var QtiResponseCondition = class extends QtiRule {
|
|
6827
6889
|
render() {
|
|
6828
|
-
return
|
|
6890
|
+
return html40`<slot></slot>`;
|
|
6829
6891
|
}
|
|
6830
6892
|
process() {
|
|
6831
6893
|
const branches = [...this.children];
|
|
@@ -6898,10 +6960,10 @@ var QtiSetOutcomeValueRule = class {
|
|
|
6898
6960
|
customElements.define("qti-set-outcome-value", QtiSetOutcomeValue);
|
|
6899
6961
|
|
|
6900
6962
|
// src/lib/qti-components/qti-response-processing/qti-response-else/qti-response-else.ts
|
|
6901
|
-
import { LitElement as LitElement23, html as
|
|
6963
|
+
import { LitElement as LitElement23, html as html41 } from "lit";
|
|
6902
6964
|
var QtiResponseElse = class extends LitElement23 {
|
|
6903
6965
|
render() {
|
|
6904
|
-
return
|
|
6966
|
+
return html41`<slot></slot>`;
|
|
6905
6967
|
}
|
|
6906
6968
|
calculate() {
|
|
6907
6969
|
return true;
|
|
@@ -6920,7 +6982,7 @@ var QtiResponseElse = class extends LitElement23 {
|
|
|
6920
6982
|
customElements.define("qti-response-else", QtiResponseElse);
|
|
6921
6983
|
|
|
6922
6984
|
// src/lib/qti-components/qti-response-processing/qti-response-else/qti-response-if/qti-response-else-if/qti-response-else-if.ts
|
|
6923
|
-
import { html as
|
|
6985
|
+
import { html as html42 } from "lit";
|
|
6924
6986
|
|
|
6925
6987
|
// src/lib/qti-components/qti-response-processing/qti-response-else/qti-response-if/qti-response-if.ts
|
|
6926
6988
|
var QtiResponseIf = class extends QtiResponseElse {
|
|
@@ -6942,20 +7004,165 @@ customElements.define("qti-response-if", QtiResponseIf);
|
|
|
6942
7004
|
// src/lib/qti-components/qti-response-processing/qti-response-else/qti-response-if/qti-response-else-if/qti-response-else-if.ts
|
|
6943
7005
|
var QtiResponseElseIf = class extends QtiResponseIf {
|
|
6944
7006
|
render() {
|
|
6945
|
-
return
|
|
7007
|
+
return html42`${super.render()}`;
|
|
6946
7008
|
}
|
|
6947
7009
|
};
|
|
6948
7010
|
customElements.define("qti-response-else-if", QtiResponseElseIf);
|
|
6949
7011
|
|
|
6950
7012
|
// src/lib/qti-components/qti-response-processing/qti-expression/qti-and/qti-and.ts
|
|
6951
|
-
import { customElement as
|
|
7013
|
+
import { customElement as customElement42 } from "lit/decorators.js";
|
|
7014
|
+
|
|
7015
|
+
// src/lib/exports/qti-expression.ts
|
|
7016
|
+
import { consume as consume7 } from "@lit/context";
|
|
7017
|
+
import { css as css35, html as html43, LitElement as LitElement24 } from "lit";
|
|
7018
|
+
import { state as state15 } from "lit/decorators.js";
|
|
7019
|
+
var QtiExpression = class extends LitElement24 {
|
|
7020
|
+
constructor() {
|
|
7021
|
+
super(...arguments);
|
|
7022
|
+
this.getVariables = () => (
|
|
7023
|
+
// FIXME: if this itself is multiple, this will never enter the qti-multiple switch
|
|
7024
|
+
// See this example here: https://github.com/1EdTech/qti-examples/blob/master/qtiv3-examples/packaging/items/Example05-feedbackBlock-adaptive.xml
|
|
7025
|
+
Array.from(this.children).map((e) => {
|
|
7026
|
+
console.debug("getVariables", e.tagName.toLowerCase());
|
|
7027
|
+
switch (e.tagName.toLowerCase()) {
|
|
7028
|
+
case "qti-base-value": {
|
|
7029
|
+
return {
|
|
7030
|
+
baseType: e.getAttribute("base-type"),
|
|
7031
|
+
value: e.textContent.trim(),
|
|
7032
|
+
cardinality: "single"
|
|
7033
|
+
};
|
|
7034
|
+
}
|
|
7035
|
+
case "qti-variable": {
|
|
7036
|
+
const identifier = e.getAttribute("identifier") || "";
|
|
7037
|
+
if (identifier === "QTI_CONTEXT") {
|
|
7038
|
+
if (!this.qtiContext?.QTI_CONTEXT) {
|
|
7039
|
+
console.warn("QTI_CONTEXT not available");
|
|
7040
|
+
return {
|
|
7041
|
+
identifier: "QTI_CONTEXT",
|
|
7042
|
+
baseType: "record",
|
|
7043
|
+
value: this.qtiContext.QTI_CONTEXT,
|
|
7044
|
+
cardinality: "record",
|
|
7045
|
+
type: "context"
|
|
7046
|
+
};
|
|
7047
|
+
}
|
|
7048
|
+
return {
|
|
7049
|
+
identifier: "QTI_CONTEXT",
|
|
7050
|
+
baseType: "record",
|
|
7051
|
+
value: this.qtiContext.QTI_CONTEXT,
|
|
7052
|
+
cardinality: "record",
|
|
7053
|
+
type: "context"
|
|
7054
|
+
};
|
|
7055
|
+
}
|
|
7056
|
+
const variable = this.context.variables.find((v) => v.identifier === identifier) || null;
|
|
7057
|
+
return variable;
|
|
7058
|
+
}
|
|
7059
|
+
case "qti-multiple": {
|
|
7060
|
+
const multiple = e;
|
|
7061
|
+
const values = multiple.getResult();
|
|
7062
|
+
console.debug("values", values);
|
|
7063
|
+
if (values?.length > 0) {
|
|
7064
|
+
return {
|
|
7065
|
+
identifier: "",
|
|
7066
|
+
baseType: values[0].baseType,
|
|
7067
|
+
value: values.map((v) => v.value),
|
|
7068
|
+
cardinality: "multiple",
|
|
7069
|
+
type: "response"
|
|
7070
|
+
};
|
|
7071
|
+
}
|
|
7072
|
+
return null;
|
|
7073
|
+
}
|
|
7074
|
+
case "qti-ordered": {
|
|
7075
|
+
const multiple = e;
|
|
7076
|
+
const values = multiple.getResult();
|
|
7077
|
+
if (values?.length > 0) {
|
|
7078
|
+
return {
|
|
7079
|
+
identifier: "",
|
|
7080
|
+
baseType: values[0].baseType,
|
|
7081
|
+
value: values.map((v) => v.value),
|
|
7082
|
+
cardinality: "ordered",
|
|
7083
|
+
type: "response"
|
|
7084
|
+
};
|
|
7085
|
+
}
|
|
7086
|
+
return null;
|
|
7087
|
+
}
|
|
7088
|
+
case "qti-correct": {
|
|
7089
|
+
const identifier = e.getAttribute("identifier") || "";
|
|
7090
|
+
const responseVariable = this.context.variables.find((v) => v.identifier === identifier) || null;
|
|
7091
|
+
return {
|
|
7092
|
+
baseType: responseVariable.baseType,
|
|
7093
|
+
value: responseVariable.correctResponse,
|
|
7094
|
+
cardinality: responseVariable.cardinality
|
|
7095
|
+
};
|
|
7096
|
+
}
|
|
7097
|
+
default: {
|
|
7098
|
+
try {
|
|
7099
|
+
const expression = e;
|
|
7100
|
+
const value = expression.getResult();
|
|
7101
|
+
return {
|
|
7102
|
+
baseType: "integer",
|
|
7103
|
+
value: value?.toString() || null,
|
|
7104
|
+
cardinality: "single"
|
|
7105
|
+
};
|
|
7106
|
+
} catch (error) {
|
|
7107
|
+
console.warn("default not sufficient");
|
|
7108
|
+
}
|
|
7109
|
+
return null;
|
|
7110
|
+
}
|
|
7111
|
+
}
|
|
7112
|
+
}).filter((v) => v !== null)
|
|
7113
|
+
);
|
|
7114
|
+
}
|
|
7115
|
+
static {
|
|
7116
|
+
// hide the slot with css
|
|
7117
|
+
this.styles = css35`
|
|
7118
|
+
slot {
|
|
7119
|
+
display: none;
|
|
7120
|
+
}
|
|
7121
|
+
`;
|
|
7122
|
+
}
|
|
7123
|
+
render() {
|
|
7124
|
+
return html43`<pre>${JSON.stringify(this.result, null, 2)}</pre>
|
|
7125
|
+
<slot></slot>`;
|
|
7126
|
+
}
|
|
7127
|
+
calculate() {
|
|
7128
|
+
this.result = this.getResult();
|
|
7129
|
+
return this.result;
|
|
7130
|
+
}
|
|
7131
|
+
getResult() {
|
|
7132
|
+
throw new Error("Not implemented");
|
|
7133
|
+
}
|
|
7134
|
+
};
|
|
7135
|
+
__decorateClass([
|
|
7136
|
+
state15()
|
|
7137
|
+
], QtiExpression.prototype, "result", 2);
|
|
7138
|
+
__decorateClass([
|
|
7139
|
+
consume7({ context: itemContext, subscribe: true }),
|
|
7140
|
+
state15()
|
|
7141
|
+
], QtiExpression.prototype, "context", 2);
|
|
7142
|
+
__decorateClass([
|
|
7143
|
+
consume7({ context: qtiContext, subscribe: true }),
|
|
7144
|
+
state15()
|
|
7145
|
+
], QtiExpression.prototype, "qtiContext", 2);
|
|
7146
|
+
|
|
7147
|
+
// src/lib/exports/qti-condition-expression.ts
|
|
7148
|
+
var QtiConditionExpression = class extends QtiExpression {
|
|
7149
|
+
calculate() {
|
|
7150
|
+
this.result = this.getResult();
|
|
7151
|
+
return this.result;
|
|
7152
|
+
}
|
|
7153
|
+
getResult() {
|
|
7154
|
+
throw new Error("Not implemented");
|
|
7155
|
+
}
|
|
7156
|
+
};
|
|
7157
|
+
|
|
7158
|
+
// src/lib/qti-components/qti-response-processing/qti-expression/qti-and/qti-and.ts
|
|
6952
7159
|
var QtiAnd = class extends qtiAndMixin(QtiConditionExpression) {
|
|
6953
7160
|
calculate() {
|
|
6954
7161
|
return this.calculateChildren(Array.from(this.children));
|
|
6955
7162
|
}
|
|
6956
7163
|
};
|
|
6957
7164
|
QtiAnd = __decorateClass([
|
|
6958
|
-
|
|
7165
|
+
customElement42("qti-and")
|
|
6959
7166
|
], QtiAnd);
|
|
6960
7167
|
function qtiAndMixin(Base) {
|
|
6961
7168
|
return class MockQtiAnd extends Base {
|
|
@@ -7084,8 +7291,8 @@ var QtiCorrect = class extends QtiExpression {
|
|
|
7084
7291
|
customElements.define("qti-correct", QtiCorrect);
|
|
7085
7292
|
|
|
7086
7293
|
// src/lib/qti-components/qti-response-processing/qti-expression/qti-default/qti-default.ts
|
|
7087
|
-
import { property as property29, state as
|
|
7088
|
-
import { consume as
|
|
7294
|
+
import { property as property29, state as state16 } from "lit/decorators.js";
|
|
7295
|
+
import { consume as consume8 } from "@lit/context";
|
|
7089
7296
|
var QtiDefault = class extends QtiExpression {
|
|
7090
7297
|
constructor() {
|
|
7091
7298
|
super(...arguments);
|
|
@@ -7138,12 +7345,12 @@ __decorateClass([
|
|
|
7138
7345
|
property29({ type: String })
|
|
7139
7346
|
], QtiDefault.prototype, "identifier", 2);
|
|
7140
7347
|
__decorateClass([
|
|
7141
|
-
|
|
7142
|
-
|
|
7348
|
+
consume8({ context: itemContext, subscribe: true }),
|
|
7349
|
+
state16()
|
|
7143
7350
|
], QtiDefault.prototype, "context", 2);
|
|
7144
7351
|
__decorateClass([
|
|
7145
|
-
|
|
7146
|
-
|
|
7352
|
+
state16(),
|
|
7353
|
+
consume8({ context: testContext, subscribe: true })
|
|
7147
7354
|
], QtiDefault.prototype, "_testContext", 2);
|
|
7148
7355
|
customElements.define("qti-default", QtiDefault);
|
|
7149
7356
|
|
|
@@ -8154,10 +8361,10 @@ var QtiPower = class extends QtiExpression {
|
|
|
8154
8361
|
customElements.define("qti-power", QtiPower);
|
|
8155
8362
|
|
|
8156
8363
|
// src/lib/qti-components/qti-response-processing/qti-expression/qti-printed-variable/qti-printed-variable.ts
|
|
8157
|
-
import { consume as
|
|
8158
|
-
import { LitElement as
|
|
8159
|
-
import { property as property36, state as
|
|
8160
|
-
var QtiPrintedVariable = class extends
|
|
8364
|
+
import { consume as consume9 } from "@lit/context";
|
|
8365
|
+
import { LitElement as LitElement25, html as html45, nothing as nothing4 } from "lit";
|
|
8366
|
+
import { property as property36, state as state17 } from "lit/decorators.js";
|
|
8367
|
+
var QtiPrintedVariable = class extends LitElement25 {
|
|
8161
8368
|
render() {
|
|
8162
8369
|
const value = this.context?.variables.find((v) => v.identifier === this.identifier)?.value;
|
|
8163
8370
|
return value === null ? nothing4 : html45`${JSON.stringify(value, null, 2)}`;
|
|
@@ -8171,8 +8378,8 @@ __decorateClass([
|
|
|
8171
8378
|
property36({ type: String })
|
|
8172
8379
|
], QtiPrintedVariable.prototype, "identifier", 2);
|
|
8173
8380
|
__decorateClass([
|
|
8174
|
-
|
|
8175
|
-
|
|
8381
|
+
consume9({ context: itemContext, subscribe: true }),
|
|
8382
|
+
state17()
|
|
8176
8383
|
], QtiPrintedVariable.prototype, "context", 2);
|
|
8177
8384
|
customElements.define("qti-printed-variable", QtiPrintedVariable);
|
|
8178
8385
|
|
|
@@ -8228,9 +8435,6 @@ function qtiSubtractMixin(Base) {
|
|
|
8228
8435
|
};
|
|
8229
8436
|
}
|
|
8230
8437
|
|
|
8231
|
-
// src/lib/qti-components/qti-response-processing/qti-expression/qti-subtract/index.ts
|
|
8232
|
-
customElements.define("qti-subtract", QtiSubtract);
|
|
8233
|
-
|
|
8234
8438
|
// src/lib/qti-components/qti-response-processing/qti-expression/qti-string-match/qti-string-match.ts
|
|
8235
8439
|
import { property as property37 } from "lit/decorators.js";
|
|
8236
8440
|
var QtiStringMatch = class extends QtiExpression {
|
|
@@ -8414,7 +8618,7 @@ var QtiDelete = class extends QtiExpression {
|
|
|
8414
8618
|
customElements.define("qti-delete", QtiDelete);
|
|
8415
8619
|
|
|
8416
8620
|
// src/lib/qti-components/qti-response-processing/qti-expression/qti-index/qti-index.ts
|
|
8417
|
-
import { customElement as
|
|
8621
|
+
import { customElement as customElement43, property as property39 } from "lit/decorators.js";
|
|
8418
8622
|
var QtiIndex = class extends QtiExpression {
|
|
8419
8623
|
// Required attribute, can be a number or an identifier
|
|
8420
8624
|
getResult() {
|
|
@@ -8471,25 +8675,25 @@ __decorateClass([
|
|
|
8471
8675
|
property39({ type: String })
|
|
8472
8676
|
], QtiIndex.prototype, "n", 2);
|
|
8473
8677
|
QtiIndex = __decorateClass([
|
|
8474
|
-
|
|
8678
|
+
customElement43("qti-index")
|
|
8475
8679
|
], QtiIndex);
|
|
8476
8680
|
|
|
8477
8681
|
// src/lib/qti-components/qti-rubric-block/qti-content-body.ts
|
|
8478
|
-
import { LitElement as
|
|
8479
|
-
import { customElement as
|
|
8480
|
-
var QtiContentBody = class extends
|
|
8682
|
+
import { LitElement as LitElement26, html as html46 } from "lit";
|
|
8683
|
+
import { customElement as customElement44 } from "lit/decorators.js";
|
|
8684
|
+
var QtiContentBody = class extends LitElement26 {
|
|
8481
8685
|
render() {
|
|
8482
8686
|
return html46`<slot></slot>`;
|
|
8483
8687
|
}
|
|
8484
8688
|
};
|
|
8485
8689
|
QtiContentBody = __decorateClass([
|
|
8486
|
-
|
|
8690
|
+
customElement44("qti-content-body")
|
|
8487
8691
|
], QtiContentBody);
|
|
8488
8692
|
|
|
8489
8693
|
// src/lib/qti-components/qti-rubric-block/qti-rubric-block.ts
|
|
8490
|
-
import { LitElement as
|
|
8491
|
-
import { customElement as
|
|
8492
|
-
var QtiRubricBlock = class extends
|
|
8694
|
+
import { LitElement as LitElement27, css as css36, html as html47 } from "lit";
|
|
8695
|
+
import { customElement as customElement45, property as property40 } from "lit/decorators.js";
|
|
8696
|
+
var QtiRubricBlock = class extends LitElement27 {
|
|
8493
8697
|
handleclassNamesChange() {
|
|
8494
8698
|
const classNames = this.classNames.split(" ");
|
|
8495
8699
|
classNames.forEach((className) => {
|
|
@@ -8540,13 +8744,13 @@ __decorateClass([
|
|
|
8540
8744
|
watch("classNames", { waitUntilFirstUpdate: true })
|
|
8541
8745
|
], QtiRubricBlock.prototype, "handleclassNamesChange", 1);
|
|
8542
8746
|
QtiRubricBlock = __decorateClass([
|
|
8543
|
-
|
|
8747
|
+
customElement45("qti-rubric-block")
|
|
8544
8748
|
], QtiRubricBlock);
|
|
8545
8749
|
|
|
8546
8750
|
// src/lib/qti-components/qti-stylesheet/qti-stylesheet.ts
|
|
8547
|
-
import { LitElement as
|
|
8548
|
-
import { customElement as
|
|
8549
|
-
var QtiStylesheet = class extends
|
|
8751
|
+
import { LitElement as LitElement28 } from "lit";
|
|
8752
|
+
import { customElement as customElement46 } from "lit/decorators.js";
|
|
8753
|
+
var QtiStylesheet = class extends LitElement28 {
|
|
8550
8754
|
constructor() {
|
|
8551
8755
|
super(...arguments);
|
|
8552
8756
|
this.styleElement = null;
|
|
@@ -8596,18 +8800,18 @@ var QtiStylesheet = class extends LitElement27 {
|
|
|
8596
8800
|
}
|
|
8597
8801
|
};
|
|
8598
8802
|
QtiStylesheet = __decorateClass([
|
|
8599
|
-
|
|
8803
|
+
customElement46("qti-stylesheet")
|
|
8600
8804
|
], QtiStylesheet);
|
|
8601
8805
|
|
|
8602
8806
|
// src/lib/qti-components/qti-variable-declaration/qti-outcome-declaration/qti-outcome-declaration.ts
|
|
8603
|
-
import { consume as
|
|
8807
|
+
import { consume as consume10 } from "@lit/context";
|
|
8604
8808
|
import { css as css37, html as html49 } from "lit";
|
|
8605
|
-
import { customElement as
|
|
8809
|
+
import { customElement as customElement48, property as property41, state as state18 } from "lit/decorators.js";
|
|
8606
8810
|
|
|
8607
8811
|
// src/lib/qti-components/qti-variable-declaration/qti-variable-declaration.ts
|
|
8608
|
-
import { html as html48, LitElement as
|
|
8609
|
-
import { customElement as
|
|
8610
|
-
var QtiVariableDeclaration = class extends
|
|
8812
|
+
import { html as html48, LitElement as LitElement29 } from "lit";
|
|
8813
|
+
import { customElement as customElement47 } from "lit/decorators.js";
|
|
8814
|
+
var QtiVariableDeclaration = class extends LitElement29 {
|
|
8611
8815
|
render() {
|
|
8612
8816
|
return html48`<slot></slot>`;
|
|
8613
8817
|
}
|
|
@@ -8624,7 +8828,7 @@ var QtiVariableDeclaration = class extends LitElement28 {
|
|
|
8624
8828
|
}
|
|
8625
8829
|
};
|
|
8626
8830
|
QtiVariableDeclaration = __decorateClass([
|
|
8627
|
-
|
|
8831
|
+
customElement47("qti-variabledeclaration")
|
|
8628
8832
|
], QtiVariableDeclaration);
|
|
8629
8833
|
|
|
8630
8834
|
// src/lib/qti-components/qti-variable-declaration/qti-outcome-declaration/qti-outcome-declaration.ts
|
|
@@ -8702,17 +8906,17 @@ __decorateClass([
|
|
|
8702
8906
|
property41({ type: String })
|
|
8703
8907
|
], QtiOutcomeDeclaration.prototype, "cardinality", 2);
|
|
8704
8908
|
__decorateClass([
|
|
8705
|
-
|
|
8706
|
-
|
|
8909
|
+
consume10({ context: itemContext, subscribe: true }),
|
|
8910
|
+
state18()
|
|
8707
8911
|
], QtiOutcomeDeclaration.prototype, "itemContext", 2);
|
|
8708
8912
|
QtiOutcomeDeclaration = __decorateClass([
|
|
8709
|
-
|
|
8913
|
+
customElement48("qti-outcome-declaration")
|
|
8710
8914
|
], QtiOutcomeDeclaration);
|
|
8711
8915
|
|
|
8712
8916
|
// src/lib/qti-components/qti-variable-declaration/qti-response-declaration/qti-response-declaration.ts
|
|
8713
|
-
import { consume as
|
|
8917
|
+
import { consume as consume11 } from "@lit/context";
|
|
8714
8918
|
import { css as css38, html as html50 } from "lit";
|
|
8715
|
-
import { customElement as
|
|
8919
|
+
import { customElement as customElement49, property as property42, state as state19 } from "lit/decorators.js";
|
|
8716
8920
|
var QtiResponseDeclaration = class extends QtiVariableDeclaration {
|
|
8717
8921
|
render() {
|
|
8718
8922
|
const value = this.itemContext?.variables.find((v) => v.identifier === this.identifier)?.value;
|
|
@@ -8814,11 +9018,11 @@ __decorateClass([
|
|
|
8814
9018
|
property42({ type: String })
|
|
8815
9019
|
], QtiResponseDeclaration.prototype, "cardinality", 2);
|
|
8816
9020
|
__decorateClass([
|
|
8817
|
-
|
|
8818
|
-
|
|
9021
|
+
consume11({ context: itemContext, subscribe: true }),
|
|
9022
|
+
state19()
|
|
8819
9023
|
], QtiResponseDeclaration.prototype, "itemContext", 2);
|
|
8820
9024
|
QtiResponseDeclaration = __decorateClass([
|
|
8821
|
-
|
|
9025
|
+
customElement49("qti-response-declaration")
|
|
8822
9026
|
], QtiResponseDeclaration);
|
|
8823
9027
|
|
|
8824
9028
|
export {
|
|
@@ -8828,7 +9032,6 @@ export {
|
|
|
8828
9032
|
QtiCustomOperator,
|
|
8829
9033
|
QtiFeedbackBlock,
|
|
8830
9034
|
QtiFeedbackInline,
|
|
8831
|
-
QtiModalFeedback,
|
|
8832
9035
|
QtiAssociableHotspot,
|
|
8833
9036
|
QtiAssociateInteraction,
|
|
8834
9037
|
QtiChoiceInteraction,
|
|
@@ -8920,4 +9123,4 @@ export {
|
|
|
8920
9123
|
QtiOutcomeDeclaration,
|
|
8921
9124
|
QtiResponseDeclaration
|
|
8922
9125
|
};
|
|
8923
|
-
//# sourceMappingURL=chunk-
|
|
9126
|
+
//# sourceMappingURL=chunk-LN74Z5QM.js.map
|