@c2-markdown-ui/react 0.4.4 → 0.4.5

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 (73) hide show
  1. package/README.md +24 -6
  2. package/dist/index.js +4365 -3733
  3. package/package.json +2 -2
  4. package/src/lib/MarkdownUI.tsx +47 -9
  5. package/src/lib/widgets.css +2188 -1372
  6. package/src/widgets/Button.tsx +39 -39
  7. package/src/widgets/ButtonGroup.tsx +47 -47
  8. package/src/widgets/Cascader.tsx +3 -2
  9. package/src/widgets/Chart.tsx +237 -237
  10. package/src/widgets/DatePicker.tsx +451 -434
  11. package/src/widgets/Form.tsx +512 -372
  12. package/src/widgets/Incomplete.tsx +3 -3
  13. package/src/widgets/MultipleChoiceQuestion.tsx +82 -82
  14. package/src/widgets/Quiz.tsx +320 -320
  15. package/src/widgets/Radio.tsx +57 -26
  16. package/src/widgets/Select.tsx +178 -142
  17. package/src/widgets/SelectMulti.tsx +105 -72
  18. package/src/widgets/ShortAnswerQuestion.tsx +101 -101
  19. package/src/widgets/Slider.tsx +70 -56
  20. package/src/widgets/Switch.tsx +14 -2
  21. package/src/widgets/TextInput.tsx +76 -38
  22. package/src/widgets/TreeSelect.tsx +649 -0
  23. package/src/widgets/Widget.tsx +130 -82
  24. package/src/widgets/choiceUtils.ts +90 -45
  25. package/src/widgets/index.ts +17 -16
  26. package/dist/index.d.ts +0 -2
  27. package/dist/index.d.ts.map +0 -1
  28. package/dist/lib/MarkdownUI.d.ts +0 -10
  29. package/dist/lib/MarkdownUI.d.ts.map +0 -1
  30. package/dist/lib/index.d.ts +0 -4
  31. package/dist/lib/index.d.ts.map +0 -1
  32. package/dist/widgets/Button.d.ts +0 -15
  33. package/dist/widgets/Button.d.ts.map +0 -1
  34. package/dist/widgets/ButtonGroup.d.ts +0 -11
  35. package/dist/widgets/ButtonGroup.d.ts.map +0 -1
  36. package/dist/widgets/Cascader.d.ts +0 -34
  37. package/dist/widgets/Cascader.d.ts.map +0 -1
  38. package/dist/widgets/Chart.d.ts +0 -20
  39. package/dist/widgets/Chart.d.ts.map +0 -1
  40. package/dist/widgets/DatePicker.d.ts +0 -28
  41. package/dist/widgets/DatePicker.d.ts.map +0 -1
  42. package/dist/widgets/Form.d.ts +0 -47
  43. package/dist/widgets/Form.d.ts.map +0 -1
  44. package/dist/widgets/Incomplete.d.ts +0 -3
  45. package/dist/widgets/Incomplete.d.ts.map +0 -1
  46. package/dist/widgets/MultipleChoiceQuestion.d.ts +0 -15
  47. package/dist/widgets/MultipleChoiceQuestion.d.ts.map +0 -1
  48. package/dist/widgets/NumberInput.d.ts +0 -26
  49. package/dist/widgets/NumberInput.d.ts.map +0 -1
  50. package/dist/widgets/Quiz.d.ts +0 -37
  51. package/dist/widgets/Quiz.d.ts.map +0 -1
  52. package/dist/widgets/Radio.d.ts +0 -24
  53. package/dist/widgets/Radio.d.ts.map +0 -1
  54. package/dist/widgets/Select.d.ts +0 -15
  55. package/dist/widgets/Select.d.ts.map +0 -1
  56. package/dist/widgets/SelectMulti.d.ts +0 -20
  57. package/dist/widgets/SelectMulti.d.ts.map +0 -1
  58. package/dist/widgets/ShortAnswerQuestion.d.ts +0 -16
  59. package/dist/widgets/ShortAnswerQuestion.d.ts.map +0 -1
  60. package/dist/widgets/Slider.d.ts +0 -13
  61. package/dist/widgets/Slider.d.ts.map +0 -1
  62. package/dist/widgets/Switch.d.ts +0 -17
  63. package/dist/widgets/Switch.d.ts.map +0 -1
  64. package/dist/widgets/TextInput.d.ts +0 -11
  65. package/dist/widgets/TextInput.d.ts.map +0 -1
  66. package/dist/widgets/Widget.d.ts +0 -7
  67. package/dist/widgets/Widget.d.ts.map +0 -1
  68. package/dist/widgets/chartRemoteData.d.ts +0 -18
  69. package/dist/widgets/chartRemoteData.d.ts.map +0 -1
  70. package/dist/widgets/choiceUtils.d.ts +0 -24
  71. package/dist/widgets/choiceUtils.d.ts.map +0 -1
  72. package/dist/widgets/index.d.ts +0 -18
  73. package/dist/widgets/index.d.ts.map +0 -1
