@citolab/qti-components 7.0.6-beta.2 → 7.0.6-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/cdn/chunks/{chunk-MJMONWKB.js → chunk-4ILXLVT5.js} +8 -2
  2. package/cdn/chunks/chunk-4PEUIMDK.js +8 -0
  3. package/cdn/chunks/chunk-H2V2RXUW.js +11 -0
  4. package/cdn/chunks/chunk-IQZ7AOCQ.js +8 -0
  5. package/cdn/chunks/chunk-J3JSSCM6.js +5 -0
  6. package/cdn/chunks/chunk-LARBLB7K.js +8 -0
  7. package/cdn/chunks/chunk-PPWEIKLT.js +1 -0
  8. package/cdn/chunks/{chunk-4WXQYE2P.js → chunk-PT523RSK.js} +2 -2
  9. package/cdn/chunks/chunk-QTK4CPHP.js +8 -0
  10. package/cdn/chunks/{chunk-7XYBFL7U.js → chunk-SXM25YH3.js} +89 -89
  11. package/cdn/chunks/chunk-UJP4TGD3.js +1 -0
  12. package/cdn/chunks/{chunk-6S4CDN3T.js → chunk-YHWMZAZD.js} +2 -2
  13. package/cdn/chunks/{chunk-TQBDBMWL.js → chunk-YWH4TGMA.js} +1 -1
  14. package/cdn/exports/interaction.js +1 -1
  15. package/cdn/index.global.js +1 -1
  16. package/cdn/index.js +1 -1
  17. package/cdn/qti-components/index.js +1 -1
  18. package/cdn/qti-item/core/index.js +1 -1
  19. package/cdn/qti-test/components/index.js +1 -1
  20. package/cdn/qti-test/components/test-component.abstract.js +1 -1
  21. package/cdn/qti-test/components/test-end-attempt.js +1 -0
  22. package/cdn/qti-test/components/test-item-link.js +1 -1
  23. package/cdn/qti-test/components/test-next.js +1 -1
  24. package/cdn/qti-test/components/test-paging-buttons-stamp.js +1 -1
  25. package/cdn/qti-test/components/test-prev.js +1 -1
  26. package/cdn/qti-test/components/test-show-correct-response.js +1 -0
  27. package/cdn/qti-test/components/test-view.js +1 -1
  28. package/cdn/qti-test/core/index.js +1 -1
  29. package/dist/chunks/{chunk-GSWZT6N2.js → chunk-4MQV5IRV.js} +12 -3
  30. package/dist/chunks/chunk-4MQV5IRV.js.map +1 -0
  31. package/dist/chunks/{chunk-6JXR63MH.js → chunk-5RTLOB3Q.js} +12 -3
  32. package/dist/chunks/chunk-5RTLOB3Q.js.map +1 -0
  33. package/dist/chunks/{chunk-UFYWCLXF.js → chunk-AUWATZ65.js} +1 -1
  34. package/dist/chunks/{chunk-UFYWCLXF.js.map → chunk-AUWATZ65.js.map} +1 -1
  35. package/dist/chunks/{chunk-7QMCKYDR.js → chunk-CEXAR7BF.js} +13 -4
  36. package/dist/chunks/chunk-CEXAR7BF.js.map +1 -0
  37. package/dist/chunks/chunk-DNHDFXTV.js +59 -0
  38. package/dist/chunks/chunk-DNHDFXTV.js.map +1 -0
  39. package/dist/chunks/chunk-GQ5P3NWC.js +46 -0
  40. package/dist/chunks/chunk-GQ5P3NWC.js.map +1 -0
  41. package/dist/chunks/chunk-HOTNM5DT.js +1 -0
  42. package/dist/chunks/{chunk-K6ATVWMP.js → chunk-MEQM6M67.js} +96 -124
  43. package/dist/chunks/chunk-MEQM6M67.js.map +1 -0
  44. package/dist/chunks/{chunk-3EU75IUF.js → chunk-MLT7V47R.js} +3 -21
  45. package/dist/chunks/chunk-MLT7V47R.js.map +1 -0
  46. package/dist/chunks/chunk-NHA53UTY.js +52 -0
  47. package/dist/chunks/chunk-NHA53UTY.js.map +1 -0
  48. package/dist/chunks/{chunk-J2SHENRN.js → chunk-NZQKGIJP.js} +9 -3
  49. package/dist/chunks/{chunk-J2SHENRN.js.map → chunk-NZQKGIJP.js.map} +1 -1
  50. package/dist/chunks/{chunk-ZPNJ2HP5.js → chunk-OIRWOI3E.js} +2 -1
  51. package/dist/chunks/chunk-OIRWOI3E.js.map +1 -0
  52. package/dist/chunks/chunk-RX3BRYYI.js +59 -0
  53. package/dist/chunks/chunk-RX3BRYYI.js.map +1 -0
  54. package/dist/chunks/chunk-VAPB5TN4.js +46 -0
  55. package/dist/chunks/chunk-VAPB5TN4.js.map +1 -0
  56. package/dist/chunks/chunk-W4272Q5U.js +46 -0
  57. package/dist/chunks/chunk-W4272Q5U.js.map +1 -0
  58. package/dist/chunks/{chunk-A24F75DB.js → chunk-WWN5AD6V.js} +11 -2
  59. package/dist/chunks/chunk-WWN5AD6V.js.map +1 -0
  60. package/dist/chunks/{chunk-HHVRU3AJ.js → chunk-XCHS3RTZ.js} +2 -2
  61. package/dist/chunks/{chunk-KYAIMBP5.js → chunk-YQB6YLNW.js} +3 -3
  62. package/dist/chunks/chunk-YQB6YLNW.js.map +1 -0
  63. package/dist/chunks/chunk-Z5THRO6Z.js +46 -0
  64. package/dist/chunks/chunk-Z5THRO6Z.js.map +1 -0
  65. package/dist/chunks/{chunk-4GNVYCBN.js → chunk-ZQXZ6PK7.js} +92 -70
  66. package/dist/chunks/chunk-ZQXZ6PK7.js.map +1 -0
  67. package/dist/exports/interaction.js +1 -1
  68. package/dist/index.d.ts +4 -2
  69. package/dist/index.js +21 -13
  70. package/dist/item.css +8 -2
  71. package/dist/qti-components/index.d.ts +2 -2
  72. package/dist/qti-components/index.js +2 -2
  73. package/dist/qti-components-jsx.d.ts +62 -46
  74. package/dist/qti-item/core/index.js +2 -2
  75. package/dist/qti-loader/index.d.ts +1 -1
  76. package/dist/{qti-response-declaration-DAeBp8HH.d.ts → qti-response-declaration-Di9CsqiJ.d.ts} +4 -0
  77. package/dist/qti-test/components/index.d.ts +4 -2
  78. package/dist/qti-test/components/index.js +16 -8
  79. package/dist/qti-test/components/test-component.abstract.d.ts +2 -4
  80. package/dist/qti-test/components/test-component.abstract.js +2 -2
  81. package/dist/qti-test/components/test-end-attempt.d.ts +26 -0
  82. package/dist/qti-test/components/test-end-attempt.js +13 -0
  83. package/dist/qti-test/components/test-end-attempt.js.map +1 -0
  84. package/dist/qti-test/components/test-item-link.d.ts +3 -2
  85. package/dist/qti-test/components/test-item-link.js +3 -3
  86. package/dist/qti-test/components/test-next.d.ts +3 -2
  87. package/dist/qti-test/components/test-next.js +3 -3
  88. package/dist/qti-test/components/test-paging-buttons-stamp.d.ts +2 -2
  89. package/dist/qti-test/components/test-paging-buttons-stamp.js +3 -3
  90. package/dist/qti-test/components/test-prev.d.ts +3 -2
  91. package/dist/qti-test/components/test-prev.js +3 -3
  92. package/dist/qti-test/components/test-show-correct-response.d.ts +26 -0
  93. package/dist/qti-test/components/test-show-correct-response.js +13 -0
  94. package/dist/qti-test/components/test-show-correct-response.js.map +1 -0
  95. package/dist/qti-test/components/test-view.d.ts +3 -2
  96. package/dist/qti-test/components/test-view.js +3 -3
  97. package/dist/qti-test/core/index.d.ts +6 -6
  98. package/dist/qti-test/core/index.js +3 -3
  99. package/dist/{test.context-CaENAJNk.d.ts → test.context-CmsDQ8k2.d.ts} +3 -5
  100. package/dist/vscode.html-custom-data.json +36 -17
  101. package/package.json +1 -1
  102. package/cdn/chunks/chunk-3V6LA7B3.js +0 -8
  103. package/cdn/chunks/chunk-5P7CTN7Q.js +0 -11
  104. package/cdn/chunks/chunk-DZCKF45D.js +0 -5
  105. package/cdn/chunks/chunk-IMJOPCFR.js +0 -1
  106. package/cdn/chunks/chunk-N5OHGRGG.js +0 -8
  107. package/cdn/chunks/chunk-NDHSIO2G.js +0 -8
  108. package/cdn/chunks/chunk-PKT2SJQD.js +0 -8
  109. package/cdn/chunks/chunk-QV6I5NVQ.js +0 -8
  110. package/cdn/chunks/chunk-R33OODNX.js +0 -1
  111. package/dist/chunks/chunk-3EU75IUF.js.map +0 -1
  112. package/dist/chunks/chunk-4GNVYCBN.js.map +0 -1
  113. package/dist/chunks/chunk-6JXR63MH.js.map +0 -1
  114. package/dist/chunks/chunk-7QMCKYDR.js.map +0 -1
  115. package/dist/chunks/chunk-A24F75DB.js.map +0 -1
  116. package/dist/chunks/chunk-GSWZT6N2.js.map +0 -1
  117. package/dist/chunks/chunk-K6ATVWMP.js.map +0 -1
  118. package/dist/chunks/chunk-KYAIMBP5.js.map +0 -1
  119. package/dist/chunks/chunk-UN2IFSGC.js +0 -1
  120. package/dist/chunks/chunk-ZPNJ2HP5.js.map +0 -1
  121. /package/cdn/chunks/{chunk-3GO57DNP.js → chunk-6PW2L463.js} +0 -0
  122. /package/dist/chunks/{chunk-UN2IFSGC.js.map → chunk-HOTNM5DT.js.map} +0 -0
  123. /package/dist/chunks/{chunk-HHVRU3AJ.js.map → chunk-XCHS3RTZ.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/qti-test/components/test-paging-buttons-stamp.ts"],"sourcesContent":["import { html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { TestComponent } from './test-component.abstract';\nimport { prepareTemplate } from 'stampino';\n\n@customElement('test-paging-buttons-stamp')\nexport class TestPagingButtonsStamp extends TestComponent {\n @property({ type: Number, attribute: 'max-displayed-items' })\n private maxDisplayedItems = 2;\n\n @property({ type: String, attribute: 'skip-on-category' })\n private skipOnCategory = 'dep-informational';\n\n protected createRenderRoot() {\n return this;\n }\n\n constructor() {\n super();\n this._internals.ariaLabel = 'pagination';\n }\n\n render() {\n const items = this._testContext.items.reduce(\n (acc, item) => {\n const isDepInfoItem = item.category?.split(' ').includes(this.skipOnCategory);\n const newIndex = isDepInfoItem ? 'i' : acc.counter++;\n acc.result.push({\n ...item,\n newIndex // Assign the new index, which only increments for non-info items\n });\n return acc;\n },\n { counter: 0, result: [] }\n ).result;\n\n // Get the index of the current item\n const itemIndex = items.findIndex(item => item.identifier === this._testContext.navItemId);\n\n // Calculate the start and end range based on maxDisplayedItems\n const start = Math.max(0, itemIndex - this.maxDisplayedItems);\n const end = Math.min(items.length, itemIndex + this.maxDisplayedItems + 1);\n\n // console.log('start', start, 'end', end);\n // Adjust the items array to only include the clamped range\n const clampedItems = items.slice(start, end);\n\n return html`\n ${clampedItems.map(item => {\n const rawscore = item.variables.find(vr => vr.identifier == 'SCORE');\n const score = parseInt(rawscore?.value?.toString());\n const completionStatus = item.variables.find(v => v.identifier === 'completionStatus')?.value;\n const type = item.category !== this.skipOnCategory ? 'regular' : 'info'; // rounded-full\n const active = this._testContext.navItemId === item.identifier; // !border-sky-600\n const correct =\n this._testContext.view === 'scorer' && type == 'regular' && score !== undefined && !isNaN(score) && score > 0; // bg-green-100 border-green-400\n const incorrect =\n this._testContext.view === 'scorer' &&\n type == 'regular' &&\n score !== undefined &&\n !isNaN(score) &&\n score <= 0; // bg-red-100 border-red-400\n const answered =\n this._testContext.view === 'candidate' &&\n completionStatus === 'completed' &&\n item.category !== this.skipOnCategory; // bg-slate-300 shadow-sm\n\n const computedItem = {\n ...item,\n type,\n active,\n correct,\n incorrect,\n answered\n };\n\n const templateElement = this.firstElementChild as HTMLTemplateElement;\n const myTemplate = prepareTemplate(templateElement);\n return myTemplate({ item: computedItem });\n })}\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'test-paging-buttons-stamp': TestPagingButtonsStamp;\n }\n}\n"],"mappings":";;;;;;;;AAAA,SAAS,YAAY;AACrB,SAAS,eAAe,gBAAgB;AAGxC,SAAS,uBAAuB;AAGzB,IAAM,yBAAN,cAAqC,cAAc;AAAA,EAWxD,cAAc;AACZ,UAAM;AAVR,SAAQ,oBAAoB;AAG5B,SAAQ,iBAAiB;AAQvB,SAAK,WAAW,YAAY;AAAA,EAC9B;AAAA,EAPU,mBAAmB;AAC3B,WAAO;AAAA,EACT;AAAA,EAOA,SAAS;AACP,UAAM,QAAQ,KAAK,aAAa,MAAM;AAAA,MACpC,CAAC,KAAK,SAAS;AACb,cAAM,gBAAgB,KAAK,UAAU,MAAM,GAAG,EAAE,SAAS,KAAK,cAAc;AAC5E,cAAM,WAAW,gBAAgB,MAAM,IAAI;AAC3C,YAAI,OAAO,KAAK;AAAA,UACd,GAAG;AAAA,UACH;AAAA;AAAA,QACF,CAAC;AACD,eAAO;AAAA,MACT;AAAA,MACA,EAAE,SAAS,GAAG,QAAQ,CAAC,EAAE;AAAA,IAC3B,EAAE;AAGF,UAAM,YAAY,MAAM,UAAU,UAAQ,KAAK,eAAe,KAAK,aAAa,SAAS;AAGzF,UAAM,QAAQ,KAAK,IAAI,GAAG,YAAY,KAAK,iBAAiB;AAC5D,UAAM,MAAM,KAAK,IAAI,MAAM,QAAQ,YAAY,KAAK,oBAAoB,CAAC;AAIzE,UAAM,eAAe,MAAM,MAAM,OAAO,GAAG;AAE3C,WAAO;AAAA,QACH,aAAa,IAAI,UAAQ;AACzB,YAAM,WAAW,KAAK,UAAU,KAAK,QAAM,GAAG,cAAc,OAAO;AACnE,YAAM,QAAQ,SAAS,UAAU,OAAO,SAAS,CAAC;AAClD,YAAM,mBAAmB,KAAK,UAAU,KAAK,OAAK,EAAE,eAAe,kBAAkB,GAAG;AACxF,YAAM,OAAO,KAAK,aAAa,KAAK,iBAAiB,YAAY;AACjE,YAAM,SAAS,KAAK,aAAa,cAAc,KAAK;AACpD,YAAM,UACJ,KAAK,aAAa,SAAS,YAAY,QAAQ,aAAa,UAAU,UAAa,CAAC,MAAM,KAAK,KAAK,QAAQ;AAC9G,YAAM,YACJ,KAAK,aAAa,SAAS,YAC3B,QAAQ,aACR,UAAU,UACV,CAAC,MAAM,KAAK,KACZ,SAAS;AACX,YAAM,WACJ,KAAK,aAAa,SAAS,eAC3B,qBAAqB,eACrB,KAAK,aAAa,KAAK;AAEzB,YAAM,eAAe;AAAA,QACnB,GAAG;AAAA,QACH;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAEA,YAAM,kBAAkB,KAAK;AAC7B,YAAM,aAAa,gBAAgB,eAAe;AAClD,aAAO,WAAW,EAAE,MAAM,aAAa,CAAC;AAAA,IAC1C,CAAC,CAAC;AAAA;AAAA,EAEN;AACF;AA1EU;AAAA,EADP,SAAS,EAAE,MAAM,QAAQ,WAAW,sBAAsB,CAAC;AAAA,GADjD,uBAEH;AAGA;AAAA,EADP,SAAS,EAAE,MAAM,QAAQ,WAAW,mBAAmB,CAAC;AAAA,GAJ9C,uBAKH;AALG,yBAAN;AAAA,EADN,cAAc,2BAA2B;AAAA,GAC7B;","names":[]}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=chunk-UN2IFSGC.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/exports/interaction.ts"],"sourcesContent":["import { property, state } from 'lit/decorators.js';\nimport { LitElement } from 'lit';\nimport type { IInteraction } from './interaction.interface';\n\nexport abstract class Interaction extends LitElement implements IInteraction {\n static formAssociated = true;\n\n @property({ type: String, attribute: 'response-identifier' }) responseIdentifier;\n\n @property({ reflect: true, type: Boolean }) disabled = false;\n\n @property({ reflect: true, type: Boolean }) readonly = false;\n\n @state()\n protected _correctResponse: string | string[];\n protected _internals: ElementInternals;\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n }\n\n abstract validate(): boolean;\n\n public reportValidity(): boolean {\n return this._internals.reportValidity();\n }\n\n public reset(): void {\n this.value = '';\n }\n\n abstract get value(): string | string[] | null;\n abstract set value(val: string | string[] | null);\n\n public get correctResponse(): string | string[] {\n return this._correctResponse;\n }\n set correctResponse(value: string | string[]) {\n this._correctResponse = value;\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n\n this.dispatchEvent(\n new CustomEvent('qti-register-interaction', {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n responseIdentifier: this.responseIdentifier\n }\n })\n );\n }\n\n public saveResponse(value: string | string[]) {\n this.dispatchEvent(\n new CustomEvent('qti-interaction-response', {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n responseIdentifier: this.responseIdentifier,\n response: Array.isArray(value) ? [...value] : value\n }\n })\n );\n }\n}\n"],"mappings":";;;;;AAAA,SAAS,UAAU,aAAa;AAChC,SAAS,kBAAkB;AAGpB,IAAe,cAAf,cAAmC,WAAmC;AAAA,EAa3E,cAAc;AACZ,UAAM;AAToC,oBAAW;AAEX,oBAAW;AAQrD,SAAK,aAAa,KAAK,gBAAgB;AAAA,EACzC;AAAA,EAIO,iBAA0B;AAC/B,WAAO,KAAK,WAAW,eAAe;AAAA,EACxC;AAAA,EAEO,QAAc;AACnB,SAAK,QAAQ;AAAA,EACf;AAAA,EAKA,IAAW,kBAAqC;AAC9C,WAAO,KAAK;AAAA,EACd;AAAA,EACA,IAAI,gBAAgB,OAA0B;AAC5C,SAAK,mBAAmB;AAAA,EAC1B;AAAA,EAEgB,oBAAoB;AAClC,UAAM,kBAAkB;AAExB,SAAK;AAAA,MACH,IAAI,YAAY,4BAA4B;AAAA,QAC1C,SAAS;AAAA,QACT,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,QAAQ;AAAA,UACN,oBAAoB,KAAK;AAAA,QAC3B;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEO,aAAa,OAA0B;AAC5C,SAAK;AAAA,MACH,IAAI,YAAY,4BAA4B;AAAA,QAC1C,SAAS;AAAA,QACT,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,QAAQ;AAAA,UACN,oBAAoB,KAAK;AAAA,UACzB,UAAU,MAAM,QAAQ,KAAK,IAAI,CAAC,GAAG,KAAK,IAAI;AAAA,QAChD;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAlEsB,YACb,iBAAiB;AAEsC;AAAA,EAA7D,SAAS,EAAE,MAAM,QAAQ,WAAW,sBAAsB,CAAC;AAAA,GAHxC,YAG0C;AAElB;AAAA,EAA3C,SAAS,EAAE,SAAS,MAAM,MAAM,QAAQ,CAAC;AAAA,GALtB,YAKwB;AAEA;AAAA,EAA3C,SAAS,EAAE,SAAS,MAAM,MAAM,QAAQ,CAAC;AAAA,GAPtB,YAOwB;AAGlC;AAAA,EADT,MAAM;AAAA,GATa,YAUV;","names":[]}