@landform.io/sdk 0.1.2

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 (63) hide show
  1. package/dist/api/index.cjs +17 -0
  2. package/dist/api/index.cjs.map +1 -0
  3. package/dist/api/index.d.cts +48 -0
  4. package/dist/api/index.d.ts +48 -0
  5. package/dist/api/index.js +4 -0
  6. package/dist/api/index.js.map +1 -0
  7. package/dist/chunk-52W6RI6C.cjs +4 -0
  8. package/dist/chunk-52W6RI6C.cjs.map +1 -0
  9. package/dist/chunk-DASQI7IA.cjs +4 -0
  10. package/dist/chunk-DASQI7IA.cjs.map +1 -0
  11. package/dist/chunk-EL7YGOTY.js +3 -0
  12. package/dist/chunk-EL7YGOTY.js.map +1 -0
  13. package/dist/chunk-GVOTY5NG.js +3 -0
  14. package/dist/chunk-GVOTY5NG.js.map +1 -0
  15. package/dist/chunk-HUIMGLDC.js +488 -0
  16. package/dist/chunk-HUIMGLDC.js.map +1 -0
  17. package/dist/chunk-I6L5OCM3.js +1657 -0
  18. package/dist/chunk-I6L5OCM3.js.map +1 -0
  19. package/dist/chunk-IQXKFO6Q.cjs +55 -0
  20. package/dist/chunk-IQXKFO6Q.cjs.map +1 -0
  21. package/dist/chunk-P2GUKJHH.cjs +117 -0
  22. package/dist/chunk-P2GUKJHH.cjs.map +1 -0
  23. package/dist/chunk-PDUJU32P.js +687 -0
  24. package/dist/chunk-PDUJU32P.js.map +1 -0
  25. package/dist/chunk-PKHTPGWQ.js +114 -0
  26. package/dist/chunk-PKHTPGWQ.js.map +1 -0
  27. package/dist/chunk-V7WAYO2Q.js +48 -0
  28. package/dist/chunk-V7WAYO2Q.js.map +1 -0
  29. package/dist/chunk-WHV333XL.cjs +1684 -0
  30. package/dist/chunk-WHV333XL.cjs.map +1 -0
  31. package/dist/chunk-WIFNU3FA.cjs +497 -0
  32. package/dist/chunk-WIFNU3FA.cjs.map +1 -0
  33. package/dist/chunk-ZLOP4BTK.cjs +695 -0
  34. package/dist/chunk-ZLOP4BTK.cjs.map +1 -0
  35. package/dist/components/index.cjs +99 -0
  36. package/dist/components/index.cjs.map +1 -0
  37. package/dist/components/index.d.cts +166 -0
  38. package/dist/components/index.d.ts +166 -0
  39. package/dist/components/index.js +6 -0
  40. package/dist/components/index.js.map +1 -0
  41. package/dist/hooks/index.cjs +35 -0
  42. package/dist/hooks/index.cjs.map +1 -0
  43. package/dist/hooks/index.d.cts +75 -0
  44. package/dist/hooks/index.d.ts +75 -0
  45. package/dist/hooks/index.js +6 -0
  46. package/dist/hooks/index.js.map +1 -0
  47. package/dist/index-DoRZImTl.d.cts +590 -0
  48. package/dist/index-DoRZImTl.d.ts +590 -0
  49. package/dist/index.cjs +186 -0
  50. package/dist/index.cjs.map +1 -0
  51. package/dist/index.d.cts +8 -0
  52. package/dist/index.d.ts +8 -0
  53. package/dist/index.js +9 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/theme/index.cjs +61 -0
  56. package/dist/theme/index.cjs.map +1 -0
  57. package/dist/theme/index.d.cts +65 -0
  58. package/dist/theme/index.d.ts +65 -0
  59. package/dist/theme/index.js +4 -0
  60. package/dist/theme/index.js.map +1 -0
  61. package/dist/useForm-D1mB6REv.d.ts +48 -0
  62. package/dist/useForm-kF8xK1mJ.d.cts +48 -0
  63. package/package.json +101 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/theme/generateCSS.ts","../src/theme/injection.ts"],"names":[],"mappings":"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AA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CA+hBN,IAAA,EAAK;AACP;AAMO,SAAS,sBAAsB,KAAA,EAA0B;AAC/D,EAAA,MAAM,YAAA,GAAe,iBAAiB,KAAK,CAAA;AAC3C,EAAA,MAAM,kBAAkB,uBAAA,EAAwB;AAEhD,EAAA,OAAO,GAAG,YAAY;;AAAA,EAAO,eAAe,CAAA,CAAA;AAC7C;;;ACjpBA,IAAM,QAAA,GAAW,yBAAA;AACjB,IAAM,eAAA,GAAkB,oBAAA;AAKjB,SAAS,SAAA,GAAqB;AACpC,EAAA,OAAO,OAAO,MAAA,KAAW,WAAA,IAAe,OAAO,QAAA,KAAa,WAAA;AAC7D;AAMO,SAAS,eAAe,KAAA,EAA8B;AAC5D,EAAA,IAAI,CAAC,WAAU,EAAG;AACjB,IAAA,OAAO,MAAM;AAAA,IAAC,CAAA;AAAA,EACf;AAEA,EAAA,IAAI,OAAA,GAAU,QAAA,CAAS,cAAA,CAAe,QAAQ,CAAA;AAE9C,EAAA,IAAI,CAAC,OAAA,EAAS;AACb,IAAA,OAAA,GAAU,QAAA,CAAS,cAAc,OAAO,CAAA;AACxC,IAAA,OAAA,CAAQ,EAAA,GAAK,QAAA;AACb,IAAA,QAAA,CAAS,IAAA,CAAK,YAAY,OAAO,CAAA;AAAA,EAClC;AAEA,EAAA,OAAA,CAAQ,WAAA,GAAc,sBAAsB,KAAK,CAAA;AAGjD,EAAA,IAAI,MAAM,SAAA,EAAW;AACpB,IAAA,IAAI,gBAAgB,QAAA,CAAS,cAAA;AAAA,MAC5B;AAAA,KACD;AACA,IAAA,IAAI,CAAC,aAAA,EAAe;AACnB,MAAA,aAAA,GAAgB,QAAA,CAAS,cAAc,OAAO,CAAA;AAC9C,MAAA,aAAA,CAAc,EAAA,GAAK,eAAA;AACnB,MAAA,QAAA,CAAS,IAAA,CAAK,YAAY,aAAa,CAAA;AAAA,IACxC;AACA,IAAA,aAAA,CAAc,cAAc,KAAA,CAAM,SAAA;AAAA,EACnC;AAGA,EAAA,OAAO,MAAM;AACZ,IAAA,MAAM,EAAA,GAAK,QAAA,CAAS,cAAA,CAAe,QAAQ,CAAA;AAC3C,IAAA,IAAI,EAAA,KAAO,MAAA,EAAO;AAClB,IAAA,MAAM,QAAA,GAAW,QAAA,CAAS,cAAA,CAAe,eAAe,CAAA;AACxD,IAAA,IAAI,QAAA,WAAmB,MAAA,EAAO;AAAA,EAC/B,CAAA;AACD;AAKO,SAAS,kBAAkB,KAAA,EAA0B;AAC3D,EAAA,OAAO,sBAAsB,KAAK,CAAA;AACnC","file":"chunk-ZLOP4BTK.cjs","sourcesContent":["import type { FormTheme } from \"../types\";\n\n/**\n * Convert border radius enum to CSS value\n */\nexport function radiusToCSS(radius: FormTheme[\"borders\"][\"radius\"]): string {\n\tswitch (radius) {\n\t\tcase \"none\":\n\t\t\treturn \"0\";\n\t\tcase \"small\":\n\t\t\treturn \"4px\";\n\t\tcase \"medium\":\n\t\t\treturn \"8px\";\n\t\tcase \"large\":\n\t\t\treturn \"12px\";\n\t\tcase \"full\":\n\t\t\treturn \"9999px\";\n\t\tdefault:\n\t\t\treturn \"0\";\n\t}\n}\n\n/**\n * Generate CSS custom properties from theme\n * These variables use the --lf- prefix (Landform)\n */\nexport function generateThemeCSS(theme: FormTheme): string {\n\tconst t = theme;\n\n\treturn `\n:root {\n\t/* Colors - Base */\n\t--lf-color-primary: ${t.colors.primary};\n\t--lf-color-secondary: ${t.colors.secondary};\n\t--lf-color-accent: ${t.colors.accent};\n\n\t/* Colors - Backgrounds */\n\t--lf-color-background: ${t.colors.background};\n\t--lf-color-surface: ${t.colors.surfaceBackground};\n\t--lf-color-input-bg: ${t.colors.inputBackground};\n\t--lf-color-input-border: ${t.colors.inputBorder};\n\n\t/* Colors - Text */\n\t--lf-color-question: ${t.colors.questionText};\n\t--lf-color-answer: ${t.colors.answerText};\n\t--lf-color-placeholder: ${t.colors.placeholderText};\n\n\t/* Colors - Buttons */\n\t--lf-color-button-bg: ${t.colors.buttonBackground};\n\t--lf-color-button-text: ${t.colors.buttonText};\n\t--lf-color-button-hover: ${t.colors.buttonHoverBackground};\n\n\t/* Colors - Selection */\n\t--lf-color-selected-bg: ${t.colors.selectedBackground};\n\t--lf-color-selected-border: ${t.colors.selectedBorder};\n\n\t/* Colors - Feedback */\n\t--lf-color-error: ${t.colors.errorColor};\n\t--lf-color-success: ${t.colors.successColor};\n\n\t/* Colors - Progress */\n\t--lf-color-progress-bg: ${t.colors.progressBackground};\n\t--lf-color-progress-fill: ${t.colors.progressFill};\n\n\t/* Typography - Question */\n\t--lf-font-question: ${t.typography.questionFont.family};\n\t--lf-font-size-question: ${t.typography.questionFont.size};\n\t--lf-font-weight-question: ${t.typography.questionFont.weight};\n\t--lf-line-height-question: ${t.typography.questionFont.lineHeight};\n\t${t.typography.questionFont.letterSpacing ? `--lf-letter-spacing-question: ${t.typography.questionFont.letterSpacing};` : \"\"}\n\n\t/* Typography - Answer */\n\t--lf-font-answer: ${t.typography.answerFont.family};\n\t--lf-font-size-answer: ${t.typography.answerFont.size};\n\t--lf-font-weight-answer: ${t.typography.answerFont.weight};\n\t--lf-line-height-answer: ${t.typography.answerFont.lineHeight};\n\t${t.typography.answerFont.letterSpacing ? `--lf-letter-spacing-answer: ${t.typography.answerFont.letterSpacing};` : \"\"}\n\n\t/* Typography - Button */\n\t--lf-font-button: ${t.typography.buttonFont.family};\n\t--lf-font-size-button: ${t.typography.buttonFont.size};\n\t--lf-font-weight-button: ${t.typography.buttonFont.weight};\n\t--lf-line-height-button: ${t.typography.buttonFont.lineHeight};\n\n\t/* Spacing */\n\t--lf-spacing-question: ${t.spacing.questionGap};\n\t--lf-spacing-option: ${t.spacing.optionGap};\n\t--lf-spacing-container: ${t.spacing.containerPadding};\n\n\t/* Borders */\n\t--lf-border-width: ${t.borders.inputBorderWidth};\n\t--lf-border-style: ${t.borders.inputBorderStyle};\n\t--lf-border-radius: ${radiusToCSS(t.borders.radius)};\n\n\t/* Animations */\n\t--lf-transition-duration: ${t.animations.transitionDuration};\n\t--lf-transition-easing: ${t.animations.transitionEasing};\n}\n`.trim();\n}\n\n/**\n * Generate component-level CSS classes\n */\nexport function generateComponentStyles(): string {\n\treturn `\n/* ============================================================================\n Landform SDK - Component Styles\n ============================================================================ */\n\n/* Form Container */\n.lf-form {\n\tmin-height: 100vh;\n\tdisplay: flex;\n\tflex-direction: column;\n\tbackground-color: var(--lf-color-background);\n\tfont-family: var(--lf-font-answer);\n\tcolor: var(--lf-color-answer);\n}\n\n/* Question Container */\n.lf-question-container {\n\tflex: 1;\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\tpadding: var(--lf-spacing-container);\n\tmax-width: 720px;\n\tmargin: 0 auto;\n\twidth: 100%;\n}\n\n/* Question Title */\n.lf-question-title {\n\tfont-family: var(--lf-font-question);\n\tfont-size: var(--lf-font-size-question);\n\tfont-weight: var(--lf-font-weight-question);\n\tline-height: var(--lf-line-height-question);\n\tcolor: var(--lf-color-question);\n\tmargin: 0 0 0.5rem 0;\n}\n\n/* Question Description */\n.lf-question-description {\n\tcolor: var(--lf-color-answer);\n\topacity: 0.8;\n\tmargin: 0;\n}\n\n/* Required Indicator */\n.lf-required {\n\tcolor: var(--lf-color-error);\n}\n\n/* Input Base */\n.lf-input {\n\twidth: 100%;\n\tpadding: 0.75rem 1rem;\n\tfont-family: var(--lf-font-answer);\n\tfont-size: var(--lf-font-size-answer);\n\tcolor: var(--lf-color-answer);\n\tbackground-color: var(--lf-color-input-bg);\n\tborder: var(--lf-border-width) var(--lf-border-style) var(--lf-color-input-border);\n\tborder-radius: var(--lf-border-radius);\n\toutline: none;\n\ttransition: border-color var(--lf-transition-duration) var(--lf-transition-easing);\n}\n\n.lf-input:focus {\n\tborder-color: var(--lf-color-primary);\n}\n\n.lf-input::placeholder {\n\tcolor: var(--lf-color-placeholder);\n}\n\n/* Input Underline Style */\n.lf-input-underline {\n\twidth: 100%;\n\tpadding: 0.75rem 0;\n\tfont-family: var(--lf-font-answer);\n\tfont-size: var(--lf-font-size-answer);\n\tcolor: var(--lf-color-answer);\n\tbackground-color: transparent;\n\tborder: none;\n\tborder-bottom: var(--lf-border-width) var(--lf-border-style) var(--lf-color-input-border);\n\tborder-radius: 0;\n\toutline: none;\n\ttransition: border-color var(--lf-transition-duration) var(--lf-transition-easing);\n}\n\n.lf-input-underline:focus {\n\tborder-bottom-color: var(--lf-color-primary);\n}\n\n.lf-input-underline::placeholder {\n\tcolor: var(--lf-color-placeholder);\n}\n\n/* Choice Button */\n.lf-choice {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 0.75rem;\n\twidth: 100%;\n\tpadding: 1rem 1.25rem;\n\tfont-family: var(--lf-font-answer);\n\tfont-size: var(--lf-font-size-answer);\n\tcolor: var(--lf-color-answer);\n\tbackground-color: var(--lf-color-surface);\n\tborder: var(--lf-border-width) var(--lf-border-style) var(--lf-color-input-border);\n\tborder-radius: var(--lf-border-radius);\n\tcursor: pointer;\n\ttransition: all var(--lf-transition-duration) var(--lf-transition-easing);\n\ttext-align: left;\n}\n\n.lf-choice:hover {\n\tborder-color: var(--lf-color-primary);\n}\n\n.lf-choice-selected {\n\tbackground-color: var(--lf-color-selected-bg);\n\tborder-color: var(--lf-color-selected-border);\n}\n\n/* Key Hint */\n.lf-key-hint {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmin-width: 1.75rem;\n\theight: 1.75rem;\n\tpadding: 0 0.5rem;\n\tfont-size: 0.875rem;\n\tfont-weight: 500;\n\tcolor: var(--lf-color-answer);\n\tbackground-color: var(--lf-color-background);\n\tborder: 1px solid var(--lf-color-input-border);\n\tborder-radius: var(--lf-border-radius);\n}\n\n.lf-choice-selected .lf-key-hint {\n\tbackground-color: var(--lf-color-primary);\n\tborder-color: var(--lf-color-primary);\n\tcolor: var(--lf-color-button-text);\n}\n\n/* Button */\n.lf-button {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\tgap: 0.5rem;\n\tpadding: 0.75rem 1.5rem;\n\tfont-family: var(--lf-font-button);\n\tfont-size: var(--lf-font-size-button);\n\tfont-weight: var(--lf-font-weight-button);\n\tline-height: var(--lf-line-height-button);\n\tcolor: var(--lf-color-button-text);\n\tbackground-color: var(--lf-color-button-bg);\n\tborder: none;\n\tborder-radius: var(--lf-border-radius);\n\tcursor: pointer;\n\ttransition: background-color var(--lf-transition-duration) var(--lf-transition-easing);\n}\n\n.lf-button:hover {\n\tbackground-color: var(--lf-color-button-hover);\n}\n\n.lf-button:disabled {\n\topacity: 0.5;\n\tcursor: not-allowed;\n}\n\n/* Progress Bar */\n.lf-progress {\n\tbackground-color: var(--lf-color-progress-bg);\n\toverflow: hidden;\n}\n\n.lf-progress-fill {\n\tbackground-color: var(--lf-color-progress-fill);\n\ttransition: width var(--lf-transition-duration) var(--lf-transition-easing);\n}\n\n/* Rating Stars */\n.lf-rating-star {\n\tcursor: pointer;\n\tcolor: var(--lf-color-input-border);\n\ttransition: color var(--lf-transition-duration) var(--lf-transition-easing);\n}\n\n.lf-rating-star-active {\n\tcolor: var(--lf-color-primary);\n}\n\n.lf-rating-star:hover {\n\tcolor: var(--lf-color-primary);\n}\n\n/* Scale Button (Opinion Scale, NPS) */\n.lf-scale-button {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmin-width: 2.5rem;\n\theight: 2.5rem;\n\tpadding: 0.5rem;\n\tfont-family: var(--lf-font-answer);\n\tfont-size: var(--lf-font-size-answer);\n\tcolor: var(--lf-color-answer);\n\tbackground-color: var(--lf-color-surface);\n\tborder: var(--lf-border-width) var(--lf-border-style) var(--lf-color-input-border);\n\tborder-radius: var(--lf-border-radius);\n\tcursor: pointer;\n\ttransition: all var(--lf-transition-duration) var(--lf-transition-easing);\n}\n\n.lf-scale-button:hover {\n\tborder-color: var(--lf-color-primary);\n}\n\n.lf-scale-button-selected {\n\tbackground-color: var(--lf-color-primary);\n\tborder-color: var(--lf-color-primary);\n\tcolor: var(--lf-color-button-text);\n}\n\n/* Navigation */\n.lf-navigation {\n\tposition: fixed;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tpadding: 1rem var(--lf-spacing-container);\n\tbackground-color: var(--lf-color-background);\n\tborder-top: 1px solid var(--lf-color-input-border);\n}\n\n.lf-navigation-button {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tgap: 0.5rem;\n\tpadding: 0.5rem 1rem;\n\tfont-family: var(--lf-font-button);\n\tfont-size: 0.875rem;\n\tcolor: var(--lf-color-answer);\n\tbackground-color: transparent;\n\tborder: 1px solid var(--lf-color-input-border);\n\tborder-radius: var(--lf-border-radius);\n\tcursor: pointer;\n\ttransition: all var(--lf-transition-duration) var(--lf-transition-easing);\n}\n\n.lf-navigation-button:hover {\n\tborder-color: var(--lf-color-primary);\n\tcolor: var(--lf-color-primary);\n}\n\n.lf-navigation-button:disabled {\n\topacity: 0.3;\n\tcursor: not-allowed;\n}\n\n/* Error Message */\n.lf-error {\n\tcolor: var(--lf-color-error);\n\tfont-size: 0.875rem;\n\tmargin-top: 0.5rem;\n}\n\n/* Branding */\n.lf-branding {\n\tpadding: 1rem;\n\ttext-align: center;\n\tfont-size: 0.75rem;\n\tcolor: var(--lf-color-placeholder);\n}\n\n.lf-branding a {\n\tcolor: var(--lf-color-primary);\n\ttext-decoration: none;\n}\n\n.lf-branding a:hover {\n\ttext-decoration: underline;\n}\n\n/* Picture Choice Grid */\n.lf-picture-grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n\tgap: var(--lf-spacing-option);\n}\n\n.lf-picture-card {\n\tdisplay: flex;\n\tflex-direction: column;\n\toverflow: hidden;\n\tbackground-color: var(--lf-color-surface);\n\tborder: var(--lf-border-width) var(--lf-border-style) var(--lf-color-input-border);\n\tborder-radius: var(--lf-border-radius);\n\tcursor: pointer;\n\ttransition: all var(--lf-transition-duration) var(--lf-transition-easing);\n}\n\n.lf-picture-card:hover {\n\tborder-color: var(--lf-color-primary);\n}\n\n.lf-picture-card-selected {\n\tborder-color: var(--lf-color-selected-border);\n\tbackground-color: var(--lf-color-selected-bg);\n}\n\n.lf-picture-card img {\n\twidth: 100%;\n\taspect-ratio: 4/3;\n\tobject-fit: cover;\n}\n\n.lf-picture-card-label {\n\tpadding: 0.75rem;\n\ttext-align: center;\n\tfont-size: 0.875rem;\n}\n\n/* Welcome & Thank You Screens */\n.lf-screen {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tjustify-content: center;\n\ttext-align: center;\n\tmin-height: 100vh;\n\tpadding: var(--lf-spacing-container);\n}\n\n.lf-screen-title {\n\tfont-family: var(--lf-font-question);\n\tfont-size: calc(var(--lf-font-size-question) * 1.25);\n\tfont-weight: var(--lf-font-weight-question);\n\tcolor: var(--lf-color-question);\n\tmargin: 0 0 1rem 0;\n}\n\n.lf-screen-description {\n\tfont-size: var(--lf-font-size-answer);\n\tcolor: var(--lf-color-answer);\n\topacity: 0.8;\n\tmargin: 0 0 2rem 0;\n\tmax-width: 480px;\n}\n\n/* Slider */\n.lf-slider {\n\twidth: 100%;\n\theight: 8px;\n\tappearance: none;\n\tbackground: var(--lf-color-progress-bg);\n\tborder-radius: var(--lf-border-radius);\n\toutline: none;\n}\n\n.lf-slider::-webkit-slider-thumb {\n\tappearance: none;\n\twidth: 24px;\n\theight: 24px;\n\tbackground: var(--lf-color-primary);\n\tborder-radius: 50%;\n\tcursor: pointer;\n}\n\n.lf-slider::-moz-range-thumb {\n\twidth: 24px;\n\theight: 24px;\n\tbackground: var(--lf-color-primary);\n\tborder-radius: 50%;\n\tcursor: pointer;\n\tborder: none;\n}\n\n/* Signature Canvas */\n.lf-signature-canvas {\n\tborder: var(--lf-border-width) var(--lf-border-style) var(--lf-color-input-border);\n\tborder-radius: var(--lf-border-radius);\n\tbackground-color: var(--lf-color-input-bg);\n\tcursor: crosshair;\n}\n\n/* ============================================================================\n Component Variants - Card Style Choices (Quiz Template)\n ============================================================================ */\n\n.lf-choice-card {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\twidth: 100%;\n\tpadding: 1rem 1.25rem;\n\tfont-family: var(--lf-font-answer);\n\tfont-size: var(--lf-font-size-answer);\n\tcolor: var(--lf-color-answer);\n\tbackground-color: var(--lf-color-surface);\n\tborder: none;\n\tborder-radius: var(--lf-border-radius);\n\tcursor: pointer;\n\ttransition: all var(--lf-transition-duration) var(--lf-transition-easing);\n\ttext-align: left;\n}\n\n.lf-choice-card:hover {\n\tbackground-color: var(--lf-color-input-bg);\n\ttransform: translateY(-1px);\n}\n\n.lf-choice-card-selected {\n\tbackground-color: var(--lf-color-selected-bg);\n\tcolor: var(--lf-color-button-text);\n}\n\n.lf-choice-card-selected:hover {\n\tbackground-color: var(--lf-color-selected-bg);\n\ttransform: none;\n}\n\n/* Circular indicator for card choices */\n.lf-choice-indicator {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 24px;\n\theight: 24px;\n\tflex-shrink: 0;\n\ttransition: all var(--lf-transition-duration) var(--lf-transition-easing);\n}\n\n/* Checkmark indicator style (default) */\n.lf-choice-indicator-checkmark {\n\tborder-radius: 50%;\n\tborder: 2px solid var(--lf-color-input-border);\n}\n\n.lf-choice-card-selected .lf-choice-indicator-checkmark {\n\tbackground-color: var(--lf-color-button-text);\n\tborder-color: var(--lf-color-button-text);\n\tcolor: var(--lf-color-selected-bg);\n}\n\n/* Arrow indicator style - no border, SVG handles circle */\n.lf-choice-indicator svg {\n\twidth: 18px;\n\theight: 18px;\n}\n\n/* ============================================================================\n Component Variants - Bottom Bar Navigation (Quiz Template)\n ============================================================================ */\n\n.lf-navigation-bottom-bar {\n\tposition: fixed;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tgap: 1rem;\n\tpadding: 1.5rem var(--lf-spacing-container);\n\tbackground-color: var(--lf-color-background);\n}\n\n.lf-nav-btn-back {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tgap: 0.5rem;\n\tpadding: 0.875rem 1.5rem;\n\tfont-family: var(--lf-font-button);\n\tfont-size: var(--lf-font-size-button);\n\tfont-weight: var(--lf-font-weight-button);\n\tcolor: var(--lf-color-answer);\n\tbackground-color: var(--lf-color-background);\n\tborder: 1px solid var(--lf-color-input-border);\n\tborder-radius: var(--lf-border-radius);\n\tcursor: pointer;\n\ttransition: all var(--lf-transition-duration) var(--lf-transition-easing);\n}\n\n.lf-nav-btn-back:hover {\n\tbackground-color: var(--lf-color-surface);\n}\n\n.lf-nav-btn-back:disabled {\n\topacity: 0.4;\n\tcursor: not-allowed;\n}\n\n.lf-nav-btn-next {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tgap: 0.5rem;\n\tpadding: 0.875rem 2rem;\n\tfont-family: var(--lf-font-button);\n\tfont-size: var(--lf-font-size-button);\n\tfont-weight: var(--lf-font-weight-button);\n\tcolor: var(--lf-color-button-text);\n\tbackground-color: var(--lf-color-button-bg);\n\tborder: none;\n\tborder-radius: var(--lf-border-radius);\n\tcursor: pointer;\n\ttransition: all var(--lf-transition-duration) var(--lf-transition-easing);\n}\n\n.lf-nav-btn-next:hover {\n\tbackground-color: var(--lf-color-button-hover);\n}\n\n.lf-nav-btn-next:disabled {\n\topacity: 0.5;\n\tcursor: not-allowed;\n}\n\n/* ============================================================================\n Component Variants - Centered Header (Quiz Template)\n ============================================================================ */\n\n.lf-header-centered {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tpadding: 1.5rem var(--lf-spacing-container);\n}\n\n.lf-header-logo {\n\tmax-height: 48px;\n\twidth: auto;\n}\n\n.lf-header-brand {\n\tmargin-top: 0.5rem;\n\tfont-size: 0.875rem;\n\tcolor: var(--lf-color-placeholder);\n}\n`.trim();\n}\n\n/**\n * Generate inline CSS string for SSR\n * Returns complete CSS that can be embedded in HTML\n */\nexport function generateThemeStyleTag(theme: FormTheme): string {\n\tconst cssVariables = generateThemeCSS(theme);\n\tconst componentStyles = generateComponentStyles();\n\n\treturn `${cssVariables}\\n\\n${componentStyles}`;\n}\n","import { generateThemeStyleTag } from \"./generateCSS\";\nimport type { FormTheme } from \"../types\";\n\nconst STYLE_ID = \"lf-form-theme-variables\";\nconst CUSTOM_STYLE_ID = \"lf-form-custom-css\";\n\n/**\n * SSR-safe check if we're in browser\n */\nexport function isBrowser(): boolean {\n\treturn typeof window !== \"undefined\" && typeof document !== \"undefined\";\n}\n\n/**\n * Inject theme CSS into document head (client-side only)\n * Returns a cleanup function\n */\nexport function injectThemeCSS(theme: FormTheme): () => void {\n\tif (!isBrowser()) {\n\t\treturn () => {}; // No-op for SSR\n\t}\n\n\tlet styleEl = document.getElementById(STYLE_ID) as HTMLStyleElement | null;\n\n\tif (!styleEl) {\n\t\tstyleEl = document.createElement(\"style\");\n\t\tstyleEl.id = STYLE_ID;\n\t\tdocument.head.appendChild(styleEl);\n\t}\n\n\tstyleEl.textContent = generateThemeStyleTag(theme);\n\n\t// Handle custom CSS\n\tif (theme.customCSS) {\n\t\tlet customStyleEl = document.getElementById(\n\t\t\tCUSTOM_STYLE_ID\n\t\t) as HTMLStyleElement | null;\n\t\tif (!customStyleEl) {\n\t\t\tcustomStyleEl = document.createElement(\"style\");\n\t\t\tcustomStyleEl.id = CUSTOM_STYLE_ID;\n\t\t\tdocument.head.appendChild(customStyleEl);\n\t\t}\n\t\tcustomStyleEl.textContent = theme.customCSS;\n\t}\n\n\t// Return cleanup function\n\treturn () => {\n\t\tconst el = document.getElementById(STYLE_ID);\n\t\tif (el) el.remove();\n\t\tconst customEl = document.getElementById(CUSTOM_STYLE_ID);\n\t\tif (customEl) customEl.remove();\n\t};\n}\n\n/**\n * Get theme CSS as a string for SSR injection\n */\nexport function getThemeCSSForSSR(theme: FormTheme): string {\n\treturn generateThemeStyleTag(theme);\n}\n"]}
