@embedpdf/plugin-form 2.10.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 (174) hide show
  1. package/LICENSE +21 -0
  2. package/dist/index.cjs +2 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.ts +1 -0
  5. package/dist/index.js +1789 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/lib/actions.d.ts +33 -0
  8. package/dist/lib/form-plugin.d.ts +59 -0
  9. package/dist/lib/handlers/checkbox.handler.d.ts +3 -0
  10. package/dist/lib/handlers/combobox.handler.d.ts +3 -0
  11. package/dist/lib/handlers/index.d.ts +5 -0
  12. package/dist/lib/handlers/listbox.handler.d.ts +3 -0
  13. package/dist/lib/handlers/radio-button.handler.d.ts +3 -0
  14. package/dist/lib/handlers/text-field.handler.d.ts +3 -0
  15. package/dist/lib/index.d.ts +10 -0
  16. package/dist/lib/manifest.d.ts +4 -0
  17. package/dist/lib/reducer.d.ts +6 -0
  18. package/dist/lib/tools.d.ts +457 -0
  19. package/dist/lib/types.d.ts +98 -0
  20. package/dist/preact/adapter.d.ts +13 -0
  21. package/dist/preact/annotation.d.ts +1 -0
  22. package/dist/preact/core.d.ts +1 -0
  23. package/dist/preact/index.cjs +2 -0
  24. package/dist/preact/index.cjs.map +1 -0
  25. package/dist/preact/index.d.ts +1 -0
  26. package/dist/preact/index.js +1359 -0
  27. package/dist/preact/index.js.map +1 -0
  28. package/dist/react/adapter.d.ts +6 -0
  29. package/dist/react/annotation.d.ts +1 -0
  30. package/dist/react/core.d.ts +1 -0
  31. package/dist/react/index.cjs +2 -0
  32. package/dist/react/index.cjs.map +1 -0
  33. package/dist/react/index.d.ts +1 -0
  34. package/dist/react/index.js +1358 -0
  35. package/dist/react/index.js.map +1 -0
  36. package/dist/shared/components/annotations/form-checkbox.d.ts +12 -0
  37. package/dist/shared/components/annotations/form-combobox.d.ts +12 -0
  38. package/dist/shared/components/annotations/form-listbox.d.ts +12 -0
  39. package/dist/shared/components/annotations/form-radio-button.d.ts +12 -0
  40. package/dist/shared/components/annotations/form-text-field.d.ts +12 -0
  41. package/dist/shared/components/fields/checkbox.d.ts +2 -0
  42. package/dist/shared/components/fields/combobox.d.ts +2 -0
  43. package/dist/shared/components/fields/listbox.d.ts +2 -0
  44. package/dist/shared/components/fields/push-button.d.ts +2 -0
  45. package/dist/shared/components/fields/radio-button.d.ts +2 -0
  46. package/dist/shared/components/fields/style.d.ts +6 -0
  47. package/dist/shared/components/fields/text.d.ts +2 -0
  48. package/dist/shared/components/fill-mode/combobox-fill-mode.d.ts +3 -0
  49. package/dist/shared/components/fill-mode/listbox-fill-mode.d.ts +3 -0
  50. package/dist/shared/components/fill-mode/push-button-fill-mode.d.ts +3 -0
  51. package/dist/shared/components/fill-mode/radio-button-fill-mode.d.ts +3 -0
  52. package/dist/shared/components/fill-mode/text-fill-mode.d.ts +3 -0
  53. package/dist/shared/components/fill-mode/toggle-fill-mode.d.ts +3 -0
  54. package/dist/shared/components/form-renderer-registration.d.ts +5 -0
  55. package/dist/shared/components/form-renderers.d.ts +9 -0
  56. package/dist/shared/components/index.d.ts +2 -0
  57. package/dist/shared/components/render-widget.d.ts +12 -0
  58. package/dist/shared/components/types.d.ts +42 -0
  59. package/dist/shared/hooks/index.d.ts +1 -0
  60. package/dist/shared/hooks/use-form-widget-state.d.ts +12 -0
  61. package/dist/shared/hooks/use-form.d.ts +16 -0
  62. package/dist/shared/index.d.ts +4 -0
  63. package/dist/shared-preact/components/annotations/form-checkbox.d.ts +12 -0
  64. package/dist/shared-preact/components/annotations/form-combobox.d.ts +12 -0
  65. package/dist/shared-preact/components/annotations/form-listbox.d.ts +12 -0
  66. package/dist/shared-preact/components/annotations/form-radio-button.d.ts +12 -0
  67. package/dist/shared-preact/components/annotations/form-text-field.d.ts +12 -0
  68. package/dist/shared-preact/components/fields/checkbox.d.ts +2 -0
  69. package/dist/shared-preact/components/fields/combobox.d.ts +2 -0
  70. package/dist/shared-preact/components/fields/listbox.d.ts +2 -0
  71. package/dist/shared-preact/components/fields/push-button.d.ts +2 -0
  72. package/dist/shared-preact/components/fields/radio-button.d.ts +2 -0
  73. package/dist/shared-preact/components/fields/style.d.ts +6 -0
  74. package/dist/shared-preact/components/fields/text.d.ts +2 -0
  75. package/dist/shared-preact/components/fill-mode/combobox-fill-mode.d.ts +3 -0
  76. package/dist/shared-preact/components/fill-mode/listbox-fill-mode.d.ts +3 -0
  77. package/dist/shared-preact/components/fill-mode/push-button-fill-mode.d.ts +3 -0
  78. package/dist/shared-preact/components/fill-mode/radio-button-fill-mode.d.ts +3 -0
  79. package/dist/shared-preact/components/fill-mode/text-fill-mode.d.ts +3 -0
  80. package/dist/shared-preact/components/fill-mode/toggle-fill-mode.d.ts +3 -0
  81. package/dist/shared-preact/components/form-renderer-registration.d.ts +5 -0
  82. package/dist/shared-preact/components/form-renderers.d.ts +9 -0
  83. package/dist/shared-preact/components/index.d.ts +2 -0
  84. package/dist/shared-preact/components/render-widget.d.ts +12 -0
  85. package/dist/shared-preact/components/types.d.ts +42 -0
  86. package/dist/shared-preact/hooks/index.d.ts +1 -0
  87. package/dist/shared-preact/hooks/use-form-widget-state.d.ts +12 -0
  88. package/dist/shared-preact/hooks/use-form.d.ts +16 -0
  89. package/dist/shared-preact/index.d.ts +4 -0
  90. package/dist/shared-react/components/annotations/form-checkbox.d.ts +12 -0
  91. package/dist/shared-react/components/annotations/form-combobox.d.ts +12 -0
  92. package/dist/shared-react/components/annotations/form-listbox.d.ts +12 -0
  93. package/dist/shared-react/components/annotations/form-radio-button.d.ts +12 -0
  94. package/dist/shared-react/components/annotations/form-text-field.d.ts +12 -0
  95. package/dist/shared-react/components/fields/checkbox.d.ts +2 -0
  96. package/dist/shared-react/components/fields/combobox.d.ts +2 -0
  97. package/dist/shared-react/components/fields/listbox.d.ts +2 -0
  98. package/dist/shared-react/components/fields/push-button.d.ts +2 -0
  99. package/dist/shared-react/components/fields/radio-button.d.ts +2 -0
  100. package/dist/shared-react/components/fields/style.d.ts +6 -0
  101. package/dist/shared-react/components/fields/text.d.ts +2 -0
  102. package/dist/shared-react/components/fill-mode/combobox-fill-mode.d.ts +3 -0
  103. package/dist/shared-react/components/fill-mode/listbox-fill-mode.d.ts +3 -0
  104. package/dist/shared-react/components/fill-mode/push-button-fill-mode.d.ts +3 -0
  105. package/dist/shared-react/components/fill-mode/radio-button-fill-mode.d.ts +3 -0
  106. package/dist/shared-react/components/fill-mode/text-fill-mode.d.ts +3 -0
  107. package/dist/shared-react/components/fill-mode/toggle-fill-mode.d.ts +3 -0
  108. package/dist/shared-react/components/form-renderer-registration.d.ts +5 -0
  109. package/dist/shared-react/components/form-renderers.d.ts +9 -0
  110. package/dist/shared-react/components/index.d.ts +2 -0
  111. package/dist/shared-react/components/render-widget.d.ts +12 -0
  112. package/dist/shared-react/components/types.d.ts +42 -0
  113. package/dist/shared-react/hooks/index.d.ts +1 -0
  114. package/dist/shared-react/hooks/use-form-widget-state.d.ts +12 -0
  115. package/dist/shared-react/hooks/use-form.d.ts +16 -0
  116. package/dist/shared-react/index.d.ts +4 -0
  117. package/dist/svelte/components/FormRendererRegistration.svelte.d.ts +18 -0
  118. package/dist/svelte/components/RenderWidget.svelte.d.ts +11 -0
  119. package/dist/svelte/components/annotations/FormCheckbox.svelte.d.ts +5 -0
  120. package/dist/svelte/components/annotations/FormCombobox.svelte.d.ts +5 -0
  121. package/dist/svelte/components/annotations/FormListbox.svelte.d.ts +5 -0
  122. package/dist/svelte/components/annotations/FormRadioButton.svelte.d.ts +5 -0
  123. package/dist/svelte/components/annotations/FormTextField.svelte.d.ts +5 -0
  124. package/dist/svelte/components/fields/ComboboxField.svelte.d.ts +4 -0
  125. package/dist/svelte/components/fields/ListboxField.svelte.d.ts +4 -0
  126. package/dist/svelte/components/fields/TextField.svelte.d.ts +4 -0
  127. package/dist/svelte/components/fill-mode/ComboboxFillMode.svelte.d.ts +5 -0
  128. package/dist/svelte/components/fill-mode/ListboxFillMode.svelte.d.ts +5 -0
  129. package/dist/svelte/components/fill-mode/RadioButtonFillMode.svelte.d.ts +5 -0
  130. package/dist/svelte/components/fill-mode/TextFillMode.svelte.d.ts +5 -0
  131. package/dist/svelte/components/fill-mode/ToggleFillMode.svelte.d.ts +5 -0
  132. package/dist/svelte/components/form-renderers.d.ts +9 -0
  133. package/dist/svelte/components/previews/CheckboxPreview.svelte.d.ts +9 -0
  134. package/dist/svelte/components/previews/ListboxPreview.svelte.d.ts +9 -0
  135. package/dist/svelte/components/previews/RadioButtonPreview.svelte.d.ts +9 -0
  136. package/dist/svelte/components/previews/TextFieldPreview.svelte.d.ts +9 -0
  137. package/dist/svelte/hooks/index.d.ts +2 -0
  138. package/dist/svelte/hooks/use-form-widget-state.svelte.d.ts +12 -0
  139. package/dist/svelte/hooks/use-form.svelte.d.ts +14 -0
  140. package/dist/svelte/index.cjs +2 -0
  141. package/dist/svelte/index.cjs.map +1 -0
  142. package/dist/svelte/index.d.ts +3 -0
  143. package/dist/svelte/index.js +1567 -0
  144. package/dist/svelte/index.js.map +1 -0
  145. package/dist/vue/components/annotations/form-checkbox.vue.d.ts +6 -0
  146. package/dist/vue/components/annotations/form-combobox.vue.d.ts +6 -0
  147. package/dist/vue/components/annotations/form-listbox.vue.d.ts +6 -0
  148. package/dist/vue/components/annotations/form-radio-button.vue.d.ts +6 -0
  149. package/dist/vue/components/annotations/form-text-field.vue.d.ts +6 -0
  150. package/dist/vue/components/fields/combobox-field.vue.d.ts +4 -0
  151. package/dist/vue/components/fields/listbox-field.vue.d.ts +4 -0
  152. package/dist/vue/components/fields/style.d.ts +6 -0
  153. package/dist/vue/components/fields/text-field.vue.d.ts +4 -0
  154. package/dist/vue/components/fill-mode/combobox-fill-mode.vue.d.ts +6 -0
  155. package/dist/vue/components/fill-mode/listbox-fill-mode.vue.d.ts +6 -0
  156. package/dist/vue/components/fill-mode/radio-button-fill-mode.vue.d.ts +6 -0
  157. package/dist/vue/components/fill-mode/text-fill-mode.vue.d.ts +6 -0
  158. package/dist/vue/components/fill-mode/toggle-fill-mode.vue.d.ts +6 -0
  159. package/dist/vue/components/form-renderer-registration.vue.d.ts +13 -0
  160. package/dist/vue/components/form-renderers.d.ts +3 -0
  161. package/dist/vue/components/previews/checkbox-preview.vue.d.ts +10 -0
  162. package/dist/vue/components/previews/listbox-preview.vue.d.ts +10 -0
  163. package/dist/vue/components/previews/radio-button-preview.vue.d.ts +10 -0
  164. package/dist/vue/components/previews/text-field-preview.vue.d.ts +10 -0
  165. package/dist/vue/components/render-widget.vue.d.ts +15 -0
  166. package/dist/vue/hooks/index.d.ts +2 -0
  167. package/dist/vue/hooks/use-form-widget-state.d.ts +12 -0
  168. package/dist/vue/hooks/use-form.d.ts +12 -0
  169. package/dist/vue/index.cjs +2 -0
  170. package/dist/vue/index.cjs.map +1 -0
  171. package/dist/vue/index.d.ts +3 -0
  172. package/dist/vue/index.js +1643 -0
  173. package/dist/vue/index.js.map +1 -0
  174. package/package.json +84 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../src/vue/components/annotations/form-text-field.vue","../../src/vue/components/annotations/form-checkbox.vue","../../src/vue/components/annotations/form-radio-button.vue","../../src/vue/components/annotations/form-combobox.vue","../../src/vue/components/annotations/form-listbox.vue","../../src/vue/hooks/use-form.ts","../../src/vue/hooks/use-form-widget-state.ts","../../src/vue/components/render-widget.vue","../../src/vue/components/fields/style.ts","../../src/vue/components/fields/text-field.vue","../../src/vue/components/fill-mode/text-fill-mode.vue","../../src/vue/components/fill-mode/toggle-fill-mode.vue","../../src/vue/components/fill-mode/radio-button-fill-mode.vue","../../src/vue/components/fields/combobox-field.vue","../../src/vue/components/fill-mode/combobox-fill-mode.vue","../../src/vue/components/fields/listbox-field.vue","../../src/vue/components/fill-mode/listbox-fill-mode.vue","../../src/vue/components/previews/text-field-preview.vue","../../src/vue/components/previews/checkbox-preview.vue","../../src/vue/components/previews/radio-button-preview.vue","../../src/vue/components/previews/listbox-preview.vue","../../src/vue/components/form-renderers.ts","../../src/vue/components/form-renderer-registration.vue","../../src/vue/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } from 'vue';\nimport type { AnnotationRendererProps } from '@embedpdf/plugin-annotation/vue';\nimport type { PdfWidgetAnnoObject, PdfTextWidgetAnnoField } from '@embedpdf/models';\nimport {\n PDF_FORM_FIELD_TYPE,\n PDF_FORM_FIELD_FLAG,\n standardFontCssProperties,\n} from '@embedpdf/models';\n\nconst props = defineProps<AnnotationRendererProps<PdfWidgetAnnoObject>>();\n\nconst isHovered = ref(false);\n\nconst object = computed(() => props.currentObject);\nconst field = computed(() => object.value.field);\nconst isTextField = computed(() => field.value.type === PDF_FORM_FIELD_TYPE.TEXTFIELD);\nconst value = computed(() =>\n isTextField.value ? (field.value as PdfTextWidgetAnnoField).value : '',\n);\nconst isComb = computed(\n () =>\n isTextField.value &&\n !!(field.value.flag & PDF_FORM_FIELD_FLAG.TEXT_COMB) &&\n !!(field.value as PdfTextWidgetAnnoField).maxLen,\n);\nconst isMultiline = computed(\n () => isTextField.value && !!(field.value.flag & PDF_FORM_FIELD_FLAG.TEXT_MULTIPLINE),\n);\nconst maxLen = computed(() =>\n isTextField.value ? (field.value as PdfTextWidgetAnnoField).maxLen : undefined,\n);\nconst borderWidth = computed(() => (object.value.strokeWidth ?? 1) * props.scale);\nconst fontCss = computed(() => standardFontCssProperties(object.value.fontFamily));\nconst fontSize = computed(() => (object.value.fontSize ?? 12) * props.scale);\nconst fontColor = computed(() => object.value.fontColor ?? '#000000');\n\nconst cellWidth = computed(() =>\n isComb.value && maxLen.value ? (object.value.rect.size.width * props.scale) / maxLen.value : 0,\n);\nconst chars = computed(() => (value.value ?? '').split(''));\n</script>\n\n<template>\n <div\n @pointerdown=\"\n (e) => {\n if (!props.isSelected) props.onClick?.(e);\n }\n \"\n @mouseenter=\"isHovered = true\"\n @mouseleave=\"isHovered = false\"\n :style=\"{\n position: 'absolute',\n inset: '0',\n background: object.color ?? 'rgba(255, 255, 255, 0.9)',\n border: `${borderWidth}px solid ${object.strokeColor ?? 'rgba(0, 0, 0, 0.2)'}`,\n outline: isHovered || props.isSelected ? '1px solid rgba(66, 133, 244, 0.5)' : 'none',\n outlineOffset: '-1px',\n boxSizing: 'border-box',\n pointerEvents: 'auto',\n cursor: props.isSelected ? 'move' : 'pointer',\n display: 'flex',\n alignItems: isMultiline ? 'flex-start' : 'center',\n overflow: 'hidden',\n padding: !isComb ? `${borderWidth}px ${borderWidth}px` : undefined,\n }\"\n >\n <template v-if=\"isComb && maxLen\">\n <div style=\"position: relative; width: 100%; height: 100%\">\n <span\n v-for=\"(_, i) in Array.from({ length: maxLen })\"\n :key=\"i\"\n :style=\"{\n position: 'absolute',\n top: '0',\n left: `${i * cellWidth}px`,\n width: `${cellWidth}px`,\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRight:\n i < maxLen - 1 ? `1px solid ${object.strokeColor ?? 'rgba(0, 0, 0, 0.2)'}` : 'none',\n boxSizing: 'border-box',\n fontSize: `${fontSize}px`,\n fontFamily: fontCss.fontFamily,\n fontWeight: fontCss.fontWeight,\n fontStyle: fontCss.fontStyle,\n color: fontColor,\n lineHeight: '1.2',\n }\"\n >{{ chars[i] || '' }}</span\n >\n </div>\n </template>\n <template v-else>\n <span\n :style=\"{\n fontSize: `${fontSize}px`,\n fontFamily: fontCss.fontFamily,\n fontWeight: fontCss.fontWeight,\n fontStyle: fontCss.fontStyle,\n color: fontColor,\n lineHeight: '1.2',\n display: 'block',\n width: '100%',\n whiteSpace: isMultiline ? 'pre-wrap' : 'nowrap',\n wordBreak: isMultiline ? 'break-word' : 'normal',\n overflowWrap: isMultiline ? 'break-word' : 'normal',\n overflow: 'hidden',\n textOverflow: isMultiline ? 'clip' : 'ellipsis',\n }\"\n >{{ value }}</span\n >\n </template>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, ref } from 'vue';\nimport type { AnnotationRendererProps } from '@embedpdf/plugin-annotation/vue';\nimport type { PdfWidgetAnnoObject } from '@embedpdf/models';\nimport { isWidgetChecked } from '@embedpdf/models';\n\nconst props = defineProps<AnnotationRendererProps<PdfWidgetAnnoObject>>();\n\nconst isHovered = ref(false);\n\nconst object = computed(() => props.currentObject);\nconst isChecked = computed(() => isWidgetChecked(object.value));\nconst borderWidth = computed(() => (object.value.strokeWidth ?? 1) * props.scale);\n</script>\n\n<template>\n <div\n @pointerdown=\"\n (e) => {\n if (!props.isSelected) props.onClick?.(e);\n }\n \"\n @mouseenter=\"isHovered = true\"\n @mouseleave=\"isHovered = false\"\n :style=\"{\n position: 'absolute',\n inset: '0',\n background: object.color ?? '#FFFFFF',\n border: `${borderWidth}px solid ${object.strokeColor ?? '#000000'}`,\n outline: isHovered || props.isSelected ? '1px solid rgba(66, 133, 244, 0.5)' : 'none',\n outlineOffset: '-1px',\n boxSizing: 'border-box',\n pointerEvents: 'auto',\n cursor: props.isSelected ? 'move' : 'pointer',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }\"\n >\n <svg v-if=\"isChecked\" viewBox=\"0 0 100 100\" style=\"width: 100%; height: 100%\">\n <path\n d=\"M28 48C27.45 50.21 29.45 63.13 30 67C30.55 69.21 34.58 72 39 72C44.52 71.45 76.55 32.55 76 32C77.1 31.45 76 25 76 25C74.34 22.24 68 25.45 68 26C68 26 43.55 53 43 53C41.34 53 40.55 41.1 40 40C33.37 36.69 29.1 45.79 28 48Z\"\n fill=\"#000000\"\n />\n </svg>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, ref } from 'vue';\nimport type { AnnotationRendererProps } from '@embedpdf/plugin-annotation/vue';\nimport type { PdfWidgetAnnoObject } from '@embedpdf/models';\nimport { isWidgetChecked } from '@embedpdf/models';\n\nconst props = defineProps<AnnotationRendererProps<PdfWidgetAnnoObject>>();\n\nconst isHovered = ref(false);\n\nconst object = computed(() => props.currentObject);\nconst isChecked = computed(() => isWidgetChecked(object.value));\nconst borderWidth = computed(() => (object.value.strokeWidth ?? 1) * props.scale);\n</script>\n\n<template>\n <div\n @pointerdown=\"\n (e) => {\n if (!props.isSelected) props.onClick?.(e);\n }\n \"\n @mouseenter=\"isHovered = true\"\n @mouseleave=\"isHovered = false\"\n :style=\"{\n position: 'absolute',\n inset: '0',\n background: object.color ?? '#FFFFFF',\n border: `${borderWidth}px solid ${object.strokeColor ?? '#000000'}`,\n borderRadius: '50%',\n outline: isHovered || props.isSelected ? '1px solid rgba(66, 133, 244, 0.5)' : 'none',\n outlineOffset: '-1px',\n boxSizing: 'border-box',\n pointerEvents: 'auto',\n cursor: props.isSelected ? 'move' : 'pointer',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }\"\n >\n <div\n v-if=\"isChecked\"\n :style=\"{\n width: '50%',\n height: '50%',\n borderRadius: '50%',\n background: '#000000',\n }\"\n ></div>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, ref } from 'vue';\nimport type { AnnotationRendererProps } from '@embedpdf/plugin-annotation/vue';\nimport type { PdfWidgetAnnoObject } from '@embedpdf/models';\nimport { PDF_FORM_FIELD_TYPE, standardFontCssProperties } from '@embedpdf/models';\n\nconst props = defineProps<AnnotationRendererProps<PdfWidgetAnnoObject>>();\n\nconst isHovered = ref(false);\n\nconst object = computed(() => props.currentObject);\nconst field = computed(() => object.value.field);\nconst options = computed(() =>\n field.value.type === PDF_FORM_FIELD_TYPE.COMBOBOX ? field.value.options : [],\n);\nconst selectedLabel = computed(() => options.value.find((o) => o.isSelected)?.label ?? '');\nconst borderWidth = computed(() => (object.value.strokeWidth ?? 1) * props.scale);\nconst fontSize = computed(() => (object.value.fontSize ?? 12) * props.scale);\nconst fontCss = computed(() => standardFontCssProperties(object.value.fontFamily));\n</script>\n\n<template>\n <div\n @pointerdown=\"\n (e) => {\n if (!props.isSelected) props.onClick?.(e);\n }\n \"\n @mouseenter=\"isHovered = true\"\n @mouseleave=\"isHovered = false\"\n :style=\"{\n position: 'absolute',\n inset: '0',\n background: object.color ?? '#FFFFFF',\n border: `${borderWidth}px solid ${object.strokeColor ?? '#000000'}`,\n outline: isHovered || props.isSelected ? '1px solid rgba(66, 133, 244, 0.5)' : 'none',\n outlineOffset: '-1px',\n boxSizing: 'border-box',\n pointerEvents: 'auto',\n cursor: props.isSelected ? 'move' : 'pointer',\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n }\"\n >\n <span\n :style=\"{\n flex: '1',\n padding: `0 ${4 * props.scale}px`,\n fontSize: `${fontSize}px`,\n fontFamily: fontCss.fontFamily,\n fontWeight: fontCss.fontWeight,\n fontStyle: fontCss.fontStyle,\n color: object.fontColor ?? '#000000',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }\"\n >{{ selectedLabel }}</span\n >\n <div\n :style=\"{\n width: `${13 * props.scale}px`,\n minWidth: `${13 * props.scale}px`,\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderLeft: `1px solid ${object.strokeColor ?? '#000000'}`,\n }\"\n >\n <svg\n viewBox=\"0 0 10 6\"\n :style=\"{ width: `${8 * props.scale}px`, height: `${5 * props.scale}px` }\"\n fill=\"currentColor\"\n >\n <path d=\"M0 0 L5 6 L10 0 Z\" />\n </svg>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, ref } from 'vue';\nimport type { AnnotationRendererProps } from '@embedpdf/plugin-annotation/vue';\nimport type { PdfWidgetAnnoObject } from '@embedpdf/models';\nimport { PDF_FORM_FIELD_TYPE, standardFontCssProperties } from '@embedpdf/models';\n\nconst props = defineProps<AnnotationRendererProps<PdfWidgetAnnoObject>>();\n\nconst isHovered = ref(false);\n\nconst object = computed(() => props.currentObject);\nconst field = computed(() => object.value.field);\nconst options = computed(() =>\n field.value.type === PDF_FORM_FIELD_TYPE.LISTBOX ? field.value.options : [],\n);\nconst borderWidth = computed(() => (object.value.strokeWidth ?? 1) * props.scale);\nconst fontSize = computed(() => (object.value.fontSize ?? 12) * props.scale);\nconst lineHeight = computed(() => fontSize.value * 1.2);\nconst fontCss = computed(() => standardFontCssProperties(object.value.fontFamily));\n</script>\n\n<template>\n <div\n @pointerdown=\"\n (e) => {\n if (!props.isSelected) props.onClick?.(e);\n }\n \"\n @mouseenter=\"isHovered = true\"\n @mouseleave=\"isHovered = false\"\n :style=\"{\n position: 'absolute',\n inset: '0',\n background: object.color ?? '#FFFFFF',\n border: `${borderWidth}px solid ${object.strokeColor ?? '#000000'}`,\n outline: isHovered || props.isSelected ? '1px solid rgba(66, 133, 244, 0.5)' : 'none',\n outlineOffset: '-1px',\n boxSizing: 'border-box',\n pointerEvents: 'auto',\n cursor: props.isSelected ? 'move' : 'pointer',\n overflow: 'hidden',\n display: 'flex',\n flexDirection: 'column',\n }\"\n >\n <div\n v-for=\"(opt, i) in options\"\n :key=\"i\"\n :style=\"{\n padding: `0 ${4 * props.scale}px`,\n fontSize: `${fontSize}px`,\n lineHeight: `${lineHeight}px`,\n fontFamily: fontCss.fontFamily,\n fontWeight: fontCss.fontWeight,\n fontStyle: fontCss.fontStyle,\n color: opt.isSelected ? '#FFFFFF' : (object.fontColor ?? '#000000'),\n background: opt.isSelected ? 'rgba(0, 51, 113, 1)' : 'transparent',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }\"\n >\n {{ opt.label }}\n </div>\n </div>\n</template>\n","import { ref, watch, computed, toValue, type MaybeRefOrGetter } from 'vue';\nimport { useCapability, usePlugin } from '@embedpdf/core/vue';\nimport { FormPlugin, FormDocumentState, initialDocumentState } from '@embedpdf/plugin-form';\n\nexport const useFormPlugin = () => usePlugin<FormPlugin>(FormPlugin.id);\nexport const useFormCapability = () => useCapability<FormPlugin>(FormPlugin.id);\n\nexport const useFormDocumentState = (documentId: MaybeRefOrGetter<string>) => {\n const { provides } = useFormCapability();\n const state = ref<FormDocumentState>({ ...initialDocumentState });\n\n watch(\n [provides, () => toValue(documentId)],\n ([providesValue, docId], _, onCleanup) => {\n if (providesValue && docId) {\n const scope = providesValue.forDocument(docId);\n state.value = scope.getState();\n\n const unsubscribe = scope.onStateChange((newState) => {\n state.value = newState;\n });\n onCleanup(unsubscribe);\n } else {\n state.value = { ...initialDocumentState };\n }\n },\n { immediate: true },\n );\n\n return {\n state,\n provides: computed(() => provides.value?.forDocument(toValue(documentId)) ?? null),\n };\n};\n","import { ref, computed, watchEffect } from 'vue';\nimport { PDF_FORM_FIELD_FLAG, PdfWidgetAnnoField, PdfWidgetAnnoObject } from '@embedpdf/models';\nimport type { AnnotationRendererProps } from '@embedpdf/plugin-annotation/vue';\nimport { useFormCapability } from './use-form';\n\nexport function useFormWidgetState(props: AnnotationRendererProps<PdfWidgetAnnoObject>) {\n const { provides: formProvides } = useFormCapability();\n const renderKey = ref(0);\n\n const scope = computed(() => formProvides.value?.forDocument(props.documentId) ?? null);\n const annotation = computed(() => props.currentObject);\n const field = computed(() => annotation.value.field);\n const scale = computed(() => props.scale);\n const pageIndex = computed(() => props.pageIndex);\n const isReadOnly = computed(() => !!(field.value.flag & PDF_FORM_FIELD_FLAG.READONLY));\n\n watchEffect((onCleanup) => {\n const s = scope.value;\n if (!s) return;\n const id = annotation.value.id;\n const unsubscribe = s.onFieldValueChange((event) => {\n if (event.annotationId === id) {\n renderKey.value++;\n }\n });\n onCleanup(unsubscribe);\n });\n\n function handleChangeField(newField: PdfWidgetAnnoField) {\n const s = scope.value;\n if (!s) return;\n s.setFormFieldValues(pageIndex.value, annotation.value, newField);\n }\n\n return {\n annotation,\n field,\n scale,\n pageIndex,\n scope,\n handleChangeField,\n renderKey,\n isReadOnly,\n };\n}\n","<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue';\nimport type { PdfWidgetAnnoObject } from '@embedpdf/models';\nimport { ignore, PdfErrorCode } from '@embedpdf/models';\nimport { useFormCapability } from '../hooks/use-form';\nimport { deepToRaw } from '@embedpdf/utils/vue';\n\nconst props = withDefaults(\n defineProps<{\n pageIndex: number;\n annotation: PdfWidgetAnnoObject;\n scaleFactor?: number;\n renderKey?: number;\n style?: Record<string, string>;\n }>(),\n {\n scaleFactor: 1,\n renderKey: 0,\n style: () => ({}),\n },\n);\n\nconst { provides: formProvides } = useFormCapability();\nconst imageUrl = ref<string | null>(null);\nlet prevUrl: string | null = null;\n\nconst annotationId = computed(() => props.annotation.id);\nconst rectWidth = computed(() => props.annotation.rect.size.width);\nconst rectHeight = computed(() => props.annotation.rect.size.height);\n\nwatch(\n () => [\n props.pageIndex,\n props.scaleFactor,\n props.renderKey,\n annotationId.value,\n rectWidth.value,\n rectHeight.value,\n formProvides.value,\n ],\n (_, __, onCleanup) => {\n const fp = formProvides.value;\n if (!fp) return;\n\n const task = fp.renderWidget({\n pageIndex: props.pageIndex,\n annotation: deepToRaw(props.annotation),\n options: {\n scaleFactor: props.scaleFactor,\n dpr: window.devicePixelRatio,\n },\n });\n\n task.wait((blob) => {\n const url = URL.createObjectURL(blob);\n if (prevUrl) {\n URL.revokeObjectURL(prevUrl);\n }\n prevUrl = url;\n imageUrl.value = url;\n }, ignore);\n\n onCleanup(() => {\n task.abort({\n code: PdfErrorCode.Cancelled,\n message: 'canceled render task',\n });\n if (prevUrl) {\n URL.revokeObjectURL(prevUrl);\n prevUrl = null;\n }\n });\n },\n { immediate: true },\n);\n</script>\n\n<template>\n <img\n v-if=\"imageUrl\"\n :src=\"imageUrl\"\n alt=\"\"\n :style=\"{ width: '100%', height: '100%', display: 'block', ...style }\"\n />\n</template>\n","import type { CSSProperties } from 'vue';\n\nconst baseStyle: CSSProperties = {\n position: 'absolute',\n top: 0,\n left: 0,\n padding: 0,\n margin: 0,\n width: '100%',\n height: '100%',\n};\n\nconst baseInputStyle: CSSProperties = {\n ...baseStyle,\n borderRadius: 0,\n outline: 'none',\n boxSizing: 'border-box',\n};\n\nexport const checkboxStyle: CSSProperties = {\n ...baseStyle,\n borderRadius: 0,\n backgroundColor: 'transparent',\n borderWidth: 0,\n borderStyle: 'none',\n outline: 'none',\n};\n\nexport const inputStyle: CSSProperties = baseInputStyle;\n\nexport const selectStyle: CSSProperties = {\n ...baseInputStyle,\n cursor: 'inherit',\n};\n\nexport const textareaStyle: CSSProperties = {\n ...baseInputStyle,\n resize: 'none',\n lineHeight: 1.14,\n};\n\nexport const buttonStyle: CSSProperties = baseStyle;\n","<script setup lang=\"ts\">\nimport { computed, ref, watch, type CSSProperties } from 'vue';\nimport { PDF_FORM_FIELD_FLAG, standardFontCssProperties } from '@embedpdf/models';\nimport type { TextFieldProps } from '../../../shared/components/types';\nimport { inputStyle, textareaStyle } from './style';\nimport { useIOSZoomPrevention } from '@embedpdf/plugin-annotation/vue';\n\nconst props = defineProps<TextFieldProps>();\n\nconst field = computed(() => props.annotation.field);\nconst flag = computed(() => field.value.flag);\nconst name = computed(() => field.value.name);\nconst value = computed(() => field.value.value);\n\nconst localValue = ref(value.value);\n\nwatch(value, (v) => {\n if (!props.syncExternalValue) return;\n localValue.value = v;\n});\n\nfunction changeValue(evt: Event) {\n const newValue = (evt.target as HTMLInputElement).value;\n localValue.value = newValue;\n props.onChangeField?.({ ...field.value, value: newValue });\n}\n\nconst bw = computed(() => (props.annotation.strokeWidth ?? 0) * props.scale);\nconst fontCss = computed(() => standardFontCssProperties(props.annotation.fontFamily));\nconst computedFontPx = computed(() => props.annotation.fontSize * props.scale);\n\nconst iosCompensation = useIOSZoomPrevention(computedFontPx, true);\n\nconst visualStyle = computed<CSSProperties>(() => ({\n backgroundColor: props.annotation.color ?? 'transparent',\n borderStyle: 'solid',\n borderColor: props.annotation.strokeColor ?? 'transparent',\n borderWidth: `${bw.value}px`,\n color: props.annotation.fontColor,\n ...fontCss.value,\n fontSize: `${iosCompensation.value.adjustedFontPx}px`,\n padding: `${bw.value}px ${bw.value}px`,\n}));\n\nconst isDisabled = computed(\n () => !props.isEditable || !!(flag.value & PDF_FORM_FIELD_FLAG.READONLY),\n);\nconst isRequired = computed(() => !!(flag.value & PDF_FORM_FIELD_FLAG.REQUIRED));\nconst isPassword = computed(() => !!(flag.value & PDF_FORM_FIELD_FLAG.TEXT_PASSWORD));\nconst isMultipleLine = computed(() => !!(flag.value & PDF_FORM_FIELD_FLAG.TEXT_MULTIPLINE));\nconst isComb = computed(() => !!(flag.value & PDF_FORM_FIELD_FLAG.TEXT_COMB));\nconst maxLen = computed(() => field.value.maxLen);\n\nconst cellWidth = computed(() =>\n isComb.value && maxLen.value\n ? (props.annotation.rect.size.width * props.scale) / maxLen.value\n : 0,\n);\nconst chars = computed(() => (localValue.value || '').split(''));\nconst caretIndex = computed(() => chars.value.length);\n\nconst caretVisible = ref(true);\nlet caretInterval: ReturnType<typeof setInterval> | undefined;\n\nwatch(\n caretIndex,\n () => {\n caretVisible.value = true;\n clearInterval(caretInterval);\n caretInterval = setInterval(() => {\n caretVisible.value = !caretVisible.value;\n }, 530);\n },\n { immediate: true },\n);\n\nconst combContainerStyle = computed<CSSProperties>(() => ({\n position: 'relative',\n width: '100%',\n height: '100%',\n borderRadius: 0,\n boxSizing: 'border-box',\n backgroundColor: props.annotation.color ?? 'transparent',\n borderStyle: 'solid',\n borderColor: props.annotation.strokeColor ?? 'transparent',\n borderWidth: `${bw.value}px`,\n}));\n\nconst cellFontStyle = computed<CSSProperties>(() => ({\n color: props.annotation.fontColor,\n ...fontCss.value,\n fontSize: `${iosCompensation.value.adjustedFontPx}px`,\n}));\n\nfunction setInputRef(el: any) {\n props.inputRef?.(el as HTMLElement | null);\n}\n</script>\n\n<template>\n <template v-if=\"isComb && maxLen\">\n <div v-if=\"iosCompensation.wrapperStyle\" :style=\"iosCompensation.wrapperStyle\">\n <div :style=\"combContainerStyle\">\n <input\n :ref=\"setInputRef\"\n :required=\"isRequired\"\n :disabled=\"isDisabled\"\n :type=\"isPassword ? 'password' : 'text'\"\n :name=\"name\"\n :aria-label=\"name\"\n :value=\"localValue\"\n :maxlength=\"maxLen\"\n @focus=\"props.onFocus?.()\"\n @input=\"changeValue\"\n @blur=\"props.onBlur?.()\"\n :style=\"{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n opacity: 0,\n padding: 0,\n margin: 0,\n border: 'none',\n zIndex: 1,\n }\"\n />\n <span\n v-for=\"(_, i) in Array.from({ length: maxLen })\"\n :key=\"i\"\n :style=\"{\n ...cellFontStyle,\n position: 'absolute',\n top: 0,\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n pointerEvents: 'none',\n left: `${i * cellWidth}px`,\n width: `${cellWidth}px`,\n }\"\n >{{ chars[i] || '' }}</span\n >\n <span\n v-if=\"caretIndex < maxLen\"\n :style=\"{\n position: 'absolute',\n top: '15%',\n height: '70%',\n width: '1px',\n backgroundColor: 'black',\n pointerEvents: 'none',\n left: `${caretIndex * cellWidth + cellWidth / 2}px`,\n opacity: caretVisible ? 1 : 0,\n }\"\n ></span>\n </div>\n </div>\n <div v-else :style=\"combContainerStyle\">\n <input\n :ref=\"setInputRef\"\n :required=\"isRequired\"\n :disabled=\"isDisabled\"\n :type=\"isPassword ? 'password' : 'text'\"\n :name=\"name\"\n :aria-label=\"name\"\n :value=\"localValue\"\n :maxlength=\"maxLen\"\n @focus=\"props.onFocus?.()\"\n @input=\"changeValue\"\n @blur=\"props.onBlur?.()\"\n :style=\"{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n opacity: 0,\n padding: 0,\n margin: 0,\n border: 'none',\n zIndex: 1,\n }\"\n />\n <span\n v-for=\"(_, i) in Array.from({ length: maxLen })\"\n :key=\"i\"\n :style=\"{\n ...cellFontStyle,\n position: 'absolute',\n top: 0,\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n pointerEvents: 'none',\n left: `${i * cellWidth}px`,\n width: `${cellWidth}px`,\n }\"\n >{{ chars[i] || '' }}</span\n >\n <span\n v-if=\"caretIndex < maxLen\"\n :style=\"{\n position: 'absolute',\n top: '15%',\n height: '70%',\n width: '1px',\n backgroundColor: 'black',\n pointerEvents: 'none',\n left: `${caretIndex * cellWidth + cellWidth / 2}px`,\n opacity: caretVisible ? 1 : 0,\n }\"\n ></span>\n </div>\n </template>\n <template v-else-if=\"isMultipleLine\">\n <div v-if=\"iosCompensation.wrapperStyle\" :style=\"iosCompensation.wrapperStyle\">\n <textarea\n :ref=\"setInputRef\"\n :required=\"isRequired\"\n :disabled=\"isDisabled\"\n :name=\"name\"\n :aria-label=\"name\"\n :value=\"localValue\"\n :maxlength=\"maxLen\"\n @focus=\"props.onFocus?.()\"\n @input=\"changeValue\"\n @blur=\"props.onBlur?.()\"\n :style=\"{ ...textareaStyle, ...visualStyle }\"\n ></textarea>\n </div>\n <textarea\n v-else\n :ref=\"setInputRef\"\n :required=\"isRequired\"\n :disabled=\"isDisabled\"\n :name=\"name\"\n :aria-label=\"name\"\n :value=\"localValue\"\n :maxlength=\"maxLen\"\n @focus=\"props.onFocus?.()\"\n @input=\"changeValue\"\n @blur=\"props.onBlur?.()\"\n :style=\"{ ...textareaStyle, ...visualStyle }\"\n ></textarea>\n </template>\n <template v-else>\n <div v-if=\"iosCompensation.wrapperStyle\" :style=\"iosCompensation.wrapperStyle\">\n <input\n :ref=\"setInputRef\"\n :required=\"isRequired\"\n :disabled=\"isDisabled\"\n :type=\"isPassword ? 'password' : 'text'\"\n :name=\"name\"\n :aria-label=\"name\"\n :value=\"localValue\"\n :maxlength=\"maxLen\"\n @focus=\"props.onFocus?.()\"\n @input=\"changeValue\"\n @blur=\"props.onBlur?.()\"\n :style=\"{ ...inputStyle, ...visualStyle }\"\n />\n </div>\n <input\n v-else\n :ref=\"setInputRef\"\n :required=\"isRequired\"\n :disabled=\"isDisabled\"\n :type=\"isPassword ? 'password' : 'text'\"\n :name=\"name\"\n :aria-label=\"name\"\n :value=\"localValue\"\n :maxlength=\"maxLen\"\n @focus=\"props.onFocus?.()\"\n @input=\"changeValue\"\n @blur=\"props.onBlur?.()\"\n :style=\"{ ...inputStyle, ...visualStyle }\"\n />\n </template>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue';\nimport type { PdfWidgetAnnoObject } from '@embedpdf/models';\nimport type { AnnotationRendererProps } from '@embedpdf/plugin-annotation/vue';\nimport { useFormWidgetState } from '../../hooks/use-form-widget-state';\nimport { useFormDocumentState } from '../../hooks/use-form';\nimport RenderWidget from '../render-widget.vue';\nimport TextField from '../fields/text-field.vue';\nimport type { TextFieldProps } from '../../../shared/components/types';\n\nconst props = defineProps<AnnotationRendererProps<PdfWidgetAnnoObject>>();\nconst ws = useFormWidgetState(props);\nconst { state: formState } = useFormDocumentState(() => props.documentId);\n\nconst editing = ref(false);\nconst inputEl = ref<HTMLElement | null>(null);\n\nconst isFocused = computed(() => formState.value.selectedFieldId === ws.annotation.value.id);\n\nwatch(isFocused, (focused) => {\n if (focused && inputEl.value && document.activeElement !== inputEl.value) {\n inputEl.value.focus();\n }\n});\n\nfunction handleFocus() {\n if (ws.isReadOnly.value) return;\n ws.scope.value?.selectField(ws.annotation.value.id);\n editing.value = true;\n}\n\nfunction handleBlur() {\n editing.value = false;\n if (ws.scope.value?.getSelectedFieldId() === ws.annotation.value.id) {\n ws.scope.value?.deselectField();\n }\n}\n\nfunction handleInputRef(el: HTMLElement | null) {\n inputEl.value = el;\n}\n</script>\n\n<template>\n <div\n :style=\"{\n width: '100%',\n height: '100%',\n overflow: 'hidden',\n position: 'relative',\n pointerEvents: 'auto',\n outline: 'none',\n }\"\n >\n <RenderWidget\n :pageIndex=\"ws.pageIndex.value\"\n :annotation=\"ws.annotation.value\"\n :scaleFactor=\"ws.scale.value\"\n :renderKey=\"ws.renderKey.value\"\n :style=\"{\n position: 'absolute',\n inset: '0',\n pointerEvents: 'none',\n visibility: editing ? 'hidden' : 'visible',\n }\"\n />\n <div\n :style=\"{\n position: 'absolute',\n inset: '0',\n zIndex: 1,\n opacity: editing ? 1 : 0,\n }\"\n >\n <TextField\n :annotation=\"ws.annotation.value as TextFieldProps['annotation']\"\n :scale=\"ws.scale.value\"\n :pageIndex=\"ws.pageIndex.value\"\n :isEditable=\"true\"\n :onChangeField=\"ws.handleChangeField\"\n :syncExternalValue=\"!editing\"\n :onFocus=\"handleFocus\"\n :onBlur=\"handleBlur\"\n :inputRef=\"handleInputRef\"\n />\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue';\nimport type { PdfWidgetAnnoObject } from '@embedpdf/models';\nimport { isWidgetChecked } from '@embedpdf/models';\nimport type { AnnotationRendererProps } from '@embedpdf/plugin-annotation/vue';\nimport { useFormWidgetState } from '../../hooks/use-form-widget-state';\nimport { useFormDocumentState } from '../../hooks/use-form';\nimport RenderWidget from '../render-widget.vue';\n\nconst props = defineProps<AnnotationRendererProps<PdfWidgetAnnoObject>>();\nconst ws = useFormWidgetState(props);\nconst { state: formState } = useFormDocumentState(() => props.documentId);\n\nconst wrapperEl = ref<HTMLDivElement | null>(null);\n\nconst isFocused = computed(() => formState.value.selectedFieldId === ws.annotation.value.id);\n\nwatch(isFocused, (focused) => {\n if (focused && wrapperEl.value && document.activeElement !== wrapperEl.value) {\n wrapperEl.value.focus();\n }\n});\n\nfunction toggle() {\n if (ws.isReadOnly.value) return;\n const checked = isWidgetChecked(ws.annotation.value);\n const newValue = checked ? 'Off' : (ws.annotation.value.exportValue ?? 'Yes');\n ws.handleChangeField({ ...ws.field.value, value: newValue });\n}\n\nfunction handleClick() {\n if (ws.isReadOnly.value) return;\n ws.scope.value?.selectField(ws.annotation.value.id);\n toggle();\n}\n\nfunction handleFocus() {\n if (ws.isReadOnly.value) return;\n ws.scope.value?.selectField(ws.annotation.value.id);\n}\n\nfunction handleBlur() {\n if (ws.scope.value?.getSelectedFieldId() === ws.annotation.value.id) {\n ws.scope.value?.deselectField();\n }\n}\n\nfunction handleKeyDown(e: KeyboardEvent) {\n if (e.key === ' ' || e.key === 'Enter') {\n e.preventDefault();\n toggle();\n }\n}\n</script>\n\n<template>\n <div\n ref=\"wrapperEl\"\n :tabindex=\"ws.isReadOnly.value ? -1 : 0\"\n @click=\"handleClick\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @keydown=\"handleKeyDown\"\n :style=\"{\n width: '100%',\n height: '100%',\n overflow: 'hidden',\n cursor: ws.isReadOnly.value ? 'default' : 'pointer',\n pointerEvents: 'auto',\n outline: isFocused ? '2px solid rgba(66, 133, 244, 0.8)' : 'none',\n outlineOffset: '-2px',\n }\"\n >\n <RenderWidget\n :pageIndex=\"ws.pageIndex.value\"\n :annotation=\"ws.annotation.value\"\n :scaleFactor=\"ws.scale.value\"\n :renderKey=\"ws.renderKey.value\"\n :style=\"{ pointerEvents: 'none' }\"\n />\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue';\nimport type { PdfWidgetAnnoObject } from '@embedpdf/models';\nimport { isWidgetChecked } from '@embedpdf/models';\nimport type { AnnotationRendererProps } from '@embedpdf/plugin-annotation/vue';\nimport { useFormWidgetState } from '../../hooks/use-form-widget-state';\nimport { useFormDocumentState } from '../../hooks/use-form';\nimport RenderWidget from '../render-widget.vue';\n\nconst props = defineProps<AnnotationRendererProps<PdfWidgetAnnoObject>>();\nconst ws = useFormWidgetState(props);\nconst { state: formState } = useFormDocumentState(() => props.documentId);\n\nconst wrapperEl = ref<HTMLDivElement | null>(null);\n\nconst isFocused = computed(() => formState.value.selectedFieldId === ws.annotation.value.id);\n\nwatch(isFocused, (focused) => {\n if (focused && wrapperEl.value && document.activeElement !== wrapperEl.value) {\n wrapperEl.value.focus();\n }\n});\n\nfunction selectRadio() {\n if (ws.isReadOnly.value) return;\n if (!isWidgetChecked(ws.annotation.value) && ws.annotation.value.exportValue) {\n ws.handleChangeField({ ...ws.field.value, value: ws.annotation.value.exportValue });\n }\n}\n\nfunction handleClick() {\n if (ws.isReadOnly.value) return;\n ws.scope.value?.selectField(ws.annotation.value.id);\n selectRadio();\n}\n\nfunction handleFocus() {\n if (ws.isReadOnly.value) return;\n ws.scope.value?.selectField(ws.annotation.value.id);\n}\n\nfunction handleBlur() {\n if (ws.scope.value?.getSelectedFieldId() === ws.annotation.value.id) {\n ws.scope.value?.deselectField();\n }\n}\n\nfunction handleKeyDown(e: KeyboardEvent) {\n if (e.key === ' ' || e.key === 'Enter') {\n e.preventDefault();\n selectRadio();\n }\n}\n</script>\n\n<template>\n <div\n ref=\"wrapperEl\"\n :tabindex=\"ws.isReadOnly.value ? -1 : 0\"\n @click=\"handleClick\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @keydown=\"handleKeyDown\"\n :style=\"{\n width: '100%',\n height: '100%',\n overflow: 'hidden',\n cursor: ws.isReadOnly.value ? 'default' : 'pointer',\n pointerEvents: 'auto',\n outline: isFocused ? '2px solid rgba(66, 133, 244, 0.8)' : 'none',\n outlineOffset: '-2px',\n }\"\n >\n <RenderWidget\n :pageIndex=\"ws.pageIndex.value\"\n :annotation=\"ws.annotation.value\"\n :scaleFactor=\"ws.scale.value\"\n :renderKey=\"ws.renderKey.value\"\n :style=\"{ pointerEvents: 'none' }\"\n />\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { PDF_FORM_FIELD_FLAG } from '@embedpdf/models';\nimport type { ComboboxFieldProps } from '../../../shared/components/types';\nimport { selectStyle } from './style';\n\nconst props = defineProps<ComboboxFieldProps>();\n\nconst field = computed(() => props.annotation.field);\nconst flag = computed(() => field.value.flag);\nconst options = computed(() => field.value.options);\nconst name = computed(() => field.value.alternateName || field.value.name);\nconst isDisabled = computed(\n () => !props.isEditable || !!(flag.value & PDF_FORM_FIELD_FLAG.READONLY),\n);\nconst isRequired = computed(() => !!(flag.value & PDF_FORM_FIELD_FLAG.REQUIRED));\nconst selectedIndex = computed(() => options.value.findIndex((o) => o.isSelected));\n\nfunction handleChange(evt: Event) {\n const select = evt.target as HTMLSelectElement;\n const updatedOptions = options.value.map((opt, i) => ({\n ...opt,\n isSelected: i === select.selectedIndex,\n }));\n props.onChangeField?.({ ...field.value, options: updatedOptions });\n}\n\nfunction setInputRef(el: any) {\n props.inputRef?.(el as HTMLElement | null);\n}\n</script>\n\n<template>\n <select\n :ref=\"setInputRef\"\n :required=\"isRequired\"\n :disabled=\"isDisabled\"\n :name=\"name\"\n :aria-label=\"name\"\n @change=\"handleChange\"\n @blur=\"props.onBlur?.()\"\n :style=\"{ ...selectStyle, opacity: 0 }\"\n >\n <option\n v-for=\"(option, index) in options\"\n :key=\"index\"\n :value=\"option.label\"\n :selected=\"index === selectedIndex\"\n >\n {{ option.label }}\n </option>\n </select>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue';\nimport type { PdfWidgetAnnoObject } from '@embedpdf/models';\nimport type { AnnotationRendererProps } from '@embedpdf/plugin-annotation/vue';\nimport { useFormWidgetState } from '../../hooks/use-form-widget-state';\nimport { useFormDocumentState } from '../../hooks/use-form';\nimport RenderWidget from '../render-widget.vue';\nimport ComboboxField from '../fields/combobox-field.vue';\nimport type { ComboboxFieldProps } from '../../../shared/components/types';\n\nconst props = defineProps<AnnotationRendererProps<PdfWidgetAnnoObject>>();\nconst ws = useFormWidgetState(props);\nconst { state: formState } = useFormDocumentState(() => props.documentId);\n\nconst wrapperEl = ref<HTMLDivElement | null>(null);\nconst selectEl = ref<HTMLElement | null>(null);\n\nconst isFocused = computed(() => formState.value.selectedFieldId === ws.annotation.value.id);\n\nwatch(isFocused, (focused) => {\n if (focused && wrapperEl.value && !wrapperEl.value.contains(document.activeElement)) {\n (selectEl.value ?? wrapperEl.value).focus();\n }\n});\n\nfunction handleFocus() {\n ws.scope.value?.selectField(ws.annotation.value.id);\n}\n\nfunction handleBlur() {\n requestAnimationFrame(() => {\n if (wrapperEl.value?.contains(document.activeElement)) return;\n if (ws.scope.value?.getSelectedFieldId() === ws.annotation.value.id) {\n ws.scope.value?.deselectField();\n }\n });\n}\n\nfunction selectInputRef(el: HTMLElement | null) {\n selectEl.value = el;\n}\n</script>\n\n<template>\n <div\n ref=\"wrapperEl\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n :style=\"{\n width: '100%',\n height: '100%',\n overflow: 'hidden',\n cursor: ws.isReadOnly.value ? 'default' : 'pointer',\n pointerEvents: 'auto',\n outline: isFocused ? '2px solid rgba(66, 133, 244, 0.8)' : 'none',\n outlineOffset: '-2px',\n }\"\n >\n <RenderWidget\n :pageIndex=\"ws.pageIndex.value\"\n :annotation=\"ws.annotation.value\"\n :scaleFactor=\"ws.scale.value\"\n :renderKey=\"ws.renderKey.value\"\n :style=\"{ pointerEvents: 'none' }\"\n />\n <ComboboxField\n :annotation=\"ws.annotation.value as ComboboxFieldProps['annotation']\"\n :scale=\"ws.scale.value\"\n :pageIndex=\"ws.pageIndex.value\"\n :isEditable=\"true\"\n :onChangeField=\"ws.handleChangeField\"\n :inputRef=\"selectInputRef\"\n />\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, type CSSProperties } from 'vue';\nimport { PDF_FORM_FIELD_FLAG, standardFontCssProperties } from '@embedpdf/models';\nimport type { ListboxFieldProps } from '../../../shared/components/types';\n\nconst props = defineProps<ListboxFieldProps>();\n\nconst field = computed(() => props.annotation.field);\nconst flag = computed(() => field.value.flag);\nconst options = computed(() => field.value.options);\nconst isDisabled = computed(\n () => !props.isEditable || !!(flag.value & PDF_FORM_FIELD_FLAG.READONLY),\n);\nconst isMultipleChoice = computed(() => !!(flag.value & PDF_FORM_FIELD_FLAG.CHOICE_MULTL_SELECT));\n\nconst bw = computed(() => (props.annotation.strokeWidth ?? 0) * props.scale);\nconst fontSize = computed(() => (props.annotation.fontSize ?? 12) * props.scale);\nconst lineHeight = computed(() => fontSize.value * 1.2);\nconst fontCss = computed(() => standardFontCssProperties(props.annotation.fontFamily));\n\nconst containerStyle = computed<CSSProperties>(() => ({\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n background: props.annotation.color ?? '#FFFFFF',\n borderStyle: 'solid',\n borderColor: props.annotation.strokeColor ?? '#000000',\n borderWidth: `${bw.value}px`,\n boxSizing: 'border-box',\n overflow: 'auto',\n display: 'flex',\n flexDirection: 'column',\n outline: 'none',\n}));\n\nfunction handleOptionClick(clickedIndex: number) {\n if (isDisabled.value) return;\n const updatedOptions = options.value.map((opt, i) => ({\n ...opt,\n isSelected: isMultipleChoice.value\n ? i === clickedIndex\n ? !opt.isSelected\n : opt.isSelected\n : i === clickedIndex,\n }));\n props.onChangeField?.({ ...field.value, options: updatedOptions });\n}\n\nfunction setInputRef(el: any) {\n props.inputRef?.(el as HTMLElement | null);\n}\n</script>\n\n<template>\n <div :ref=\"setInputRef\" @blur=\"props.onBlur?.()\" :style=\"containerStyle\">\n <div\n v-for=\"(opt, i) in options\"\n :key=\"i\"\n @click=\"handleOptionClick(i)\"\n :style=\"{\n padding: `0 ${4 * props.scale}px`,\n fontSize: `${fontSize}px`,\n lineHeight: `${lineHeight}px`,\n fontFamily: fontCss.fontFamily,\n fontWeight: fontCss.fontWeight,\n fontStyle: fontCss.fontStyle,\n color: opt.isSelected ? '#FFFFFF' : (props.annotation.fontColor ?? '#000000'),\n background: opt.isSelected ? 'rgba(0, 51, 113, 1)' : 'transparent',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n cursor: isDisabled ? 'default' : 'pointer',\n }\"\n >\n {{ opt.label }}\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue';\nimport type { PdfWidgetAnnoObject } from '@embedpdf/models';\nimport type { AnnotationRendererProps } from '@embedpdf/plugin-annotation/vue';\nimport { useFormWidgetState } from '../../hooks/use-form-widget-state';\nimport { useFormDocumentState } from '../../hooks/use-form';\nimport RenderWidget from '../render-widget.vue';\nimport ListboxField from '../fields/listbox-field.vue';\nimport type { ListboxFieldProps } from '../../../shared/components/types';\n\nconst props = defineProps<AnnotationRendererProps<PdfWidgetAnnoObject>>();\nconst ws = useFormWidgetState(props);\nconst { state: formState } = useFormDocumentState(() => props.documentId);\n\nconst editing = ref(false);\nconst wrapperEl = ref<HTMLDivElement | null>(null);\n\nconst isFocused = computed(() => formState.value.selectedFieldId === ws.annotation.value.id);\n\nwatch(isFocused, (focused) => {\n if (focused && wrapperEl.value && !wrapperEl.value.contains(document.activeElement)) {\n wrapperEl.value.focus();\n }\n});\n\nfunction handleFocus() {\n if (ws.isReadOnly.value) return;\n ws.scope.value?.selectField(ws.annotation.value.id);\n editing.value = true;\n}\n\nfunction handleBlur() {\n requestAnimationFrame(() => {\n if (wrapperEl.value?.contains(document.activeElement)) return;\n editing.value = false;\n if (ws.scope.value?.getSelectedFieldId() === ws.annotation.value.id) {\n ws.scope.value?.deselectField();\n }\n });\n}\n</script>\n\n<template>\n <div\n ref=\"wrapperEl\"\n :tabindex=\"ws.isReadOnly.value ? -1 : 0\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n :style=\"{\n width: '100%',\n height: '100%',\n overflow: 'hidden',\n cursor: ws.isReadOnly.value ? 'default' : 'pointer',\n pointerEvents: 'auto',\n outline: isFocused && !editing ? '2px solid rgba(66, 133, 244, 0.8)' : 'none',\n outlineOffset: '-2px',\n }\"\n >\n <ListboxField\n :annotation=\"ws.annotation.value as ListboxFieldProps['annotation']\"\n :scale=\"ws.scale.value\"\n :pageIndex=\"ws.pageIndex.value\"\n :isEditable=\"true\"\n :onChangeField=\"ws.handleChangeField\"\n />\n <RenderWidget\n v-if=\"!editing\"\n :pageIndex=\"ws.pageIndex.value\"\n :annotation=\"ws.annotation.value\"\n :scaleFactor=\"ws.scale.value\"\n :renderKey=\"ws.renderKey.value\"\n :style=\"{ pointerEvents: 'none' }\"\n />\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { Rect } from '@embedpdf/models';\nimport type { WidgetPreviewData } from '../types';\n\nconst props = defineProps<{\n data: WidgetPreviewData;\n bounds: Rect;\n scale: number;\n}>();\n\nconst style = computed(() => ({\n position: 'absolute' as const,\n left: 0,\n top: 0,\n width: `${props.bounds.size.width * props.scale}px`,\n height: `${props.bounds.size.height * props.scale}px`,\n border: '1px dashed rgba(66, 133, 244, 0.6)',\n backgroundColor: 'rgba(255, 255, 255, 0.9)',\n boxSizing: 'border-box' as const,\n display: 'flex',\n alignItems: 'center',\n padding: `0 ${2 * props.scale}px`,\n overflow: 'hidden',\n}));\n</script>\n\n<template>\n <div :style=\"style\" />\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { Rect } from '@embedpdf/models';\nimport type { WidgetPreviewData } from '../types';\n\nconst props = defineProps<{\n data: WidgetPreviewData;\n bounds: Rect;\n scale: number;\n}>();\n\nconst style = computed(() => ({\n position: 'absolute' as const,\n left: 0,\n top: 0,\n width: `${props.bounds.size.width * props.scale}px`,\n height: `${props.bounds.size.height * props.scale}px`,\n border: '1px dashed rgba(66, 133, 244, 0.6)',\n backgroundColor: 'rgba(255, 255, 255, 0.9)',\n boxSizing: 'border-box' as const,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n}));\n</script>\n\n<template>\n <div :style=\"style\" />\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { Rect } from '@embedpdf/models';\nimport type { WidgetPreviewData } from '../types';\n\nconst props = defineProps<{\n data: WidgetPreviewData;\n bounds: Rect;\n scale: number;\n}>();\n\nconst style = computed(() => ({\n position: 'absolute' as const,\n left: 0,\n top: 0,\n width: `${props.bounds.size.width * props.scale}px`,\n height: `${props.bounds.size.height * props.scale}px`,\n border: '1px dashed rgba(66, 133, 244, 0.6)',\n backgroundColor: 'rgba(255, 255, 255, 0.9)',\n borderRadius: '50%',\n boxSizing: 'border-box' as const,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n}));\n</script>\n\n<template>\n <div :style=\"style\" />\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { Rect } from '@embedpdf/models';\nimport type { WidgetPreviewData } from '../types';\n\nconst props = defineProps<{\n data: WidgetPreviewData;\n bounds: Rect;\n scale: number;\n}>();\n\nconst style = computed(() => ({\n position: 'absolute' as const,\n left: 0,\n top: 0,\n width: `${props.bounds.size.width * props.scale}px`,\n height: `${props.bounds.size.height * props.scale}px`,\n border: '1px dashed rgba(66, 133, 244, 0.6)',\n backgroundColor: 'rgba(255, 255, 255, 0.9)',\n boxSizing: 'border-box' as const,\n display: 'flex',\n flexDirection: 'column' as const,\n overflow: 'hidden',\n}));\n</script>\n\n<template>\n <div :style=\"style\" />\n</template>\n","import { PdfAnnotationSubtype, PdfWidgetAnnoObject, PDF_FORM_FIELD_TYPE } from '@embedpdf/models';\nimport { createRenderer, type BoxedAnnotationRenderer } from '@embedpdf/plugin-annotation/vue';\nimport FormTextField from './annotations/form-text-field.vue';\nimport FormCheckbox from './annotations/form-checkbox.vue';\nimport FormRadioButton from './annotations/form-radio-button.vue';\nimport FormCombobox from './annotations/form-combobox.vue';\nimport FormListbox from './annotations/form-listbox.vue';\nimport TextFillMode from './fill-mode/text-fill-mode.vue';\nimport ToggleFillMode from './fill-mode/toggle-fill-mode.vue';\nimport RadioButtonFillMode from './fill-mode/radio-button-fill-mode.vue';\nimport ComboboxFillMode from './fill-mode/combobox-fill-mode.vue';\nimport ListboxFillMode from './fill-mode/listbox-fill-mode.vue';\nimport TextFieldPreview from './previews/text-field-preview.vue';\nimport CheckboxPreview from './previews/checkbox-preview.vue';\nimport RadioButtonPreview from './previews/radio-button-preview.vue';\nimport ListboxPreview from './previews/listbox-preview.vue';\nimport type { WidgetPreviewData } from './types';\n\nexport type { WidgetPreviewData } from './types';\n\nexport const formRenderers: BoxedAnnotationRenderer[] = [\n createRenderer<PdfWidgetAnnoObject, WidgetPreviewData>({\n id: 'formTextField',\n matches: (a): a is PdfWidgetAnnoObject =>\n a.type === PdfAnnotationSubtype.WIDGET && a.field?.type === PDF_FORM_FIELD_TYPE.TEXTFIELD,\n component: FormTextField,\n renderPreview: TextFieldPreview,\n interactionDefaults: { isDraggable: false, isResizable: true, isRotatable: false },\n useAppearanceStream: false,\n renderLocked: TextFillMode,\n }),\n createRenderer<PdfWidgetAnnoObject, WidgetPreviewData>({\n id: 'formCheckbox',\n matches: (a): a is PdfWidgetAnnoObject =>\n a.type === PdfAnnotationSubtype.WIDGET && a.field?.type === PDF_FORM_FIELD_TYPE.CHECKBOX,\n component: FormCheckbox,\n renderPreview: CheckboxPreview,\n interactionDefaults: { isDraggable: false, isResizable: true, isRotatable: false },\n useAppearanceStream: false,\n renderLocked: ToggleFillMode,\n }),\n createRenderer<PdfWidgetAnnoObject, WidgetPreviewData>({\n id: 'formRadioButton',\n matches: (a): a is PdfWidgetAnnoObject =>\n a.type === PdfAnnotationSubtype.WIDGET && a.field?.type === PDF_FORM_FIELD_TYPE.RADIOBUTTON,\n component: FormRadioButton,\n renderPreview: RadioButtonPreview,\n interactionDefaults: { isDraggable: false, isResizable: true, isRotatable: false },\n useAppearanceStream: false,\n renderLocked: RadioButtonFillMode,\n }),\n createRenderer<PdfWidgetAnnoObject, WidgetPreviewData>({\n id: 'formCombobox',\n matches: (a): a is PdfWidgetAnnoObject =>\n a.type === PdfAnnotationSubtype.WIDGET && a.field?.type === PDF_FORM_FIELD_TYPE.COMBOBOX,\n component: FormCombobox,\n renderPreview: TextFieldPreview,\n interactionDefaults: { isDraggable: false, isResizable: true, isRotatable: false },\n useAppearanceStream: false,\n renderLocked: ComboboxFillMode,\n }),\n createRenderer<PdfWidgetAnnoObject, WidgetPreviewData>({\n id: 'formListbox',\n matches: (a): a is PdfWidgetAnnoObject =>\n a.type === PdfAnnotationSubtype.WIDGET && a.field?.type === PDF_FORM_FIELD_TYPE.LISTBOX,\n component: FormListbox,\n renderPreview: ListboxPreview,\n interactionDefaults: { isDraggable: false, isResizable: true, isRotatable: false },\n useAppearanceStream: false,\n renderLocked: ListboxFillMode,\n }),\n];\n","<script setup lang=\"ts\">\nimport { useRegisterRenderers } from '@embedpdf/plugin-annotation/vue';\nimport { formRenderers } from './form-renderers';\n\nuseRegisterRenderers(formRenderers);\n</script>\n\n<template>\n <slot />\n</template>\n","import { createPluginPackage } from '@embedpdf/core';\nimport { FormPluginPackage as BaseFormPluginPackage } from '@embedpdf/plugin-form';\nimport FormRendererRegistration from './components/form-renderer-registration.vue';\n\nexport * from './hooks';\n\nexport * from '@embedpdf/plugin-form';\n\nexport const FormPluginPackage = createPluginPackage(BaseFormPluginPackage)\n .addUtility(FormRendererRegistration)\n .build();\n"],"names":["props","__props","isHovered","ref","object","computed","currentObject","field","value","isTextField","type","PDF_FORM_FIELD_TYPE","TEXTFIELD","isComb","flag","PDF_FORM_FIELD_FLAG","TEXT_COMB","maxLen","isMultiline","TEXT_MULTIPLINE","borderWidth","strokeWidth","scale","fontCss","standardFontCssProperties","fontFamily","fontSize","fontColor","cellWidth","rect","size","width","chars","split","_createElementBlock","onPointerdown","_cache","e","isSelected","_a","onClick","call","onMouseenter","onMouseleave","style","_normalizeStyle","background","color","strokeColor","cursor","padding","_openBlock","_hoisted_1","_Fragment","_renderList","Array","from","_","i","key","left","fontWeight","fontStyle","_toDisplayString","isChecked","isWidgetChecked","_createElementVNode","d","fill","options","COMBOBOX","selectedLabel","find","o","label","minWidth","borderLeft","viewBox","height","LISTBOX","lineHeight","opt","useFormCapability","useCapability","FormPlugin","id","useFormDocumentState","documentId","provides","state","initialDocumentState","watch","toValue","providesValue","docId","onCleanup","scope","forDocument","getState","onStateChange","newState","immediate","useFormWidgetState","formProvides","renderKey","annotation","pageIndex","isReadOnly","READONLY","watchEffect","s","onFieldValueChange","event","annotationId","handleChangeField","newField","setFormFieldValues","imageUrl","prevUrl","rectWidth","rectHeight","scaleFactor","__","fp","task","renderWidget","deepToRaw","dpr","window","devicePixelRatio","wait","blob","url","URL","createObjectURL","revokeObjectURL","ignore","abort","code","PdfErrorCode","Cancelled","message","src","alt","baseInputStyle","position","top","margin","borderRadius","outline","boxSizing","inputStyle","selectStyle","textareaStyle","resize","name","localValue","changeValue","evt","newValue","target","onChangeField","v","syncExternalValue","bw","computedFontPx","iosCompensation","useIOSZoomPrevention","visualStyle","backgroundColor","borderStyle","borderColor","adjustedFontPx","isDisabled","isEditable","isRequired","REQUIRED","isPassword","TEXT_PASSWORD","isMultipleLine","caretIndex","length","caretVisible","caretInterval","clearInterval","setInterval","combContainerStyle","cellFontStyle","setInputRef","el","inputRef","_unref","wrapperStyle","required","disabled","maxlength","onFocus","$event","onInput","onBlur","ws","formState","editing","inputEl","isFocused","selectedFieldId","handleFocus","selectField","handleBlur","getSelectedFieldId","_b","deselectField","handleInputRef","focused","document","activeElement","focus","_createVNode","RenderWidget","TextField","wrapperEl","toggle","exportValue","handleClick","handleKeyDown","preventDefault","tabindex","onKeydown","pointerEvents","selectRadio","alternateName","selectedIndex","findIndex","handleChange","select","updatedOptions","map","onChange","opacity","option","index","selected","_hoisted_2","selectEl","requestAnimationFrame","contains","_c","selectInputRef","ComboboxField","isMultipleChoice","CHOICE_MULTL_SELECT","containerStyle","overflow","display","flexDirection","clickedIndex","handleOptionClick","ListboxField","_createBlock","bounds","border","alignItems","justifyContent","formRenderers","createRenderer","matches","a","PdfAnnotationSubtype","WIDGET","component","FormTextField","renderPreview","TextFieldPreview","interactionDefaults","isDraggable","isResizable","isRotatable","useAppearanceStream","renderLocked","TextFillMode","CHECKBOX","FormCheckbox","CheckboxPreview","ToggleFillMode","RADIOBUTTON","FormRadioButton","RadioButtonPreview","RadioButtonFillMode","FormCombobox","ComboboxFillMode","FormListbox","ListboxPreview","ListboxFillMode","useRegisterRenderers","_renderSlot","_ctx","$slots","FormPluginPackage","createPluginPackage","BaseFormPluginPackage","addUtility","FormRendererRegistration","build","usePlugin"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './hooks';
2
+ export * from '../lib/index.ts';
3
+ export declare const FormPluginPackage: import('@embedpdf/core').WithAutoMount<import('@embedpdf/core').PluginPackage<import('../lib/index.ts').FormPlugin, import('../lib/index.ts').FormPluginConfig, import('../lib/index.ts').FormState, import('src/lib/actions').FormAction>>;