@@ -1,26 +0,0 @@
1
- import React from 'react';
2
- export interface NumberInputProps {
3
- label?: string;
4
- /** 最小值 */
5
- min?: number;
6
- /** 最大值 */
7
- max?: number;
8
- /** 步长(点击上下按钮/方向键的增减量),默认 1 */
9
- step?: number;
10
- /** 数值精度(小数位数) */
11
- precision?: number;
12
- default?: number;
13
- placeholder?: string;
14
- hint?: string;
15
- /** 是否必填:空值提交校验不通过 */
16
- required?: boolean;
17
- /** 校验失败提示文案 */
18
- message?: string;
19
- /** 外部(form 提交时)传入的错误信息,优先于组件内部即时校验 */
20
- error?: string;
21
- /** 是否禁用 */
22
- disabled?: boolean;
23
- onchange: (value: number | null) => void;
24
- }
25
- export declare const NumberInput: React.FC<NumberInputProps>;
26
- //# sourceMappingURL=NumberInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NumberInput.d.ts","sourceRoot":"","sources":["../../src/widgets/NumberInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU;IACV,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU;IACV,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC1C;AAUD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAsIlD,CAAC"}
@@ -1,37 +0,0 @@
1
- import React from 'react';
2
- export interface QuizProps {
3
- title: string;
4
- questions: QuizQuestion[];
5
- showScore?: boolean;
6
- showProgress?: boolean;
7
- passingScore?: number;
8
- /** 是否禁用:级联禁用所有题目 */
9
- disabled?: boolean;
10
- onchange: (value: QuizState) => void;
11
- }
12
- interface QuizQuestion {
13
- id: string;
14
- type: "mcq" | "short-answer";
15
- question: string;
16
- points: number;
17
- choices?: string[];
18
- correctAnswer?: string;
19
- placeholder?: string;
20
- correctAnswers?: string[];
21
- }
22
- interface QuizAnswer {
23
- answer: string;
24
- isCorrect: boolean;
25
- points: number;
26
- submitted: boolean;
27
- }
28
- interface QuizState {
29
- answers: Record<string, QuizAnswer>;
30
- totalScore: number;
31
- maxScore: number;
32
- questionsAnswered: number;
33
- isCompleted: boolean;
34
- }
35
- export declare const Quiz: React.FC<QuizProps>;
36
- export {};
37
- //# sourceMappingURL=Quiz.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Quiz.d.ts","sourceRoot":"","sources":["../../src/widgets/Quiz.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAGjD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CACtC;AAED,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,KAAK,GAAG,cAAc,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,SAAS;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAqRpC,CAAC"}
@@ -1,24 +0,0 @@
1
- import React from 'react';
2
- export interface RadioGroupProps {
3
- /** 选项:字符串数组(每项支持 key:label 格式)或对象数组({key|value,label},取值为 key/value,展示 label) */
4
- choices: string[] | Array<{
5
- value?: string;
6
- key?: string;
7
- label?: string;
8
- }>;
9
- label?: string;
10
- default?: string;
11
- /** 按钮样式(参考 antd Radio optionType:button):渲染为按钮组而非圆点单选 */
12
- button?: boolean;
13
- /** 远端数据源 URL:设置后运行时 fetch 拉取选项,choices 作为后备/初始选项 */
14
- url?: string;
15
- /** 选项排列方向:vertical 纵向(默认)/ horizontal 横向 */
16
- direction?: 'vertical' | 'horizontal';
17
- /** 自定义布局:每行列数(设置后按 N 列网格排列,优先于 direction) */
18
- columns?: number;
19
- /** 是否禁用 */
20
- disabled?: boolean;
21
- onchange: (value: string) => void;
22
- }
23
- export declare const RadioGroup: React.FC<RadioGroupProps>;
24
- //# sourceMappingURL=Radio.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../src/widgets/Radio.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,MAAM,WAAW,eAAe;IAC9B,iFAAiF;IACjF,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACtC,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAeD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA+GhD,CAAC"}
@@ -1,15 +0,0 @@
1
- import React from 'react';
2
- export interface SelectProps {
3
- choices: string[];
4
- label?: string;
5
- default?: string;
6
- /** 是否可搜索:开启后下拉面板内置搜索框,按 key/value 与 label 过滤选项 */
7
- searchable?: boolean;
8
- /** 搜索框占位文案 */
9
- placeholder?: string;
10
- /** 是否禁用 */
11
- disabled?: boolean;
12
- onchange: (value: string | string[]) => void;
13
- }
14
- export declare const Select: React.FC<SelectProps>;
15
- //# sourceMappingURL=Select.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../src/widgets/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAGpE,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;CAC9C;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA6HxC,CAAC"}
@@ -1,20 +0,0 @@
1
- import React from 'react';
2
- export interface SelectMultiProps {
3
- /** 选项:字符串数组(每项支持 key:label 格式)或对象数组({key|value,label},取值为 key/value,展示 label) */
4
- choices: string[] | Array<{
5
- value?: string;
6
- key?: string;
7
- label?: string;
8
- }>;
9
- label?: string;
10
- default?: string | string[];
11
- /** 选项排列方向:vertical 纵向(默认)/ horizontal 横向 */
12
- direction?: 'vertical' | 'horizontal';
13
- /** 自定义布局:每行列数(设置后按 N 列网格排列,优先于 direction) */
14
- columns?: number;
15
- /** 是否禁用 */
16
- disabled?: boolean;
17
- onchange: (value: string | string[]) => void;
18
- }
19
- export declare const SelectMulti: React.FC<SelectMultiProps>;
20
- //# sourceMappingURL=SelectMulti.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SelectMulti.d.ts","sourceRoot":"","sources":["../../src/widgets/SelectMulti.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,4CAA4C;IAC5C,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACtC,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;CAC9C;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAsDlD,CAAC"}
@@ -1,16 +0,0 @@
1
- import React from 'react';
2
- export interface ShortAnswerQuestionProps {
3
- question: string;
4
- placeholder?: string;
5
- correctAnswer?: string;
6
- correctAnswers?: string[];
7
- showFeedback?: boolean;
8
- /** 是否禁用:禁用后输入框与提交按钮不可交互 */
9
- disabled?: boolean;
10
- onchange: (value: {
11
- answer: string;
12
- isCorrect?: boolean;
13
- }) => void;
14
- }
15
- export declare const ShortAnswerQuestion: React.FC<ShortAnswerQuestionProps>;
16
- //# sourceMappingURL=ShortAnswerQuestion.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShortAnswerQuestion.d.ts","sourceRoot":"","sources":["../../src/widgets/ShortAnswerQuestion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CACpE;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAuFlE,CAAC"}
@@ -1,13 +0,0 @@
1
- import React from 'react';
2
- export interface SliderProps {
3
- min: number;
4
- max: number;
5
- step?: number;
6
- label?: string;
7
- default?: number;
8
- /** 是否禁用 */
9
- disabled?: boolean;
10
- onchange: (value: number) => void;
11
- }
12
- export declare const Slider: React.FC<SliderProps>;
13
- //# sourceMappingURL=Slider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Slider.d.ts","sourceRoot":"","sources":["../../src/widgets/Slider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA2CxC,CAAC"}
@@ -1,17 +0,0 @@
1
- import React from 'react';
2
- export interface SwitchProps {
3
- label?: string;
4
- /** 默认是否选中 */
5
- default?: boolean;
6
- /** 选中时展示的文案(antd checkedChildren) */
7
- checkedText?: string;
8
- /** 未选中时展示的文案(antd unCheckedChildren) */
9
- unCheckedText?: string;
10
- /** 是否禁用 */
11
- disabled?: boolean;
12
- onchange: (value: boolean) => void;
13
- }
14
- /** 开关组件(参考 antd Switch):布尔切换控件,可配置选中/未选中文案。
15
- label 在上(与表单其他字段同构),表单布局切换时位置自动跟随 */
16
- export declare const Switch: React.FC<SwitchProps>;
17
- //# sourceMappingURL=Switch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../src/widgets/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;AAED;wCACwC;AACxC,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAsCxC,CAAC"}
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- export interface TextInputProps {
3
- placeholder?: string;
4
- label?: string;
5
- default?: string;
6
- /** 是否禁用 */
7
- disabled?: boolean;
8
- onchange: (value: string) => void;
9
- }
10
- export declare const TextInput: React.FC<TextInputProps>;
11
- //# sourceMappingURL=TextInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../src/widgets/TextInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA0B9C,CAAC"}
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- export interface WidgetProps {
3
- id: string;
4
- content: string;
5
- }
6
- export declare const Widget: React.FC<WidgetProps>;
7
- //# sourceMappingURL=Widget.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Widget.d.ts","sourceRoot":"","sources":["../../src/widgets/Widget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAGzC,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB;AA4BD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAgDxC,CAAC"}
@@ -1,18 +0,0 @@
1
- /**
2
- * 图表远端数据源解析:
3
- * - CSV 文本(与 DSL 内嵌 CSV 同格式:首行 header「标签列,系列1,系列2...」,其后数据行)
4
- * - JSON:支持 { labels, datasets:[{label,data}] } 及常见包装({data|result} 内嵌)
5
- */
6
- export interface ChartDataset {
7
- label: string;
8
- data: number[];
9
- }
10
- export interface RemoteChartData {
11
- labels: string[];
12
- datasets: ChartDataset[];
13
- }
14
- /** 解析 CSV 文本为图表数据(header 至少 2 列,数据列须为数字) */
15
- export declare function parseChartCsv(text: string): RemoteChartData | null;
16
- /** 归一化 JSON 响应为图表数据(labels + datasets) */
17
- export declare function normalizeRemoteChartData(json: any): RemoteChartData | null;
18
- //# sourceMappingURL=chartRemoteData.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chartRemoteData.d.ts","sourceRoot":"","sources":["../../src/widgets/chartRemoteData.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,4CAA4C;AAC5C,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAwBlE;AAED,0CAA0C;AAC1C,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,GAAG,GAAG,eAAe,GAAG,IAAI,CAuC1E"}
@@ -1,24 +0,0 @@
1
- /** 选项条目:value 是表单实际取值(key),label 是展示文案 */
2
- export interface ChoiceItem {
3
- value: string;
4
- label: string;
5
- }
6
- /**
7
- * 解析本地 choices 条目的 key:label 格式:
8
- * - "bj:北京" → {value: "bj", label: "北京"}(value 是表单实际取值,label 是展示文案)
9
- * - "北京" → {value: "北京", label: "北京"}(无冒号或不符合判定规则时视为纯文本)
10
- * - "09:00" → {value: "09:00", label: "09:00"}(纯数字 key 视为时间/比例值,保持原样)
11
- * - "http://x" → 原样(label 以 // 开头视为 URL)
12
- *
13
- * 判定规则:按首个冒号分割,仅当 key 非空且不含空白、非纯数字,
14
- * 且 label 非空、不以 // 开头时才视为 key:label。
15
- */
16
- export declare function parseChoice(c: string): ChoiceItem;
17
- /** 把本地 choices(string[] 或对象数组)解析为 {value,label} 数组。
18
- * 对象条目:value > key 取值(表单实际取值),label 缺省回落到 value */
19
- export declare function parseChoices(choices: string[] | Array<{
20
- value?: string;
21
- key?: string;
22
- label?: string;
23
- }> | undefined | null): ChoiceItem[];
24
- //# sourceMappingURL=choiceUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"choiceUtils.d.ts","sourceRoot":"","sources":["../../src/widgets/choiceUtils.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU,CAWjD;AAED;oDACoD;AACpD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,UAAU,EAAE,CAazI"}
@@ -1,18 +0,0 @@
1
- export { Button } from './Button';
2
- export { ButtonGroup } from './ButtonGroup';
3
- export { Cascader } from './Cascader';
4
- export { Chart } from './Chart';
5
- export { DatePicker } from './DatePicker';
6
- export { Form } from './Form';
7
- export { Incomplete } from './Incomplete';
8
- export { MultipleChoiceQuestion } from './MultipleChoiceQuestion';
9
- export { NumberInput } from './NumberInput';
10
- export { Quiz } from './Quiz';
11
- export { RadioGroup } from './Radio';
12
- export { Select } from './Select';
13
- export { SelectMulti } from './SelectMulti';
14
- export { ShortAnswerQuestion } from './ShortAnswerQuestion';
15
- export { Slider } from './Slider';
16
- export { Switch } from './Switch';
17
- export { TextInput } from './TextInput';
18
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/widgets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}