@case-framework/survey-ui 0.3.0 → 0.3.1

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 (207) hide show
  1. package/dist/src/components/c-ui/alert-provider.d.ts +18 -0
  2. package/dist/src/components/c-ui/confirm-dialog.d.ts +19 -0
  3. package/dist/src/components/c-ui/confirm-provider.d.ts +15 -0
  4. package/dist/src/components/c-ui/dot-background.d.ts +72 -0
  5. package/dist/src/components/c-ui/filepicker-dropzone.d.ts +38 -0
  6. package/dist/src/components/c-ui/loading-button.d.ts +9 -0
  7. package/dist/src/components/common/content-editable-plain.d.ts +17 -0
  8. package/dist/src/components/hooks/use-button-shortcut.d.ts +18 -0
  9. package/dist/src/components/hooks/use-document-keydown.d.ts +7 -0
  10. package/dist/src/components/rich-text/content-policy.d.ts +19 -0
  11. package/dist/src/components/rich-text/index.d.ts +6 -0
  12. package/dist/src/components/rich-text/nodes/rich-text-image-node.d.ts +40 -0
  13. package/dist/src/components/rich-text/nodes/rich-text-info-box-node.d.ts +45 -0
  14. package/dist/src/components/rich-text/nodes/survey-rich-text-heading-node.d.ts +27 -0
  15. package/dist/src/components/rich-text/rich-text-block-editor.d.ts +8 -0
  16. package/dist/src/components/rich-text/rich-text-content-view.d.ts +11 -0
  17. package/dist/src/components/rich-text/rich-text-editor-context.d.ts +23 -0
  18. package/dist/src/components/rich-text/rich-text-link-utils.d.ts +2 -0
  19. package/dist/src/components/rich-text/rich-text-survey-content.d.ts +7 -0
  20. package/dist/src/components/rich-text/types.d.ts +6 -0
  21. package/dist/src/components/rich-text-editor/index.d.ts +3 -0
  22. package/dist/src/components/rich-text-editor/plugins/command-handler-plugin.d.ts +5 -0
  23. package/dist/src/components/rich-text-editor/plugins/editable-mode-plugin.d.ts +3 -0
  24. package/dist/src/components/rich-text-editor/plugins/floating-toolbar-plugin.d.ts +11 -0
  25. package/dist/src/components/rich-text-editor/plugins/image-dialog-plugin.d.ts +4 -0
  26. package/dist/src/components/rich-text-editor/plugins/info-box-popover-plugin.d.ts +6 -0
  27. package/dist/src/components/rich-text-editor/plugins/link-popover-plugin.d.ts +6 -0
  28. package/dist/src/components/rich-text-editor/plugins/rich-text-image-asset-deletion-plugin.d.ts +1 -0
  29. package/dist/src/components/rich-text-editor/plugins/slash-command-menu-plugin.d.ts +15 -0
  30. package/dist/src/components/rich-text-editor/plugins/sync-editor-value-plugin.d.ts +4 -0
  31. package/dist/src/components/rich-text-editor/rich-text-editor-utils.d.ts +205 -0
  32. package/dist/src/components/rich-text-editor/rich-text-editor.d.ts +43 -0
  33. package/dist/src/components/rich-text-editor/rich-text-image-editor-commands.d.ts +12 -0
  34. package/dist/src/components/rich-text-editor/rich-text-info-box-commands.d.ts +20 -0
  35. package/dist/src/components/rich-text-editor/style-control-icon.d.ts +5 -0
  36. package/dist/src/components/ui/alert-dialog.d.ts +18 -0
  37. package/dist/src/components/ui/alert.d.ts +10 -0
  38. package/dist/src/components/ui/badge.d.ts +9 -0
  39. package/dist/src/components/ui/breadcrumb.d.ts +11 -0
  40. package/dist/src/components/ui/button.d.ts +10 -0
  41. package/dist/src/components/ui/calendar.d.ts +10 -0
  42. package/dist/src/components/ui/card.d.ts +11 -0
  43. package/dist/src/components/ui/checkbox.d.ts +4 -0
  44. package/dist/src/components/ui/collapsible.d.ts +5 -0
  45. package/dist/src/components/ui/command.d.ts +18 -0
  46. package/dist/src/components/ui/context-menu.d.ts +31 -0
  47. package/dist/src/components/ui/dialog.d.ts +19 -0
  48. package/dist/src/components/ui/dropdown-menu.d.ts +29 -0
  49. package/dist/src/components/ui/field.d.ts +24 -0
  50. package/dist/src/components/ui/input-group.d.ts +16 -0
  51. package/dist/src/components/ui/input.d.ts +3 -0
  52. package/dist/src/components/ui/kbd.d.ts +3 -0
  53. package/dist/src/components/ui/label.d.ts +4 -0
  54. package/dist/src/components/ui/popover.d.ts +10 -0
  55. package/dist/src/components/ui/progress.d.ts +4 -0
  56. package/dist/src/components/ui/radio-group.d.ts +5 -0
  57. package/dist/src/components/ui/scroll-area.d.ts +5 -0
  58. package/dist/src/components/ui/select.d.ts +15 -0
  59. package/dist/src/components/ui/separator.d.ts +4 -0
  60. package/dist/src/components/ui/skeleton.d.ts +2 -0
  61. package/dist/src/components/ui/slider.d.ts +4 -0
  62. package/dist/src/components/ui/sonner.d.ts +3 -0
  63. package/dist/src/components/ui/switch.d.ts +6 -0
  64. package/dist/src/components/ui/tabs.d.ts +11 -0
  65. package/dist/src/components/ui/textarea.d.ts +3 -0
  66. package/dist/src/components/ui/toggle-group.d.ts +10 -0
  67. package/dist/src/components/ui/toggle.d.ts +9 -0
  68. package/dist/src/components/ui/tooltip.d.ts +7 -0
  69. package/dist/src/dev/_components/nav-input.d.ts +35 -0
  70. package/dist/src/dev/app.d.ts +2 -0
  71. package/dist/src/dev/localizations/de.d.ts +2 -0
  72. package/dist/src/dev/main.d.ts +0 -0
  73. package/dist/src/index.d.ts +10 -0
  74. package/dist/src/lib/utils.d.ts +2 -0
  75. package/dist/src/modules/default-item-registry/default-item-cores.d.ts +24 -0
  76. package/dist/src/modules/default-item-registry/default-registry-entries.d.ts +2 -0
  77. package/dist/src/modules/default-item-registry/index.d.ts +19 -0
  78. package/dist/src/modules/default-item-registry/items/choice/display-order.d.ts +1 -0
  79. package/dist/src/modules/default-item-registry/items/choice/editor/card.d.ts +3 -0
  80. package/dist/src/modules/default-item-registry/items/choice/editor/option-create.d.ts +11 -0
  81. package/dist/src/modules/default-item-registry/items/choice/editor/option-edit-dialog.d.ts +14 -0
  82. package/dist/src/modules/default-item-registry/items/choice/editor/option-editor-fields.d.ts +17 -0
  83. package/dist/src/modules/default-item-registry/items/choice/editor/option-embedded-form-dialog.d.ts +15 -0
  84. package/dist/src/modules/default-item-registry/items/choice/editor/response-options-list.d.ts +20 -0
  85. package/dist/src/modules/default-item-registry/items/choice/expression-registry.d.ts +3 -0
  86. package/dist/src/modules/default-item-registry/items/choice/model.d.ts +28 -0
  87. package/dist/src/modules/default-item-registry/items/choice/player/question.d.ts +32 -0
  88. package/dist/src/modules/default-item-registry/items/choice/preview/item.d.ts +2 -0
  89. package/dist/src/modules/default-item-registry/items/choice/search-adapter.d.ts +2 -0
  90. package/dist/src/modules/default-item-registry/items/form/editor/card.d.ts +3 -0
  91. package/dist/src/modules/default-item-registry/items/form/editor/config-editor.d.ts +12 -0
  92. package/dist/src/modules/default-item-registry/items/form/editor/field-edit-dialog.d.ts +10 -0
  93. package/dist/src/modules/default-item-registry/items/form/editor/field-group-header-dialog.d.ts +12 -0
  94. package/dist/src/modules/default-item-registry/items/form/editor/field-group-layout-dialog.d.ts +9 -0
  95. package/dist/src/modules/default-item-registry/items/form/editor/field-item-preview.d.ts +15 -0
  96. package/dist/src/modules/default-item-registry/items/form/editor/field-key-dialog.d.ts +10 -0
  97. package/dist/src/modules/default-item-registry/items/form/editor/field-sort-dialog.d.ts +11 -0
  98. package/dist/src/modules/default-item-registry/items/form/editor/field-type-shared.d.ts +12 -0
  99. package/dist/src/modules/default-item-registry/items/form/editor/response-field-groups-list.d.ts +16 -0
  100. package/dist/src/modules/default-item-registry/items/form/model.d.ts +158 -0
  101. package/dist/src/modules/default-item-registry/items/form/player/field.d.ts +28 -0
  102. package/dist/src/modules/default-item-registry/items/form/preview/item.d.ts +2 -0
  103. package/dist/src/modules/default-item-registry/items/info/editor-card.d.ts +3 -0
  104. package/dist/src/modules/default-item-registry/items/info/player/card-field.d.ts +14 -0
  105. package/dist/src/modules/default-item-registry/items/info/preview/item.d.ts +2 -0
  106. package/dist/src/modules/default-item-registry/items/info/search-adapter.d.ts +2 -0
  107. package/dist/src/modules/default-item-registry/items/structure/group/editor-card.d.ts +3 -0
  108. package/dist/src/modules/default-item-registry/items/structure/page-break/editor-card.d.ts +3 -0
  109. package/dist/src/modules/default-item-registry/items/structure/preview-renderers.d.ts +3 -0
  110. package/dist/src/modules/default-item-registry/items/structure/root/editor-card.d.ts +3 -0
  111. package/dist/src/modules/default-item-registry/shared/player/question-card-shell.d.ts +13 -0
  112. package/dist/src/modules/default-item-registry/shared/preview/question-header.d.ts +6 -0
  113. package/dist/src/modules/default-item-registry/shared/preview/utils.d.ts +3 -0
  114. package/dist/src/modules/default-item-registry/shared/question-editor/deferred-localized-rich-text-field.d.ts +26 -0
  115. package/dist/src/modules/default-item-registry/shared/question-editor/header-editor.d.ts +6 -0
  116. package/dist/src/modules/default-item-registry/shared/question-editor/layout.d.ts +8 -0
  117. package/dist/src/modules/default-item-registry/shared/question-editor/rich-text-editors.d.ts +23 -0
  118. package/dist/src/modules/default-item-registry/shared/question-editor/rich-text-policies.d.ts +8 -0
  119. package/dist/src/modules/default-item-registry/shared/question-editor/toolbar.d.ts +10 -0
  120. package/dist/src/modules/survey-editor/ai/types.d.ts +88 -0
  121. package/dist/src/modules/survey-editor/assets/index.d.ts +4 -0
  122. package/dist/src/modules/survey-editor/assets/survey-image-asset-manager.d.ts +4 -0
  123. package/dist/src/modules/survey-editor/assets/use-survey-assets.d.ts +4 -0
  124. package/dist/src/modules/survey-editor/assets/utils.d.ts +5 -0
  125. package/dist/src/modules/survey-editor/editor-card/add-items/constants.d.ts +3 -0
  126. package/dist/src/modules/survey-editor/editor-card/add-items/hooks/use-add-item-actions.d.ts +25 -0
  127. package/dist/src/modules/survey-editor/editor-card/add-items/hooks/use-add-item-target.d.ts +9 -0
  128. package/dist/src/modules/survey-editor/editor-card/add-items/hooks/use-option-group-navigation.d.ts +19 -0
  129. package/dist/src/modules/survey-editor/editor-card/add-items/types.d.ts +21 -0
  130. package/dist/src/modules/survey-editor/editor-card/add-items/views/ai-item-view.d.ts +10 -0
  131. package/dist/src/modules/survey-editor/editor-card/add-items/views/back-button.d.ts +5 -0
  132. package/dist/src/modules/survey-editor/editor-card/add-items/views/blank-item-view.d.ts +13 -0
  133. package/dist/src/modules/survey-editor/editor-card/add-items/views/entry-view.d.ts +15 -0
  134. package/dist/src/modules/survey-editor/editor-card/add-items/views/structure-view.d.ts +16 -0
  135. package/dist/src/modules/survey-editor/editor-card/add-items.d.ts +1 -0
  136. package/dist/src/modules/survey-editor/editor-card/copy-item-dropdown-menu.d.ts +5 -0
  137. package/dist/src/modules/survey-editor/editor-card/delete-item-context-menu.d.ts +5 -0
  138. package/dist/src/modules/survey-editor/editor-card/delete-item-dropdown-menu.d.ts +5 -0
  139. package/dist/src/modules/survey-editor/editor-card/editor-card-tab-trigger.d.ts +15 -0
  140. package/dist/src/modules/survey-editor/editor-card/group-items.d.ts +2 -0
  141. package/dist/src/modules/survey-editor/editor-card/hooks/use-armed-shortcut-sequence.d.ts +11 -0
  142. package/dist/src/modules/survey-editor/editor-card/hooks/use-group-list-keyboard.d.ts +30 -0
  143. package/dist/src/modules/survey-editor/editor-card/index.d.ts +2 -0
  144. package/dist/src/modules/survey-editor/editor-card/item-color-menu.d.ts +6 -0
  145. package/dist/src/modules/survey-editor/editor-card/item-color-selector.d.ts +5 -0
  146. package/dist/src/modules/survey-editor/editor-card/item-editor-card-skeleton.d.ts +2 -0
  147. package/dist/src/modules/survey-editor/editor-card/item-editor-card.d.ts +39 -0
  148. package/dist/src/modules/survey-editor/editor-card/item-editor-context.d.ts +20 -0
  149. package/dist/src/modules/survey-editor/editor-card/item-key-editor.d.ts +9 -0
  150. package/dist/src/modules/survey-editor/editor-card/item-label-preview-and-editor.d.ts +10 -0
  151. package/dist/src/modules/survey-editor/editor-card/item-preview.d.ts +8 -0
  152. package/dist/src/modules/survey-editor/editor-card/item-sibling-navigation.d.ts +5 -0
  153. package/dist/src/modules/survey-editor/editor-card/item-type-icon-with-tooltip.d.ts +8 -0
  154. package/dist/src/modules/survey-editor/editor-card/survey-player-item-preview.d.ts +6 -0
  155. package/dist/src/modules/survey-editor/editor-instance-provider.d.ts +7 -0
  156. package/dist/src/modules/survey-editor/hooks/useClipboardValue.d.ts +2 -0
  157. package/dist/src/modules/survey-editor/hooks/useDeleteItem.d.ts +9 -0
  158. package/dist/src/modules/survey-editor/hooks/useEditor.d.ts +12 -0
  159. package/dist/src/modules/survey-editor/hooks/useEditorStateChange.d.ts +17 -0
  160. package/dist/src/modules/survey-editor/hooks/useKeyboardShortcuts.d.ts +7 -0
  161. package/dist/src/modules/survey-editor/index.d.ts +17 -0
  162. package/dist/src/modules/survey-editor/localization/date-fns.d.ts +5 -0
  163. package/dist/src/modules/survey-editor/localization/default-en.d.ts +4 -0
  164. package/dist/src/modules/survey-editor/localization/index.d.ts +5 -0
  165. package/dist/src/modules/survey-editor/localization/runtime.d.ts +4 -0
  166. package/dist/src/modules/survey-editor/localization/types.d.ts +7 -0
  167. package/dist/src/modules/survey-editor/navigation/navigation-provider.d.ts +11 -0
  168. package/dist/src/modules/survey-editor/navigation/navigation.d.ts +13 -0
  169. package/dist/src/modules/survey-editor/navigation/types.d.ts +18 -0
  170. package/dist/src/modules/survey-editor/primitives/input-with-ai-popover.d.ts +35 -0
  171. package/dist/src/modules/survey-editor/registry/index.d.ts +7 -0
  172. package/dist/src/modules/survey-editor/registry/registry-mappers.d.ts +25 -0
  173. package/dist/src/modules/survey-editor/registry/search-adapter.d.ts +19 -0
  174. package/dist/src/modules/survey-editor/registry/types.d.ts +178 -0
  175. package/dist/src/modules/survey-editor/routes/editor/_components/footer.d.ts +2 -0
  176. package/dist/src/modules/survey-editor/routes/editor/_components/history-stack.d.ts +2 -0
  177. package/dist/src/modules/survey-editor/routes/editor/_components/main.d.ts +2 -0
  178. package/dist/src/modules/survey-editor/routes/editor/asset-manager/index.d.ts +2 -0
  179. package/dist/src/modules/survey-editor/routes/editor/index.d.ts +5 -0
  180. package/dist/src/modules/survey-editor/routes/editor/item-editor/_components/item-editor-toolbar/breadcrumbs-nav.d.ts +2 -0
  181. package/dist/src/modules/survey-editor/routes/editor/item-editor/_components/item-editor-toolbar/item-editor-toolbar.d.ts +2 -0
  182. package/dist/src/modules/survey-editor/routes/editor/item-editor/_components/item-editor-toolbar/language-picker.d.ts +2 -0
  183. package/dist/src/modules/survey-editor/routes/editor/item-editor/_components/item-editor-toolbar/search-trigger.d.ts +3 -0
  184. package/dist/src/modules/survey-editor/routes/editor/item-editor/_components/item-editor-toolbar/survey-search.d.ts +7 -0
  185. package/dist/src/modules/survey-editor/routes/editor/item-editor/index.d.ts +2 -0
  186. package/dist/src/modules/survey-editor/routes/editor/translation-mode/index.d.ts +2 -0
  187. package/dist/src/modules/survey-editor/session-file.d.ts +13 -0
  188. package/dist/src/modules/survey-editor/store/editor-store-context.d.ts +10 -0
  189. package/dist/src/modules/survey-editor/store/editor-store-provider.d.ts +7 -0
  190. package/dist/src/modules/survey-editor/store/editor-store.d.ts +102 -0
  191. package/dist/src/modules/survey-editor/store/use-editor-store.d.ts +4 -0
  192. package/dist/src/modules/survey-editor/store/useItemNavigation.d.ts +7 -0
  193. package/dist/src/modules/survey-editor/survey-editor-config.d.ts +29 -0
  194. package/dist/src/modules/survey-editor/survey-editor.d.ts +26 -0
  195. package/dist/src/modules/survey-editor/utils/item-type-infos.d.ts +23 -0
  196. package/dist/src/modules/survey-player/index.d.ts +5 -0
  197. package/dist/src/modules/survey-player/localization/default-en.d.ts +3 -0
  198. package/dist/src/modules/survey-player/localization/runtime.d.ts +4 -0
  199. package/dist/src/modules/survey-player/localization/types.d.ts +7 -0
  200. package/dist/src/modules/survey-player/survey-context.d.ts +32 -0
  201. package/dist/src/modules/survey-player/survey-item/survey-item-context.d.ts +27 -0
  202. package/dist/src/modules/survey-player/survey-item/survey-item-types/placeholder-item-renderers.d.ts +4 -0
  203. package/dist/src/modules/survey-player/survey-item/survey-item-types/question-wrapper.d.ts +5 -0
  204. package/dist/src/modules/survey-player/survey-item/survey-item.d.ts +7 -0
  205. package/dist/src/modules/survey-player/survey-player.d.ts +14 -0
  206. package/package.json +4 -4
  207. package/dist/index.d.ts +0 -1
