@pie-element/inline-dropdown 11.0.5-esm.0 → 11.0.5-next.20261012010413
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/author.js +2 -0
- package/configure.js +2 -0
- package/controller.js +1 -0
- package/dist/author/defaults.d.ts +187 -0
- package/dist/author/defaults.js +130 -0
- package/dist/author/index.d.ts +25 -0
- package/dist/author/index.js +91 -0
- package/dist/author/inline-dropdown-toolbar.d.ts +44 -0
- package/dist/author/inline-dropdown-toolbar.js +269 -0
- package/dist/author/main.d.ts +65 -0
- package/dist/author/main.js +363 -0
- package/dist/author/markupUtils.d.ts +4 -0
- package/dist/author/markupUtils.js +23 -0
- package/dist/author/response-area.d.ts +12 -0
- package/dist/author/response-area.js +32 -0
- package/dist/author/utils.d.ts +2 -0
- package/dist/author/utils.js +10 -0
- package/dist/browser/Close-V6zXg6OM.js +12945 -0
- package/dist/browser/Close-V6zXg6OM.js.map +1 -0
- package/dist/browser/PUA-tLuTiQ7---_oZ5q_A.js +4370 -0
- package/dist/browser/PUA-tLuTiQ7---_oZ5q_A.js.map +1 -0
- package/dist/browser/accents-BTUYmhn9-BvG-5D5U.js +1508 -0
- package/dist/browser/accents-BTUYmhn9-BvG-5D5U.js.map +1 -0
- package/dist/browser/accents-b-i-CngHZsLL-D9VyhQb6.js +2847 -0
- package/dist/browser/accents-b-i-CngHZsLL-D9VyhQb6.js.map +1 -0
- package/dist/browser/arabic-BzEHMVZD-Dynlj189.js +785 -0
- package/dist/browser/arabic-BzEHMVZD-Dynlj189.js.map +1 -0
- package/dist/browser/arrows-VjxlU-jv-DSm4SIYN.js +2655 -0
- package/dist/browser/arrows-VjxlU-jv-DSm4SIYN.js.map +1 -0
- package/dist/browser/assets/Symbola-4c507403.woff2 +0 -0
- package/dist/browser/author/index.js +36618 -0
- package/dist/browser/author/index.js.map +1 -0
- package/dist/browser/braille-BeWC_Ruq-T-5kTNil.js +1287 -0
- package/dist/browser/braille-BeWC_Ruq-T-5kTNil.js.map +1 -0
- package/dist/browser/braille-d-Dk6J96GO--ZdfI9kr.js +1287 -0
- package/dist/browser/braille-d-Dk6J96GO--ZdfI9kr.js.map +1 -0
- package/dist/browser/calligraphic-Cew9cU3x-qfCrrm3u.js +323 -0
- package/dist/browser/calligraphic-Cew9cU3x-qfCrrm3u.js.map +1 -0
- package/dist/browser/cherokee-Cny3FYho-CbTYre7_.js +2029 -0
- package/dist/browser/cherokee-Cny3FYho-CbTYre7_.js.map +1 -0
- package/dist/browser/chtml-CbqemTOM-x0_YISTK.js +20329 -0
- package/dist/browser/chtml-CbqemTOM-x0_YISTK.js.map +1 -0
- package/dist/browser/controller/index.js +198 -0
- package/dist/browser/controller/index.js.map +1 -0
- package/dist/browser/cyrillic-CfCDulXU-EvNL2rHi.js +5617 -0
- package/dist/browser/cyrillic-CfCDulXU-EvNL2rHi.js.map +1 -0
- package/dist/browser/cyrillic-ss-lU7bNGG9-jdxJx-EF.js +5606 -0
- package/dist/browser/cyrillic-ss-lU7bNGG9-jdxJx-EF.js.map +1 -0
- package/dist/browser/delivery/index.js +1307 -0
- package/dist/browser/delivery/index.js.map +1 -0
- package/dist/browser/devanagari-CDIz2h-r-FGcUsKu2.js +692 -0
- package/dist/browser/devanagari-CDIz2h-r-FGcUsKu2.js.map +1 -0
- package/dist/browser/dist-FMIRkZir.js +753 -0
- package/dist/browser/dist-FMIRkZir.js.map +1 -0
- package/dist/browser/double-struck-BpJEQk8y-CLqFtvAN.js +438 -0
- package/dist/browser/double-struck-BpJEQk8y-CLqFtvAN.js.map +1 -0
- package/dist/browser/editor-runtime/Close-C0bNS2Kx.js +12945 -0
- package/dist/browser/editor-runtime/Close-C0bNS2Kx.js.map +1 -0
- package/dist/browser/editor-runtime/PUA-tLuTiQ7---_oZ5q_A.js +4370 -0
- package/dist/browser/editor-runtime/PUA-tLuTiQ7---_oZ5q_A.js.map +1 -0
- package/dist/browser/editor-runtime/accents-BTUYmhn9-BvG-5D5U.js +1508 -0
- package/dist/browser/editor-runtime/accents-BTUYmhn9-BvG-5D5U.js.map +1 -0
- package/dist/browser/editor-runtime/accents-b-i-CngHZsLL-D9VyhQb6.js +2847 -0
- package/dist/browser/editor-runtime/accents-b-i-CngHZsLL-D9VyhQb6.js.map +1 -0
- package/dist/browser/editor-runtime/arabic-BzEHMVZD-Dynlj189.js +785 -0
- package/dist/browser/editor-runtime/arabic-BzEHMVZD-Dynlj189.js.map +1 -0
- package/dist/browser/editor-runtime/arrows-VjxlU-jv-DSm4SIYN.js +2655 -0
- package/dist/browser/editor-runtime/arrows-VjxlU-jv-DSm4SIYN.js.map +1 -0
- package/dist/browser/editor-runtime/assets/Symbola-4c507403.woff2 +0 -0
- package/dist/browser/editor-runtime/author/index.js +20030 -0
- package/dist/browser/editor-runtime/author/index.js.map +1 -0
- package/dist/browser/editor-runtime/braille-BeWC_Ruq-T-5kTNil.js +1287 -0
- package/dist/browser/editor-runtime/braille-BeWC_Ruq-T-5kTNil.js.map +1 -0
- package/dist/browser/editor-runtime/braille-d-Dk6J96GO--ZdfI9kr.js +1287 -0
- package/dist/browser/editor-runtime/braille-d-Dk6J96GO--ZdfI9kr.js.map +1 -0
- package/dist/browser/editor-runtime/calligraphic-Cew9cU3x-qfCrrm3u.js +323 -0
- package/dist/browser/editor-runtime/calligraphic-Cew9cU3x-qfCrrm3u.js.map +1 -0
- package/dist/browser/editor-runtime/cherokee-Cny3FYho-CbTYre7_.js +2029 -0
- package/dist/browser/editor-runtime/cherokee-Cny3FYho-CbTYre7_.js.map +1 -0
- package/dist/browser/editor-runtime/chtml-CbqemTOM-x0_YISTK.js +20329 -0
- package/dist/browser/editor-runtime/chtml-CbqemTOM-x0_YISTK.js.map +1 -0
- package/dist/browser/editor-runtime/controller/index.js +198 -0
- package/dist/browser/editor-runtime/controller/index.js.map +1 -0
- package/dist/browser/editor-runtime/cyrillic-CfCDulXU-EvNL2rHi.js +5617 -0
- package/dist/browser/editor-runtime/cyrillic-CfCDulXU-EvNL2rHi.js.map +1 -0
- package/dist/browser/editor-runtime/cyrillic-ss-lU7bNGG9-jdxJx-EF.js +5606 -0
- package/dist/browser/editor-runtime/cyrillic-ss-lU7bNGG9-jdxJx-EF.js.map +1 -0
- package/dist/browser/editor-runtime/delivery/index.js +1307 -0
- package/dist/browser/editor-runtime/delivery/index.js.map +1 -0
- package/dist/browser/editor-runtime/devanagari-CDIz2h-r-FGcUsKu2.js +692 -0
- package/dist/browser/editor-runtime/devanagari-CDIz2h-r-FGcUsKu2.js.map +1 -0
- package/dist/browser/editor-runtime/dist-FMIRkZir.js +753 -0
- package/dist/browser/editor-runtime/dist-FMIRkZir.js.map +1 -0
- package/dist/browser/editor-runtime/double-struck-BpJEQk8y-CLqFtvAN.js +438 -0
- package/dist/browser/editor-runtime/double-struck-BpJEQk8y-CLqFtvAN.js.map +1 -0
- package/dist/browser/editor-runtime/fraktur-rLEq9DEH-BU0iR4xw.js +694 -0
- package/dist/browser/editor-runtime/fraktur-rLEq9DEH-BU0iR4xw.js.map +1 -0
- package/dist/browser/editor-runtime/greek-BlraJTyL-DAfjxxNh.js +9335 -0
- package/dist/browser/editor-runtime/greek-BlraJTyL-DAfjxxNh.js.map +1 -0
- package/dist/browser/editor-runtime/greek-ss-D-EN2PK0-CcyaecGS.js +6767 -0
- package/dist/browser/editor-runtime/greek-ss-D-EN2PK0-CcyaecGS.js.map +1 -0
- package/dist/browser/editor-runtime/hebrew-GiQZeybp-DqJrAkkB.js +3218 -0
- package/dist/browser/editor-runtime/hebrew-GiQZeybp-DqJrAkkB.js.map +1 -0
- package/dist/browser/editor-runtime/latin-b-BhEnC7R2-CQAVv0CI.js +3134 -0
- package/dist/browser/editor-runtime/latin-b-BhEnC7R2-CQAVv0CI.js.map +1 -0
- package/dist/browser/editor-runtime/latin-bi-DqiIKv3U-DM22wSUP.js +3637 -0
- package/dist/browser/editor-runtime/latin-bi-DqiIKv3U-DM22wSUP.js.map +1 -0
- package/dist/browser/editor-runtime/latin-i-B1xtwaE1-uBpJAGjo.js +3634 -0
- package/dist/browser/editor-runtime/latin-i-B1xtwaE1-uBpJAGjo.js.map +1 -0
- package/dist/browser/editor-runtime/latin-xfWFlLkD-CKElfDKc.js +3266 -0
- package/dist/browser/editor-runtime/latin-xfWFlLkD-CKElfDKc.js.map +1 -0
- package/dist/browser/editor-runtime/marrows-DD1NgMQi-BIBP-NrK.js +761 -0
- package/dist/browser/editor-runtime/marrows-DD1NgMQi-BIBP-NrK.js.map +1 -0
- package/dist/browser/editor-runtime/math-DpWn1mbG-B7Krt7Jk.js +2034 -0
- package/dist/browser/editor-runtime/math-DpWn1mbG-B7Krt7Jk.js.map +1 -0
- package/dist/browser/editor-runtime/mathjax-CptWnMbQ-BymmkoDr.js +36692 -0
- package/dist/browser/editor-runtime/mathjax-CptWnMbQ-BymmkoDr.js.map +1 -0
- package/dist/browser/editor-runtime/monospace-D116QD2a-C40p3Rv8.js +1112 -0
- package/dist/browser/editor-runtime/monospace-D116QD2a-C40p3Rv8.js.map +1 -0
- package/dist/browser/editor-runtime/monospace-ex-DcXpouKS-DkaktwPJ.js +6014 -0
- package/dist/browser/editor-runtime/monospace-ex-DcXpouKS-DkaktwPJ.js.map +1 -0
- package/dist/browser/editor-runtime/monospace-l-Ct5wkMDs-CuE7t5pv.js +3114 -0
- package/dist/browser/editor-runtime/monospace-l-Ct5wkMDs-CuE7t5pv.js.map +1 -0
- package/dist/browser/editor-runtime/mshapes-DCp86WSX-DX0WfJid.js +524 -0
- package/dist/browser/editor-runtime/mshapes-DCp86WSX-DX0WfJid.js.map +1 -0
- package/dist/browser/editor-runtime/phonetics-BwOCw2Y9-lJWnARqt.js +2496 -0
- package/dist/browser/editor-runtime/phonetics-BwOCw2Y9-lJWnARqt.js.map +1 -0
- package/dist/browser/editor-runtime/phonetics-ss-CRtMn02f-Cr32SJLL.js +2984 -0
- package/dist/browser/editor-runtime/phonetics-ss-CRtMn02f-Cr32SJLL.js.map +1 -0
- package/dist/browser/editor-runtime/sans-serif-BYPZKlE9-DftjSdim.js +5246 -0
- package/dist/browser/editor-runtime/sans-serif-BYPZKlE9-DftjSdim.js.map +1 -0
- package/dist/browser/editor-runtime/sans-serif-b-B0kRKiC--BsRQiyQP.js +3176 -0
- package/dist/browser/editor-runtime/sans-serif-b-B0kRKiC--BsRQiyQP.js.map +1 -0
- package/dist/browser/editor-runtime/sans-serif-bi-DXWul6mu-D4NuD72A.js +3688 -0
- package/dist/browser/editor-runtime/sans-serif-bi-DXWul6mu-D4NuD72A.js.map +1 -0
- package/dist/browser/editor-runtime/sans-serif-ex-Boux1kMP-BrL4RNcD.js +10033 -0
- package/dist/browser/editor-runtime/sans-serif-ex-Boux1kMP-BrL4RNcD.js.map +1 -0
- package/dist/browser/editor-runtime/sans-serif-i-676RFaSO-BCRikTTw.js +3635 -0
- package/dist/browser/editor-runtime/sans-serif-i-676RFaSO-BCRikTTw.js.map +1 -0
- package/dist/browser/editor-runtime/sans-serif-r-DrN9xdZt-CN8omxfu.js +3159 -0
- package/dist/browser/editor-runtime/sans-serif-r-DrN9xdZt-CN8omxfu.js.map +1 -0
- package/dist/browser/editor-runtime/script-0ohehnXc-4G2PiBkk.js +649 -0
- package/dist/browser/editor-runtime/script-0ohehnXc-4G2PiBkk.js.map +1 -0
- package/dist/browser/editor-runtime/shapes-BG47NodJ-D3eH0HjT.js +1932 -0
- package/dist/browser/editor-runtime/shapes-BG47NodJ-D3eH0HjT.js.map +1 -0
- package/dist/browser/editor-runtime/speech-worker-CTpOB9m5-pwCKeQ9c.js +160 -0
- package/dist/browser/editor-runtime/speech-worker-CTpOB9m5-pwCKeQ9c.js.map +1 -0
- package/dist/browser/editor-runtime/symbols-BqnUxf_t-DJHA_nO7.js +1833 -0
- package/dist/browser/editor-runtime/symbols-BqnUxf_t-DJHA_nO7.js.map +1 -0
- package/dist/browser/editor-runtime/symbols-b-i-eg9k5hmF-Bn-dxZT_.js +1153 -0
- package/dist/browser/editor-runtime/symbols-b-i-eg9k5hmF-Bn-dxZT_.js.map +1 -0
- package/dist/browser/editor-runtime/variants-2LRNhOUP-BlL4NIVJ.js +231 -0
- package/dist/browser/editor-runtime/variants-2LRNhOUP-BlL4NIVJ.js.map +1 -0
- package/dist/browser/fraktur-rLEq9DEH-BU0iR4xw.js +694 -0
- package/dist/browser/fraktur-rLEq9DEH-BU0iR4xw.js.map +1 -0
- package/dist/browser/greek-BlraJTyL-DAfjxxNh.js +9335 -0
- package/dist/browser/greek-BlraJTyL-DAfjxxNh.js.map +1 -0
- package/dist/browser/greek-ss-D-EN2PK0-CcyaecGS.js +6767 -0
- package/dist/browser/greek-ss-D-EN2PK0-CcyaecGS.js.map +1 -0
- package/dist/browser/hebrew-GiQZeybp-DqJrAkkB.js +3218 -0
- package/dist/browser/hebrew-GiQZeybp-DqJrAkkB.js.map +1 -0
- package/dist/browser/latin-b-BhEnC7R2-CQAVv0CI.js +3134 -0
- package/dist/browser/latin-b-BhEnC7R2-CQAVv0CI.js.map +1 -0
- package/dist/browser/latin-bi-DqiIKv3U-DM22wSUP.js +3637 -0
- package/dist/browser/latin-bi-DqiIKv3U-DM22wSUP.js.map +1 -0
- package/dist/browser/latin-i-B1xtwaE1-uBpJAGjo.js +3634 -0
- package/dist/browser/latin-i-B1xtwaE1-uBpJAGjo.js.map +1 -0
- package/dist/browser/latin-xfWFlLkD-CKElfDKc.js +3266 -0
- package/dist/browser/latin-xfWFlLkD-CKElfDKc.js.map +1 -0
- package/dist/browser/marrows-DD1NgMQi-BIBP-NrK.js +761 -0
- package/dist/browser/marrows-DD1NgMQi-BIBP-NrK.js.map +1 -0
- package/dist/browser/math-DpWn1mbG-B7Krt7Jk.js +2034 -0
- package/dist/browser/math-DpWn1mbG-B7Krt7Jk.js.map +1 -0
- package/dist/browser/mathjax-CptWnMbQ-ncPHVakS.js +36692 -0
- package/dist/browser/mathjax-CptWnMbQ-ncPHVakS.js.map +1 -0
- package/dist/browser/monospace-D116QD2a-C40p3Rv8.js +1112 -0
- package/dist/browser/monospace-D116QD2a-C40p3Rv8.js.map +1 -0
- package/dist/browser/monospace-ex-DcXpouKS-DkaktwPJ.js +6014 -0
- package/dist/browser/monospace-ex-DcXpouKS-DkaktwPJ.js.map +1 -0
- package/dist/browser/monospace-l-Ct5wkMDs-CuE7t5pv.js +3114 -0
- package/dist/browser/monospace-l-Ct5wkMDs-CuE7t5pv.js.map +1 -0
- package/dist/browser/mshapes-DCp86WSX-DX0WfJid.js +524 -0
- package/dist/browser/mshapes-DCp86WSX-DX0WfJid.js.map +1 -0
- package/dist/browser/phonetics-BwOCw2Y9-lJWnARqt.js +2496 -0
- package/dist/browser/phonetics-BwOCw2Y9-lJWnARqt.js.map +1 -0
- package/dist/browser/phonetics-ss-CRtMn02f-Cr32SJLL.js +2984 -0
- package/dist/browser/phonetics-ss-CRtMn02f-Cr32SJLL.js.map +1 -0
- package/dist/browser/sans-serif-BYPZKlE9-DftjSdim.js +5246 -0
- package/dist/browser/sans-serif-BYPZKlE9-DftjSdim.js.map +1 -0
- package/dist/browser/sans-serif-b-B0kRKiC--BsRQiyQP.js +3176 -0
- package/dist/browser/sans-serif-b-B0kRKiC--BsRQiyQP.js.map +1 -0
- package/dist/browser/sans-serif-bi-DXWul6mu-D4NuD72A.js +3688 -0
- package/dist/browser/sans-serif-bi-DXWul6mu-D4NuD72A.js.map +1 -0
- package/dist/browser/sans-serif-ex-Boux1kMP-BrL4RNcD.js +10033 -0
- package/dist/browser/sans-serif-ex-Boux1kMP-BrL4RNcD.js.map +1 -0
- package/dist/browser/sans-serif-i-676RFaSO-BCRikTTw.js +3635 -0
- package/dist/browser/sans-serif-i-676RFaSO-BCRikTTw.js.map +1 -0
- package/dist/browser/sans-serif-r-DrN9xdZt-CN8omxfu.js +3159 -0
- package/dist/browser/sans-serif-r-DrN9xdZt-CN8omxfu.js.map +1 -0
- package/dist/browser/script-0ohehnXc-4G2PiBkk.js +649 -0
- package/dist/browser/script-0ohehnXc-4G2PiBkk.js.map +1 -0
- package/dist/browser/shapes-BG47NodJ-D3eH0HjT.js +1932 -0
- package/dist/browser/shapes-BG47NodJ-D3eH0HjT.js.map +1 -0
- package/dist/browser/speech-worker-CTpOB9m5-BIgcSm3A.js +160 -0
- package/dist/browser/speech-worker-CTpOB9m5-BIgcSm3A.js.map +1 -0
- package/dist/browser/symbols-BqnUxf_t-DJHA_nO7.js +1833 -0
- package/dist/browser/symbols-BqnUxf_t-DJHA_nO7.js.map +1 -0
- package/dist/browser/symbols-b-i-eg9k5hmF-Bn-dxZT_.js +1153 -0
- package/dist/browser/symbols-b-i-eg9k5hmF-Bn-dxZT_.js.map +1 -0
- package/dist/browser/variants-2LRNhOUP-BlL4NIVJ.js +231 -0
- package/dist/browser/variants-2LRNhOUP-BlL4NIVJ.js.map +1 -0
- package/dist/controller/defaults.d.ts +19 -0
- package/dist/controller/defaults.js +21 -0
- package/dist/controller/index.d.ts +95 -0
- package/dist/controller/index.js +126 -0
- package/dist/controller/utils.d.ts +2 -0
- package/dist/controller/utils.js +13 -0
- package/dist/delivery/__tests__/inline-dropdown-language.test.d.ts +1 -0
- package/dist/delivery/index.d.ts +14 -0
- package/dist/delivery/index.js +64 -0
- package/dist/delivery/inline-dropdown.d.ts +30 -0
- package/dist/delivery/inline-dropdown.js +111 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.iife.d.ts +6 -0
- package/dist/index.iife.js +185 -0
- package/dist/index.js +2 -0
- package/dist/runtime-support.d.ts +12 -0
- package/dist/runtime-support.js +12 -0
- package/dist/schemas/configuration.schema.json +414 -0
- package/dist/schemas/model.schema.json +453 -0
- package/dist/schemas/session.schema.json +43 -0
- package/dist/types.d.ts +164 -0
- package/package.json +96 -32
- package/CHANGELOG.json +0 -1082
- package/CHANGELOG.md +0 -3440
- package/LICENSE.md +0 -5
- package/README.md +0 -1
- package/configure/CHANGELOG.json +0 -647
- package/configure/CHANGELOG.md +0 -3066
- package/configure/lib/defaults.js +0 -190
- package/configure/lib/defaults.js.map +0 -1
- package/configure/lib/index.js +0 -209
- package/configure/lib/index.js.map +0 -1
- package/configure/lib/inline-dropdown-toolbar.js +0 -573
- package/configure/lib/inline-dropdown-toolbar.js.map +0 -1
- package/configure/lib/main.js +0 -753
- package/configure/lib/main.js.map +0 -1
- package/configure/lib/markupUtils.js +0 -70
- package/configure/lib/markupUtils.js.map +0 -1
- package/configure/lib/response-area.js +0 -99
- package/configure/lib/response-area.js.map +0 -1
- package/configure/lib/utils.js +0 -33
- package/configure/lib/utils.js.map +0 -1
- package/configure/package.json +0 -22
- package/controller/CHANGELOG.json +0 -467
- package/controller/CHANGELOG.md +0 -2114
- package/controller/lib/defaults.js +0 -26
- package/controller/lib/defaults.js.map +0 -1
- package/controller/lib/index.js +0 -360
- package/controller/lib/index.js.map +0 -1
- package/controller/lib/utils.js +0 -40
- package/controller/lib/utils.js.map +0 -1
- package/controller/package.json +0 -16
- package/docs/config-schema.json +0 -2854
- package/docs/config-schema.json.md +0 -2106
- package/docs/demo/config.js +0 -8
- package/docs/demo/generate.js +0 -76
- package/docs/demo/index.html +0 -1
- package/docs/demo/session.js +0 -11
- package/docs/pie-schema.json +0 -1152
- package/docs/pie-schema.json.md +0 -814
- package/esm/configure.js +0 -1973
- package/esm/configure.js.map +0 -1
- package/esm/controller.js +0 -304
- package/esm/controller.js.map +0 -1
- package/esm/element.js +0 -278
- package/esm/element.js.map +0 -1
- package/lib/index.js +0 -130
- package/lib/index.js.map +0 -1
- package/lib/inline-dropdown.js +0 -248
- package/lib/inline-dropdown.js.map +0 -1
package/esm/controller.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sources":["../controller/src/defaults.js","../controller/src/utils.js","../controller/src/index.js"],"sourcesContent":["export default {\n alternateResponse: {},\n choiceRationaleEnabled: true,\n choices: {},\n disabled: false,\n displayType: 'block',\n markup: '',\n mode: 'gather',\n prompt: '',\n promptEnabled: true,\n rationale: '',\n rationaleEnabled: true,\n shuffle: true,\n studentInstructionsEnabled: true,\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n};\n","import forEach from 'lodash/forEach';\n\nexport const getAllCorrectResponses = ({ choices, alternateResponse }) => {\n alternateResponse = alternateResponse || {};\n const correctAnswers = {};\n\n forEach(choices, (respArea, key) => {\n if (!correctAnswers[key]) {\n correctAnswers[key] = [];\n }\n\n if (respArea) {\n respArea.forEach((choice) => {\n if (choice.correct) {\n correctAnswers[key].push(choice.value);\n\n if (alternateResponse[key]) {\n correctAnswers[key] = [...correctAnswers[key], ...alternateResponse[key]];\n }\n }\n });\n }\n });\n\n return correctAnswers;\n};\n","import map from 'lodash/map';\nimport reduce from 'lodash/reduce';\nimport isEmpty from 'lodash/isEmpty';\nimport { lockChoices, getShuffledChoices, partialScoring } from '@pie-lib/controller-utils';\nimport defaults from './defaults';\n\nimport { getAllCorrectResponses } from './utils';\n\nconst getFeedback = (correct) => {\n if (correct) {\n return 'correct';\n }\n\n return 'incorrect';\n};\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n * @param {*} updateSession - optional - a function that will set the properties passed into it on the session.\n */\nexport function model(question, session, env, updateSession) {\n return new Promise(async (resolve) => {\n const normalizedQuestion = normalize(question);\n const { value = {} } = session || {};\n let choices = reduce(\n normalizedQuestion.choices,\n (obj, area, key) => {\n obj[key] = map(area, (choice) => choice);\n\n return obj;\n },\n {},\n );\n\n let feedback = {};\n\n if (env.mode === 'evaluate') {\n const allCorrectResponses = getAllCorrectResponses(normalizedQuestion);\n const respAreaLength = Object.keys(allCorrectResponses).length;\n let correctResponses = 0;\n\n for (let i = 0; i < respAreaLength; i++) {\n const result = reduce(\n allCorrectResponses,\n (obj, choices, key) => {\n const answer = (value && value[key]) || '';\n const correctChoice = choices[i] || '';\n const isCorrect = answer && correctChoice && correctChoice === answer;\n\n obj.feedback[key] = getFeedback(isCorrect);\n\n if (isCorrect) {\n obj.correctResponses += 1;\n }\n\n return obj;\n },\n { correctResponses: 0, feedback: {} },\n );\n\n if (result.correctResponses >= correctResponses) {\n correctResponses = result.correctResponses;\n feedback = result.feedback;\n }\n\n if (result.correctResponses === respAreaLength) {\n break;\n }\n }\n }\n\n const lockChoiceOrder = lockChoices(normalizedQuestion, session, env);\n\n if (!lockChoiceOrder) {\n const keys = Object.keys(choices);\n let i;\n\n for (i = 0; i < keys.length; i++) {\n const key = keys[i];\n\n choices[key] = await getShuffledChoices(choices[key], session, updateSession, 'value');\n }\n }\n\n let teacherInstructions = null;\n let rationale = null;\n\n const choicesWillNullRationales = (Object.keys(choices) || []).reduce((acc, currentValue) => {\n acc[currentValue] = (choices[currentValue] || []).map((choice) => ({\n ...choice,\n rationale: null,\n }));\n\n return acc;\n }, {});\n\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n rationale = normalizedQuestion.rationaleEnabled ? normalizedQuestion.rationale : null;\n teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : null;\n\n choices = normalizedQuestion.choiceRationaleEnabled ? normalizedQuestion.choices : choicesWillNullRationales;\n } else {\n rationale = null;\n teacherInstructions = null;\n choices = choicesWillNullRationales;\n }\n\n const out = {\n disabled: env.mode !== 'gather',\n mode: env.mode,\n prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : null,\n displayType: normalizedQuestion.displayType,\n markup: normalizedQuestion.markup,\n choices,\n feedback,\n\n responseCorrect: env.mode === 'evaluate' ? getScore(normalizedQuestion, session) === 1 : undefined,\n rationale,\n teacherInstructions,\n language: normalizedQuestion.language,\n extraCSSRules: normalizedQuestion.extraCSSRules,\n };\n\n resolve(out);\n });\n}\n\nexport const getScore = (config, session) => {\n const { value = {} } = session || {};\n const maxScore = config && config.choices ? Object.keys(config.choices).length : 0;\n const allCorrectResponses = getAllCorrectResponses(config);\n let correctCount = 0;\n\n for (let i = 0; i < maxScore; i++) {\n const result = reduce(\n allCorrectResponses,\n (total, choices, key) => {\n const answer = (value && value[key]) || '';\n const correctChoice = choices[i] || '';\n\n if (correctChoice && answer && correctChoice === answer) {\n return total;\n }\n\n return total - 1;\n },\n maxScore,\n );\n\n if (result > correctCount) {\n correctCount = result;\n }\n\n if (result === maxScore) {\n break;\n }\n }\n\n const str = (correctCount / maxScore).toFixed(2);\n\n return parseFloat(str);\n};\n\n/**\n *\n * The score is partial by default for checkbox mode, allOrNothing for radio mode.\n * To disable partial scoring for checkbox mode you either set model.partialScoring = false or env.partialScoring =\n * false. the value in `env` will override the value in `model`.\n * @param {Object} model - the main model\n * @param {boolean} model.partialScoring - is partial scoring enabled (if undefined set to to true)\n * @param {*} session\n * @param {Object} env\n * @param {boolean} env.partialScoring - is partial scoring enabled (if undefined default to true) This overrides\n * `model.partialScoring`.\n */\nexport function outcome(model, session, env = {}) {\n return new Promise((resolve) => {\n if (!session || isEmpty(session)) {\n resolve({ score: 0, empty: true });\n }\n\n const partialScoringEnabled = partialScoring.enabled(model, env);\n const score = getScore(model, session);\n\n resolve({\n score: partialScoringEnabled ? score : Math.floor(score),\n empty: false,\n });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { choices } = question;\n const value = {};\n\n if (choices) {\n Object.keys(choices).forEach((key, i) => {\n const correctChoices = choices[key] && choices[key].filter((c) => c.correct);\n\n value[i] = correctChoices && correctChoices[0].value;\n });\n }\n\n resolve({\n id: '1',\n value,\n });\n } else {\n resolve(null);\n }\n });\n};\n\n// remove all html tags\nconst getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\n\n// remove all html tags except img, iframe and source tag for audio\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');\n\nexport const validate = (model = {}, config = {}) => {\n const { markup, choices } = model;\n const { maxResponseAreas, maxResponseAreaChoices } = config;\n const errors = {};\n\n ['teacherInstructions', 'prompt', 'rationale'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n const nbOfResponseAreas = ((markup || '').match(/\\{\\{(\\d+)\\}\\}/g) || []).length;\n\n if (nbOfResponseAreas > maxResponseAreas) {\n errors.responseAreasError = `No more than ${maxResponseAreas} response areas should be defined.`;\n } else if (nbOfResponseAreas < 1) {\n errors.responseAreasError = 'There should be defined at least 1 response area.';\n }\n\n (Object.keys(choices) || []).forEach((choiceKey) => {\n if (choices[choiceKey] && choices[choiceKey].length > maxResponseAreaChoices) {\n errors.responseAreaChoicesError = `No more than ${maxResponseAreaChoices} choices per response area should be defined.`;\n }\n });\n\n return errors;\n};\n"],"names":["alternateResponse","choiceRationaleEnabled","choices","disabled","displayType","markup","mode","prompt","promptEnabled","rationale","rationaleEnabled","shuffle","studentInstructionsEnabled","teacherInstructions","teacherInstructionsEnabled","toolbarEditorPosition","getAllCorrectResponses","correctAnswers","forEach","respArea","key","choice","correct","push","value","getFeedback","normalize","question","defaults","model","session","env","updateSession","Promise","resolve","normalizedQuestion","reduce","obj","area","map","feedback","allCorrectResponses","respAreaLength","Object","keys","length","correctResponses","i","result","answer","correctChoice","isCorrect","lockChoiceOrder","lockChoices","getShuffledChoices","choicesWillNullRationales","acc","currentValue","role","out","responseCorrect","getScore","undefined","language","extraCSSRules","config","maxScore","correctCount","total","str","toFixed","parseFloat","outcome","isEmpty","score","empty","partialScoringEnabled","partialScoring","enabled","Math","floor","createCorrectResponseSession","correctChoices","filter","c","id","getContent","html","replace","validate","maxResponseAreas","maxResponseAreaChoices","errors","field","required","nbOfResponseAreas","match","responseAreasError","choiceKey","responseAreaChoicesError"],"mappings":"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"}
|
package/esm/element.js
DELETED
|
@@ -1,278 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import ReactDOM from 'react-dom';
|
|
3
|
-
import { SessionChangedEvent, ModelSetEvent } from '@pie-framework/pie-player-events';
|
|
4
|
-
import { renderMath } from '@pie-lib/math-rendering';
|
|
5
|
-
import PropTypes from 'prop-types';
|
|
6
|
-
import isEmpty from 'lodash/isEmpty';
|
|
7
|
-
import CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';
|
|
8
|
-
import { InlineDropdown as InlineDropdown$2 } from '@pie-lib/mask-markup';
|
|
9
|
-
import { hasText, hasMedia, UiLayout, Collapsible, PreviewPrompt, color } from '@pie-lib/render-ui';
|
|
10
|
-
import { withStyles } from '@material-ui/core/styles';
|
|
11
|
-
import classNames from 'classnames';
|
|
12
|
-
|
|
13
|
-
function _extends() {
|
|
14
|
-
_extends = Object.assign || function (target) {
|
|
15
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
16
|
-
var source = arguments[i];
|
|
17
|
-
|
|
18
|
-
for (var key in source) {
|
|
19
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
20
|
-
target[key] = source[key];
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return target;
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
return _extends.apply(this, arguments);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
class InlineDropdown extends React.Component {
|
|
32
|
-
constructor(...args) {
|
|
33
|
-
super(...args);
|
|
34
|
-
this.state = {
|
|
35
|
-
showCorrectAnswer: false
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
this.toggleShowCorrect = () => {
|
|
39
|
-
this.setState({
|
|
40
|
-
showCorrectAnswer: !this.state.showCorrectAnswer
|
|
41
|
-
});
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
UNSAFE_componentWillReceiveProps(nextProps) {
|
|
46
|
-
if (isEmpty(nextProps.feedback)) {
|
|
47
|
-
this.setState({
|
|
48
|
-
showCorrectAnswer: false
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
componentDidUpdate() {
|
|
54
|
-
// eslint-disable-next-line
|
|
55
|
-
const domNode = ReactDOM.findDOMNode(this);
|
|
56
|
-
renderMath(domNode);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
render() {
|
|
60
|
-
const {
|
|
61
|
-
showCorrectAnswer
|
|
62
|
-
} = this.state;
|
|
63
|
-
const {
|
|
64
|
-
classes,
|
|
65
|
-
prompt,
|
|
66
|
-
mode,
|
|
67
|
-
model,
|
|
68
|
-
rationale,
|
|
69
|
-
teacherInstructions,
|
|
70
|
-
choices,
|
|
71
|
-
displayType,
|
|
72
|
-
language
|
|
73
|
-
} = this.props;
|
|
74
|
-
const {
|
|
75
|
-
extraCSSRules
|
|
76
|
-
} = model || {};
|
|
77
|
-
const showCorrectAnswerToggle = mode === 'evaluate';
|
|
78
|
-
let choiceRationalesHaveText = false;
|
|
79
|
-
const showRationale = rationale && (hasText(rationale) || hasMedia(rationale));
|
|
80
|
-
const showTeacherInstructions = teacherInstructions && (hasText(teacherInstructions) || hasMedia(teacherInstructions));
|
|
81
|
-
const choiceRationales = (Object.keys(choices) || []).map(key => (choices[key] || []).reduce((acc, currentValue) => {
|
|
82
|
-
if (currentValue.rationale && hasText(currentValue.rationale)) {
|
|
83
|
-
choiceRationalesHaveText = true;
|
|
84
|
-
acc.push(currentValue);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
return acc;
|
|
88
|
-
}, []));
|
|
89
|
-
return /*#__PURE__*/React.createElement(UiLayout, {
|
|
90
|
-
extraCSSRules: extraCSSRules,
|
|
91
|
-
className: classes.mainContainer,
|
|
92
|
-
style: {
|
|
93
|
-
display: `${displayType}`
|
|
94
|
-
}
|
|
95
|
-
}, mode === 'gather' && /*#__PURE__*/React.createElement("h2", {
|
|
96
|
-
className: classes.srOnly
|
|
97
|
-
}, "Inline Dropdown Question"), showTeacherInstructions && /*#__PURE__*/React.createElement(Collapsible, {
|
|
98
|
-
className: classes.collapsible,
|
|
99
|
-
labels: {
|
|
100
|
-
hidden: 'Show Teacher Instructions',
|
|
101
|
-
visible: 'Hide Teacher Instructions'
|
|
102
|
-
}
|
|
103
|
-
}, /*#__PURE__*/React.createElement(PreviewPrompt, {
|
|
104
|
-
prompt: teacherInstructions
|
|
105
|
-
})), prompt && /*#__PURE__*/React.createElement(PreviewPrompt, {
|
|
106
|
-
prompt: prompt
|
|
107
|
-
}), /*#__PURE__*/React.createElement(CorrectAnswerToggle, {
|
|
108
|
-
show: showCorrectAnswerToggle,
|
|
109
|
-
toggled: showCorrectAnswer,
|
|
110
|
-
onToggle: this.toggleShowCorrect,
|
|
111
|
-
language: language
|
|
112
|
-
}), /*#__PURE__*/React.createElement(InlineDropdown$2, _extends({}, this.props, {
|
|
113
|
-
showCorrectAnswer: showCorrectAnswer
|
|
114
|
-
})), choiceRationalesHaveText && /*#__PURE__*/React.createElement(Collapsible, {
|
|
115
|
-
className: classes.collapsible,
|
|
116
|
-
labels: {
|
|
117
|
-
hidden: 'Show Rationale for choices',
|
|
118
|
-
visible: 'Hide Rationale for choices'
|
|
119
|
-
}
|
|
120
|
-
}, choiceRationales.map((choices, index) => /*#__PURE__*/React.createElement("div", {
|
|
121
|
-
key: index,
|
|
122
|
-
className: classes.choiceRationaleWrapper
|
|
123
|
-
}, (choices == null ? void 0 : choices.length) > 0 && choices.map(choice => /*#__PURE__*/React.createElement("div", {
|
|
124
|
-
className: classes.choiceRationale,
|
|
125
|
-
key: choice.label
|
|
126
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
127
|
-
className: classNames(classes.choiceRationaleLabel, choice.correct ? 'correct' : 'incorrect'),
|
|
128
|
-
dangerouslySetInnerHTML: {
|
|
129
|
-
__html: `${choice.label}: `
|
|
130
|
-
}
|
|
131
|
-
}), /*#__PURE__*/React.createElement(PreviewPrompt, {
|
|
132
|
-
prompt: choice.rationale
|
|
133
|
-
})))))), showRationale && /*#__PURE__*/React.createElement(Collapsible, {
|
|
134
|
-
labels: {
|
|
135
|
-
hidden: 'Show Rationale',
|
|
136
|
-
visible: 'Hide Rationale'
|
|
137
|
-
}
|
|
138
|
-
}, /*#__PURE__*/React.createElement(PreviewPrompt, {
|
|
139
|
-
prompt: rationale
|
|
140
|
-
})));
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
}
|
|
144
|
-
InlineDropdown.propTypes = {
|
|
145
|
-
classes: PropTypes.object,
|
|
146
|
-
prompt: PropTypes.string,
|
|
147
|
-
disabled: PropTypes.bool,
|
|
148
|
-
markup: PropTypes.string,
|
|
149
|
-
mode: PropTypes.string,
|
|
150
|
-
displayType: PropTypes.string,
|
|
151
|
-
rationale: PropTypes.string,
|
|
152
|
-
teacherInstructions: PropTypes.string,
|
|
153
|
-
model: PropTypes.object.isRequired,
|
|
154
|
-
choices: PropTypes.object,
|
|
155
|
-
value: PropTypes.object,
|
|
156
|
-
feedback: PropTypes.object,
|
|
157
|
-
onChange: PropTypes.func,
|
|
158
|
-
language: PropTypes.string
|
|
159
|
-
};
|
|
160
|
-
InlineDropdown.defaultProps = {
|
|
161
|
-
value: {}
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
const styles = theme => ({
|
|
165
|
-
mainContainer: {
|
|
166
|
-
color: color.text(),
|
|
167
|
-
backgroundColor: color.background()
|
|
168
|
-
},
|
|
169
|
-
collapsible: {
|
|
170
|
-
marginBottom: theme.spacing.unit * 2
|
|
171
|
-
},
|
|
172
|
-
choiceRationaleWrapper: {
|
|
173
|
-
'&:not(:last-child)': {
|
|
174
|
-
marginBottom: theme.spacing.unit * 2
|
|
175
|
-
}
|
|
176
|
-
},
|
|
177
|
-
choiceRationale: {
|
|
178
|
-
display: 'flex',
|
|
179
|
-
whiteSpace: 'break-spaces'
|
|
180
|
-
},
|
|
181
|
-
choiceRationaleLabel: {
|
|
182
|
-
display: 'flex',
|
|
183
|
-
'&.correct': {
|
|
184
|
-
color: color.correct()
|
|
185
|
-
},
|
|
186
|
-
'&.incorrect': {
|
|
187
|
-
color: color.incorrectWithIcon()
|
|
188
|
-
}
|
|
189
|
-
},
|
|
190
|
-
srOnly: {
|
|
191
|
-
position: 'absolute',
|
|
192
|
-
left: '-10000px',
|
|
193
|
-
top: 'auto',
|
|
194
|
-
width: '1px',
|
|
195
|
-
height: '1px',
|
|
196
|
-
overflow: 'hidden'
|
|
197
|
-
}
|
|
198
|
-
});
|
|
199
|
-
|
|
200
|
-
var InlineDropdown$1 = withStyles(styles)(InlineDropdown);
|
|
201
|
-
|
|
202
|
-
class RootInlineDropdown extends HTMLElement {
|
|
203
|
-
constructor() {
|
|
204
|
-
super();
|
|
205
|
-
|
|
206
|
-
this._render = () => {
|
|
207
|
-
if (this._model && this._session) {
|
|
208
|
-
let elem = /*#__PURE__*/React.createElement(InlineDropdown$1, {
|
|
209
|
-
model: this._model,
|
|
210
|
-
prompt: this._model.prompt,
|
|
211
|
-
rationale: this._model.rationale,
|
|
212
|
-
teacherInstructions: this._model.teacherInstructions,
|
|
213
|
-
disabled: this._model.disabled,
|
|
214
|
-
displayType: this._model.displayType,
|
|
215
|
-
markup: this._model.markup,
|
|
216
|
-
mode: this._model.mode,
|
|
217
|
-
choices: this._model.choices,
|
|
218
|
-
value: this._session.value,
|
|
219
|
-
feedback: this._model.feedback,
|
|
220
|
-
language: this._model.language,
|
|
221
|
-
onChange: this.changeSession
|
|
222
|
-
});
|
|
223
|
-
this.setLangAttribute();
|
|
224
|
-
ReactDOM.render(elem, this, () => {
|
|
225
|
-
renderMath(this);
|
|
226
|
-
});
|
|
227
|
-
}
|
|
228
|
-
};
|
|
229
|
-
|
|
230
|
-
this.dispatchChangedEvent = () => {
|
|
231
|
-
this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.session && !!this.session.value));
|
|
232
|
-
};
|
|
233
|
-
|
|
234
|
-
this.changeSession = value => {
|
|
235
|
-
this.session.value = value;
|
|
236
|
-
this.dispatchChangedEvent();
|
|
237
|
-
|
|
238
|
-
this._render();
|
|
239
|
-
};
|
|
240
|
-
|
|
241
|
-
this._model = null;
|
|
242
|
-
this._session = null;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
set model(m) {
|
|
246
|
-
this._model = m;
|
|
247
|
-
this.dispatchEvent(new ModelSetEvent(this.tagName.toLowerCase(), this.session && !!this.session.value, !!this._model));
|
|
248
|
-
|
|
249
|
-
this._render();
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
set session(s) {
|
|
253
|
-
this._session = s;
|
|
254
|
-
|
|
255
|
-
this._render();
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
get session() {
|
|
259
|
-
return this._session;
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
setLangAttribute() {
|
|
263
|
-
const language = this._model && typeof this._model.language ? this._model.language : '';
|
|
264
|
-
const lang = language ? language.slice(0, 2) : 'en';
|
|
265
|
-
this.setAttribute('lang', lang);
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
connectedCallback() {
|
|
269
|
-
this.setAttribute('aria-label', 'Inline Dropdown Question');
|
|
270
|
-
this.setAttribute('role', 'region');
|
|
271
|
-
|
|
272
|
-
this._render();
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
export { RootInlineDropdown as default };
|
|
278
|
-
//# sourceMappingURL=element.js.map
|
package/esm/element.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"element.js","sources":["../src/inline-dropdown.jsx","../src/index.js"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { InlineDropdown as DropDown } from '@pie-lib/mask-markup';\nimport { color, Collapsible, hasText, hasMedia, PreviewPrompt, UiLayout } from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nexport class InlineDropdown extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n prompt: PropTypes.string,\n disabled: PropTypes.bool,\n markup: PropTypes.string,\n mode: PropTypes.string,\n displayType: PropTypes.string,\n rationale: PropTypes.string,\n teacherInstructions: PropTypes.string,\n model: PropTypes.object.isRequired,\n choices: PropTypes.object,\n value: PropTypes.object,\n feedback: PropTypes.object,\n onChange: PropTypes.func,\n language: PropTypes.string,\n };\n\n static defaultProps = {\n value: {},\n };\n\n state = {\n showCorrectAnswer: false,\n };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (isEmpty(nextProps.feedback)) {\n this.setState({ showCorrectAnswer: false });\n }\n }\n\n componentDidUpdate() {\n // eslint-disable-next-line\n const domNode = ReactDOM.findDOMNode(this);\n\n renderMath(domNode);\n }\n\n toggleShowCorrect = () => {\n this.setState({ showCorrectAnswer: !this.state.showCorrectAnswer });\n };\n\n render() {\n const { showCorrectAnswer } = this.state;\n const { classes, prompt, mode, model, rationale, teacherInstructions, choices, displayType, language } = this.props;\n const { extraCSSRules } = model || {};\n const showCorrectAnswerToggle = mode === 'evaluate';\n let choiceRationalesHaveText = false;\n const showRationale = rationale && (hasText(rationale) || hasMedia(rationale));\n const showTeacherInstructions =\n teacherInstructions && (hasText(teacherInstructions) || hasMedia(teacherInstructions));\n\n const choiceRationales = (Object.keys(choices) || []).map((key) =>\n (choices[key] || []).reduce((acc, currentValue) => {\n if (currentValue.rationale && hasText(currentValue.rationale)) {\n choiceRationalesHaveText = true;\n\n acc.push(currentValue);\n }\n\n return acc;\n }, []),\n );\n\n return (\n <UiLayout extraCSSRules={extraCSSRules} className={classes.mainContainer} style={{ display: `${displayType}` }}>\n {mode === 'gather' && <h2 className={classes.srOnly}>Inline Dropdown Question</h2>}\n\n {showTeacherInstructions && (\n <Collapsible\n className={classes.collapsible}\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </Collapsible>\n )}\n\n {prompt && <PreviewPrompt prompt={prompt} />}\n\n <CorrectAnswerToggle\n show={showCorrectAnswerToggle}\n toggled={showCorrectAnswer}\n onToggle={this.toggleShowCorrect}\n language={language}\n />\n\n <DropDown {...this.props} showCorrectAnswer={showCorrectAnswer} />\n\n {choiceRationalesHaveText && (\n <Collapsible\n className={classes.collapsible}\n labels={{ hidden: 'Show Rationale for choices', visible: 'Hide Rationale for choices' }}\n >\n {choiceRationales.map((choices, index) => (\n <div key={index} className={classes.choiceRationaleWrapper}>\n {choices?.length > 0 &&\n choices.map((choice) => (\n <div className={classes.choiceRationale} key={choice.label}>\n <div\n className={classNames(classes.choiceRationaleLabel, choice.correct ? 'correct' : 'incorrect')}\n dangerouslySetInnerHTML={{ __html: `${choice.label}: ` }}\n />\n <PreviewPrompt prompt={choice.rationale} />\n </div>\n ))}\n </div>\n ))}\n </Collapsible>\n )}\n\n {showRationale && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\n )}\n </UiLayout>\n );\n }\n}\n\nconst styles = (theme) => ({\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n },\n collapsible: {\n marginBottom: theme.spacing.unit * 2,\n },\n choiceRationaleWrapper: {\n '&:not(:last-child)': {\n marginBottom: theme.spacing.unit * 2,\n },\n },\n choiceRationale: {\n display: 'flex',\n whiteSpace: 'break-spaces',\n },\n choiceRationaleLabel: {\n display: 'flex',\n '&.correct': {\n color: color.correct(),\n },\n '&.incorrect': {\n color: color.incorrectWithIcon(),\n },\n },\n srOnly: {\n position: 'absolute',\n left: '-10000px',\n top: 'auto',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n },\n});\n\nexport default withStyles(styles)(InlineDropdown);\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { ModelSetEvent, SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport InlineDropdown from './inline-dropdown';\n\nexport default class RootInlineDropdown extends HTMLElement {\n constructor() {\n super();\n this._model = null;\n this._session = null;\n }\n set model(m) {\n this._model = m;\n this.dispatchEvent(\n new ModelSetEvent(this.tagName.toLowerCase(), this.session && !!this.session.value, !!this._model),\n );\n\n this._render();\n }\n\n set session(s) {\n this._session = s;\n this._render();\n }\n\n get session() {\n return this._session;\n }\n\n setLangAttribute() {\n const language = this._model && typeof this._model.language ? this._model.language : '';\n const lang = language ? language.slice(0, 2) : 'en';\n this.setAttribute('lang', lang);\n }\n\n _render = () => {\n if (this._model && this._session) {\n let elem = React.createElement(InlineDropdown, {\n model: this._model,\n prompt: this._model.prompt,\n rationale: this._model.rationale,\n teacherInstructions: this._model.teacherInstructions,\n disabled: this._model.disabled,\n displayType: this._model.displayType,\n markup: this._model.markup,\n mode: this._model.mode,\n choices: this._model.choices,\n value: this._session.value,\n feedback: this._model.feedback,\n language: this._model.language,\n onChange: this.changeSession,\n });\n\n this.setLangAttribute();\n\n ReactDOM.render(elem, this, () => {\n renderMath(this);\n });\n }\n };\n\n dispatchChangedEvent = () => {\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.session && !!this.session.value));\n };\n\n changeSession = (value) => {\n this.session.value = value;\n this.dispatchChangedEvent();\n this._render();\n };\n\n connectedCallback() {\n this.setAttribute('aria-label', 'Inline Dropdown Question');\n this.setAttribute('role', 'region');\n\n this._render();\n }\n}\n"],"names":["InlineDropdown","React","Component","state","showCorrectAnswer","toggleShowCorrect","setState","UNSAFE_componentWillReceiveProps","nextProps","isEmpty","feedback","componentDidUpdate","domNode","ReactDOM","findDOMNode","renderMath","render","classes","prompt","mode","model","rationale","teacherInstructions","choices","displayType","language","props","extraCSSRules","showCorrectAnswerToggle","choiceRationalesHaveText","showRationale","hasText","hasMedia","showTeacherInstructions","choiceRationales","Object","keys","map","key","reduce","acc","currentValue","push","mainContainer","display","srOnly","collapsible","hidden","visible","DropDown","index","choiceRationaleWrapper","length","choice","choiceRationale","label","classNames","choiceRationaleLabel","correct","__html","propTypes","PropTypes","object","string","disabled","bool","markup","isRequired","value","onChange","func","defaultProps","styles","theme","color","text","backgroundColor","background","marginBottom","spacing","unit","whiteSpace","incorrectWithIcon","position","left","top","width","height","overflow","withStyles","RootInlineDropdown","HTMLElement","constructor","_render","_model","_session","elem","createElement","changeSession","setLangAttribute","dispatchChangedEvent","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","session","m","ModelSetEvent","s","lang","slice","setAttribute","connectedCallback"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWO,MAAMA,cAAN,SAA6BC,KAAK,CAACC,SAAnC,CAA6C;AAAA,EAAA,WAAA,CAAA,GAAA,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,IAAA,IAAA,CAsBlDC,KAtBkD,GAsB1C;AACNC,MAAAA,iBAAiB,EAAE,KAAA;AADb,KAtB0C,CAAA;;AAAA,IAuClDC,IAAAA,CAAAA,iBAvCkD,GAuC9B,MAAM;AACxB,MAAA,IAAA,CAAKC,QAAL,CAAc;AAAEF,QAAAA,iBAAiB,EAAE,CAAC,IAAA,CAAKD,KAAL,CAAWC,iBAAAA;AAAjC,OAAd,CAAA,CAAA;AACD,KAzCiD,CAAA;AAAA,GAAA;;AA0BlDG,EAAAA,gCAAgC,CAACC,SAAD,EAAY;AAC1C,IAAA,IAAIC,OAAO,CAACD,SAAS,CAACE,QAAX,CAAX,EAAiC;AAC/B,MAAA,IAAA,CAAKJ,QAAL,CAAc;AAAEF,QAAAA,iBAAiB,EAAE,KAAA;AAArB,OAAd,CAAA,CAAA;AACD,KAAA;AACF,GAAA;;AAEDO,EAAAA,kBAAkB,GAAG;AACnB;AACA,IAAA,MAAMC,OAAO,GAAGC,QAAQ,CAACC,WAAT,CAAqB,IAArB,CAAhB,CAAA;AAEAC,IAAAA,UAAU,CAACH,OAAD,CAAV,CAAA;AACD,GAAA;;AAMDI,EAAAA,MAAM,GAAG;AACP,IAAM,MAAA;AAAEZ,MAAAA,iBAAAA;AAAF,KAAA,GAAwB,KAAKD,KAAnC,CAAA;AACA,IAAM,MAAA;AAAEc,MAAAA,OAAF;AAAWC,MAAAA,MAAX;AAAmBC,MAAAA,IAAnB;AAAyBC,MAAAA,KAAzB;AAAgCC,MAAAA,SAAhC;AAA2CC,MAAAA,mBAA3C;AAAgEC,MAAAA,OAAhE;AAAyEC,MAAAA,WAAzE;AAAsFC,MAAAA,QAAAA;AAAtF,KAAA,GAAmG,KAAKC,KAA9G,CAAA;AACA,IAAM,MAAA;AAAEC,MAAAA,aAAAA;AAAF,KAAoBP,GAAAA,KAAK,IAAI,EAAnC,CAAA;AACA,IAAA,MAAMQ,uBAAuB,GAAGT,IAAI,KAAK,UAAzC,CAAA;AACA,IAAIU,IAAAA,wBAAwB,GAAG,KAA/B,CAAA;AACA,IAAA,MAAMC,aAAa,GAAGT,SAAS,KAAKU,OAAO,CAACV,SAAD,CAAP,IAAsBW,QAAQ,CAACX,SAAD,CAAnC,CAA/B,CAAA;AACA,IAAA,MAAMY,uBAAuB,GAC3BX,mBAAmB,KAAKS,OAAO,CAACT,mBAAD,CAAP,IAAgCU,QAAQ,CAACV,mBAAD,CAA7C,CADrB,CAAA;AAGA,IAAA,MAAMY,gBAAgB,GAAG,CAACC,MAAM,CAACC,IAAP,CAAYb,OAAZ,CAAwB,IAAA,EAAzB,EAA6Bc,GAA7B,CAAkCC,GAAD,IACxD,CAACf,OAAO,CAACe,GAAD,CAAP,IAAgB,EAAjB,EAAqBC,MAArB,CAA4B,CAACC,GAAD,EAAMC,YAAN,KAAuB;AACjD,MAAIA,IAAAA,YAAY,CAACpB,SAAb,IAA0BU,OAAO,CAACU,YAAY,CAACpB,SAAd,CAArC,EAA+D;AAC7DQ,QAAAA,wBAAwB,GAAG,IAA3B,CAAA;AAEAW,QAAAA,GAAG,CAACE,IAAJ,CAASD,YAAT,CAAA,CAAA;AACD,OAAA;;AAED,MAAA,OAAOD,GAAP,CAAA;AACD,KARD,EAQG,EARH,CADuB,CAAzB,CAAA;AAYA,IAAA,oBACE,oBAAC,QAAD,EAAA;AAAU,MAAA,aAAa,EAAEb,aAAzB;AAAwC,MAAA,SAAS,EAAEV,OAAO,CAAC0B,aAA3D;AAA0E,MAAA,KAAK,EAAE;AAAEC,QAAAA,OAAO,EAAG,CAAA,EAAEpB,WAAY,CAAA,CAAA;AAA1B,OAAA;AAAjF,KACGL,EAAAA,IAAI,KAAK,QAAT,iBAAqB,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAI,MAAA,SAAS,EAAEF,OAAO,CAAC4B,MAAAA;AAAvB,KAAA,EAAA,0BAAA,CADxB,EAGGZ,uBAAuB,iBACtB,KAAA,CAAA,aAAA,CAAC,WAAD,EAAA;AACE,MAAA,SAAS,EAAEhB,OAAO,CAAC6B,WADrB;AAEE,MAAA,MAAM,EAAE;AAAEC,QAAAA,MAAM,EAAE,2BAAV;AAAuCC,QAAAA,OAAO,EAAE,2BAAA;AAAhD,OAAA;AAFV,KAAA,eAIE,oBAAC,aAAD,EAAA;AAAe,MAAA,MAAM,EAAE1B,mBAAAA;AAAvB,KAAA,CAJF,CAJJ,EAYGJ,MAAM,iBAAI,oBAAC,aAAD,EAAA;AAAe,MAAA,MAAM,EAAEA,MAAAA;AAAvB,KAZb,CAAA,eAcE,oBAAC,mBAAD,EAAA;AACE,MAAA,IAAI,EAAEU,uBADR;AAEE,MAAA,OAAO,EAAExB,iBAFX;AAGE,MAAA,QAAQ,EAAE,IAAA,CAAKC,iBAHjB;AAIE,MAAA,QAAQ,EAAEoB,QAAAA;AAJZ,KAAA,CAdF,eAqBE,KAAA,CAAA,aAAA,CAACwB,gBAAD,EAAA,QAAA,CAAA,EAAA,EAAc,KAAKvB,KAAnB,EAAA;AAA0B,MAAA,iBAAiB,EAAEtB,iBAAAA;AAA7C,KAAA,CAAA,CArBF,EAuBGyB,wBAAwB,iBACvB,KAAA,CAAA,aAAA,CAAC,WAAD,EAAA;AACE,MAAA,SAAS,EAAEZ,OAAO,CAAC6B,WADrB;AAEE,MAAA,MAAM,EAAE;AAAEC,QAAAA,MAAM,EAAE,4BAAV;AAAwCC,QAAAA,OAAO,EAAE,4BAAA;AAAjD,OAAA;AAFV,KAIGd,EAAAA,gBAAgB,CAACG,GAAjB,CAAqB,CAACd,OAAD,EAAU2B,KAAV,kBACpB,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,MAAA,GAAG,EAAEA,KAAV;AAAiB,MAAA,SAAS,EAAEjC,OAAO,CAACkC,sBAAAA;AAApC,KAAA,EACG,CAAA5B,OAAO,IAAP,IAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE6B,MAAT,IAAkB,CAAlB,IACC7B,OAAO,CAACc,GAAR,CAAagB,MAAD,iBACV,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,MAAA,SAAS,EAAEpC,OAAO,CAACqC,eAAxB;AAAyC,MAAA,GAAG,EAAED,MAAM,CAACE,KAAAA;AAArD,KACE,eAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,MAAA,SAAS,EAAEC,UAAU,CAACvC,OAAO,CAACwC,oBAAT,EAA+BJ,MAAM,CAACK,OAAP,GAAiB,SAAjB,GAA6B,WAA5D,CADvB;AAEE,MAAA,uBAAuB,EAAE;AAAEC,QAAAA,MAAM,EAAG,CAAEN,EAAAA,MAAM,CAACE,KAAM,CAAA,EAAA,CAAA;AAA1B,OAAA;AAF3B,KADF,CAAA,eAKE,oBAAC,aAAD,EAAA;AAAe,MAAA,MAAM,EAAEF,MAAM,CAAChC,SAAAA;AAA9B,KALF,CAAA,CADF,CAFJ,CADD,CAJH,CAxBJ,EA6CGS,aAAa,iBACZ,KAAA,CAAA,aAAA,CAAC,WAAD,EAAA;AAAa,MAAA,MAAM,EAAE;AAAEiB,QAAAA,MAAM,EAAE,gBAAV;AAA4BC,QAAAA,OAAO,EAAE,gBAAA;AAArC,OAAA;AAArB,KAAA,eACE,oBAAC,aAAD,EAAA;AAAe,MAAA,MAAM,EAAE3B,SAAAA;AAAvB,KAAA,CADF,CA9CJ,CADF,CAAA;AAqDD,GAAA;;AAtHiD,CAAA;AAAvCrB,eACJ4D,YAAY;AACjB3C,EAAAA,OAAO,EAAE4C,SAAS,CAACC,MADF;AAEjB5C,EAAAA,MAAM,EAAE2C,SAAS,CAACE,MAFD;AAGjBC,EAAAA,QAAQ,EAAEH,SAAS,CAACI,IAHH;AAIjBC,EAAAA,MAAM,EAAEL,SAAS,CAACE,MAJD;AAKjB5C,EAAAA,IAAI,EAAE0C,SAAS,CAACE,MALC;AAMjBvC,EAAAA,WAAW,EAAEqC,SAAS,CAACE,MANN;AAOjB1C,EAAAA,SAAS,EAAEwC,SAAS,CAACE,MAPJ;AAQjBzC,EAAAA,mBAAmB,EAAEuC,SAAS,CAACE,MARd;AASjB3C,EAAAA,KAAK,EAAEyC,SAAS,CAACC,MAAV,CAAiBK,UATP;AAUjB5C,EAAAA,OAAO,EAAEsC,SAAS,CAACC,MAVF;AAWjBM,EAAAA,KAAK,EAAEP,SAAS,CAACC,MAXA;AAYjBpD,EAAAA,QAAQ,EAAEmD,SAAS,CAACC,MAZH;AAajBO,EAAAA,QAAQ,EAAER,SAAS,CAACS,IAbH;AAcjB7C,EAAAA,QAAQ,EAAEoC,SAAS,CAACE,MAAAA;AAdH;AADR/D,eAkBJuE,eAAe;AACpBH,EAAAA,KAAK,EAAE,EAAA;AADa;;AAuGxB,MAAMI,MAAM,GAAIC,KAAD,KAAY;AACzB9B,EAAAA,aAAa,EAAE;AACb+B,IAAAA,KAAK,EAAEA,KAAK,CAACC,IAAN,EADM;AAEbC,IAAAA,eAAe,EAAEF,KAAK,CAACG,UAAN,EAAA;AAFJ,GADU;AAKzB/B,EAAAA,WAAW,EAAE;AACXgC,IAAAA,YAAY,EAAEL,KAAK,CAACM,OAAN,CAAcC,IAAd,GAAqB,CAAA;AADxB,GALY;AAQzB7B,EAAAA,sBAAsB,EAAE;AACtB,IAAsB,oBAAA,EAAA;AACpB2B,MAAAA,YAAY,EAAEL,KAAK,CAACM,OAAN,CAAcC,IAAd,GAAqB,CAAA;AADf,KAAA;AADA,GARC;AAazB1B,EAAAA,eAAe,EAAE;AACfV,IAAAA,OAAO,EAAE,MADM;AAEfqC,IAAAA,UAAU,EAAE,cAAA;AAFG,GAbQ;AAiBzBxB,EAAAA,oBAAoB,EAAE;AACpBb,IAAAA,OAAO,EAAE,MADW;AAEpB,IAAa,WAAA,EAAA;AACX8B,MAAAA,KAAK,EAAEA,KAAK,CAAChB,OAAN,EAAA;AADI,KAFO;AAKpB,IAAe,aAAA,EAAA;AACbgB,MAAAA,KAAK,EAAEA,KAAK,CAACQ,iBAAN,EAAA;AADM,KAAA;AALK,GAjBG;AA0BzBrC,EAAAA,MAAM,EAAE;AACNsC,IAAAA,QAAQ,EAAE,UADJ;AAENC,IAAAA,IAAI,EAAE,UAFA;AAGNC,IAAAA,GAAG,EAAE,MAHC;AAINC,IAAAA,KAAK,EAAE,KAJD;AAKNC,IAAAA,MAAM,EAAE,KALF;AAMNC,IAAAA,QAAQ,EAAE,QAAA;AANJ,GAAA;AA1BiB,CAAZ,CAAf,CAAA;;AAoCA,uBAAeC,UAAU,CAACjB,MAAD,CAAV,CAAmBxE,cAAnB,CAAf;;AClKe,MAAM0F,kBAAN,SAAiCC,WAAjC,CAA6C;AAC1DC,EAAAA,WAAW,GAAG;AACZ,IAAA,KAAA,EAAA,CAAA;;AADY,IA6BdC,IAAAA,CAAAA,OA7Bc,GA6BJ,MAAM;AACd,MAAA,IAAI,IAAKC,CAAAA,MAAL,IAAe,IAAA,CAAKC,QAAxB,EAAkC;AAChC,QAAA,IAAIC,IAAI,gBAAG/F,KAAK,CAACgG,aAAN,CAAoBjG,gBAApB,EAAoC;AAC7CoB,UAAAA,KAAK,EAAE,IAAA,CAAK0E,MADiC;AAE7C5E,UAAAA,MAAM,EAAE,IAAK4E,CAAAA,MAAL,CAAY5E,MAFyB;AAG7CG,UAAAA,SAAS,EAAE,IAAKyE,CAAAA,MAAL,CAAYzE,SAHsB;AAI7CC,UAAAA,mBAAmB,EAAE,IAAKwE,CAAAA,MAAL,CAAYxE,mBAJY;AAK7C0C,UAAAA,QAAQ,EAAE,IAAK8B,CAAAA,MAAL,CAAY9B,QALuB;AAM7CxC,UAAAA,WAAW,EAAE,IAAKsE,CAAAA,MAAL,CAAYtE,WANoB;AAO7C0C,UAAAA,MAAM,EAAE,IAAK4B,CAAAA,MAAL,CAAY5B,MAPyB;AAQ7C/C,UAAAA,IAAI,EAAE,IAAK2E,CAAAA,MAAL,CAAY3E,IAR2B;AAS7CI,UAAAA,OAAO,EAAE,IAAKuE,CAAAA,MAAL,CAAYvE,OATwB;AAU7C6C,UAAAA,KAAK,EAAE,IAAK2B,CAAAA,QAAL,CAAc3B,KAVwB;AAW7C1D,UAAAA,QAAQ,EAAE,IAAKoF,CAAAA,MAAL,CAAYpF,QAXuB;AAY7Ce,UAAAA,QAAQ,EAAE,IAAKqE,CAAAA,MAAL,CAAYrE,QAZuB;AAa7C4C,UAAAA,QAAQ,EAAE,IAAK6B,CAAAA,aAAAA;AAb8B,SAApC,CAAX,CAAA;AAgBA,QAAA,IAAA,CAAKC,gBAAL,EAAA,CAAA;AAEAtF,QAAAA,QAAQ,CAACG,MAAT,CAAgBgF,IAAhB,EAAsB,IAAtB,EAA4B,MAAM;AAChCjF,UAAAA,UAAU,CAAC,IAAD,CAAV,CAAA;AACD,SAFD,CAAA,CAAA;AAGD,OAAA;AACF,KArDa,CAAA;;AAAA,IAuDdqF,IAAAA,CAAAA,oBAvDc,GAuDS,MAAM;AAC3B,MAAKC,IAAAA,CAAAA,aAAL,CAAmB,IAAIC,mBAAJ,CAAwB,IAAKC,CAAAA,OAAL,CAAaC,WAAb,EAAxB,EAAoD,IAAKC,CAAAA,OAAL,IAAgB,CAAC,CAAC,KAAKA,OAAL,CAAarC,KAAnF,CAAnB,CAAA,CAAA;AACD,KAzDa,CAAA;;AAAA,IA2Dd8B,IAAAA,CAAAA,aA3Dc,GA2DG9B,KAAD,IAAW;AACzB,MAAA,IAAA,CAAKqC,OAAL,CAAarC,KAAb,GAAqBA,KAArB,CAAA;AACA,MAAA,IAAA,CAAKgC,oBAAL,EAAA,CAAA;;AACA,MAAA,IAAA,CAAKP,OAAL,EAAA,CAAA;AACD,KA/Da,CAAA;;AAEZ,IAAKC,IAAAA,CAAAA,MAAL,GAAc,IAAd,CAAA;AACA,IAAKC,IAAAA,CAAAA,QAAL,GAAgB,IAAhB,CAAA;AACD,GAAA;;AACQ,EAAL3E,IAAAA,KAAK,CAACsF,CAAD,EAAI;AACX,IAAKZ,IAAAA,CAAAA,MAAL,GAAcY,CAAd,CAAA;AACA,IAAKL,IAAAA,CAAAA,aAAL,CACE,IAAIM,aAAJ,CAAkB,KAAKJ,OAAL,CAAaC,WAAb,EAAlB,EAA8C,IAAA,CAAKC,OAAL,IAAgB,CAAC,CAAC,IAAA,CAAKA,OAAL,CAAarC,KAA7E,EAAoF,CAAC,CAAC,IAAK0B,CAAAA,MAA3F,CADF,CAAA,CAAA;;AAIA,IAAA,IAAA,CAAKD,OAAL,EAAA,CAAA;AACD,GAAA;;AAEU,EAAPY,IAAAA,OAAO,CAACG,CAAD,EAAI;AACb,IAAKb,IAAAA,CAAAA,QAAL,GAAgBa,CAAhB,CAAA;;AACA,IAAA,IAAA,CAAKf,OAAL,EAAA,CAAA;AACD,GAAA;;AAEU,EAAA,IAAPY,OAAO,GAAG;AACZ,IAAA,OAAO,KAAKV,QAAZ,CAAA;AACD,GAAA;;AAEDI,EAAAA,gBAAgB,GAAG;AACjB,IAAA,MAAM1E,QAAQ,GAAG,IAAA,CAAKqE,MAAL,IAAe,OAAO,IAAKA,CAAAA,MAAL,CAAYrE,QAAlC,GAA6C,IAAKqE,CAAAA,MAAL,CAAYrE,QAAzD,GAAoE,EAArF,CAAA;AACA,IAAA,MAAMoF,IAAI,GAAGpF,QAAQ,GAAGA,QAAQ,CAACqF,KAAT,CAAe,CAAf,EAAkB,CAAlB,CAAH,GAA0B,IAA/C,CAAA;AACA,IAAA,IAAA,CAAKC,YAAL,CAAkB,MAAlB,EAA0BF,IAA1B,CAAA,CAAA;AACD,GAAA;;AAsCDG,EAAAA,iBAAiB,GAAG;AAClB,IAAA,IAAA,CAAKD,YAAL,CAAkB,YAAlB,EAAgC,0BAAhC,CAAA,CAAA;AACA,IAAA,IAAA,CAAKA,YAAL,CAAkB,MAAlB,EAA0B,QAA1B,CAAA,CAAA;;AAEA,IAAA,IAAA,CAAKlB,OAAL,EAAA,CAAA;AACD,GAAA;;AAvEyD;;;;"}
|
package/lib/index.js
DELETED
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
-
|
|
12
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
-
|
|
18
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
-
|
|
22
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
-
|
|
24
|
-
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
25
|
-
|
|
26
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
|
-
|
|
28
|
-
var _react = _interopRequireDefault(require("react"));
|
|
29
|
-
|
|
30
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
31
|
-
|
|
32
|
-
var _piePlayerEvents = require("@pie-framework/pie-player-events");
|
|
33
|
-
|
|
34
|
-
var _mathRendering = require("@pie-lib/math-rendering");
|
|
35
|
-
|
|
36
|
-
var _inlineDropdown = _interopRequireDefault(require("./inline-dropdown"));
|
|
37
|
-
|
|
38
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
39
|
-
|
|
40
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
41
|
-
|
|
42
|
-
var RootInlineDropdown = /*#__PURE__*/function (_HTMLElement) {
|
|
43
|
-
(0, _inherits2["default"])(RootInlineDropdown, _HTMLElement);
|
|
44
|
-
|
|
45
|
-
var _super = _createSuper(RootInlineDropdown);
|
|
46
|
-
|
|
47
|
-
function RootInlineDropdown() {
|
|
48
|
-
var _this;
|
|
49
|
-
|
|
50
|
-
(0, _classCallCheck2["default"])(this, RootInlineDropdown);
|
|
51
|
-
_this = _super.call(this);
|
|
52
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_render", function () {
|
|
53
|
-
if (_this._model && _this._session) {
|
|
54
|
-
var elem = /*#__PURE__*/_react["default"].createElement(_inlineDropdown["default"], {
|
|
55
|
-
model: _this._model,
|
|
56
|
-
prompt: _this._model.prompt,
|
|
57
|
-
rationale: _this._model.rationale,
|
|
58
|
-
teacherInstructions: _this._model.teacherInstructions,
|
|
59
|
-
disabled: _this._model.disabled,
|
|
60
|
-
displayType: _this._model.displayType,
|
|
61
|
-
markup: _this._model.markup,
|
|
62
|
-
mode: _this._model.mode,
|
|
63
|
-
choices: _this._model.choices,
|
|
64
|
-
value: _this._session.value,
|
|
65
|
-
feedback: _this._model.feedback,
|
|
66
|
-
language: _this._model.language,
|
|
67
|
-
onChange: _this.changeSession
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
_this.setLangAttribute();
|
|
71
|
-
|
|
72
|
-
_reactDom["default"].render(elem, (0, _assertThisInitialized2["default"])(_this), function () {
|
|
73
|
-
(0, _mathRendering.renderMath)((0, _assertThisInitialized2["default"])(_this));
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dispatchChangedEvent", function () {
|
|
78
|
-
_this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(_this.tagName.toLowerCase(), _this.session && !!_this.session.value));
|
|
79
|
-
});
|
|
80
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeSession", function (value) {
|
|
81
|
-
_this.session.value = value;
|
|
82
|
-
|
|
83
|
-
_this.dispatchChangedEvent();
|
|
84
|
-
|
|
85
|
-
_this._render();
|
|
86
|
-
});
|
|
87
|
-
_this._model = null;
|
|
88
|
-
_this._session = null;
|
|
89
|
-
return _this;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
(0, _createClass2["default"])(RootInlineDropdown, [{
|
|
93
|
-
key: "model",
|
|
94
|
-
set: function set(m) {
|
|
95
|
-
this._model = m;
|
|
96
|
-
this.dispatchEvent(new _piePlayerEvents.ModelSetEvent(this.tagName.toLowerCase(), this.session && !!this.session.value, !!this._model));
|
|
97
|
-
|
|
98
|
-
this._render();
|
|
99
|
-
}
|
|
100
|
-
}, {
|
|
101
|
-
key: "session",
|
|
102
|
-
get: function get() {
|
|
103
|
-
return this._session;
|
|
104
|
-
},
|
|
105
|
-
set: function set(s) {
|
|
106
|
-
this._session = s;
|
|
107
|
-
|
|
108
|
-
this._render();
|
|
109
|
-
}
|
|
110
|
-
}, {
|
|
111
|
-
key: "setLangAttribute",
|
|
112
|
-
value: function setLangAttribute() {
|
|
113
|
-
var language = this._model && (0, _typeof2["default"])(this._model.language) ? this._model.language : '';
|
|
114
|
-
var lang = language ? language.slice(0, 2) : 'en';
|
|
115
|
-
this.setAttribute('lang', lang);
|
|
116
|
-
}
|
|
117
|
-
}, {
|
|
118
|
-
key: "connectedCallback",
|
|
119
|
-
value: function connectedCallback() {
|
|
120
|
-
this.setAttribute('aria-label', 'Inline Dropdown Question');
|
|
121
|
-
this.setAttribute('role', 'region');
|
|
122
|
-
|
|
123
|
-
this._render();
|
|
124
|
-
}
|
|
125
|
-
}]);
|
|
126
|
-
return RootInlineDropdown;
|
|
127
|
-
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
|
|
128
|
-
|
|
129
|
-
exports["default"] = RootInlineDropdown;
|
|
130
|
-
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["RootInlineDropdown","_model","_session","elem","React","createElement","InlineDropdown","model","prompt","rationale","teacherInstructions","disabled","displayType","markup","mode","choices","value","feedback","language","onChange","changeSession","setLangAttribute","ReactDOM","render","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","session","dispatchChangedEvent","_render","m","ModelSetEvent","s","lang","slice","setAttribute","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEqBA,kB;;;;;AACnB,gCAAc;AAAA;;AAAA;AACZ;AADY,gGA6BJ,YAAM;AACd,UAAI,MAAKC,MAAL,IAAe,MAAKC,QAAxB,EAAkC;AAChC,YAAIC,IAAI,gBAAGC,kBAAMC,aAAN,CAAoBC,0BAApB,EAAoC;AAC7CC,UAAAA,KAAK,EAAE,MAAKN,MADiC;AAE7CO,UAAAA,MAAM,EAAE,MAAKP,MAAL,CAAYO,MAFyB;AAG7CC,UAAAA,SAAS,EAAE,MAAKR,MAAL,CAAYQ,SAHsB;AAI7CC,UAAAA,mBAAmB,EAAE,MAAKT,MAAL,CAAYS,mBAJY;AAK7CC,UAAAA,QAAQ,EAAE,MAAKV,MAAL,CAAYU,QALuB;AAM7CC,UAAAA,WAAW,EAAE,MAAKX,MAAL,CAAYW,WANoB;AAO7CC,UAAAA,MAAM,EAAE,MAAKZ,MAAL,CAAYY,MAPyB;AAQ7CC,UAAAA,IAAI,EAAE,MAAKb,MAAL,CAAYa,IAR2B;AAS7CC,UAAAA,OAAO,EAAE,MAAKd,MAAL,CAAYc,OATwB;AAU7CC,UAAAA,KAAK,EAAE,MAAKd,QAAL,CAAcc,KAVwB;AAW7CC,UAAAA,QAAQ,EAAE,MAAKhB,MAAL,CAAYgB,QAXuB;AAY7CC,UAAAA,QAAQ,EAAE,MAAKjB,MAAL,CAAYiB,QAZuB;AAa7CC,UAAAA,QAAQ,EAAE,MAAKC;AAb8B,SAApC,CAAX;;AAgBA,cAAKC,gBAAL;;AAEAC,6BAASC,MAAT,CAAgBpB,IAAhB,kDAA4B,YAAM;AAChC;AACD,SAFD;AAGD;AACF,KArDa;AAAA,6GAuDS,YAAM;AAC3B,YAAKqB,aAAL,CAAmB,IAAIC,oCAAJ,CAAwB,MAAKC,OAAL,CAAaC,WAAb,EAAxB,EAAoD,MAAKC,OAAL,IAAgB,CAAC,CAAC,MAAKA,OAAL,CAAaZ,KAAnF,CAAnB;AACD,KAzDa;AAAA,sGA2DE,UAACA,KAAD,EAAW;AACzB,YAAKY,OAAL,CAAaZ,KAAb,GAAqBA,KAArB;;AACA,YAAKa,oBAAL;;AACA,YAAKC,OAAL;AACD,KA/Da;AAEZ,UAAK7B,MAAL,GAAc,IAAd;AACA,UAAKC,QAAL,GAAgB,IAAhB;AAHY;AAIb;;;;SACD,aAAU6B,CAAV,EAAa;AACX,WAAK9B,MAAL,GAAc8B,CAAd;AACA,WAAKP,aAAL,CACE,IAAIQ,8BAAJ,CAAkB,KAAKN,OAAL,CAAaC,WAAb,EAAlB,EAA8C,KAAKC,OAAL,IAAgB,CAAC,CAAC,KAAKA,OAAL,CAAaZ,KAA7E,EAAoF,CAAC,CAAC,KAAKf,MAA3F,CADF;;AAIA,WAAK6B,OAAL;AACD;;;SAOD,eAAc;AACZ,aAAO,KAAK5B,QAAZ;AACD,K;SAPD,aAAY+B,CAAZ,EAAe;AACb,WAAK/B,QAAL,GAAgB+B,CAAhB;;AACA,WAAKH,OAAL;AACD;;;WAMD,4BAAmB;AACjB,UAAMZ,QAAQ,GAAG,KAAKjB,MAAL,6BAAsB,KAAKA,MAAL,CAAYiB,QAAlC,IAA6C,KAAKjB,MAAL,CAAYiB,QAAzD,GAAoE,EAArF;AACA,UAAMgB,IAAI,GAAGhB,QAAQ,GAAGA,QAAQ,CAACiB,KAAT,CAAe,CAAf,EAAkB,CAAlB,CAAH,GAA0B,IAA/C;AACA,WAAKC,YAAL,CAAkB,MAAlB,EAA0BF,IAA1B;AACD;;;WAsCD,6BAAoB;AAClB,WAAKE,YAAL,CAAkB,YAAlB,EAAgC,0BAAhC;AACA,WAAKA,YAAL,CAAkB,MAAlB,EAA0B,QAA1B;;AAEA,WAAKN,OAAL;AACD;;;kDAvE6CO,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { ModelSetEvent, SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport InlineDropdown from './inline-dropdown';\n\nexport default class RootInlineDropdown extends HTMLElement {\n constructor() {\n super();\n this._model = null;\n this._session = null;\n }\n set model(m) {\n this._model = m;\n this.dispatchEvent(\n new ModelSetEvent(this.tagName.toLowerCase(), this.session && !!this.session.value, !!this._model),\n );\n\n this._render();\n }\n\n set session(s) {\n this._session = s;\n this._render();\n }\n\n get session() {\n return this._session;\n }\n\n setLangAttribute() {\n const language = this._model && typeof this._model.language ? this._model.language : '';\n const lang = language ? language.slice(0, 2) : 'en';\n this.setAttribute('lang', lang);\n }\n\n _render = () => {\n if (this._model && this._session) {\n let elem = React.createElement(InlineDropdown, {\n model: this._model,\n prompt: this._model.prompt,\n rationale: this._model.rationale,\n teacherInstructions: this._model.teacherInstructions,\n disabled: this._model.disabled,\n displayType: this._model.displayType,\n markup: this._model.markup,\n mode: this._model.mode,\n choices: this._model.choices,\n value: this._session.value,\n feedback: this._model.feedback,\n language: this._model.language,\n onChange: this.changeSession,\n });\n\n this.setLangAttribute();\n\n ReactDOM.render(elem, this, () => {\n renderMath(this);\n });\n }\n };\n\n dispatchChangedEvent = () => {\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.session && !!this.session.value));\n };\n\n changeSession = (value) => {\n this.session.value = value;\n this.dispatchChangedEvent();\n this._render();\n };\n\n connectedCallback() {\n this.setAttribute('aria-label', 'Inline Dropdown Question');\n this.setAttribute('role', 'region');\n\n this._render();\n }\n}\n"],"file":"index.js"}
|