@overmap-ai/core 1.0.60-sdk-refactor.19 → 1.0.60

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 (147) hide show
  1. package/dist/index.d.ts +0 -4
  2. package/dist/overmap-core.js +1261 -12801
  3. package/dist/overmap-core.js.map +1 -1
  4. package/dist/overmap-core.umd.cjs +1256 -12797
  5. package/dist/overmap-core.umd.cjs.map +1 -1
  6. package/dist/sdk/services/BaseAttachmentService.d.ts +8 -4
  7. package/dist/sdk/services/BaseUploadService.d.ts +8 -0
  8. package/dist/sdk/services/FormService.d.ts +18 -0
  9. package/dist/sdk/services/FormSubmissionService.d.ts +24 -0
  10. package/dist/sdk/services/GeoImageService.d.ts +11 -0
  11. package/dist/sdk/services/IssueService.d.ts +1 -1
  12. package/dist/sdk/services/index.d.ts +4 -2
  13. package/dist/sdk/typings.d.ts +3 -2
  14. package/dist/store/slices/assetTypeSlice.d.ts +2 -8
  15. package/dist/store/slices/categorySlice.d.ts +11 -25
  16. package/dist/store/slices/documentSlice.d.ts +14 -14
  17. package/dist/store/slices/formRevisionAttachmentSlice.d.ts +21 -21
  18. package/dist/store/slices/formRevisionSlice.d.ts +21 -21
  19. package/dist/store/slices/formSlice.d.ts +20 -19
  20. package/dist/store/slices/formSubmissionAttachmentSlice.d.ts +20 -20
  21. package/dist/store/slices/formSubmissionSlice.d.ts +26 -26
  22. package/dist/store/slices/geoImageSlice.d.ts +48 -0
  23. package/dist/store/slices/index.d.ts +1 -0
  24. package/dist/store/slices/issueSlice.d.ts +2 -12
  25. package/dist/store/slices/organizationSlice.d.ts +6 -17
  26. package/dist/store/slices/projectFileSlice.d.ts +5 -17
  27. package/dist/store/slices/projectSlice.d.ts +1 -4
  28. package/dist/store/slices/workspaceSlice.d.ts +5 -10
  29. package/dist/store/store.d.ts +2 -1
  30. package/dist/typings/colors.d.ts +0 -3
  31. package/dist/typings/models/{components.d.ts → assets.d.ts} +3 -4
  32. package/dist/typings/models/forms.d.ts +98 -12
  33. package/dist/typings/models/geo.d.ts +18 -6
  34. package/dist/typings/models/geoImages.d.ts +14 -0
  35. package/dist/typings/models/index.d.ts +2 -1
  36. package/dist/typings/models/issues.d.ts +6 -7
  37. package/dist/typings/models/projects.d.ts +3 -5
  38. package/dist/typings/models/store.d.ts +2 -2
  39. package/dist/utils/colors.d.ts +0 -6
  40. package/dist/utils/coordinates.d.ts +5 -7
  41. package/dist/utils/forms.d.ts +2 -2
  42. package/dist/utils/index.d.ts +1 -0
  43. package/package.json +13 -43
  44. package/dist/components/ColorPicker/ColorPicker.d.ts +0 -10
  45. package/dist/components/ColorPicker/index.d.ts +0 -1
  46. package/dist/components/FileBadge/FileBadge.d.ts +0 -8
  47. package/dist/components/FileBadge/index.d.ts +0 -1
  48. package/dist/components/FileCard/FileCard.d.ts +0 -8
  49. package/dist/components/FileCard/index.d.ts +0 -1
  50. package/dist/components/FileIcon/FileIcon.d.ts +0 -5
  51. package/dist/components/FileIcon/index.d.ts +0 -1
  52. package/dist/components/FileViewer/FileViewerProvider.d.ts +0 -2
  53. package/dist/components/FileViewer/context.d.ts +0 -5
  54. package/dist/components/FileViewer/index.d.ts +0 -3
  55. package/dist/components/FileViewer/typings.d.ts +0 -5
  56. package/dist/components/ImageCard/ImageCard.d.ts +0 -9
  57. package/dist/components/ImageCard/index.d.ts +0 -1
  58. package/dist/components/ImageMarkup/ImageMarkup.d.ts +0 -14
  59. package/dist/components/ImageMarkup/index.d.ts +0 -1
  60. package/dist/components/ImageViewer/ImageViewer.d.ts +0 -8
  61. package/dist/components/ImageViewer/constants.d.ts +0 -1
  62. package/dist/components/ImageViewer/index.d.ts +0 -2
  63. package/dist/components/PDFViewer/PDFViewer.d.ts +0 -8
  64. package/dist/components/PDFViewer/constants.d.ts +0 -1
  65. package/dist/components/PDFViewer/index.d.ts +0 -2
  66. package/dist/components/SpreadsheetViewer/SpreadsheetViewer.d.ts +0 -8
  67. package/dist/components/SpreadsheetViewer/constants.d.ts +0 -1
  68. package/dist/components/SpreadsheetViewer/index.d.ts +0 -2
  69. package/dist/components/index.d.ts +0 -10
  70. package/dist/forms/builder/DropDispatch.d.ts +0 -27
  71. package/dist/forms/builder/FieldActions.d.ts +0 -13
  72. package/dist/forms/builder/FieldBuilder.d.ts +0 -10
  73. package/dist/forms/builder/FieldSectionWithActions.d.ts +0 -11
  74. package/dist/forms/builder/FieldWithActions.d.ts +0 -10
  75. package/dist/forms/builder/FieldsEditor.d.ts +0 -6
  76. package/dist/forms/builder/FormBuilder.d.ts +0 -26
  77. package/dist/forms/builder/constants.d.ts +0 -18
  78. package/dist/forms/builder/hooks.d.ts +0 -7
  79. package/dist/forms/builder/index.d.ts +0 -2
  80. package/dist/forms/builder/typings.d.ts +0 -12
  81. package/dist/forms/builder/utils.d.ts +0 -24
  82. package/dist/forms/constants.d.ts +0 -2
  83. package/dist/forms/constantsJsx.d.ts +0 -9
  84. package/dist/forms/fields/BaseField/BaseField.d.ts +0 -52
  85. package/dist/forms/fields/BaseField/hooks.d.ts +0 -374
  86. package/dist/forms/fields/BaseField/index.d.ts +0 -4
  87. package/dist/forms/fields/BaseField/layouts.d.ts +0 -26
  88. package/dist/forms/fields/BaseField/typings.d.ts +0 -7
  89. package/dist/forms/fields/BooleanField/BooleanField.d.ts +0 -23
  90. package/dist/forms/fields/BooleanField/BooleanInput.d.ts +0 -4
  91. package/dist/forms/fields/BooleanField/index.d.ts +0 -2
  92. package/dist/forms/fields/CustomField/CustomField.d.ts +0 -24
  93. package/dist/forms/fields/CustomField/FieldInputClonerField/FieldInputCloner.d.ts +0 -8
  94. package/dist/forms/fields/CustomField/FieldInputClonerField/FieldInputClonerField.d.ts +0 -18
  95. package/dist/forms/fields/CustomField/FieldInputClonerField/index.d.ts +0 -3
  96. package/dist/forms/fields/CustomField/FieldInputClonerField/typings.d.ts +0 -5
  97. package/dist/forms/fields/CustomField/index.d.ts +0 -1
  98. package/dist/forms/fields/DateField/DateField.d.ts +0 -22
  99. package/dist/forms/fields/DateField/DateInput.d.ts +0 -4
  100. package/dist/forms/fields/DateField/index.d.ts +0 -2
  101. package/dist/forms/fields/FieldSection/FieldSection.d.ts +0 -33
  102. package/dist/forms/fields/FieldSection/FieldSectionLayout.d.ts +0 -7
  103. package/dist/forms/fields/FieldSection/index.d.ts +0 -1
  104. package/dist/forms/fields/MultiStringField/MultiStringField.d.ts +0 -40
  105. package/dist/forms/fields/MultiStringField/MultiStringInput.d.ts +0 -8
  106. package/dist/forms/fields/MultiStringField/index.d.ts +0 -2
  107. package/dist/forms/fields/NumberField/NumberField.d.ts +0 -46
  108. package/dist/forms/fields/NumberField/NumberInput.d.ts +0 -4
  109. package/dist/forms/fields/NumberField/index.d.ts +0 -2
  110. package/dist/forms/fields/QrField/QrField.d.ts +0 -21
  111. package/dist/forms/fields/QrField/QrInput.d.ts +0 -10
  112. package/dist/forms/fields/QrField/index.d.ts +0 -2
  113. package/dist/forms/fields/SelectField/BaseSelectField.d.ts +0 -34
  114. package/dist/forms/fields/SelectField/MultiSelectField.d.ts +0 -27
  115. package/dist/forms/fields/SelectField/MultiSelectInput.d.ts +0 -4
  116. package/dist/forms/fields/SelectField/SelectField.d.ts +0 -26
  117. package/dist/forms/fields/SelectField/SelectInput.d.ts +0 -4
  118. package/dist/forms/fields/SelectField/index.d.ts +0 -4
  119. package/dist/forms/fields/StringOrTextFields/StringField/StringField.d.ts +0 -26
  120. package/dist/forms/fields/StringOrTextFields/StringField/StringInput.d.ts +0 -4
  121. package/dist/forms/fields/StringOrTextFields/StringField/index.d.ts +0 -2
  122. package/dist/forms/fields/StringOrTextFields/StringOrTextField.d.ts +0 -34
  123. package/dist/forms/fields/StringOrTextFields/TextField/TextField.d.ts +0 -22
  124. package/dist/forms/fields/StringOrTextFields/TextField/TextInput.d.ts +0 -4
  125. package/dist/forms/fields/StringOrTextFields/TextField/index.d.ts +0 -2
  126. package/dist/forms/fields/StringOrTextFields/index.d.ts +0 -2
  127. package/dist/forms/fields/UploadField/UploadField.d.ts +0 -44
  128. package/dist/forms/fields/UploadField/UploadInput.d.ts +0 -4
  129. package/dist/forms/fields/UploadField/index.d.ts +0 -2
  130. package/dist/forms/fields/UploadField/utils.d.ts +0 -1
  131. package/dist/forms/fields/constants.d.ts +0 -106
  132. package/dist/forms/fields/hooks.d.ts +0 -6
  133. package/dist/forms/fields/index.d.ts +0 -12
  134. package/dist/forms/fields/typings.d.ts +0 -27
  135. package/dist/forms/fields/utils.d.ts +0 -17
  136. package/dist/forms/index.d.ts +0 -6
  137. package/dist/forms/provider.d.ts +0 -5
  138. package/dist/forms/renderer/FormRenderer/FormRenderer.d.ts +0 -31
  139. package/dist/forms/renderer/PatchForm/Field.d.ts +0 -17
  140. package/dist/forms/renderer/PatchForm/Provider.d.ts +0 -29
  141. package/dist/forms/renderer/PatchForm/index.d.ts +0 -2
  142. package/dist/forms/renderer/index.d.ts +0 -2
  143. package/dist/forms/typings.d.ts +0 -103
  144. package/dist/forms/utils.d.ts +0 -7
  145. package/dist/sdk/services/UserFormService.d.ts +0 -19
  146. package/dist/sdk/services/UserFormSubmissionService.d.ts +0 -26
  147. package/dist/style.css +0 -417