@@ -0,0 +1,99 @@
1
+ 'use strict';
2
+
3
+ var chunkWHV333XL_cjs = require('../chunk-WHV333XL.cjs');
4
+ require('../chunk-WIFNU3FA.cjs');
5
+ require('../chunk-ZLOP4BTK.cjs');
6
+ require('../chunk-P2GUKJHH.cjs');
7
+
8
+
9
+
10
+ Object.defineProperty(exports, "Branding", {
11
+ enumerable: true,
12
+ get: function () { return chunkWHV333XL_cjs.Branding; }
13
+ });
14
+ Object.defineProperty(exports, "ClosedScreen", {
15
+ enumerable: true,
16
+ get: function () { return chunkWHV333XL_cjs.ClosedScreen; }
17
+ });
18
+ Object.defineProperty(exports, "CookieConsent", {
19
+ enumerable: true,
20
+ get: function () { return chunkWHV333XL_cjs.CookieConsent; }
21
+ });
22
+ Object.defineProperty(exports, "FieldRenderer", {
23
+ enumerable: true,
24
+ get: function () { return chunkWHV333XL_cjs.FieldRenderer; }
25
+ });
26
+ Object.defineProperty(exports, "FormContainer", {
27
+ enumerable: true,
28
+ get: function () { return chunkWHV333XL_cjs.FormContainer; }
29
+ });
30
+ Object.defineProperty(exports, "FormProvider", {
31
+ enumerable: true,
32
+ get: function () { return chunkWHV333XL_cjs.FormProvider; }
33
+ });
34
+ Object.defineProperty(exports, "FormRenderer", {
35
+ enumerable: true,
36
+ get: function () { return chunkWHV333XL_cjs.FormRenderer; }
37
+ });
38
+ Object.defineProperty(exports, "MultipleChoice", {
39
+ enumerable: true,
40
+ get: function () { return chunkWHV333XL_cjs.MultipleChoice; }
41
+ });
42
+ Object.defineProperty(exports, "NavigationControls", {
43
+ enumerable: true,
44
+ get: function () { return chunkWHV333XL_cjs.NavigationControls; }
45
+ });
46
+ Object.defineProperty(exports, "NumberField", {
47
+ enumerable: true,
48
+ get: function () { return chunkWHV333XL_cjs.NumberField; }
49
+ });
50
+ Object.defineProperty(exports, "OpinionScale", {
51
+ enumerable: true,
52
+ get: function () { return chunkWHV333XL_cjs.OpinionScale; }
53
+ });
54
+ Object.defineProperty(exports, "ProgressBar", {
55
+ enumerable: true,
56
+ get: function () { return chunkWHV333XL_cjs.ProgressBar; }
57
+ });
58
+ Object.defineProperty(exports, "QuestionContainer", {
59
+ enumerable: true,
60
+ get: function () { return chunkWHV333XL_cjs.QuestionContainer; }
61
+ });
62
+ Object.defineProperty(exports, "QuestionHeader", {
63
+ enumerable: true,
64
+ get: function () { return chunkWHV333XL_cjs.QuestionHeader; }
65
+ });
66
+ Object.defineProperty(exports, "Rating", {
67
+ enumerable: true,
68
+ get: function () { return chunkWHV333XL_cjs.Rating; }
69
+ });
70
+ Object.defineProperty(exports, "Statement", {
71
+ enumerable: true,
72
+ get: function () { return chunkWHV333XL_cjs.Statement; }
73
+ });
74
+ Object.defineProperty(exports, "TextField", {
75
+ enumerable: true,
76
+ get: function () { return chunkWHV333XL_cjs.TextField; }
77
+ });
78
+ Object.defineProperty(exports, "ThankYouScreen", {
79
+ enumerable: true,
80
+ get: function () { return chunkWHV333XL_cjs.ThankYouScreen; }
81
+ });
82
+ Object.defineProperty(exports, "TimeToComplete", {
83
+ enumerable: true,
84
+ get: function () { return chunkWHV333XL_cjs.TimeToComplete; }
85
+ });
86
+ Object.defineProperty(exports, "WelcomeScreen", {
87
+ enumerable: true,
88
+ get: function () { return chunkWHV333XL_cjs.WelcomeScreen; }
89
+ });
90
+ Object.defineProperty(exports, "YesNo", {
91
+ enumerable: true,
92
+ get: function () { return chunkWHV333XL_cjs.YesNo; }
93
+ });
94
+ Object.defineProperty(exports, "useFormContext", {
95
+ enumerable: true,
96
+ get: function () { return chunkWHV333XL_cjs.useFormContext; }
97
+ });
98
+ //# sourceMappingURL=index.cjs.map
99
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.cjs"}
@@ -0,0 +1,166 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { U as UseFormOptions, a as UseFormReturn } from '../useForm-kF8xK1mJ.cjs';
3
+ import React from 'react';
4
+ import { F as FormContent, a2 as FormSettings, af as WelcomeScreen$1, ag as ThankYouScreen$1, p as FormField, a4 as FieldAnswer, S as ShortTextField, L as LongTextField, E as EmailField, W as WebsiteField, ah as NumberField$1, M as MultipleChoiceField, e as RatingField, O as OpinionScaleField, Y as YesNoField, i as StatementField } from '../index-DoRZImTl.cjs';
5
+
6
+ interface FormRendererProps extends UseFormOptions {
7
+ className?: string;
8
+ }
9
+ declare function FormRenderer(props: FormRendererProps): react_jsx_runtime.JSX.Element;
10
+
11
+ interface FormContextValue extends UseFormReturn {
12
+ content: FormContent;
13
+ settings: FormSettings;
14
+ }
15
+ declare function useFormContext(): FormContextValue;
16
+ interface FormProviderProps extends UseFormOptions {
17
+ children: React.ReactNode;
18
+ }
19
+ declare function FormProvider({ children, ...options }: FormProviderProps): react_jsx_runtime.JSX.Element;
20
+
21
+ interface FormContainerProps {
22
+ children: React.ReactNode;
23
+ className?: string;
24
+ }
25
+ declare function FormContainer({ children, className }: FormContainerProps): react_jsx_runtime.JSX.Element;
26
+
27
+ interface QuestionContainerProps {
28
+ children: React.ReactNode;
29
+ className?: string;
30
+ }
31
+ declare function QuestionContainer({ children, className }: QuestionContainerProps): react_jsx_runtime.JSX.Element;
32
+
33
+ declare function Branding(): react_jsx_runtime.JSX.Element | null;
34
+
35
+ interface WelcomeScreenProps {
36
+ screen: WelcomeScreen$1;
37
+ onStart: () => void;
38
+ }
39
+ declare function WelcomeScreen({ screen, onStart }: WelcomeScreenProps): react_jsx_runtime.JSX.Element;
40
+
41
+ interface ThankYouScreenProps {
42
+ screen: ThankYouScreen$1;
43
+ }
44
+ declare function ThankYouScreen({ screen }: ThankYouScreenProps): react_jsx_runtime.JSX.Element;
45
+
46
+ interface ClosedScreenProps {
47
+ title?: string;
48
+ message?: string;
49
+ type?: "scheduled" | "limit" | "closed";
50
+ }
51
+ declare function ClosedScreen({ title, message, type, }: ClosedScreenProps): react_jsx_runtime.JSX.Element;
52
+
53
+ declare function ProgressBar(): react_jsx_runtime.JSX.Element | null;
54
+
55
+ interface NavigationControlsProps {
56
+ onNext?: () => void;
57
+ onPrevious?: () => void;
58
+ }
59
+ declare function NavigationControls({ onNext, onPrevious }: NavigationControlsProps): react_jsx_runtime.JSX.Element | null;
60
+
61
+ declare function TimeToComplete(): react_jsx_runtime.JSX.Element | null;
62
+
63
+ interface CookieConsentProps {
64
+ onAccept: () => void;
65
+ }
66
+ declare function CookieConsent({ onAccept }: CookieConsentProps): react_jsx_runtime.JSX.Element | null;
67
+
68
+ interface FieldRendererProps {
69
+ field: FormField;
70
+ value: FieldAnswer | undefined;
71
+ error: string | null;
72
+ onChange: (value: FieldAnswer) => void;
73
+ onNext: (pendingValue?: FieldAnswer) => void;
74
+ showQuestionNumber?: boolean;
75
+ questionNumber?: number;
76
+ showKeyHints?: boolean;
77
+ systemMessages?: FormSettings["systemMessages"];
78
+ }
79
+ declare function FieldRenderer({ field, value, error, onChange, onNext, showQuestionNumber, questionNumber, showKeyHints, systemMessages, }: FieldRendererProps): react_jsx_runtime.JSX.Element;
80
+
81
+ interface QuestionHeaderProps {
82
+ field: FormField;
83
+ questionNumber?: number;
84
+ showQuestionNumber?: boolean;
85
+ }
86
+ declare function QuestionHeader({ field, questionNumber, showQuestionNumber, }: QuestionHeaderProps): react_jsx_runtime.JSX.Element;
87
+
88
+ type TextFieldType = ShortTextField | LongTextField | EmailField | WebsiteField;
89
+ interface TextFieldProps {
90
+ field: TextFieldType;
91
+ value: FieldAnswer | undefined;
92
+ error: string | null;
93
+ onChange: (value: FieldAnswer) => void;
94
+ onNext: () => void;
95
+ showQuestionNumber?: boolean;
96
+ questionNumber?: number;
97
+ }
98
+ declare function TextField({ field, value, error, onChange, onNext, showQuestionNumber, questionNumber, }: TextFieldProps): react_jsx_runtime.JSX.Element;
99
+
100
+ interface NumberFieldProps {
101
+ field: NumberField$1;
102
+ value: FieldAnswer | undefined;
103
+ error: string | null;
104
+ onChange: (value: FieldAnswer) => void;
105
+ onNext: () => void;
106
+ showQuestionNumber?: boolean;
107
+ questionNumber?: number;
108
+ }
109
+ declare function NumberField({ field, value, error, onChange, onNext, showQuestionNumber, questionNumber, }: NumberFieldProps): react_jsx_runtime.JSX.Element;
110
+
111
+ interface MultipleChoiceProps {
112
+ field: MultipleChoiceField;
113
+ value: FieldAnswer | undefined;
114
+ error: string | null;
115
+ onChange: (value: FieldAnswer) => void;
116
+ onNext: (pendingValue?: FieldAnswer) => void;
117
+ showQuestionNumber?: boolean;
118
+ questionNumber?: number;
119
+ showKeyHints?: boolean;
120
+ systemMessages?: FormSettings["systemMessages"];
121
+ }
122
+ declare function MultipleChoice({ field, value, error, onChange, onNext, showQuestionNumber, questionNumber, showKeyHints, systemMessages, }: MultipleChoiceProps): react_jsx_runtime.JSX.Element;
123
+
124
+ interface RatingProps {
125
+ field: RatingField;
126
+ value: FieldAnswer | undefined;
127
+ error: string | null;
128
+ onChange: (value: FieldAnswer) => void;
129
+ onNext: (pendingValue?: FieldAnswer) => void;
130
+ showQuestionNumber?: boolean;
131
+ questionNumber?: number;
132
+ }
133
+ declare function Rating({ field, value, error, onChange, onNext, showQuestionNumber, questionNumber, }: RatingProps): react_jsx_runtime.JSX.Element;
134
+
135
+ interface OpinionScaleProps {
136
+ field: OpinionScaleField;
137
+ value: FieldAnswer | undefined;
138
+ error: string | null;
139
+ onChange: (value: FieldAnswer) => void;
140
+ onNext: (pendingValue?: FieldAnswer) => void;
141
+ showQuestionNumber?: boolean;
142
+ questionNumber?: number;
143
+ }
144
+ declare function OpinionScale({ field, value, error, onChange, onNext, showQuestionNumber, questionNumber, }: OpinionScaleProps): react_jsx_runtime.JSX.Element;
145
+
146
+ interface YesNoProps {
147
+ field: YesNoField;
148
+ value: FieldAnswer | undefined;
149
+ error: string | null;
150
+ onChange: (value: FieldAnswer) => void;
151
+ onNext: (pendingValue?: FieldAnswer) => void;
152
+ showQuestionNumber?: boolean;
153
+ questionNumber?: number;
154
+ showKeyHints?: boolean;
155
+ }
156
+ declare function YesNo({ field, value, error, onChange, onNext, showQuestionNumber, questionNumber, showKeyHints, }: YesNoProps): react_jsx_runtime.JSX.Element;
157
+
158
+ interface StatementProps {
159
+ field: StatementField;
160
+ onNext: () => void;
161
+ showQuestionNumber?: boolean;
162
+ questionNumber?: number;
163
+ }
164
+ declare function Statement({ field, onNext, showQuestionNumber, questionNumber, }: StatementProps): react_jsx_runtime.JSX.Element;
165
+
166
+ export { Branding, ClosedScreen, type ClosedScreenProps, CookieConsent, type CookieConsentProps, FieldRenderer, type FieldRendererProps, FormContainer, type FormContainerProps, type FormContextValue, FormProvider, type FormProviderProps, FormRenderer, type FormRendererProps, MultipleChoice, type MultipleChoiceProps, NavigationControls, type NavigationControlsProps, NumberField, type NumberFieldProps, OpinionScale, type OpinionScaleProps, ProgressBar, QuestionContainer, type QuestionContainerProps, QuestionHeader, type QuestionHeaderProps, Rating, type RatingProps, Statement, type StatementProps, TextField, type TextFieldProps, ThankYouScreen, type ThankYouScreenProps, TimeToComplete, WelcomeScreen, type WelcomeScreenProps, YesNo, type YesNoProps, useFormContext };
@@ -0,0 +1,166 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { U as UseFormOptions, a as UseFormReturn } from '../useForm-D1mB6REv.js';
3
+ import React from 'react';
4
+ import { F as FormContent, a2 as FormSettings, af as WelcomeScreen$1, ag as ThankYouScreen$1, p as FormField, a4 as FieldAnswer, S as ShortTextField, L as LongTextField, E as EmailField, W as WebsiteField, ah as NumberField$1, M as MultipleChoiceField, e as RatingField, O as OpinionScaleField, Y as YesNoField, i as StatementField } from '../index-DoRZImTl.js';
5
+
6
+ interface FormRendererProps extends UseFormOptions {
7
+ className?: string;
8
+ }
9
+ declare function FormRenderer(props: FormRendererProps): react_jsx_runtime.JSX.Element;
10
+
11
+ interface FormContextValue extends UseFormReturn {
12
+ content: FormContent;
13
+ settings: FormSettings;
14
+ }
15
+ declare function useFormContext(): FormContextValue;
16
+ interface FormProviderProps extends UseFormOptions {
17
+ children: React.ReactNode;
18
+ }
19
+ declare function FormProvider({ children, ...options }: FormProviderProps): react_jsx_runtime.JSX.Element;
20
+
21
+ interface FormContainerProps {
22
+ children: React.ReactNode;
23
+ className?: string;
24
+ }
25
+ declare function FormContainer({ children, className }: FormContainerProps): react_jsx_runtime.JSX.Element;
26
+
27
+ interface QuestionContainerProps {
28
+ children: React.ReactNode;
29
+ className?: string;
30
+ }
31
+ declare function QuestionContainer({ children, className }: QuestionContainerProps): react_jsx_runtime.JSX.Element;
32
+
33
+ declare function Branding(): react_jsx_runtime.JSX.Element | null;
34
+
35
+ interface WelcomeScreenProps {
36
+ screen: WelcomeScreen$1;
37
+ onStart: () => void;
38
+ }
39
+ declare function WelcomeScreen({ screen, onStart }: WelcomeScreenProps): react_jsx_runtime.JSX.Element;
40
+
41
+ interface ThankYouScreenProps {
42
+ screen: ThankYouScreen$1;
43
+ }
44
+ declare function ThankYouScreen({ screen }: ThankYouScreenProps): react_jsx_runtime.JSX.Element;
45
+
46
+ interface ClosedScreenProps {
47
+ title?: string;
48
+ message?: string;
49
+ type?: "scheduled" | "limit" | "closed";
50
+ }
51
+ declare function ClosedScreen({ title, message, type, }: ClosedScreenProps): react_jsx_runtime.JSX.Element;
52
+
53
+ declare function ProgressBar(): react_jsx_runtime.JSX.Element | null;
54
+
55
+ interface NavigationControlsProps {
56
+ onNext?: () => void;
57
+ onPrevious?: () => void;
58
+ }
59
+ declare function NavigationControls({ onNext, onPrevious }: NavigationControlsProps): react_jsx_runtime.JSX.Element | null;
60
+
61
+ declare function TimeToComplete(): react_jsx_runtime.JSX.Element | null;
62
+
63
+ interface CookieConsentProps {
64
+ onAccept: () => void;
65
+ }
66
+ declare function CookieConsent({ onAccept }: CookieConsentProps): react_jsx_runtime.JSX.Element | null;
67
+
68
+ interface FieldRendererProps {
69
+ field: FormField;
70
+ value: FieldAnswer | undefined;
71
+ error: string | null;
72
+ onChange: (value: FieldAnswer) => void;
73
+ onNext: (pendingValue?: FieldAnswer) => void;
74
+ showQuestionNumber?: boolean;
75
+ questionNumber?: number;
76
+ showKeyHints?: boolean;
77
+ systemMessages?: FormSettings["systemMessages"];
78
+ }
79
+ declare function FieldRenderer({ field, value, error, onChange, onNext, showQuestionNumber, questionNumber, showKeyHints, systemMessages, }: FieldRendererProps): react_jsx_runtime.JSX.Element;
80
+
81
+ interface QuestionHeaderProps {
82
+ field: FormField;
83
+ questionNumber?: number;
84
+ showQuestionNumber?: boolean;
85
+ }
86
+ declare function QuestionHeader({ field, questionNumber, showQuestionNumber, }: QuestionHeaderProps): react_jsx_runtime.JSX.Element;
87
+
88
+ type TextFieldType = ShortTextField | LongTextField | EmailField | WebsiteField;
89
+ interface TextFieldProps {
90
+ field: TextFieldType;
91
+ value: FieldAnswer | undefined;
92
+ error: string | null;
93
+ onChange: (value: FieldAnswer) => void;
94
+ onNext: () => void;
95
+ showQuestionNumber?: boolean;
96
+ questionNumber?: number;
97
+ }
98
+ declare function TextField({ field, value, error, onChange, onNext, showQuestionNumber, questionNumber, }: TextFieldProps): react_jsx_runtime.JSX.Element;
99
+
100
+ interface NumberFieldProps {
101
+ field: NumberField$1;
102
+ value: FieldAnswer | undefined;
103
+ error: string | null;
104
+ onChange: (value: FieldAnswer) => void;
105
+ onNext: () => void;
106
+ showQuestionNumber?: boolean;
107
+ questionNumber?: number;
108
+ }
109
+ declare function NumberField({ field, value, error, onChange, onNext, showQuestionNumber, questionNumber, }: NumberFieldProps): react_jsx_runtime.JSX.Element;
110
+
111
+ interface MultipleChoiceProps {
112
+ field: MultipleChoiceField;
113
+ value: FieldAnswer | undefined;
114
+ error: string | null;
115
+ onChange: (value: FieldAnswer) => void;
116
+ onNext: (pendingValue?: FieldAnswer) => void;
117
+ showQuestionNumber?: boolean;
118
+ questionNumber?: number;
119
+ showKeyHints?: boolean;
120
+ systemMessages?: FormSettings["systemMessages"];
121
+ }
122
+ declare function MultipleChoice({ field, value, error, onChange, onNext, showQuestionNumber, questionNumber, showKeyHints, systemMessages, }: MultipleChoiceProps): react_jsx_runtime.JSX.Element;
123
+
124
+ interface RatingProps {
125
+ field: RatingField;
126
+ value: FieldAnswer | undefined;
127
+ error: string | null;
128
+ onChange: (value: FieldAnswer) => void;
129
+ onNext: (pendingValue?: FieldAnswer) => void;
130
+ showQuestionNumber?: boolean;
131
+ questionNumber?: number;
132
+ }
133
+ declare function Rating({ field, value, error, onChange, onNext, showQuestionNumber, questionNumber, }: RatingProps): react_jsx_runtime.JSX.Element;
134
+
135
+ interface OpinionScaleProps {
136
+ field: OpinionScaleField;
137
+ value: FieldAnswer | undefined;
138
+ error: string | null;
139
+ onChange: (value: FieldAnswer) => void;
140
+ onNext: (pendingValue?: FieldAnswer) => void;
141
+ showQuestionNumber?: boolean;
142
+ questionNumber?: number;
143
+ }
144
+ declare function OpinionScale({ field, value, error, onChange, onNext, showQuestionNumber, questionNumber, }: OpinionScaleProps): react_jsx_runtime.JSX.Element;
145
+
146
+ interface YesNoProps {
147
+ field: YesNoField;
148
+ value: FieldAnswer | undefined;
149
+ error: string | null;
150
+ onChange: (value: FieldAnswer) => void;
151
+ onNext: (pendingValue?: FieldAnswer) => void;
152
+ showQuestionNumber?: boolean;
153
+ questionNumber?: number;
154
+ showKeyHints?: boolean;
155
+ }
156
+ declare function YesNo({ field, value, error, onChange, onNext, showQuestionNumber, questionNumber, showKeyHints, }: YesNoProps): react_jsx_runtime.JSX.Element;
157
+
158
+ interface StatementProps {
159
+ field: StatementField;
160
+ onNext: () => void;
161
+ showQuestionNumber?: boolean;
162
+ questionNumber?: number;
163
+ }
164
+ declare function Statement({ field, onNext, showQuestionNumber, questionNumber, }: StatementProps): react_jsx_runtime.JSX.Element;
165
+
166
+ export { Branding, ClosedScreen, type ClosedScreenProps, CookieConsent, type CookieConsentProps, FieldRenderer, type FieldRendererProps, FormContainer, type FormContainerProps, type FormContextValue, FormProvider, type FormProviderProps, FormRenderer, type FormRendererProps, MultipleChoice, type MultipleChoiceProps, NavigationControls, type NavigationControlsProps, NumberField, type NumberFieldProps, OpinionScale, type OpinionScaleProps, ProgressBar, QuestionContainer, type QuestionContainerProps, QuestionHeader, type QuestionHeaderProps, Rating, type RatingProps, Statement, type StatementProps, TextField, type TextFieldProps, ThankYouScreen, type ThankYouScreenProps, TimeToComplete, WelcomeScreen, type WelcomeScreenProps, YesNo, type YesNoProps, useFormContext };
@@ -0,0 +1,6 @@
1
+ export { Branding, ClosedScreen, CookieConsent, FieldRenderer, FormContainer, FormProvider, FormRenderer, MultipleChoice, NavigationControls, NumberField, OpinionScale, ProgressBar, QuestionContainer, QuestionHeader, Rating, Statement, TextField, ThankYouScreen, TimeToComplete, WelcomeScreen, YesNo, useFormContext } from '../chunk-I6L5OCM3.js';
2
+ import '../chunk-HUIMGLDC.js';
3
+ import '../chunk-PDUJU32P.js';
4
+ import '../chunk-PKHTPGWQ.js';
5
+ //# sourceMappingURL=index.js.map
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ require('../chunk-DASQI7IA.cjs');
4
+ var chunkWIFNU3FA_cjs = require('../chunk-WIFNU3FA.cjs');
5
+ require('../chunk-ZLOP4BTK.cjs');
6
+ require('../chunk-P2GUKJHH.cjs');
7
+
8
+
9
+
10
+ Object.defineProperty(exports, "ThemeContext", {
11
+ enumerable: true,
12
+ get: function () { return chunkWIFNU3FA_cjs.ThemeContext; }
13
+ });
14
+ Object.defineProperty(exports, "useField", {
15
+ enumerable: true,
16
+ get: function () { return chunkWIFNU3FA_cjs.useField; }
17
+ });
18
+ Object.defineProperty(exports, "useForm", {
19
+ enumerable: true,
20
+ get: function () { return chunkWIFNU3FA_cjs.useForm; }
21
+ });
22
+ Object.defineProperty(exports, "useProgress", {
23
+ enumerable: true,
24
+ get: function () { return chunkWIFNU3FA_cjs.useProgress; }
25
+ });
26
+ Object.defineProperty(exports, "useTheme", {
27
+ enumerable: true,
28
+ get: function () { return chunkWIFNU3FA_cjs.useTheme; }
29
+ });
30
+ Object.defineProperty(exports, "useThemeContext", {
31
+ enumerable: true,
32
+ get: function () { return chunkWIFNU3FA_cjs.useThemeContext; }
33
+ });
34
+ //# sourceMappingURL=index.cjs.map
35
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.cjs"}
@@ -0,0 +1,75 @@
1
+ export { U as UseFormOptions, a as UseFormReturn, u as useForm } from '../useForm-kF8xK1mJ.cjs';
2
+ import { p as FormField, a4 as FieldAnswer, F as FormContent, a3 as ResponseAnswers, a1 as FormTheme } from '../index-DoRZImTl.cjs';
3
+ import React$1 from 'react';
4
+
5
+ interface UseFieldOptions {
6
+ field: FormField;
7
+ value: FieldAnswer | undefined;
8
+ error: string | null;
9
+ onChange: (value: FieldAnswer) => void;
10
+ onNext?: () => void;
11
+ }
12
+ interface UseFieldReturn {
13
+ ref: string;
14
+ type: FormField["type"];
15
+ title: string;
16
+ description?: string;
17
+ required: boolean;
18
+ value: FieldAnswer | undefined;
19
+ error: string | null;
20
+ isEmpty: boolean;
21
+ onChange: (value: FieldAnswer) => void;
22
+ onKeyDown: (e: React.KeyboardEvent) => void;
23
+ getInputProps: () => {
24
+ value: string;
25
+ onChange: (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>) => void;
26
+ onKeyDown: (e: React.KeyboardEvent) => void;
27
+ placeholder?: string;
28
+ "aria-invalid": boolean;
29
+ "aria-describedby"?: string;
30
+ };
31
+ getTextareaProps: () => {
32
+ value: string;
33
+ onChange: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;
34
+ placeholder?: string;
35
+ "aria-invalid": boolean;
36
+ "aria-describedby"?: string;
37
+ };
38
+ }
39
+ declare function useField(options: UseFieldOptions): UseFieldReturn;
40
+
41
+ interface UseProgressOptions {
42
+ content: FormContent;
43
+ answers: ResponseAnswers;
44
+ currentIndex: number;
45
+ }
46
+ interface ProgressSegment {
47
+ index: number;
48
+ fieldRef: string;
49
+ completed: boolean;
50
+ current: boolean;
51
+ }
52
+ interface UseProgressReturn {
53
+ totalFields: number;
54
+ answeredCount: number;
55
+ currentFieldIndex: number;
56
+ percentage: number;
57
+ segments: ProgressSegment[];
58
+ }
59
+ declare function useProgress(options: UseProgressOptions): UseProgressReturn;
60
+
61
+ declare const ThemeContext: React$1.Context<FormTheme | null>;
62
+ declare function useThemeContext(): FormTheme;
63
+ interface UseThemeOptions {
64
+ theme: FormTheme;
65
+ inject?: boolean;
66
+ }
67
+ interface UseThemeReturn {
68
+ theme: FormTheme;
69
+ cssVariables: string;
70
+ componentStyles: string;
71
+ backgroundStyle: React$1.CSSProperties;
72
+ }
73
+ declare function useTheme(options: UseThemeOptions): UseThemeReturn;
74
+
75
+ export { type ProgressSegment, ThemeContext, type UseFieldOptions, type UseFieldReturn, type UseProgressOptions, type UseProgressReturn, type UseThemeOptions, type UseThemeReturn, useField, useProgress, useTheme, useThemeContext };