motion-surveyjs-ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +87 -0
  3. package/dist/index.cjs +7 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.ts +4 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +1905 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/lib/MotionSurvey.d.ts +25 -0
  10. package/dist/lib/MotionSurvey.d.ts.map +1 -0
  11. package/dist/lib/__tests__/testUtils.d.ts +5 -0
  12. package/dist/lib/__tests__/testUtils.d.ts.map +1 -0
  13. package/dist/lib/elements/getQuestionErrors.d.ts +3 -0
  14. package/dist/lib/elements/getQuestionErrors.d.ts.map +1 -0
  15. package/dist/lib/elements/getQuestionTitle.d.ts +4 -0
  16. package/dist/lib/elements/getQuestionTitle.d.ts.map +1 -0
  17. package/dist/lib/elements/renderElement.d.ts +4 -0
  18. package/dist/lib/elements/renderElement.d.ts.map +1 -0
  19. package/dist/lib/elements/setQuestionValue.d.ts +3 -0
  20. package/dist/lib/elements/setQuestionValue.d.ts.map +1 -0
  21. package/dist/lib/elements/types/BooleanElement.d.ts +7 -0
  22. package/dist/lib/elements/types/BooleanElement.d.ts.map +1 -0
  23. package/dist/lib/elements/types/ButtonGroupElement.d.ts +7 -0
  24. package/dist/lib/elements/types/ButtonGroupElement.d.ts.map +1 -0
  25. package/dist/lib/elements/types/ChoiceElement.d.ts +8 -0
  26. package/dist/lib/elements/types/ChoiceElement.d.ts.map +1 -0
  27. package/dist/lib/elements/types/CommentElement.d.ts +7 -0
  28. package/dist/lib/elements/types/CommentElement.d.ts.map +1 -0
  29. package/dist/lib/elements/types/DropdownElement.d.ts +7 -0
  30. package/dist/lib/elements/types/DropdownElement.d.ts.map +1 -0
  31. package/dist/lib/elements/types/EmptyElement.d.ts +7 -0
  32. package/dist/lib/elements/types/EmptyElement.d.ts.map +1 -0
  33. package/dist/lib/elements/types/ExpressionElement.d.ts +7 -0
  34. package/dist/lib/elements/types/ExpressionElement.d.ts.map +1 -0
  35. package/dist/lib/elements/types/FileElement.d.ts +7 -0
  36. package/dist/lib/elements/types/FileElement.d.ts.map +1 -0
  37. package/dist/lib/elements/types/FlowPanelElement.d.ts +9 -0
  38. package/dist/lib/elements/types/FlowPanelElement.d.ts.map +1 -0
  39. package/dist/lib/elements/types/HtmlElement.d.ts +7 -0
  40. package/dist/lib/elements/types/HtmlElement.d.ts.map +1 -0
  41. package/dist/lib/elements/types/ImageElement.d.ts +7 -0
  42. package/dist/lib/elements/types/ImageElement.d.ts.map +1 -0
  43. package/dist/lib/elements/types/ImagePickerElement.d.ts +7 -0
  44. package/dist/lib/elements/types/ImagePickerElement.d.ts.map +1 -0
  45. package/dist/lib/elements/types/MatrixDropdownElement.d.ts +7 -0
  46. package/dist/lib/elements/types/MatrixDropdownElement.d.ts.map +1 -0
  47. package/dist/lib/elements/types/MatrixDynamicElement.d.ts +7 -0
  48. package/dist/lib/elements/types/MatrixDynamicElement.d.ts.map +1 -0
  49. package/dist/lib/elements/types/MatrixElement.d.ts +7 -0
  50. package/dist/lib/elements/types/MatrixElement.d.ts.map +1 -0
  51. package/dist/lib/elements/types/MultipleTextElement.d.ts +7 -0
  52. package/dist/lib/elements/types/MultipleTextElement.d.ts.map +1 -0
  53. package/dist/lib/elements/types/PanelDynamicElement.d.ts +9 -0
  54. package/dist/lib/elements/types/PanelDynamicElement.d.ts.map +1 -0
  55. package/dist/lib/elements/types/RankingElement.d.ts +7 -0
  56. package/dist/lib/elements/types/RankingElement.d.ts.map +1 -0
  57. package/dist/lib/elements/types/RankingItem.d.ts +15 -0
  58. package/dist/lib/elements/types/RankingItem.d.ts.map +1 -0
  59. package/dist/lib/elements/types/RatingElement.d.ts +7 -0
  60. package/dist/lib/elements/types/RatingElement.d.ts.map +1 -0
  61. package/dist/lib/elements/types/SignaturePadElement.d.ts +7 -0
  62. package/dist/lib/elements/types/SignaturePadElement.d.ts.map +1 -0
  63. package/dist/lib/elements/types/TagboxElement.d.ts +7 -0
  64. package/dist/lib/elements/types/TagboxElement.d.ts.map +1 -0
  65. package/dist/lib/elements/types/TextElement.d.ts +7 -0
  66. package/dist/lib/elements/types/TextElement.d.ts.map +1 -0
  67. package/dist/lib/i18n/messages.d.ts +9 -0
  68. package/dist/lib/i18n/messages.d.ts.map +1 -0
  69. package/dist/lib/ui/BaseElement.d.ts +8 -0
  70. package/dist/lib/ui/BaseElement.d.ts.map +1 -0
  71. package/dist/lib/ui/Checkmark.d.ts +6 -0
  72. package/dist/lib/ui/Checkmark.d.ts.map +1 -0
  73. package/dist/lib/ui/Errors.d.ts +6 -0
  74. package/dist/lib/ui/Errors.d.ts.map +1 -0
  75. package/dist/lib/ui/types.d.ts +18 -0
  76. package/dist/lib/ui/types.d.ts.map +1 -0
  77. package/dist/style.css +1 -0
  78. package/package.json +65 -0