@@ -0,0 +1,158 @@
1
+ import { SurveyItemTranslations } from '@case-framework/survey-core';
2
+ export type FormFieldType = "input" | "textarea" | "number" | "datepicker" | "switch" | "select" | "slider";
3
+ export declare const FORM_DATEPICKER_FIELD_MODES: readonly ["year", "year-month", "year-month-day"];
4
+ export type FormDatepickerFieldMode = typeof FORM_DATEPICKER_FIELD_MODES[number];
5
+ export interface FormFieldRendererSlotDefinition {
6
+ id: "field" | "label" | "description" | "error";
7
+ entryLabel: string;
8
+ description: string;
9
+ component: "Field" | "FieldLabel" | "FieldDescription" | "FieldError";
10
+ }
11
+ export declare const FORM_FIELD_RENDERER_SLOTS: FormFieldRendererSlotDefinition[];
12
+ export interface FormFieldConfigSuggestion {
13
+ key: string;
14
+ label: string;
15
+ description: string;
16
+ }
17
+ export type FormFieldValidationType = "required" | "minLength" | "maxLength" | "pattern" | "email" | "url" | "integer" | "min" | "max" | "minDate" | "maxDate" | "mustBeTrue";
18
+ export interface FormFieldValidationSuggestion {
19
+ type: FormFieldValidationType;
20
+ label: string;
21
+ description: string;
22
+ valueKind: "none" | "number" | "text" | "date";
23
+ defaultValue?: number | string;
24
+ }
25
+ export interface FormFieldValidationConfig {
26
+ id: string;
27
+ type: FormFieldValidationType;
28
+ value?: number | string;
29
+ message?: string;
30
+ }
31
+ export type FormFieldEffectiveValidationType = "required" | FormFieldValidationType;
32
+ export interface FormFieldEffectiveValidationConfig {
33
+ id: string;
34
+ type: FormFieldEffectiveValidationType;
35
+ value?: number | string;
36
+ message?: string;
37
+ source: "required" | "validation";
38
+ }
39
+ export interface FormFieldSelectOptionConfig {
40
+ id: string;
41
+ value: string;
42
+ label?: string;
43
+ }
44
+ export interface FormInputFieldControlConfig {
45
+ type: "input";
46
+ placeholder?: string;
47
+ inputMode?: "text" | "email" | "tel" | "url" | "password";
48
+ autocomplete?: string;
49
+ }
50
+ export interface FormTextareaFieldControlConfig {
51
+ type: "textarea";
52
+ placeholder?: string;
53
+ rows?: number;
54
+ }
55
+ export interface FormNumberFieldControlConfig {
56
+ type: "number";
57
+ placeholder?: string;
58
+ step?: number;
59
+ unit?: string;
60
+ defaultValue?: number;
61
+ }
62
+ export interface FormDatepickerFieldControlConfig {
63
+ type: "datepicker";
64
+ placeholder?: string;
65
+ mode: FormDatepickerFieldMode;
66
+ }
67
+ export interface FormSwitchFieldControlConfig {
68
+ type: "switch";
69
+ checkedLabel?: string;
70
+ uncheckedLabel?: string;
71
+ defaultChecked?: boolean;
72
+ }
73
+ export interface FormSelectFieldControlConfig {
74
+ type: "select";
75
+ placeholder?: string;
76
+ allowClear?: boolean;
77
+ options: FormFieldSelectOptionConfig[];
78
+ }
79
+ export interface FormSliderFieldControlConfig {
80
+ type: "slider";
81
+ min?: number;
82
+ max?: number;
83
+ step?: number;
84
+ defaultValue?: number;
85
+ showValue?: boolean;
86
+ }
87
+ export type FormFieldControlConfig = FormInputFieldControlConfig | FormTextareaFieldControlConfig | FormNumberFieldControlConfig | FormDatepickerFieldControlConfig | FormSwitchFieldControlConfig | FormSelectFieldControlConfig | FormSliderFieldControlConfig;
88
+ export interface FormFieldConfig {
89
+ id: string;
90
+ key: string;
91
+ type: FormFieldType;
92
+ label?: string;
93
+ description?: string;
94
+ errorMessage?: string;
95
+ required?: boolean;
96
+ controller: FormFieldControlConfig;
97
+ validations: FormFieldValidationConfig[];
98
+ hasValidations?: boolean;
99
+ isInvalid?: boolean;
100
+ }
101
+ export declare function getFormFieldEffectiveValidations(field: Pick<FormFieldConfig, "id" | "required" | "validations">): FormFieldEffectiveValidationConfig[];
102
+ /**
103
+ * Column counts keyed by field group card width (container), not the viewport.
104
+ * Breakpoints match `@container (width >= …)` on `form-field-group`: 20rem / 24rem / 28rem / 36rem.
105
+ */
106
+ export interface FormFieldGroupLayoutConfig {
107
+ /** Below @xs (under 20rem) */
108
+ base: number;
109
+ /** @xs — width >= 20rem */
110
+ xs: number;
111
+ /** @sm — width >= 24rem */
112
+ sm: number;
113
+ /** @md — width >= 28rem */
114
+ md: number;
115
+ /** @xl — width >= 36rem */
116
+ xl: number;
117
+ }
118
+ export interface FormFieldGroupConfig {
119
+ id: string;
120
+ title?: string;
121
+ description?: string;
122
+ hasDisplayCondition?: boolean;
123
+ layout: FormFieldGroupLayoutConfig;
124
+ fields: FormFieldConfig[];
125
+ }
126
+ export interface FormItemConfig {
127
+ id: string;
128
+ fieldGroups: FormFieldGroupConfig[];
129
+ }
130
+ export declare function createFormItemConfig(itemId: string): FormItemConfig;
131
+ export declare function getFormFieldGroupTranslationPrefix(groupId: string, translationNamespace?: string): string;
132
+ export declare function getFormFieldGroupTitleContentKey(groupId: string, translationNamespace?: string): string;
133
+ export declare function getFormFieldGroupDescriptionContentKey(groupId: string, translationNamespace?: string): string;
134
+ export declare function getFormFieldTranslationPrefix(fieldId: string, translationNamespace?: string): string;
135
+ export declare function getFormFieldLabelContentKey(fieldId: string, translationNamespace?: string): string;
136
+ export declare function getFormFieldDescriptionContentKey(fieldId: string, translationNamespace?: string): string;
137
+ export declare function getFormFieldErrorMessageContentKey(fieldId: string, translationNamespace?: string): string;
138
+ export declare function getFormFieldPlaceholderContentKey(fieldId: string, translationNamespace?: string): string;
139
+ export declare function getFormFieldUnitContentKey(fieldId: string, translationNamespace?: string): string;
140
+ export declare function getFormFieldCheckedLabelContentKey(fieldId: string, translationNamespace?: string): string;
141
+ export declare function getFormFieldUncheckedLabelContentKey(fieldId: string, translationNamespace?: string): string;
142
+ export declare function getFormFieldOptionLabelContentKey(fieldId: string, optionId: string, translationNamespace?: string): string;
143
+ export declare function getFormFieldValidationMessageContentKey(fieldId: string, validationId: string, translationNamespace?: string): string;
144
+ export declare function getFormFieldTranslationKeys(field: Pick<FormFieldConfig, "id" | "type" | "controller" | "validations">, translationNamespace?: string): string[];
145
+ export declare function getFormFieldGroupTranslationKeys(group: Pick<FormFieldGroupConfig, "id">, translationNamespace?: string): string[];
146
+ export declare function writeFormFieldGroupTranslations(itemTranslations: SurveyItemTranslations, locale: string, group: Pick<FormFieldGroupConfig, "id" | "title" | "description">, translationNamespace?: string): void;
147
+ export declare function writeFormFieldTranslations(itemTranslations: SurveyItemTranslations, locale: string, field: Pick<FormFieldConfig, "id" | "type" | "label" | "description" | "errorMessage" | "controller" | "validations">, translationNamespace?: string): void;
148
+ export declare function withFormItemTranslatedContent(config: FormItemConfig, itemTranslations: SurveyItemTranslations | undefined, locale: string, fallbackLocale?: string, translationNamespace?: string): FormItemConfig;
149
+ export declare function withoutFormItemTranslatedContent(config: FormItemConfig): FormItemConfig;
150
+ /** CSS custom properties for `.form-field-group-layout-scope` + `.form-field-group-grid`. */
151
+ export declare function formFieldGroupLayoutCssVars(layout: FormFieldGroupLayoutConfig): Record<string, string>;
152
+ export declare function getFormFieldControllerComponentName(type: FormFieldType): string;
153
+ export declare function getFormFieldConfigSuggestions(type: FormFieldType): FormFieldConfigSuggestion[];
154
+ export declare function getFormFieldValidationSuggestions(type: FormFieldType): FormFieldValidationSuggestion[];
155
+ export declare function normalizeFormItemConfig(rawConfig: unknown, itemId: string): FormItemConfig;
156
+ export declare function createFormFieldGroupConfig(): FormFieldGroupConfig;
157
+ export declare function getNextAvailableFormFieldKey(fields: Pick<FormFieldConfig, "key">[]): string;
158
+ export declare function createFormFieldConfig(type: FormFieldType, key?: string): FormFieldConfig;
@@ -0,0 +1,28 @@
1
+ import { ResponseItem, Content } from '@case-framework/survey-core';
2
+ import { FormFieldGroupConfig } from '../model';
3
+ interface FormItemFieldProps {
4
+ itemId: string;
5
+ title?: Content;
6
+ subtitle?: Content;
7
+ topContent?: Content;
8
+ bottomContent?: Content;
9
+ footer?: Content;
10
+ resolveImageAssetUrl?: (assetId: string) => string | undefined;
11
+ groups: FormFieldGroupConfig[];
12
+ currentResponse?: ResponseItem;
13
+ onResponseChange?: (response?: ResponseItem) => void;
14
+ readOnly?: boolean;
15
+ }
16
+ interface FormFieldGroupsContentProps {
17
+ itemId: string;
18
+ groups: FormFieldGroupConfig[];
19
+ currentResponse?: ResponseItem;
20
+ onResponseChange?: (response?: ResponseItem) => void;
21
+ readOnly?: boolean;
22
+ controlIdPrefix?: string;
23
+ className?: string;
24
+ emptyState?: React.ReactNode;
25
+ }
26
+ export declare const FormFieldGroupsContent: React.FC<FormFieldGroupsContentProps>;
27
+ export declare const FormItemField: React.FC<FormItemFieldProps>;
28
+ export {};
@@ -0,0 +1,2 @@
1
+ import { ItemPreviewComponentProps } from '../../../../../../modules/survey-editor';
2
+ export declare const FormItemPreviewRenderer: React.FC<ItemPreviewComponentProps>;
@@ -0,0 +1,3 @@
1
+ import { CommonItemEditorCardProps } from '../../../../../modules/survey-editor/editor-card/item-editor-card';
2
+ declare const EditorCardForInfo: React.FC<CommonItemEditorCardProps>;
3
+ export default EditorCardForInfo;
@@ -0,0 +1,14 @@
1
+ import { Content } from '@case-framework/survey-core';
2
+ import { default as React } from 'react';
3
+ export interface InfoItemCardFieldProps {
4
+ content?: Content;
5
+ resolveImageAssetUrl?: (assetId: string) => string | undefined;
6
+ /** Screen reader label when `content` has no plain-text extract (e.g. image-only). */
7
+ legendFallback?: string;
8
+ emptyState?: React.ReactNode;
9
+ }
10
+ /**
11
+ * Display-only card shell matching {@link import("./choice-question").ChoiceQuestionField} (FieldSet + padding),
12
+ * without response controls.
13
+ */
14
+ export declare const InfoItemCardField: React.FC<InfoItemCardFieldProps>;
@@ -0,0 +1,2 @@
1
+ import { ItemPreviewComponentProps } from '../../../../../../modules/survey-editor';
2
+ export declare const InfoItemPreviewRenderer: React.FC<ItemPreviewComponentProps>;
@@ -0,0 +1,2 @@
1
+ import { ItemSearchAdapter } from '../../../survey-editor/registry';
2
+ export declare const infoItemSearchAdapter: ItemSearchAdapter;
@@ -0,0 +1,3 @@
1
+ import { CommonItemEditorCardProps } from '../../../../../../modules/survey-editor/editor-card/item-editor-card';
2
+ declare const EditorCardForGroup: React.FC<CommonItemEditorCardProps>;
3
+ export default EditorCardForGroup;
@@ -0,0 +1,3 @@
1
+ import { CommonItemEditorCardProps } from '../../../../../../modules/survey-editor/editor-card/item-editor-card';
2
+ declare const EditorCardForPageBreak: React.FC<CommonItemEditorCardProps>;
3
+ export default EditorCardForPageBreak;
@@ -0,0 +1,3 @@
1
+ import { ItemPreviewComponentProps } from '../../../survey-editor/registry';
2
+ export declare const GroupItemPreviewRenderer: React.FC<ItemPreviewComponentProps>;
3
+ export declare const PageBreakPreviewRenderer: React.FC<ItemPreviewComponentProps>;
@@ -0,0 +1,3 @@
1
+ import { CommonItemEditorCardProps } from '../../../../../../modules/survey-editor/editor-card/item-editor-card';
2
+ declare const EditorCardForRoot: React.FC<CommonItemEditorCardProps>;
3
+ export default EditorCardForRoot;
@@ -0,0 +1,13 @@
1
+ import { Content } from '@case-framework/survey-core';
2
+ export interface QuestionCardShellProps {
3
+ title?: Content;
4
+ subtitle?: Content;
5
+ topContent?: Content;
6
+ bottomContent?: Content;
7
+ footer?: Content;
8
+ resolveImageAssetUrl?: (assetId: string) => string | undefined;
9
+ legendFallback?: string;
10
+ className?: string;
11
+ children: React.ReactNode;
12
+ }
13
+ export declare const QuestionCardShell: React.FC<QuestionCardShellProps>;
@@ -0,0 +1,6 @@
1
+ import { Content } from '@case-framework/survey-core';
2
+ export declare function QuestionHeaderPreview({ title, subtitle, resolveImageAssetUrl, }: {
3
+ title?: Content;
4
+ subtitle?: Content;
5
+ resolveImageAssetUrl?: (assetId: string) => string | undefined;
6
+ }): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,3 @@
1
+ import { ItemPreviewComponentProps } from '../../../../../modules/survey-editor';
2
+ import { Content } from '@case-framework/survey-core';
3
+ export declare function getTranslatedContent(itemContent: ItemPreviewComponentProps["itemContent"], locale: string, contentKey: string): Content | undefined;
@@ -0,0 +1,26 @@
1
+ import { RichTextStyleControl, RichTextTemplateVariable } from '../../../../../components/rich-text-editor';
2
+ import { RichTextContentPolicy, RichTextImageAssetOption } from '../../../../../components/rich-text';
3
+ export interface DeferredLocalizedRichTextFieldProps {
4
+ itemId: string;
5
+ locale: string;
6
+ contentKey: string;
7
+ label: string;
8
+ placeholder: string;
9
+ description?: string;
10
+ /** Omit Field chrome; use for inline question title/subtitle. */
11
+ bare?: boolean;
12
+ contentPolicy?: RichTextContentPolicy;
13
+ wrapperClassName?: string;
14
+ surfaceClassName?: string;
15
+ contentClassName?: string;
16
+ placeholderClassName?: string;
17
+ styleControls?: RichTextStyleControl[];
18
+ templateVariables?: RichTextTemplateVariable[];
19
+ resolveImageAssetUrl?: (assetId: string) => string | undefined;
20
+ imageAssets?: RichTextImageAssetOption[];
21
+ }
22
+ /**
23
+ * Binds one survey item translation `contentKey` to a rich text editor.
24
+ * Commits to the editor store on blur; syncs draft from survey on focus.
25
+ */
26
+ export declare const DeferredLocalizedRichTextField: React.FC<DeferredLocalizedRichTextFieldProps>;
@@ -0,0 +1,6 @@
1
+ interface QuestionHeaderEditorProps {
2
+ itemId: string;
3
+ locale: string;
4
+ }
5
+ declare const QuestionHeaderEditor: React.FC<QuestionHeaderEditorProps>;
6
+ export default QuestionHeaderEditor;
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ interface QuestionItemEditorLayoutProps {
3
+ itemId: string;
4
+ locale: string;
5
+ responseSection: ReactNode;
6
+ }
7
+ declare const QuestionItemEditorLayout: React.FC<QuestionItemEditorLayoutProps>;
8
+ export default QuestionItemEditorLayout;
@@ -0,0 +1,23 @@
1
+ interface QuestionCardFooterEditorProps {
2
+ itemId: string;
3
+ locale: string;
4
+ }
5
+ interface QuestionContentEditorProps {
6
+ itemId: string;
7
+ locale: string;
8
+ contentKey: "topContent" | "bottomContent";
9
+ placeholder: string;
10
+ /** When true (choice questions), editors may insert heading and info box blocks in top/bottom content. */
11
+ allowAdvancedBlocks?: boolean;
12
+ }
13
+ /** Card footer rich text (choice/form items); stored as item translation key `cardFooter`. */
14
+ export declare const QuestionCardFooterEditor: React.FC<QuestionCardFooterEditorProps>;
15
+ export declare const QuestionContentEditor: React.FC<QuestionContentEditorProps>;
16
+ interface InfoItemContentEditorProps {
17
+ itemId: string;
18
+ locale: string;
19
+ placeholder: string;
20
+ }
21
+ /** Single rich text body for info items; stored as item translation key `content`. */
22
+ export declare const InfoItemContentEditor: React.FC<InfoItemContentEditorProps>;
23
+ export {};
@@ -0,0 +1,8 @@
1
+ import { RichTextContentPolicy } from '../../../../../components/rich-text';
2
+ export declare const QUESTION_TITLE_CONTENT_POLICY: RichTextContentPolicy;
3
+ export declare const QUESTION_SUBTITLE_CONTENT_POLICY: RichTextContentPolicy;
4
+ export declare const QUESTION_BODY_CONTENT_POLICY: RichTextContentPolicy;
5
+ export declare const QUESTION_CHOICE_BODY_CONTENT_POLICY: RichTextContentPolicy;
6
+ /** Info item: full block editor (paragraphs, lists, images, separators, headings, info boxes). */
7
+ export declare const INFO_ITEM_CONTENT_POLICY: RichTextContentPolicy;
8
+ export declare const QUESTION_CARD_FOOTER_CONTENT_POLICY: RichTextContentPolicy;
@@ -0,0 +1,10 @@
1
+ import { RichTextStyleControl, RichTextTemplateVariable } from '../../../../../components/rich-text-editor';
2
+ /**
3
+ * Template variables and floating toolbar presets shared by question item rich text editors.
4
+ * `subtitleStyleControls` omits italic to match the subtitle content policy.
5
+ */
6
+ export declare function useQuestionItemRichTextToolbars(): {
7
+ templateVariables: RichTextTemplateVariable[];
8
+ defaultStyleControls: RichTextStyleControl[];
9
+ subtitleStyleControls: RichTextStyleControl[];
10
+ };
@@ -0,0 +1,88 @@
1
+ import { SurveyAIContextPack, SurveyAIContextPurpose, SurveyAIContextScope } from '@case-framework/survey-core/editor';
2
+ export type { SurveyAIContextPurpose, SurveyAIContextScope };
3
+ export type SurveyAIInvocationMode = "user" | "background";
4
+ export interface SurveyAIRequestOptions {
5
+ signal?: AbortSignal;
6
+ mode?: SurveyAIInvocationMode;
7
+ }
8
+ export interface AISuggestedText {
9
+ text: string;
10
+ }
11
+ export interface SuggestItemKeySuggestion extends AISuggestedText {
12
+ rationale?: string;
13
+ }
14
+ export interface SuggestItemLabelSuggestion extends AISuggestedText {
15
+ tone?: string;
16
+ }
17
+ export interface SuggestItemKeyRequest {
18
+ draftKey: string;
19
+ currentKey: string;
20
+ siblingKeys: string[];
21
+ childContentHints?: string[];
22
+ maxSuggestions?: number;
23
+ context: SurveyAIContextPack;
24
+ }
25
+ export interface SuggestItemKeyResult {
26
+ suggestions: SuggestItemKeySuggestion[];
27
+ }
28
+ export interface SuggestItemLabelRequest {
29
+ draftLabel: string;
30
+ itemType: string;
31
+ locale?: string;
32
+ maxSuggestions?: number;
33
+ context: SurveyAIContextPack;
34
+ }
35
+ export interface SuggestItemLabelResult {
36
+ suggestions: SuggestItemLabelSuggestion[];
37
+ }
38
+ export interface GeneratedItemIntentSuggestion {
39
+ tempId: string;
40
+ parentTempId?: string;
41
+ itemType: string;
42
+ key: string;
43
+ itemLabel?: string;
44
+ confidence?: number;
45
+ }
46
+ export interface GenerateItemFromIntentRequest {
47
+ intent: string;
48
+ targetParentId: string;
49
+ allowedItemTypes: string[];
50
+ maxItems?: number;
51
+ locale?: string;
52
+ context: SurveyAIContextPack;
53
+ }
54
+ export interface GenerateItemFromIntentResult {
55
+ items: GeneratedItemIntentSuggestion[];
56
+ }
57
+ export interface TranslateContentEntry {
58
+ id: string;
59
+ text: string;
60
+ kind: string;
61
+ }
62
+ export interface TranslateContentRequest {
63
+ sourceLocale: string;
64
+ targetLocales: string[];
65
+ entries: TranslateContentEntry[];
66
+ context: SurveyAIContextPack;
67
+ }
68
+ export interface TranslateContentResult {
69
+ translations: Record<string, Record<string, string>>;
70
+ }
71
+ export interface SurveyEditorAIProvider {
72
+ suggestItemKey?: (request: SuggestItemKeyRequest, options?: SurveyAIRequestOptions) => Promise<SuggestItemKeyResult>;
73
+ suggestItemLabel?: (request: SuggestItemLabelRequest, options?: SurveyAIRequestOptions) => Promise<SuggestItemLabelResult>;
74
+ generateItemFromIntent?: (request: GenerateItemFromIntentRequest, options?: SurveyAIRequestOptions) => Promise<GenerateItemFromIntentResult>;
75
+ translateContent?: (request: TranslateContentRequest, options?: SurveyAIRequestOptions) => Promise<TranslateContentResult>;
76
+ }
77
+ export interface BuildSurveyAIContextOptions {
78
+ purpose?: SurveyAIContextPurpose;
79
+ scope?: SurveyAIContextScope;
80
+ focusItemId?: string;
81
+ includeRawSurvey?: boolean;
82
+ outlineLimit?: number;
83
+ includeIndexes?: boolean;
84
+ includeFocusItemTree?: boolean;
85
+ focusItemTreeLimit?: number;
86
+ translationSnippetsPerItemLimit?: number;
87
+ translationSnippetTextLimit?: number;
88
+ }
@@ -0,0 +1,4 @@
1
+ export { SurveyImageAssetManager } from './survey-image-asset-manager';
2
+ export type { SurveyImageAssetManagerProps } from './survey-image-asset-manager';
3
+ export { useSurveyAssets, useSurveyImageAssets, useUnusedSurveyAssetCount, } from './use-survey-assets';
4
+ export { getSurveyAssetDisplayName, getSurveyAssetSecondaryLabel, getSurveyImageAssetUrl, } from './utils';
@@ -0,0 +1,4 @@
1
+ export interface SurveyImageAssetManagerProps {
2
+ className?: string;
3
+ }
4
+ export declare function SurveyImageAssetManager({ className, }: SurveyImageAssetManagerProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { RawSurveyAsset } from '@case-framework/survey-core';
2
+ export declare function useSurveyAssets(): Map<string, RawSurveyAsset>;
3
+ export declare function useSurveyImageAssets(): Array<[string, RawSurveyAsset]>;
4
+ export declare function useUnusedSurveyAssetCount(): number;
@@ -0,0 +1,5 @@
1
+ import { RawSurveyAsset } from '@case-framework/survey-core';
2
+ export declare function readFileAsBase64(file: File): Promise<string>;
3
+ export declare function getSurveyImageAssetUrl(asset?: RawSurveyAsset): string | undefined;
4
+ export declare function getSurveyAssetDisplayName(asset: RawSurveyAsset, assetId: string): string;
5
+ export declare function getSurveyAssetSecondaryLabel(asset: RawSurveyAsset, assetId: string): string;
@@ -0,0 +1,3 @@
1
+ export declare const LAST_USED_ITEM_TYPE_KEY = "case.survey-editor.last-used-item-type";
2
+ export declare const DEFAULT_TOP_ITEM_TYPES: readonly ["infoItem", "formItem"];
3
+ export declare const STRUCTURE_ITEM_TYPES: Set<string>;
@@ -0,0 +1,25 @@
1
+ import { SurveyItemTranslations, SurveyItemCore } from '@case-framework/survey-core';
2
+ import { SurveyItemClipboardData, Target } from '@case-framework/survey-core/editor';
3
+ import { ComposedEditorItemRegistry } from '../../../../../../modules/survey-editor/registry';
4
+ import { ItemTypeOption } from '../types';
5
+ import { GeneratedItemIntentSuggestion } from '../../../../../../modules/survey-editor/ai/types';
6
+ interface UseAddItemActionsParams {
7
+ editorItemRegistry: ComposedEditorItemRegistry;
8
+ addItem: (target: Target | null, item: SurveyItemCore, content?: SurveyItemTranslations) => void;
9
+ pasteItem: (clipboardData: SurveyItemClipboardData, target: Target) => string;
10
+ commitByUser: (meta: {
11
+ label: string;
12
+ }) => void;
13
+ setPreferredPreviewItemId: (itemId: string | null) => void;
14
+ closeDialog: () => void;
15
+ targetGroupId?: string;
16
+ rootItemId?: string;
17
+ clipboardValue: string | null;
18
+ setLastUsedItemType: (itemType: string) => void;
19
+ }
20
+ export declare function useAddItemActions({ editorItemRegistry, addItem, pasteItem, commitByUser, setPreferredPreviewItemId, closeDialog, targetGroupId, rootItemId, clipboardValue, setLastUsedItemType, }: UseAddItemActionsParams): {
21
+ handleSelectOption: (option: ItemTypeOption) => void;
22
+ pasteFromClipboard: () => void;
23
+ createItemsFromIntent: (items: GeneratedItemIntentSuggestion[]) => void;
24
+ };
25
+ export {};
@@ -0,0 +1,9 @@
1
+ import { SurveyEditor } from '@case-framework/survey-core/editor';
2
+ import { TargetGroupInfo } from '../types';
3
+ interface UseAddItemTargetParams {
4
+ editor: SurveyEditor | null;
5
+ selectedItemId: string | null;
6
+ targetParentId?: string;
7
+ }
8
+ export declare function useAddItemTarget({ editor, selectedItemId, targetParentId, }: UseAddItemTargetParams): TargetGroupInfo | null;
9
+ export {};
@@ -0,0 +1,19 @@
1
+ import { FocusEvent as ReactFocusEvent, KeyboardEvent as ReactKeyboardEvent, RefObject } from 'react';
2
+ interface UseOptionGroupNavigationParams<TOption> {
3
+ options: TOption[];
4
+ onSelect: (option: TOption) => void;
5
+ rowSize?: number;
6
+ }
7
+ export interface OptionGroupNavigation {
8
+ groupRef: RefObject<HTMLDivElement | null>;
9
+ activeIndex: number;
10
+ isFocused: boolean;
11
+ setActiveIndex: (index: number) => void;
12
+ focusGroup: () => void;
13
+ reset: (index?: number) => void;
14
+ handleGroupFocus: () => void;
15
+ handleGroupBlur: (event: ReactFocusEvent<HTMLDivElement>) => void;
16
+ handleGroupKeyDown: (event: ReactKeyboardEvent<HTMLDivElement>) => void;
17
+ }
18
+ export declare function useOptionGroupNavigation<TOption>({ options, onSelect, rowSize, }: UseOptionGroupNavigationParams<TOption>): OptionGroupNavigation;
19
+ export {};
@@ -0,0 +1,21 @@
1
+ import { LucideIcon } from 'lucide-react';
2
+ import { ItemTypeInfos } from '../../../../../modules/survey-editor/utils/item-type-infos';
3
+ export type AddDialogView = 'entry' | 'blank-item' | 'structure' | 'ai' | 'catalogue';
4
+ export interface ItemTypeOption extends ItemTypeInfos {
5
+ itemType: string;
6
+ categories: string[];
7
+ }
8
+ export interface EntryOption {
9
+ id: AddDialogView;
10
+ title: string;
11
+ description: string;
12
+ icon: LucideIcon;
13
+ enabled: boolean;
14
+ }
15
+ export interface TargetGroupInfo {
16
+ id: string;
17
+ itemKey?: string;
18
+ itemLabel?: string;
19
+ isRoot: boolean;
20
+ itemCount: number;
21
+ }
@@ -0,0 +1,10 @@
1
+ interface AIItemViewProps {
2
+ intent: string;
3
+ onIntentChange: (value: string) => void;
4
+ onGenerate: () => void;
5
+ onBack: () => void;
6
+ isGenerating: boolean;
7
+ isEnabled: boolean;
8
+ }
9
+ export declare function AIItemView({ intent, onIntentChange, onGenerate, onBack, isGenerating, isEnabled, }: AIItemViewProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,5 @@
1
+ interface BackButtonProps {
2
+ onBack: () => void;
3
+ }
4
+ export declare function BackButton({ onBack }: BackButtonProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
@@ -0,0 +1,13 @@
1
+ import { ItemTypeOption } from '../types';
2
+ interface BlankItemViewProps {
3
+ search: string;
4
+ onSearchChange: (value: string) => void;
5
+ hasValidClipboardItem: boolean;
6
+ onPasteFromClipboard: () => void;
7
+ groupedOptions: Array<[string, ItemTypeOption[]]>;
8
+ getCategoryLabel: (category: string) => string;
9
+ onSelectOption: (option: ItemTypeOption) => void;
10
+ onBack: () => void;
11
+ }
12
+ export declare function BlankItemView({ search, onSearchChange, hasValidClipboardItem, onPasteFromClipboard, groupedOptions, getCategoryLabel, onSelectOption, onBack, }: BlankItemViewProps): import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -0,0 +1,15 @@
1
+ import { FocusEvent as ReactFocusEvent, KeyboardEvent as ReactKeyboardEvent, RefObject } from 'react';
2
+ import { EntryOption } from '../types';
3
+ interface EntryViewProps {
4
+ options: EntryOption[];
5
+ optionGroupRef: RefObject<HTMLDivElement | null>;
6
+ activeIndex: number;
7
+ isFocused: boolean;
8
+ setActiveIndex: (index: number) => void;
9
+ onGroupFocus: () => void;
10
+ onGroupBlur: (event: ReactFocusEvent<HTMLDivElement>) => void;
11
+ onGroupKeyDown: (event: ReactKeyboardEvent<HTMLDivElement>) => void;
12
+ onSelectOption: (option: EntryOption) => void;
13
+ }
14
+ export declare function EntryView({ options, optionGroupRef, activeIndex, isFocused, setActiveIndex, onGroupFocus, onGroupBlur, onGroupKeyDown, onSelectOption, }: EntryViewProps): import("react/jsx-runtime").JSX.Element;
15
+ export {};
@@ -0,0 +1,16 @@
1
+ import { FocusEvent as ReactFocusEvent, KeyboardEvent as ReactKeyboardEvent, RefObject } from 'react';
2
+ import { ItemTypeOption } from '../types';
3
+ interface StructureViewProps {
4
+ options: ItemTypeOption[];
5
+ optionGroupRef: RefObject<HTMLDivElement | null>;
6
+ activeIndex: number;
7
+ isFocused: boolean;
8
+ setActiveIndex: (index: number) => void;
9
+ onGroupFocus: () => void;
10
+ onGroupBlur: (event: ReactFocusEvent<HTMLDivElement>) => void;
11
+ onGroupKeyDown: (event: ReactKeyboardEvent<HTMLDivElement>) => void;
12
+ onSelectOption: (option: ItemTypeOption) => void;
13
+ onBack: () => void;
14
+ }
15
+ export declare function StructureView({ options, optionGroupRef, activeIndex, isFocused, setActiveIndex, onGroupFocus, onGroupBlur, onGroupKeyDown, onSelectOption, onBack, }: StructureViewProps): import("react/jsx-runtime").JSX.Element;
16
+ export {};
@@ -0,0 +1 @@
1
+ export declare const AddItemDialog: React.FC;
@@ -0,0 +1,5 @@
1
+ interface CopyItemDropdownMenuItemProps {
2
+ itemId: string;
3
+ }
4
+ export declare const CopyItemDropdownMenuItem: ({ itemId }: CopyItemDropdownMenuItemProps) => import("react/jsx-runtime").JSX.Element;
5
+ export {};