{"version":3,"file":"type.cjs","sources":["../../../../packages/components-wc/src/subject/type.ts"],"sourcesContent":["import { css, html, LitElement } from 'lit'\nimport { } from 'lit/decorators.js'\nimport { safeCustomElement } from '../base/define'\nimport { SubjectType } from './types'\n\nconst subjectOptions = [\n  { type: SubjectType.SINGLE, label: '单选题' },\n  { type: SubjectType.MULTIPLE, label: '多选题' },\n  { type: SubjectType.BLANK_FILL, label: '填空题' },\n  { type: SubjectType.TEXT_FILL, label: '问答题' },\n  { type: SubjectType.SCALE, label: '量表题' },\n  { type: SubjectType.SORT, label: '排序题' },\n  { type: 'page_end', label: '分页符' },\n]\n\nconst interactionOptions = [\n  { type: SubjectType.SINGLE, label: '单选题' },\n  { type: SubjectType.MULTIPLE, label: '多选题' },\n]\n\n@safeCustomElement('qxs-subject-type')\nexport class QxsSubjectType extends LitElement {\n  static styles = css`\n    :host { display: block; font-family: system-ui, -apple-system, \"PingFang SC\", \"Microsoft YaHei\", sans-serif; font-size: 13px; }\n    .container { padding: 16px; }\n    .type-item { margin-bottom: 20px; }\n    .section-title { margin-bottom: 10px; font-size: 13px; color: #909399; }\n    .base-subject { display: flex; flex-wrap: wrap; gap: 8px; }\n    .item {\n      display: inline-flex; align-items: center; justify-content: center;\n      min-width: 64px; height: 28px; padding: 0 12px; font-size: 13px;\n      color: #606266; cursor: pointer; background: #fff;\n      border: 1px solid #dcdfe6; border-radius: 4px; transition: all 0.15s;\n    }\n    .item:hover { color: #409eff; border-color: #409eff; }\n  `\n\n  private emit(type: string, canSet = false) {\n    this.dispatchEvent(new CustomEvent('select', {\n      bubbles: true, composed: true,\n      detail: { type, canSet },\n    }))\n  }\n\n  render() {\n    return html`\n      <div class=\"container\">\n        <div class=\"type-item\">\n          <div class=\"section-title\">普通题目类型</div>\n          <div class=\"base-subject\">\n            ${subjectOptions.map(item => html`\n              <span class=\"item\" @click=${() => this.emit(item.type)}>${item.label}</span>\n            `)}\n          </div>\n        </div>\n        <div class=\"type-item\">\n          <div class=\"section-title\">互动问答类型（支持设置结果项）</div>\n          <div class=\"base-subject\">\n            ${interactionOptions.map(item => html`\n              <span class=\"item\" @click=${() => this.emit(item.type, true)}>${item.label}</span>\n            `)}\n          </div>\n        </div>\n      </div>\n    `\n  }\n}\n\nexport function register() {\n  // auto-registered via @safeCustomElement\n}\n"],"names":["subjectOptions","type","SubjectType","SINGLE","label","MULTIPLE","BLANK_FILL","TEXT_FILL","SCALE","SORT","interactionOptions","QxsSubjectType","LitElement","emit","canSet","arguments","length","undefined","this","dispatchEvent","CustomEvent","bubbles","composed","detail","render","html","map","item","styles","css","__decorateClass","safeCustomElement"],"mappings":"6HAKA,MAAMA,EAAiB,CACrB,CAAEC,KAAMC,EAAAA,YAAYC,OAAQC,MAAO,OACnC,CAAEH,KAAMC,EAAAA,YAAYG,SAAUD,MAAO,OACrC,CAAEH,KAAMC,EAAAA,YAAYI,WAAYF,MAAO,OACvC,CAAEH,KAAMC,EAAAA,YAAYK,UAAWH,MAAO,OACtC,CAAEH,KAAMC,EAAAA,YAAYM,MAAOJ,MAAO,OAClC,CAAEH,KAAMC,EAAAA,YAAYO,KAAML,MAAO,OACjC,CAAEH,KAAM,WAAYG,MAAO,QAGvBM,EAAqB,CACzB,CAAET,KAAMC,EAAAA,YAAYC,OAAQC,MAAO,OACnC,CAAEH,KAAMC,EAAAA,YAAYG,SAAUD,MAAO,QAI1BO,QAAAA,eAAN,cAA6BC,EAAAA,WAgB1BC,IAAAA,CAAKZ,GAA8B,IAAhBa,EAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACzBG,KAAKC,cAAc,IAAIC,YAAY,SAAU,CAC3CC,SAAS,EAAMC,UAAU,EACzBC,OAAQ,CAAEtB,OAAMa,YAEpB,CAEAU,MAAAA,GACE,OAAOC,EAAAA,IAAA;;;;;cAKGzB,EAAe0B,IAAIC,GAAQF,EAAAA,IAAA;0CACC,IAAMP,KAAKL,KAAKc,EAAK1B,SAAS0B,EAAKvB;;;;;;;cAO/DM,EAAmBgB,IAAIC,GAAQF,EAAAA,IAAA;0CACH,IAAMP,KAAKL,KAAKc,EAAK1B,MAAM,MAAS0B,EAAKvB;;;;;KAMjF,GA5CWO,QAAAA,eACJiB,OAASC,EAAAA,GAAA;;;;;;;;;;;;;IADLlB,QAAAA,oHAANmB,CAAA,CADNC,EAAAA,kBAAkB,qBACNpB,QAAAA"}