@@ -0,0 +1,8 @@
1
+ import type { Question } from 'survey-core';
2
+ import type { RenderOptions } from '../../ui/types';
3
+ export declare function ChoiceElement({ question, isMulti, opts, }: {
4
+ question: Question;
5
+ isMulti: boolean;
6
+ opts: RenderOptions;
7
+ }): import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=ChoiceElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChoiceElement.d.ts","sourceRoot":"","sources":["../../../../src/lib/elements/types/ChoiceElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,QAAQ,EAAE,MAAM,aAAa,CAAA;AAOvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAKnD,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,OAAO,EACP,IAAI,GACL,EAAE;IACD,QAAQ,EAAE,QAAQ,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,aAAa,CAAA;CACpB,2CA6IA"}
@@ -0,0 +1,7 @@
1
+ import type { Question } from 'survey-core';
2
+ import type { RenderOptions } from '../../ui/types';
3
+ export declare function CommentElement({ question, opts, }: {
4
+ question: Question;
5
+ opts: RenderOptions;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=CommentElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommentElement.d.ts","sourceRoot":"","sources":["../../../../src/lib/elements/types/CommentElement.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAK3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAKnD,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,IAAI,GACL,EAAE;IACD,QAAQ,EAAE,QAAQ,CAAA;IAClB,IAAI,EAAE,aAAa,CAAA;CACpB,2CA2DA"}
@@ -0,0 +1,7 @@
1
+ import type { Question } from 'survey-core';
2
+ import type { RenderOptions } from '../../ui/types';
3
+ export declare function DropdownElement({ question, opts, }: {
4
+ question: Question;
5
+ opts: RenderOptions;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=DropdownElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropdownElement.d.ts","sourceRoot":"","sources":["../../../../src/lib/elements/types/DropdownElement.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,QAAQ,EAAE,MAAM,aAAa,CAAA;AAKvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAKnD,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,IAAI,GACL,EAAE;IACD,QAAQ,EAAE,QAAQ,CAAA;IAClB,IAAI,EAAE,aAAa,CAAA;CACpB,2CA4EA"}
@@ -0,0 +1,7 @@
1
+ import type { Question } from 'survey-core';
2
+ import type { RenderOptions } from '../../ui/types';
3
+ export declare function EmptyElement({ question, opts }: {
4
+ question: Question;
5
+ opts: RenderOptions;
6
+ }): null;
7
+ //# sourceMappingURL=EmptyElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyElement.d.ts","sourceRoot":"","sources":["../../../../src/lib/elements/types/EmptyElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEnD,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,QAI3F"}
@@ -0,0 +1,7 @@
1
+ import type { Question } from 'survey-core';
2
+ import type { RenderOptions } from '../../ui/types';
3
+ export declare function ExpressionElement({ question, opts }: {
4
+ question: Question;
5
+ opts: RenderOptions;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=ExpressionElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpressionElement.d.ts","sourceRoot":"","sources":["../../../../src/lib/elements/types/ExpressionElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,2CAWhG"}
@@ -0,0 +1,7 @@
1
+ import type { Question } from 'survey-core';
2
+ import type { RenderOptions } from '../../ui/types';
3
+ export declare function FileElement({ question, opts }: {
4
+ question: Question;
5
+ opts: RenderOptions;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=FileElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileElement.d.ts","sourceRoot":"","sources":["../../../../src/lib/elements/types/FileElement.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAG3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAiBnD,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,2CAoD1F"}
@@ -0,0 +1,9 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { IElement } from 'survey-core';
3
+ import type { RenderOptions } from '../../ui/types';
4
+ export declare function FlowPanelElement({ element, opts, render, }: {
5
+ element: IElement;
6
+ opts: RenderOptions;
7
+ render: (el: IElement, opts: RenderOptions) => ReactNode;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=FlowPanelElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlowPanelElement.d.ts","sourceRoot":"","sources":["../../../../src/lib/elements/types/FlowPanelElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEnD,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,IAAI,EACJ,MAAM,GACP,EAAE;IACD,OAAO,EAAE,QAAQ,CAAA;IACjB,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,KAAK,SAAS,CAAA;CACzD,2CAkBA"}
@@ -0,0 +1,7 @@
1
+ import type { Question } from 'survey-core';
2
+ import type { RenderOptions } from '../../ui/types';
3
+ export declare function HtmlElement({ question, opts }: {
4
+ question: Question;
5
+ opts: RenderOptions;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=HtmlElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HtmlElement.d.ts","sourceRoot":"","sources":["../../../../src/lib/elements/types/HtmlElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,2CAU1F"}
@@ -0,0 +1,7 @@
1
+ import type { Question } from 'survey-core';
2
+ import type { RenderOptions } from '../../ui/types';
3
+ export declare function ImageElement({ question, opts }: {
4
+ question: Question;
5
+ opts: RenderOptions;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=ImageElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageElement.d.ts","sourceRoot":"","sources":["../../../../src/lib/elements/types/ImageElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,2CAW3F"}
@@ -0,0 +1,7 @@
1
+ import type { Question } from 'survey-core';
2
+ import type { RenderOptions } from '../../ui/types';
3
+ export declare function ImagePickerElement({ question, opts }: {
4
+ question: Question;
5
+ opts: RenderOptions;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=ImagePickerElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImagePickerElement.d.ts","sourceRoot":"","sources":["../../../../src/lib/elements/types/ImagePickerElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAQnD,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,2CAyEjG"}
@@ -0,0 +1,7 @@
1
+ import type { Question } from 'survey-core';
2
+ import type { RenderOptions } from '../../ui/types';
3
+ export declare function MatrixDropdownElement({ question, opts }: {
4
+ question: Question;
5
+ opts: RenderOptions;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=MatrixDropdownElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MatrixDropdownElement.d.ts","sourceRoot":"","sources":["../../../../src/lib/elements/types/MatrixDropdownElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,2CAQpG"}
@@ -0,0 +1,7 @@
1
+ import type { Question } from 'survey-core';
2
+ import type { RenderOptions } from '../../ui/types';
3
+ export declare function MatrixDynamicElement({ question, opts }: {
4
+ question: Question;
5
+ opts: RenderOptions;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=MatrixDynamicElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MatrixDynamicElement.d.ts","sourceRoot":"","sources":["../../../../src/lib/elements/types/MatrixDynamicElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,2CAQnG"}
@@ -0,0 +1,7 @@
1
+ import type { Question } from 'survey-core';
2
+ import type { RenderOptions } from '../../ui/types';
3
+ export declare function MatrixElement({ question, opts }: {
4
+ question: Question;
5
+ opts: RenderOptions;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=MatrixElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MatrixElement.d.ts","sourceRoot":"","sources":["../../../../src/lib/elements/types/MatrixElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAI3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAYnD,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,2CAqI5F"}
@@ -0,0 +1,7 @@
1
+ import type { Question } from 'survey-core';
2
+ import type { RenderOptions } from '../../ui/types';
3
+ export declare function MultipleTextElement({ question, opts }: {
4
+ question: Question;
5
+ opts: RenderOptions;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=MultipleTextElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultipleTextElement.d.ts","sourceRoot":"","sources":["../../../../src/lib/elements/types/MultipleTextElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAI3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAQnD,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,2CA0ClG"}
@@ -0,0 +1,9 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { IElement, Question } from 'survey-core';
3
+ import type { RenderOptions } from '../../ui/types';
4
+ export declare function PanelDynamicElement({ question, opts, render, }: {
5
+ question: Question;
6
+ opts: RenderOptions;
7
+ render: (el: IElement, opts: RenderOptions) => ReactNode;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=PanelDynamicElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PanelDynamicElement.d.ts","sourceRoot":"","sources":["../../../../src/lib/elements/types/PanelDynamicElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,IAAI,EACJ,MAAM,GACP,EAAE;IACD,QAAQ,EAAE,QAAQ,CAAA;IAClB,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,KAAK,SAAS,CAAA;CACzD,2CA4DA"}
@@ -0,0 +1,7 @@
1
+ import type { Question } from 'survey-core';
2
+ import type { RenderOptions } from '../../ui/types';
3
+ export declare function RankingElement({ question, opts }: {
4
+ question: Question;
5
+ opts: RenderOptions;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=RankingElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RankingElement.d.ts","sourceRoot":"","sources":["../../../../src/lib/elements/types/RankingElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAOnD,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,2CAqJ7F"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ export interface RankingItemProps {
3
+ value: string | number;
4
+ text: string;
5
+ index?: number;
6
+ total?: number;
7
+ onClick?: () => void;
8
+ onMoveUp?: () => void;
9
+ onMoveDown?: () => void;
10
+ isRanked?: boolean;
11
+ longTap?: boolean;
12
+ enableDrag?: boolean;
13
+ }
14
+ export declare const RankingItem: React.FC<RankingItemProps>;
15
+ //# sourceMappingURL=RankingItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RankingItem.d.ts","sourceRoot":"","sources":["../../../../src/lib/elements/types/RankingItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAItC,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA4IlD,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Question } from 'survey-core';
2
+ import type { RenderOptions } from '../../ui/types';
3
+ export declare function RatingElement({ question, opts }: {
4
+ question: Question;
5
+ opts: RenderOptions;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=RatingElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RatingElement.d.ts","sourceRoot":"","sources":["../../../../src/lib/elements/types/RatingElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAuB,MAAM,aAAa,CAAA;AAIhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAoBnD,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,2CAgF5F"}
@@ -0,0 +1,7 @@
1
+ import type { Question } from 'survey-core';
2
+ import type { RenderOptions } from '../../ui/types';
3
+ export declare function SignaturePadElement({ question, opts }: {
4
+ question: Question;
5
+ opts: RenderOptions;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=SignaturePadElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignaturePadElement.d.ts","sourceRoot":"","sources":["../../../../src/lib/elements/types/SignaturePadElement.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAG3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAMnD,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,2CA6GlG"}
@@ -0,0 +1,7 @@
1
+ import type { Question } from 'survey-core';
2
+ import type { RenderOptions } from '../../ui/types';
3
+ export declare function TagboxElement({ question, opts }: {
4
+ question: Question;
5
+ opts: RenderOptions;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=TagboxElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TagboxElement.d.ts","sourceRoot":"","sources":["../../../../src/lib/elements/types/TagboxElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAMnD,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,2CAqD5F"}
@@ -0,0 +1,7 @@
1
+ import type { Question } from 'survey-core';
2
+ import type { RenderOptions } from '../../ui/types';
3
+ export declare function TextElement({ question, opts }: {
4
+ question: Question;
5
+ opts: RenderOptions;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=TextElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextElement.d.ts","sourceRoot":"","sources":["../../../../src/lib/elements/types/TextElement.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAK3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAKnD,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,2CA8B1F"}
@@ -0,0 +1,9 @@
1
+ export type MessageKey = 'back' | 'next' | 'complete' | 'thanksTitle' | 'thanksHint' | 'selectPlaceholder' | 'wordCount' | 'pageXofY';
2
+ export type Messages = Record<MessageKey, string>;
3
+ export type Locale = 'en-US' | 'en-GB';
4
+ export declare function getLocaleMessages(locale?: string): Messages;
5
+ export declare function createTranslator({ locale, messages, }: {
6
+ locale?: string;
7
+ messages?: Partial<Messages>;
8
+ }): (key: MessageKey, vars?: Record<string, string | number>) => string;
9
+ //# sourceMappingURL=messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/lib/i18n/messages.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,MAAM,GACN,UAAU,GACV,aAAa,GACb,YAAY,GACZ,mBAAmB,GACnB,WAAW,GACX,UAAU,CAAA;AAEd,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;AAEjD,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,OAAO,CAAA;AAOtC,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAG3D;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,QAAQ,GACT,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;CAC7B,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,MAAM,CAatE"}
@@ -0,0 +1,8 @@
1
+ import { type IElement } from 'survey-core';
2
+ import type { RenderOptions } from './types';
3
+ export declare function BaseElement({ element, opts, children, }: {
4
+ element: IElement;
5
+ opts: RenderOptions;
6
+ children: React.ReactNode;
7
+ }): import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=BaseElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseElement.d.ts","sourceRoot":"","sources":["../../../src/lib/ui/BaseElement.tsx"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAA;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,OAAO,EAAE,QAAQ,CAAA;IACjB,IAAI,EAAE,aAAa,CAAA;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,2CAsCA"}
@@ -0,0 +1,6 @@
1
+ export declare function Checkmark({ active, duration, size, }: {
2
+ active: boolean;
3
+ duration: number;
4
+ size?: number;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=Checkmark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkmark.d.ts","sourceRoot":"","sources":["../../../src/lib/ui/Checkmark.tsx"],"names":[],"mappings":"AAEA,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,QAAQ,EACR,IAAS,GACV,EAAE;IACD,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,2CAuBA"}
@@ -0,0 +1,6 @@
1
+ import type { RenderOptions } from './types';
2
+ export declare function Errors({ errors, opts }: {
3
+ errors: string[];
4
+ opts: RenderOptions;
5
+ }): import("react/jsx-runtime").JSX.Element | null;
6
+ //# sourceMappingURL=Errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../../../src/lib/ui/Errors.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,wBAAgB,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,kDAoBjF"}
@@ -0,0 +1,18 @@
1
+ import type { MessageKey } from '../i18n/messages';
2
+ export type Translator = (key: MessageKey, vars?: Record<string, string | number>) => string;
3
+ export type RenderOptions = {
4
+ animate: boolean;
5
+ duration: number;
6
+ t: Translator;
7
+ /** Increments when the user attempts to proceed and validation fails (used for invalid animations). */
8
+ validationSeq: number;
9
+ /** 0-based index in current page (used for `showQuestionNumbers: 'onPage'`). */
10
+ questionIndex: number;
11
+ /** 0-based index across entire survey (used for `showQuestionNumbers: 'on'`). */
12
+ globalQuestionIndex: number;
13
+ /** SurveyJS: 'off' | 'on' | 'onPage'. */
14
+ showQuestionNumbers: 'off' | 'on' | 'onPage';
15
+ /** Where Radix portals (e.g. dropdown) should render; keeps styles/overrides scoped. */
16
+ portalContainer?: HTMLElement | null;
17
+ };
18
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/ui/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,MAAM,CAAA;AAE5F,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,CAAC,EAAE,UAAU,CAAA;IACb,uGAAuG;IACvG,aAAa,EAAE,MAAM,CAAA;IACrB,gFAAgF;IAChF,aAAa,EAAE,MAAM,CAAA;IACrB,iFAAiF;IACjF,mBAAmB,EAAE,MAAM,CAAA;IAC3B,yCAAyC;IACzC,mBAAmB,EAAE,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAA;IAC5C,wFAAwF;IACxF,eAAe,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CACrC,CAAA"}
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ :root{--msj-font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji", "Segoe UI Emoji";--msj-text: #0f172a;--msj-muted: #475569;--msj-border: #e2e8f0;--msj-surface: #ffffff;--msj-bg: #f8fafc;--msj-primary: #2563eb;--msj-primary-contrast: #ffffff;--msj-radius: 10px;--msj-boolean-true-bg: color-mix(in srgb, var(--msj-primary) 14%, white);--msj-boolean-true-text: var(--msj-primary);--msj-boolean-true-border: color-mix(in srgb, var(--msj-primary) 35%, var(--msj-border));--msj-boolean-false-bg: #f1f5f9;--msj-boolean-false-text: #475569;--msj-boolean-false-border: #cbd5e1}.msj--theme-business{--msj-primary: #1d4ed8;--msj-bg: #f3f4f6}.msj--theme-school{--msj-primary: #0f766e;--msj-bg: #fffbeb}.msj--theme-fashion{--msj-primary: #be185d;--msj-bg: #fff1f2}.msj--theme-cyber{--msj-text: #e2e8f0;--msj-muted: #94a3b8;--msj-border: rgba(148, 163, 184, .25);--msj-surface: rgba(2, 6, 23, .92);--msj-bg: #020617;--msj-primary: #22d3ee;--msj-primary-contrast: #020617}.msj{font-family:var(--msj-font-family);color:var(--msj-text);--msj-choice-option-border: none}.msj__card{background:var(--msj-surface);border:1px solid var(--msj-border);border-radius:var(--msj-radius);padding:20px;overflow:visible}.msj__title{font-size:20px;font-weight:650;margin:0 0 16px}.msj__question{margin:0 0 40px}.msj__questionInner{position:relative;border-radius:12px}.msj__questionInner:before{content:"";position:absolute;inset:0;border-radius:inherit;background-image:var(--msj-question-bg-image, none);background-size:cover;background-position:center;opacity:var(--msj-question-bg-opacity, 0);pointer-events:none}.msj__questionInner>*{position:relative}.msj__label{display:block;font-weight:600;margin:0 0 8px}.msj__hint{color:var(--msj-muted);font-size:12px;margin-top:4px}.msj__pageHeader{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:4px 0 14px}.msj__pageTitle{font-size:14px;font-weight:600;color:var(--msj-text)}.msj__pageNumber{font-size:12px;color:var(--msj-muted);white-space:nowrap}.msj__textareaWrap{position:relative}.msj__textareaWrap .msj__textarea{padding-bottom:30px}.msj__counter{position:absolute;right:10px;bottom:8px;color:var(--msj-muted);font-size:12px;line-height:1;padding:2px 6px;border-radius:8px;background:color-mix(in srgb,var(--msj-surface) 85%,transparent);pointer-events:none}.msj__error{color:#b91c1c;font-size:12px;margin-top:6px}.msj__question--invalid .msj__input,.msj__question--invalid .msj__select,.msj__question--invalid .msj__textarea,.msj__question--invalid .msj__selectTrigger{border-color:#ef4444;box-shadow:0 0 0 3px color-mix(in srgb,#ef4444 18%,transparent)}.msj__question--invalid .msj__label{color:color-mix(in srgb,var(--msj-text) 82%,#ef4444)}.msj__input,.msj__select,.msj__textarea{width:100%;box-sizing:border-box;border:1px solid var(--msj-border);border-radius:8px;padding:10px 12px;background:#fff;color:var(--msj-text)}.msj__inputWrap{transform-origin:center}.msj__textarea{min-height:88px;resize:vertical}.msj__fileDropZone{position:relative;display:flex;align-items:center;justify-content:center;min-height:100px;border:2px dashed var(--msj-border);border-radius:12px;background:color-mix(in srgb,var(--msj-primary) 2%,white);cursor:pointer;transition:border-color .15s ease}.msj__fileDropZone:hover{border-color:color-mix(in srgb,var(--msj-primary) 40%,var(--msj-border))}.msj__fileInput{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.msj__fileDropText{color:var(--msj-muted);font-size:14px;pointer-events:none}.msj__nav{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;margin-top:14px;align-items:center}.msj__nav--top{margin-top:0;margin-bottom:14px}.msj__navSlot{min-width:0}.msj__navSlot--left{justify-self:start}.msj__navSlot--center{justify-self:center}.msj__navSlot--right{justify-self:end}.msj__button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--msj-border);border-radius:8px;padding:10px 12px;background:#fff;color:var(--msj-text);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease}.msj__navIcon{display:inline-block;flex:0 0 auto;transition:transform .16s ease}.msj__button--nav:hover .msj__navIcon{transform:translate(-1px)}.msj__button--navPrimary:hover .msj__navIcon{transform:translate(2px)}.msj__button:hover{border-color:color-mix(in srgb,var(--msj-primary) 18%,var(--msj-border))}.msj__button--nav:hover{background:color-mix(in srgb,var(--msj-primary) 4%,white)}.msj__button--navPrimary{box-shadow:0 0 #0000}.msj__button--navPrimary:hover{box-shadow:0 6px 16px #0206171a}.msj__button--complete{padding-left:18px;padding-right:18px;box-shadow:0 8px 22px #0206171f}.msj__button--complete:hover{box-shadow:0 12px 28px #0206172e}.msj__button--primary{border-color:var(--msj-primary);background:var(--msj-primary);color:var(--msj-primary-contrast)}.msj__choiceList{display:grid;gap:10px}.msj__choiceList .msj__choice{margin:0}.msj__choice{display:flex;align-items:center;gap:8px}.msj__choiceOption{position:relative;width:100%;box-sizing:border-box;display:flex;align-items:center;gap:10px;padding:10px 12px;border:var(--msj-choice-option-border, 1px solid var(--msj-border));border-radius:10px;background:#fff;color:var(--msj-text);cursor:pointer;text-align:left}.msj__choiceOption:before{content:"";position:absolute;inset:0;border-radius:inherit;background:color-mix(in srgb,var(--msj-primary) 4%,transparent);opacity:0;transition:opacity .12s ease;pointer-events:none}.msj__choiceOption:hover:before{opacity:.8}.msj__choiceOption[data-state=checked]:hover:before{opacity:0}.msj__choiceOption:hover{border-color:color-mix(in srgb,var(--msj-primary) 18%,var(--msj-border));text-shadow:0 1px 2px color-mix(in srgb,var(--msj-muted) 20%,transparent)}.msj__choiceOption:focus-visible{outline:2px solid color-mix(in srgb,var(--msj-primary) 40%,transparent);outline-offset:2px}.msj__choiceOptionBg{position:absolute;inset:0;border-radius:inherit;background:color-mix(in srgb,var(--msj-primary) 14%,transparent);opacity:1;pointer-events:none}.msj__choiceOptionContent{position:relative;z-index:1;width:100%;display:inline-flex;align-items:center;gap:10px}.msj__labelInline{font-weight:600}.msj__checkbox{width:18px;height:18px;border:1px solid var(--msj-border);border-radius:4px;background:#fff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.msj__checkboxIndicator{color:var(--msj-primary);display:inline-flex;align-items:center;justify-content:center}.msj__checkmark{display:block}.msj__radioItem{width:18px;height:18px;border:1px solid var(--msj-border);border-radius:999px;background:#fff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;position:relative}.msj__radioIndicator{width:10px;height:10px;border-radius:999px;background:var(--msj-primary)}.msj__radioPulse{position:absolute;inset:0;margin:auto;width:10px;height:10px;border-radius:999px;background:var(--msj-primary);opacity:.25}.msj__selectTrigger{width:100%;box-sizing:border-box;border:1px solid var(--msj-border);border-radius:8px;padding:10px 12px;background:#fff;color:var(--msj-text);display:flex;align-items:center;justify-content:space-between;gap:10px}.msj__selectValue{font-family:var(--msj-font-family)}.msj__selectValue--placeholder,.msj__selectIcon{color:var(--msj-muted)}.msj__selectContent{font-family:var(--msj-font-family);color:var(--msj-text);background:var(--msj-surface);border:1px solid var(--msj-border);border-radius:10px;overflow:hidden;z-index:1000;min-width:var(--radix-select-trigger-width);max-height:var(--radix-select-content-available-height);box-shadow:0 10px 30px #02061724}.msj__selectViewport{padding:6px;max-height:260px;overflow:auto;font-family:var(--msj-font-family)}.msj__selectItem{padding:8px 10px;border-radius:8px;cursor:pointer;font-family:var(--msj-font-family)}.msj__selectItem[data-highlighted]{background:color-mix(in srgb,var(--msj-primary) 16%,transparent)}.msj__html{color:var(--msj-text);font-size:14px;line-height:1.5}.msj__image{display:block;max-width:100%;height:auto;border-radius:12px;border:1px solid var(--msj-border)}.msj__expression{border:1px solid var(--msj-border);border-radius:10px;padding:10px 12px;background:color-mix(in srgb,var(--msj-primary) 3%,white);color:var(--msj-text)}.msj__unsupported{color:var(--msj-muted);font-size:13px;padding:10px 12px;border:1px dashed color-mix(in srgb,var(--msj-border) 80%,transparent);border-radius:10px}.msj__rating{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.msj__ratingItem{position:relative;border:1px solid var(--msj-border);border-radius:10px;padding:10px 12px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.msj__ratingItemBg{position:absolute;inset:0;border-radius:inherit;background:color-mix(in srgb,var(--msj-primary) 14%,transparent)}.msj__ratingItemContent{position:relative;z-index:1;font-weight:600}.msj__multipleText{display:grid;gap:10px}.msj__multipleTextRow{display:grid;grid-template-columns:160px 1fr;gap:10px;align-items:center}@media(max-width:520px){.msj__multipleTextRow{grid-template-columns:1fr}}.msj__tagbox{display:flex;flex-wrap:wrap;gap:10px}.msj__tag{position:relative;border:1px solid var(--msj-border);border-radius:999px;padding:8px 14px;background:#fff;cursor:pointer;overflow:hidden}.msj__tag--active{border-color:color-mix(in srgb,var(--msj-primary) 35%,var(--msj-border));background:color-mix(in srgb,var(--msj-primary) 12%,white)}.msj__tagBg{position:absolute;inset:0;background:color-mix(in srgb,var(--msj-primary) 14%,transparent);border-radius:inherit;pointer-events:none}.msj__tagContent{position:relative;z-index:1}.msj__buttonGroup{display:flex;flex-wrap:wrap;gap:10px}.msj__buttonGroupItem{position:relative;border:1px solid var(--msj-border);border-radius:10px;padding:10px 12px;background:#fff;cursor:pointer}.msj__buttonGroupItemBg{position:absolute;inset:0;border-radius:inherit;background:color-mix(in srgb,var(--msj-primary) 14%,transparent)}.msj__buttonGroupItemContent{position:relative;z-index:1;font-weight:600}.msj__buttonGroupItem--true.msj__buttonGroupItem--active{border-color:var(--msj-boolean-true-border);color:var(--msj-boolean-true-text)}.msj__buttonGroupItem--true .msj__buttonGroupItemBg{background:var(--msj-boolean-true-bg)}.msj__buttonGroupItem--false.msj__buttonGroupItem--active{border-color:var(--msj-boolean-false-border);color:var(--msj-boolean-false-text)}.msj__buttonGroupItem--false .msj__buttonGroupItemBg{background:var(--msj-boolean-false-bg)}.msj__toggleSwitch{position:relative;width:100%;max-width:320px;height:48px;border-radius:999px;background:var(--msj-bg);border:1px solid var(--msj-border);-webkit-user-select:none;user-select:none;box-sizing:border-box}.msj__toggleTrack{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 20px;pointer-events:none}.msj__toggleTrackLabel{font-size:14px;font-weight:600;color:var(--msj-muted);z-index:0;width:50%;text-align:center}.msj__toggleTrackLabel--left{text-align:center;transform:translate(-10px)}.msj__toggleTrackLabel--right{text-align:center;transform:translate(10px)}.msj__toggleHandle{position:absolute;top:4px;bottom:4px;width:calc(50% - 6px);background:#fff;border-radius:999px;box-shadow:0 2px 6px #00000014;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;z-index:1;color:var(--msj-text);border:1px solid var(--msj-border);box-sizing:border-box}.msj__toggleHandle--true{background:var(--msj-boolean-true-bg);color:var(--msj-boolean-true-text);border-color:var(--msj-boolean-true-border)}.msj__toggleHandle--false{background:var(--msj-boolean-false-bg);color:var(--msj-boolean-false-text);border-color:var(--msj-boolean-false-border)}.msj__toggleInputs{position:absolute;inset:0;display:flex}.msj__toggleInput{flex:1;opacity:.001;cursor:pointer;margin:0;appearance:none;background:transparent;border:none;color:transparent;border-radius:999px}.msj__toggleSwitch:has(.msj__toggleInput:focus-visible){outline:2px solid var(--msj-primary);outline-offset:2px}.msj__imagePicker{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.msj__imagePickerItem{position:relative;border:1px solid var(--msj-border);border-radius:12px;padding:10px;background:#fff;cursor:pointer;text-align:left}.msj__imagePickerItemBg{position:absolute;inset:0;border-radius:inherit;background:color-mix(in srgb,var(--msj-primary) 12%,transparent)}.msj__imagePickerHoverBg{position:absolute;inset:0;border-radius:inherit;background:color-mix(in srgb,var(--msj-primary) 8%,transparent)}.msj__imagePickerImg{width:100%;height:100px;object-fit:cover;border-radius:10px;border:1px solid var(--msj-border)}.msj__imagePickerLabel{display:block;margin-top:8px;font-weight:600;position:relative;z-index:1}.msj__ranking{list-style:none;padding:0;margin:0;display:grid;gap:10px}.msj__rankingItem{display:flex;align-items:center;justify-content:space-between;gap:10px;border:var(--msj-ranking-item-border, 1px solid var(--msj-border));border-radius:10px;padding:10px 12px;background:var(--msj-ranking-item-bg, white);cursor:grab}.msj__rankingItem:active{cursor:grabbing}.msj__rankingContainer{display:grid;gap:20px}.msj__rankingContainer--horizontal{grid-template-columns:1fr 1fr}@media(max-width:600px){.msj__rankingContainer--horizontal{grid-template-columns:1fr}}.msj__rankingContainer--vertical{grid-template-columns:1fr}.msj__rankingArea{display:flex;flex-direction:column;gap:10px;min-height:100px;border:1px dashed var(--msj-border);border-radius:12px;padding:12px;background:color-mix(in srgb,var(--msj-bg) 50%,transparent)}.msj__rankingAreaTitle{font-size:14px;font-weight:600;color:var(--msj-muted);margin-bottom:4px}.msj__rankingEmpty{color:var(--msj-muted);font-size:13px;text-align:center;padding:20px;font-style:italic}.msj__rankingControls{display:inline-flex;gap:6px}.msj__miniButton{border:1px solid var(--msj-border);background:#fff;border-radius:8px;padding:6px 8px;cursor:pointer}.msj__signaturePadWrap{display:grid;gap:8px}.msj__signaturePad{width:100%;height:160px;border:1px solid var(--msj-border);border-radius:12px;background:#fff;touch-action:none}.msj__panel,.msj__panelDynamic{display:grid;gap:12px}.msj__panelDynamicItem{border:1px solid var(--msj-border);border-radius:12px;padding:12px;background:color-mix(in srgb,var(--msj-primary) 2%,white)}.msj__panelDynamicHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.msj__panelDynamicTitle{font-weight:650}.msj__matrix{display:grid;gap:10px}.msj__matrixHeader,.msj__matrixRow{display:grid;grid-template-columns:minmax(160px,1fr) repeat(var(--msj-matrix-cols, 1),minmax(46px,1fr));gap:8px;align-items:center}@media(max-width:520px){.msj__matrixHeader,.msj__matrixRow{grid-template-columns:minmax(120px,1fr) repeat(var(--msj-matrix-cols, 1),minmax(42px,1fr))}}.msj__matrixHeader{padding:0 2px}.msj__matrixHeaderCell{font-size:12px;color:var(--msj-muted);font-weight:650;text-align:center}.msj__matrixCorner{text-align:left}.msj__matrixRow{border:1px solid var(--msj-border);border-radius:12px;padding:10px 12px;background:#fff}.msj__matrixRowTitle{font-weight:650}.msj__matrixRowChoices{grid-column:2 / -1;display:grid;grid-template-columns:repeat(var(--msj-matrix-cols, 1),minmax(46px,1fr));gap:8px}.msj__matrixCell{border:var(--msj-matrix-cell-border, none);border-radius:10px;background:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:6px;width:100%}.msj__matrixCell[data-state=checked]{border-color:color-mix(in srgb,var(--msj-primary) 22%,var(--msj-border))}.msj__matrixCell:hover{border-color:color-mix(in srgb,var(--msj-primary) 18%,var(--msj-border))}
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "motion-surveyjs-ui",
3
+ "version": "0.1.0",
4
+ "description": "A modern React renderer for SurveyJS JSON models.",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "main": "./dist/index.cjs",
11
+ "module": "./dist/index.js",
12
+ "types": "./dist/index.d.ts",
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/index.d.ts",
16
+ "import": "./dist/index.js",
17
+ "require": "./dist/index.cjs"
18
+ },
19
+ "./styles.css": "./dist/style.css"
20
+ },
21
+ "sideEffects": [
22
+ "**/*.css"
23
+ ],
24
+ "scripts": {
25
+ "dev": "vite",
26
+ "build": "vite build && tsc -p tsconfig.build.json",
27
+ "typecheck": "tsc -p tsconfig.app.json --noEmit",
28
+ "test": "vitest run",
29
+ "test:watch": "vitest",
30
+ "lint": "eslint ."
31
+ },
32
+ "peerDependencies": {
33
+ "react": ">=18",
34
+ "react-dom": ">=18"
35
+ },
36
+ "dependencies": {
37
+ "@radix-ui/react-checkbox": "^1.3.3",
38
+ "@radix-ui/react-label": "^2.1.8",
39
+ "@radix-ui/react-radio-group": "^1.3.8",
40
+ "@radix-ui/react-select": "^2.2.6",
41
+ "@radix-ui/react-switch": "^1.2.6",
42
+ "lucide-react": "^0.562.0",
43
+ "motion": "^12.23.26",
44
+ "survey-core": "^2.5.0"
45
+ },
46
+ "devDependencies": {
47
+ "@eslint/js": "^9.39.1",
48
+ "@testing-library/jest-dom": "^6.9.1",
49
+ "@testing-library/react": "^16.3.0",
50
+ "@testing-library/user-event": "^14.6.1",
51
+ "@types/node": "^24.10.1",
52
+ "@types/react": "^19.2.5",
53
+ "@types/react-dom": "^19.2.3",
54
+ "@vitejs/plugin-react": "^5.1.1",
55
+ "eslint": "^9.39.1",
56
+ "eslint-plugin-react-hooks": "^7.0.1",
57
+ "eslint-plugin-react-refresh": "^0.4.24",
58
+ "globals": "^16.5.0",
59
+ "jsdom": "^27.3.0",
60
+ "typescript": "~5.9.3",
61
+ "typescript-eslint": "^8.46.4",
62
+ "vite": "^7.2.4",
63
+ "vitest": "^4.0.15"
64
+ }
65
+ }