@@ -1,31 +0,0 @@
1
- /// <reference types="react" />
2
- import { ISchema } from "../../fields";
3
- import { Form } from "../../typings";
4
- import { ButtonProps } from "@overmap-ai/blocks/dist/Buttons/typings";
5
- interface FormRendererProps {
6
- /** The schema of the form the render */
7
- schema: ISchema;
8
- /** Initial values of the form */
9
- values?: Form;
10
- onSubmit?: (values: Form) => Promise<void> | void;
11
- /** @default "Submit" */
12
- submitText?: string;
13
- /** The text of the cancel button (hidden by default)
14
- * @default null
15
- */
16
- cancelText?: string;
17
- onCancel?: () => void;
18
- onDirty?: () => void;
19
- onDirtyChange?: (dirty: boolean) => void;
20
- /** Hide the form description
21
- * @default false */
22
- hideDescription?: boolean;
23
- /** Hide the title (and description)
24
- * @default false
25
- */
26
- hideTitle?: boolean;
27
- className?: string;
28
- buttonProps?: Omit<ButtonProps, "children">;
29
- }
30
- export declare const FormRenderer: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<FormRendererProps & import("react").RefAttributes<HTMLDivElement>>>;
31
- export {};
@@ -1,17 +0,0 @@
1
- import { ReactNode } from "react";
2
- import { FieldMetaProps } from "formik";
3
- import { FieldValue } from "../../typings";
4
- interface RenderArgs {
5
- value: FieldValue;
6
- meta: FieldMetaProps<unknown>;
7
- /** Intermediate changes to the field value */
8
- setValue: (value: FieldValue) => void;
9
- /** EX: when the onBlur event is fired */
10
- patchValue: () => void;
11
- }
12
- interface PatchFieldProps {
13
- name: string;
14
- render: (args: RenderArgs) => ReactNode;
15
- }
16
- export declare const PatchField: import("react").MemoExoticComponent<(props: PatchFieldProps) => import("react/jsx-runtime").JSX.Element>;
17
- export {};
@@ -1,29 +0,0 @@
1
- /// <reference types="react" />
2
- import { FormikErrors } from "formik";
3
- import { ISchema } from "../../fields";
4
- import { Form } from "../../typings";
5
- import { NewForm } from "../../builder";
6
- interface PatchFormProviderProps {
7
- children: React.ReactNode;
8
- schema: ISchema;
9
- values: Form;
10
- /** Called when `patchValue` is called on a child `PatchField` and the form is valid.
11
- * @example ```js
12
- * {"field name": "field value"}
13
- * ``` */
14
- onPatch: (values: Form) => void;
15
- /** Called when `patchValue` is called on a child `PatchField` and the form is not valid.
16
- * After this event is fired, the form is reset to the initial values.
17
- * @example ```js
18
- * {"field name": "error message"}
19
- * ``` */
20
- onError: (error: FormikErrors<Form | NewForm>) => void;
21
- className?: string;
22
- /** If true (default), the form will only submit if there are changes. */
23
- requiresDiff?: boolean;
24
- /** Called when the form's dirty state changes. */
25
- onDirtyChange?: (dirty: boolean) => void;
26
- }
27
- /** Use PatchForms to create patch edits to existing forms rather than editing the entire form. */
28
- export declare const PatchFormProvider: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<PatchFormProviderProps & import("react").RefAttributes<HTMLFormElement>>>;
29
- export {};
@@ -1,2 +0,0 @@
1
- export * from "./Field";
2
- export * from "./Provider";
@@ -1,2 +0,0 @@
1
- export * from "./FormRenderer/FormRenderer";
2
- export * from "./PatchForm";
@@ -1,103 +0,0 @@
1
- import { HTMLInputTypeAttribute } from "react";
2
- import { Marker } from "../typings";
3
- import { AnyField, BaseField } from "./fields";
4
- /**
5
- * When upload fields are given initial values, that value will be
6
- * a `Promise<File>[]` instead of a `File[]` as the files must be downloaded.
7
- * `Promise<File>[]` is not add to the `FieldValue` type as it is not a valid
8
- * value for submitted forms as the files must be present to be submitted
9
- * TODO: This causes type errors in hemora-web. Maybe we should change this to:
10
- * export type Form = {
11
- * data: Record<string, FieldValue>,
12
- * attachments: Record<string, Promise<File>[]>
13
- * }
14
- * Then, we could just use `data` for creating attachment instances.
15
- */
16
- export type Form = Record<string, FieldValue | Promise<File>[]>;
17
- /** Helper type that extracts the TValue type from a BaseField. */
18
- export type ValueOfField<Type extends AnyField> = Type extends BaseField<infer TValue> ? TValue : never;
19
- export type FieldTypeIdentifier = "string" | "text" | "boolean" | "number" | "date" | "select" | "custom" | "section" | "multi-string" | "multi-select" | "upload" | "qr";
20
- export interface BaseSerializedObject<TIdentifier extends FieldTypeIdentifier = FieldTypeIdentifier> {
21
- description?: string | null;
22
- identifier: string;
23
- type: TIdentifier;
24
- }
25
- export interface BaseSerializedField<TIdentifier extends FieldTypeIdentifier = FieldTypeIdentifier> extends BaseSerializedObject<TIdentifier> {
26
- label: string;
27
- required: boolean;
28
- image?: File | Promise<File>;
29
- }
30
- /** All the possible field values */
31
- export type FieldValue = string | number | boolean | string[] | File[] | Date | Marker | null;
32
- export interface SerializedCondition<TValue extends FieldValue = FieldValue> {
33
- identifier: string;
34
- value: TValue;
35
- }
36
- export interface SerializedFieldSection extends BaseSerializedObject {
37
- label: string | null;
38
- type: "section";
39
- conditional: boolean;
40
- condition: SerializedCondition | null;
41
- fields: Exclude<ISerializedField, SerializedFieldSection>[];
42
- }
43
- interface BaseSerializedStringField extends BaseSerializedField {
44
- minimum_length?: number;
45
- maximum_length: number;
46
- placeholder?: string;
47
- }
48
- export type StringInputType = Exclude<HTMLInputTypeAttribute, "checkbox" | "number" | "button">;
49
- export interface SerializedStringField extends BaseSerializedStringField {
50
- type: "string";
51
- input_type?: StringInputType;
52
- }
53
- export interface SerializedQrField extends BaseSerializedField {
54
- type: "qr";
55
- }
56
- export interface SerializedTextField extends BaseSerializedStringField {
57
- type: "text";
58
- }
59
- export interface SerializedMultiStringField extends BaseSerializedStringField {
60
- type: "multi-string";
61
- }
62
- export interface SerializedBooleanField extends BaseSerializedField {
63
- type: "boolean";
64
- }
65
- export interface SerializedNumberField extends BaseSerializedField {
66
- type: "number";
67
- minimum: number | undefined;
68
- maximum: number | undefined;
69
- integers: boolean;
70
- placeholder?: string;
71
- }
72
- export interface SerializedDateField extends BaseSerializedField {
73
- type: "date";
74
- }
75
- export type SelectFieldOptionValue = string;
76
- /** Represents an option in the select input. Not to be confused with the 'field options' of SelectField. */
77
- export interface SelectFieldOption {
78
- value: SelectFieldOptionValue;
79
- label: string;
80
- }
81
- export interface SerializedSelectField extends BaseSerializedField {
82
- type: "select";
83
- options: SelectFieldOption[];
84
- placeholder?: string;
85
- }
86
- export interface SerializedMultiSelectField extends BaseSerializedField {
87
- type: "multi-select";
88
- options: SelectFieldOption[];
89
- placeholder?: string;
90
- }
91
- export interface SerializedUploadField extends BaseSerializedField {
92
- type: "upload";
93
- /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept */
94
- extensions?: string[];
95
- /** in bytes */
96
- maximum_size?: number;
97
- /** how many files the user can upload to this field
98
- * @default 1
99
- */
100
- maximum_files?: number;
101
- }
102
- export type ISerializedField = SerializedTextField | SerializedBooleanField | SerializedNumberField | SerializedDateField | SerializedStringField | SerializedSelectField | SerializedFieldSection | SerializedMultiStringField | SerializedMultiSelectField | SerializedUploadField | SerializedQrField;
103
- export {};
@@ -1,7 +0,0 @@
1
- import { FormikErrors } from "formik";
2
- import { BaseFormElement, ISchema } from "./fields";
3
- import { Form } from "./typings";
4
- import { FormikUserFormRevision } from "./builder";
5
- export declare const hasKeys: (errors: object) => boolean;
6
- export declare const validateForm: (schema: ISchema, form: Form | FormikUserFormRevision) => FormikErrors<Form> | FormikErrors<import('./builder/typings').NewForm> | undefined;
7
- export declare const initialFormValues: (fields: BaseFormElement[], values: Form) => Form;
@@ -1,19 +0,0 @@
1
- import { UserForm, UserFormRevision, UserFormRevisionPayload } from '../../typings/models/forms';
2
- import { OptimisticModelResult } from "../typings";
3
- import { Created, Submitted, OvermapRootState } from "../../typings";
4
- import { ISerializedField } from "../../forms";
5
- import { BaseApiService } from "./BaseApiService";
6
- import type { BaseSDK } from "../base";
7
- export declare abstract class UserFormService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseApiService<TState, TSDK> {
8
- private getAttachImagePromises;
9
- private add;
10
- addForOrganization(organizationId: number, initialRevision: UserFormRevisionPayload): Promise<[Submitted<UserForm>, Submitted<UserFormRevision<ISerializedField>>, Promise<Created<UserFormRevision<ISerializedField>>>, Promise<Created<UserFormRevision<ISerializedField>>>]>;
11
- addForProject(projectId: number, initialRevision: UserFormRevisionPayload): Promise<[Submitted<UserForm>, Submitted<UserFormRevision<ISerializedField>>, Promise<Created<UserFormRevision<ISerializedField>>>, Promise<Created<UserFormRevision<ISerializedField>>>]>;
12
- addForIssueType(issueTypeId: string, initialRevision: UserFormRevisionPayload): Promise<[Submitted<UserForm>, Submitted<UserFormRevision<ISerializedField>>, Promise<Created<UserFormRevision<ISerializedField>>>, Promise<Created<UserFormRevision<ISerializedField>>>]>;
13
- addForAssetType(assetTypeId: string, initialRevision: UserFormRevisionPayload): Promise<[Submitted<UserForm>, Submitted<UserFormRevision<ISerializedField>>, Promise<Created<UserFormRevision<ISerializedField>>>, Promise<Created<UserFormRevision<ISerializedField>>>]>;
14
- createRevision(formId: string, revision: UserFormRevisionPayload): Promise<OptimisticModelResult<UserFormRevision>>;
15
- favorite(formId: string): Promise<undefined>;
16
- unfavorite(formId: string): Promise<undefined>;
17
- delete(formId: string): Promise<undefined>;
18
- refreshStore(projectId: number): Promise<void>;
19
- }
@@ -1,26 +0,0 @@
1
- import { Offline } from '../../typings/models/base';
2
- import { UserFormSubmission, UserFormSubmissionAttachment, UserFormSubmissionPayload } from '../../typings/models/forms';
3
- import { OptimisticModelResult } from "../typings";
4
- import { FieldValue } from '../../forms';
5
- import { Created, OvermapRootState, Stored } from "../../typings";
6
- import { GetS3UrlSuccessResponse } from "./FileService";
7
- import { BaseApiService } from "./BaseApiService";
8
- import type { BaseSDK } from "../base";
9
- interface BulkAddRequestReturnValue {
10
- submissions: Created<UserFormSubmission>[];
11
- attachments: Created<UserFormSubmissionAttachment>[];
12
- presigned_urls: Record<string, GetS3UrlSuccessResponse>;
13
- }
14
- export declare abstract class UserFormSubmissionService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseApiService<TState, TSDK> {
15
- private getAttachFilesPromises;
16
- add(payload: Offline<UserFormSubmissionPayload>): OptimisticModelResult<UserFormSubmission>;
17
- bulkAdd(args: {
18
- formRevision: string;
19
- commonFieldValues: Record<string, FieldValue>;
20
- fieldValuesByAsset: Record<string, Record<string, FieldValue>>;
21
- }, batchSize: number): Promise<Promise<BulkAddRequestReturnValue>[]>;
22
- update(submission: Stored<UserFormSubmission>): OptimisticModelResult<UserFormSubmission>;
23
- delete(submissionId: string): Promise<undefined>;
24
- refreshStore(projectId: number): Promise<void>;
25
- }
26
- export {};
package/dist/style.css DELETED
@@ -1,417 +0,0 @@
1
- ._description_1w0fq_1 {
2
- white-space: pre-line;
3
- }
4
-
5
- ._floatingButtonContainer_1w0fq_5 {
6
- position: sticky;
7
- bottom: 0;
8
- padding-bottom: 10px;
9
- padding-right: 10px;
10
- }
11
-
12
- ._FullScreenImageContainer_1w0fq_12 {
13
- position: fixed;
14
- top: 0;
15
- left: 0;
16
- height: 100%;
17
- width: 100%;
18
- z-index: 5000;
19
- background-color: rgba(0, 0, 0, 0.85);
20
- }
21
-
22
- ._TopBarContainer_1w0fq_22 {
23
- background-color: var(--color-background);
24
- position: fixed;
25
- top: 0;
26
- left: 0;
27
- width: 100%;
28
- z-index: 5001;
29
- }
30
-
31
- ._fileName_1w0fq_31 {
32
- flex-grow: 1;
33
- text-align: center;
34
- }
35
-
36
- ._longIconButton_1w0fq_36 {
37
- font-size: 0.8em;
38
- min-width: 50px;
39
- margin: 10px;
40
- }
41
-
42
- ._previewImage_1w0fq_42 {
43
- object-fit: cover;
44
- width: min(300px, 100%);
45
- height: 100px;
46
- border-radius: var(--radius-2);
47
- cursor: pointer;
48
- }
49
-
50
- ._FullScreenImage_1w0fq_12 {
51
- position: absolute;
52
- top: 50%;
53
- left: 50%;
54
- transform: translate(-50%, -50%);
55
- object-fit: contain;
56
- max-height: calc(100% - 120px);
57
- max-width: 100vw;
58
- z-index: 5001;
59
- }
60
-
61
- ._tabsList_1w0fq_61 {
62
- display: flex;
63
- position: sticky;
64
- background-color: var(--color-background);
65
- top: 0;
66
- z-index: 2000;
67
- }
68
-
69
- ._tabTrigger_1w0fq_69 {
70
- flex: 1;
71
- }
72
-
73
- ._patchfieldBorder_1w0fq_73, ._description_1w0fq_1, ._title_1w0fq_73 {
74
- accent-color: var(--gray-surface);
75
- border: 1px solid var(--gray-a7);
76
- border-radius: 8px;
77
- padding-left: var(--space-2);
78
- }
79
-
80
- ._title_1w0fq_73 {
81
- font-weight: bold;
82
- }
83
-
84
- ._description_1w0fq_1 {
85
- min-height: max-content;
86
- padding-top: var(--space-2);
87
- }
88
-
89
- ._error_1w0fq_89 {
90
- border-color: var(--red-a11);
91
- }._description_10o76_1 {
92
- white-space: pre-line;
93
- }
94
-
95
- ._floatingButtonContainer_10o76_5 {
96
- position: sticky;
97
- bottom: 0;
98
- padding-bottom: 10px;
99
- padding-right: 10px;
100
- }
101
-
102
- ._FullScreenImageContainer_10o76_12 {
103
- position: fixed;
104
- top: 0;
105
- left: 0;
106
- height: 100%;
107
- width: 100%;
108
- z-index: 5000;
109
- background-color: rgba(0, 0, 0, 0.85);
110
- }
111
-
112
- ._TopBarContainer_10o76_22 {
113
- background-color: var(--color-background);
114
- position: fixed;
115
- top: 0;
116
- left: 0;
117
- width: 100%;
118
- z-index: 5001;
119
- }
120
-
121
- ._fileName_10o76_31 {
122
- flex-grow: 1;
123
- text-align: center;
124
- }
125
-
126
- ._longIconButton_10o76_36 {
127
- font-size: 0.8em;
128
- min-width: 50px;
129
- margin: 10px;
130
- }
131
-
132
- ._previewImage_10o76_42 {
133
- object-fit: cover;
134
- width: min(300px, 100%);
135
- height: 100px;
136
- border-radius: var(--radius-2);
137
- cursor: pointer;
138
- }
139
-
140
- ._FullScreenImage_10o76_12 {
141
- position: absolute;
142
- top: 50%;
143
- left: 50%;
144
- transform: translate(-50%, -50%);
145
- object-fit: contain;
146
- max-height: calc(100% - 120px);
147
- max-width: 100vw;
148
- z-index: 5001;
149
- }._clickableLinkContainer_1ace7_1 {
150
- z-index: 1;
151
- }
152
-
153
- ._TextFieldInputCopy_1ace7_5 {
154
- overflow-x: auto;
155
- white-space: nowrap;
156
- padding-top: calc(var(--space-1) + 1px);
157
- }._QrScannerWrapper_1puz3_1 {
158
- background: var(--color-background);
159
- }
160
- ._QrScannerWrapper_1puz3_1 svg {
161
- stroke: #29A383 !important;
162
- }._PDFViewerTopbar_103p8_1 {
163
- background: var(--color-background);
164
- }
165
-
166
- ._PDFViewerOverlay_103p8_5 {
167
- background-color: var(--color-overlay);
168
- }
169
-
170
- ._PDFContainer_103p8_9 {
171
- max-height: 100%;
172
- max-width: 100%;
173
- overflow: hidden;
174
- }
175
-
176
- ._Relative_103p8_15 {
177
- position: relative;
178
- }
179
-
180
- ._PDFScrollArea_103p8_19 {
181
- width: 100%;
182
- height: max-content;
183
- }
184
-
185
- ._ErrorContainer_103p8_24 {
186
- background-color: var(--color-panel-solid);
187
- border: solid 1px var(--gray-a2);
188
- border-radius: var(--radius-2);
189
- width: 40%;
190
- height: 70%;
191
- }._ImageViewerTopbar_1n2bl_1 {
192
- background-color: var(--color-background);
193
- }
194
-
195
- ._ImageViewerOverlay_1n2bl_5 {
196
- background-color: var(--color-overlay);
197
- }._SpreadsheetViewer_qnmq7_1 {
198
- width: 100%;
199
- height: 100%;
200
- position: fixed;
201
- overflow: hidden;
202
- inset: 0;
203
- }
204
-
205
- ._SpreadsheetViewerTopbar_qnmq7_9 {
206
- background: var(--color-background);
207
- }
208
-
209
- ._Spreadsheet_qnmq7_1 {
210
- z-index: 1;
211
- }
212
-
213
- ._SpreadsheetViewerContent_qnmq7_17 {
214
- max-width: 100%;
215
- max-height: calc(100% - 50px);
216
- width: max-content;
217
- height: max-content;
218
- }
219
-
220
- ._SpreadsheetOverlay_qnmq7_24 {
221
- background-color: var(--color-overlay);
222
- }._ImageMarkupContent_8zvut_1 {
223
- position: fixed;
224
- inset: 0;
225
- }
226
-
227
- ._ImageMarkupOverlay_8zvut_6 {
228
- background-color: var(--color-overlay);
229
- }
230
-
231
- ._ImageMarkupTopbar_8zvut_10 {
232
- background-color: var(--color-background);
233
- }
234
-
235
- ._Prompt_8zvut_14 {
236
- position: absolute;
237
- bottom: 35px;
238
- left: 50%;
239
- font-weight: bold;
240
- transform: translateX(-50%);
241
- color: white;
242
- z-index: 1;
243
- text-align: center;
244
- }
245
-
246
- ._centered_8zvut_25, ._MarkupImage_8zvut_25 {
247
- position: absolute;
248
- top: 50%;
249
- left: 50%;
250
- transform: translate(-50%, -50%);
251
- }
252
-
253
- ._MarkupImage_8zvut_25 {
254
- object-fit: contain;
255
- max-height: calc(100% - 130px);
256
- max-width: 100vw;
257
- pointer-events: none;
258
- visibility: hidden;
259
- }
260
- ._MarkupImage_8zvut_25 * {
261
- background-color: black;
262
- }._FileCard_ledcm_1 {
263
- background-color: var(--color-panel-solid);
264
- border-radius: var(--radius-2);
265
- border: solid 1px var(--gray-a3);
266
- }
267
-
268
- ._Errored_ledcm_7 {
269
- color: var(--gray-11);
270
- }._ImageCard_kbztw_1 {
271
- overflow: hidden;
272
- border-radius: var(--radius-2);
273
- border: solid 1px var(--gray-a4);
274
- }
275
-
276
- ._ImageInset_kbztw_7 {
277
- max-width: 100%;
278
- display: flex;
279
- align-items: center;
280
- justify-content: center;
281
- }
282
-
283
- ._Image_kbztw_1 {
284
- object-fit: cover;
285
- max-width: 100%;
286
- }
287
-
288
- ._Footer_kbztw_19 {
289
- background-color: var(--color-panel-solid);
290
- }
291
- ._Footer_kbztw_19._Loading_kbztw_22 {
292
- background-color: unset;
293
- }._typeBadge_an5ff_1 {
294
- width: fit-content;
295
- }
296
-
297
- ._addSectionButton_an5ff_5 {
298
- margin-bottom: var(--space-4);
299
- }._description_6795p_1 {
300
- white-space: pre-line;
301
- }
302
-
303
- ._floatingButtonContainer_6795p_5 {
304
- position: sticky;
305
- bottom: 0;
306
- padding-bottom: 10px;
307
- padding-right: 10px;
308
- }
309
-
310
- ._FullScreenImageContainer_6795p_12 {
311
- position: fixed;
312
- top: 0;
313
- left: 0;
314
- height: 100%;
315
- width: 100%;
316
- z-index: 5000;
317
- background-color: rgba(0, 0, 0, 0.85);
318
- }
319
-
320
- ._TopBarContainer_6795p_22 {
321
- background-color: var(--color-background);
322
- position: fixed;
323
- top: 0;
324
- left: 0;
325
- width: 100%;
326
- z-index: 5001;
327
- }
328
-
329
- ._fileName_6795p_31 {
330
- flex-grow: 1;
331
- text-align: center;
332
- }
333
-
334
- ._longIconButton_6795p_36 {
335
- font-size: 0.8em;
336
- min-width: 50px;
337
- margin: 10px;
338
- }
339
-
340
- ._previewImage_6795p_42 {
341
- object-fit: cover;
342
- width: min(300px, 100%);
343
- height: 100px;
344
- border-radius: var(--radius-2);
345
- cursor: pointer;
346
- }
347
-
348
- ._FullScreenImage_6795p_12 {
349
- position: absolute;
350
- top: 50%;
351
- left: 50%;
352
- transform: translate(-50%, -50%);
353
- object-fit: contain;
354
- max-height: calc(100% - 120px);
355
- max-width: 100vw;
356
- z-index: 5001;
357
- }
358
-
359
- ._popoverInputsContainer_6795p_61 {
360
- max-width: 240px;
361
- }
362
-
363
- ._imageContainer_6795p_65 {
364
- position: relative;
365
- display: inline-block;
366
- width: min(300px, 100%);
367
- }
368
- ._imageContainer_6795p_65:hover:not(:disabled) ._deleteImageButton_6795p_70 {
369
- display: flex;
370
- }
371
-
372
- ._deleteImageButton_6795p_70 {
373
- position: absolute;
374
- top: var(--space-2);
375
- right: var(--space-2);
376
- display: none;
377
- }
378
-
379
- ._typeBadge_6795p_81 {
380
- width: fit-content;
381
- height: var(--space-5);
382
- }
383
-
384
- ._previewInput_6795p_86 button[id=upload-input-upload-button] {
385
- width: 100%;
386
- }
387
-
388
- ._directInput_6795p_90 {
389
- min-width: 40%;
390
- margin-left: var(--space-3);
391
- }
392
-
393
- ._grow_6795p_95 {
394
- display: grid;
395
- }
396
-
397
- ._grow_6795p_95::after {
398
- content: attr(data-replicated-value) " ";
399
- white-space: pre-wrap;
400
- visibility: hidden;
401
- }
402
-
403
- ._grow_6795p_95 > textarea {
404
- resize: none;
405
- overflow: hidden;
406
- min-height: max-content;
407
- }
408
-
409
- ._grow_6795p_95 > input,
410
- ._grow_6795p_95::after {
411
- grid-area: 1/1;
412
- }
413
-
414
- ._grow_6795p_95 > textarea,
415
- ._grow_6795p_95::after {
416
- grid-area: 1/1/2/2;
417
- }